N3-components/N3-components

View on GitHub
docs/static/default.js

Summary

Maintainability
A
0 mins
Test Coverage
/******/ (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 = "./docs/static/";
/******/
/******/     // Load entry module and return exports
/******/     return __webpack_require__(0);
/******/ })
/************************************************************************/
/******/ ([
/* 0 */
/***/ (function(module, exports, __webpack_require__) {

    __webpack_require__(49);
    module.exports = __webpack_require__(346);


/***/ }),
/* 1 */,
/* 2 */,
/* 3 */,
/* 4 */,
/* 5 */,
/* 6 */,
/* 7 */,
/* 8 */,
/* 9 */,
/* 10 */,
/* 11 */,
/* 12 */,
/* 13 */,
/* 14 */,
/* 15 */,
/* 16 */,
/* 17 */,
/* 18 */,
/* 19 */,
/* 20 */,
/* 21 */,
/* 22 */,
/* 23 */,
/* 24 */,
/* 25 */,
/* 26 */,
/* 27 */,
/* 28 */,
/* 29 */,
/* 30 */,
/* 31 */,
/* 32 */,
/* 33 */,
/* 34 */,
/* 35 */,
/* 36 */,
/* 37 */,
/* 38 */,
/* 39 */,
/* 40 */,
/* 41 */,
/* 42 */,
/* 43 */,
/* 44 */,
/* 45 */,
/* 46 */,
/* 47 */,
/* 48 */,
/* 49 */
/***/ (function(module, exports, __webpack_require__) {

    /* WEBPACK VAR INJECTION */(function(global) {"use strict";
    
    __webpack_require__(50);
    
    __webpack_require__(341);
    
    __webpack_require__(343);
    
    if (global._babelPolyfill) {
      throw new Error("only one instance of babel-polyfill is allowed");
    }
    global._babelPolyfill = true;
    
    var DEFINE_PROPERTY = "defineProperty";
    function define(O, key, value) {
      O[key] || Object[DEFINE_PROPERTY](O, key, {
        writable: true,
        configurable: true,
        value: value
      });
    }
    
    define(String.prototype, "padLeft", "".padStart);
    define(String.prototype, "padRight", "".padEnd);
    
    "pop,reverse,shift,keys,values,entries,indexOf,every,some,forEach,map,filter,find,findIndex,includes,join,slice,concat,push,splice,unshift,sort,lastIndexOf,reduce,reduceRight,copyWithin,fill".split(",").forEach(function (key) {
      [][key] && define(Array, key, Function.call.bind([][key]));
    });
    /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))

/***/ }),
/* 50 */
/***/ (function(module, exports, __webpack_require__) {

    __webpack_require__(51);
    __webpack_require__(100);
    __webpack_require__(101);
    __webpack_require__(102);
    __webpack_require__(103);
    __webpack_require__(105);
    __webpack_require__(108);
    __webpack_require__(109);
    __webpack_require__(110);
    __webpack_require__(111);
    __webpack_require__(112);
    __webpack_require__(113);
    __webpack_require__(114);
    __webpack_require__(115);
    __webpack_require__(116);
    __webpack_require__(118);
    __webpack_require__(120);
    __webpack_require__(122);
    __webpack_require__(124);
    __webpack_require__(127);
    __webpack_require__(128);
    __webpack_require__(129);
    __webpack_require__(133);
    __webpack_require__(135);
    __webpack_require__(137);
    __webpack_require__(140);
    __webpack_require__(141);
    __webpack_require__(142);
    __webpack_require__(143);
    __webpack_require__(145);
    __webpack_require__(146);
    __webpack_require__(147);
    __webpack_require__(148);
    __webpack_require__(149);
    __webpack_require__(150);
    __webpack_require__(151);
    __webpack_require__(153);
    __webpack_require__(154);
    __webpack_require__(155);
    __webpack_require__(157);
    __webpack_require__(158);
    __webpack_require__(159);
    __webpack_require__(161);
    __webpack_require__(162);
    __webpack_require__(163);
    __webpack_require__(164);
    __webpack_require__(165);
    __webpack_require__(166);
    __webpack_require__(167);
    __webpack_require__(168);
    __webpack_require__(169);
    __webpack_require__(170);
    __webpack_require__(171);
    __webpack_require__(172);
    __webpack_require__(173);
    __webpack_require__(174);
    __webpack_require__(179);
    __webpack_require__(180);
    __webpack_require__(184);
    __webpack_require__(185);
    __webpack_require__(186);
    __webpack_require__(187);
    __webpack_require__(189);
    __webpack_require__(190);
    __webpack_require__(191);
    __webpack_require__(192);
    __webpack_require__(193);
    __webpack_require__(194);
    __webpack_require__(195);
    __webpack_require__(196);
    __webpack_require__(197);
    __webpack_require__(198);
    __webpack_require__(199);
    __webpack_require__(200);
    __webpack_require__(201);
    __webpack_require__(202);
    __webpack_require__(203);
    __webpack_require__(204);
    __webpack_require__(205);
    __webpack_require__(207);
    __webpack_require__(208);
    __webpack_require__(214);
    __webpack_require__(215);
    __webpack_require__(217);
    __webpack_require__(218);
    __webpack_require__(219);
    __webpack_require__(223);
    __webpack_require__(224);
    __webpack_require__(225);
    __webpack_require__(226);
    __webpack_require__(227);
    __webpack_require__(229);
    __webpack_require__(230);
    __webpack_require__(231);
    __webpack_require__(232);
    __webpack_require__(235);
    __webpack_require__(237);
    __webpack_require__(238);
    __webpack_require__(239);
    __webpack_require__(241);
    __webpack_require__(243);
    __webpack_require__(245);
    __webpack_require__(246);
    __webpack_require__(247);
    __webpack_require__(249);
    __webpack_require__(250);
    __webpack_require__(251);
    __webpack_require__(252);
    __webpack_require__(259);
    __webpack_require__(262);
    __webpack_require__(263);
    __webpack_require__(265);
    __webpack_require__(266);
    __webpack_require__(269);
    __webpack_require__(270);
    __webpack_require__(272);
    __webpack_require__(273);
    __webpack_require__(274);
    __webpack_require__(275);
    __webpack_require__(276);
    __webpack_require__(277);
    __webpack_require__(278);
    __webpack_require__(279);
    __webpack_require__(280);
    __webpack_require__(281);
    __webpack_require__(282);
    __webpack_require__(283);
    __webpack_require__(284);
    __webpack_require__(285);
    __webpack_require__(286);
    __webpack_require__(287);
    __webpack_require__(288);
    __webpack_require__(289);
    __webpack_require__(290);
    __webpack_require__(292);
    __webpack_require__(293);
    __webpack_require__(294);
    __webpack_require__(295);
    __webpack_require__(296);
    __webpack_require__(297);
    __webpack_require__(299);
    __webpack_require__(300);
    __webpack_require__(301);
    __webpack_require__(302);
    __webpack_require__(303);
    __webpack_require__(304);
    __webpack_require__(305);
    __webpack_require__(306);
    __webpack_require__(308);
    __webpack_require__(309);
    __webpack_require__(311);
    __webpack_require__(312);
    __webpack_require__(313);
    __webpack_require__(314);
    __webpack_require__(317);
    __webpack_require__(318);
    __webpack_require__(319);
    __webpack_require__(320);
    __webpack_require__(321);
    __webpack_require__(322);
    __webpack_require__(323);
    __webpack_require__(324);
    __webpack_require__(326);
    __webpack_require__(327);
    __webpack_require__(328);
    __webpack_require__(329);
    __webpack_require__(330);
    __webpack_require__(331);
    __webpack_require__(332);
    __webpack_require__(333);
    __webpack_require__(334);
    __webpack_require__(335);
    __webpack_require__(336);
    __webpack_require__(339);
    __webpack_require__(340);
    module.exports = __webpack_require__(57);

/***/ }),
/* 51 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    // ECMAScript 6 symbols shim
    var global         = __webpack_require__(52)
      , has            = __webpack_require__(53)
      , DESCRIPTORS    = __webpack_require__(54)
      , $export        = __webpack_require__(56)
      , redefine       = __webpack_require__(66)
      , META           = __webpack_require__(70).KEY
      , $fails         = __webpack_require__(55)
      , shared         = __webpack_require__(71)
      , setToStringTag = __webpack_require__(72)
      , uid            = __webpack_require__(67)
      , wks            = __webpack_require__(73)
      , wksExt         = __webpack_require__(74)
      , wksDefine      = __webpack_require__(75)
      , keyOf          = __webpack_require__(77)
      , enumKeys       = __webpack_require__(90)
      , isArray        = __webpack_require__(93)
      , anObject       = __webpack_require__(60)
      , toIObject      = __webpack_require__(80)
      , toPrimitive    = __webpack_require__(64)
      , createDesc     = __webpack_require__(65)
      , _create        = __webpack_require__(94)
      , gOPNExt        = __webpack_require__(97)
      , $GOPD          = __webpack_require__(99)
      , $DP            = __webpack_require__(59)
      , $keys          = __webpack_require__(78)
      , gOPD           = $GOPD.f
      , dP             = $DP.f
      , gOPN           = gOPNExt.f
      , $Symbol        = global.Symbol
      , $JSON          = global.JSON
      , _stringify     = $JSON && $JSON.stringify
      , PROTOTYPE      = 'prototype'
      , HIDDEN         = wks('_hidden')
      , TO_PRIMITIVE   = wks('toPrimitive')
      , isEnum         = {}.propertyIsEnumerable
      , SymbolRegistry = shared('symbol-registry')
      , AllSymbols     = shared('symbols')
      , OPSymbols      = shared('op-symbols')
      , ObjectProto    = Object[PROTOTYPE]
      , USE_NATIVE     = typeof $Symbol == 'function'
      , QObject        = global.QObject;
    // Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173
    var setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;
    
    // fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687
    var setSymbolDesc = DESCRIPTORS && $fails(function(){
      return _create(dP({}, 'a', {
        get: function(){ return dP(this, 'a', {value: 7}).a; }
      })).a != 7;
    }) ? function(it, key, D){
      var protoDesc = gOPD(ObjectProto, key);
      if(protoDesc)delete ObjectProto[key];
      dP(it, key, D);
      if(protoDesc && it !== ObjectProto)dP(ObjectProto, key, protoDesc);
    } : dP;
    
    var wrap = function(tag){
      var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);
      sym._k = tag;
      return sym;
    };
    
    var isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function(it){
      return typeof it == 'symbol';
    } : function(it){
      return it instanceof $Symbol;
    };
    
    var $defineProperty = function defineProperty(it, key, D){
      if(it === ObjectProto)$defineProperty(OPSymbols, key, D);
      anObject(it);
      key = toPrimitive(key, true);
      anObject(D);
      if(has(AllSymbols, key)){
        if(!D.enumerable){
          if(!has(it, HIDDEN))dP(it, HIDDEN, createDesc(1, {}));
          it[HIDDEN][key] = true;
        } else {
          if(has(it, HIDDEN) && it[HIDDEN][key])it[HIDDEN][key] = false;
          D = _create(D, {enumerable: createDesc(0, false)});
        } return setSymbolDesc(it, key, D);
      } return dP(it, key, D);
    };
    var $defineProperties = function defineProperties(it, P){
      anObject(it);
      var keys = enumKeys(P = toIObject(P))
        , i    = 0
        , l = keys.length
        , key;
      while(l > i)$defineProperty(it, key = keys[i++], P[key]);
      return it;
    };
    var $create = function create(it, P){
      return P === undefined ? _create(it) : $defineProperties(_create(it), P);
    };
    var $propertyIsEnumerable = function propertyIsEnumerable(key){
      var E = isEnum.call(this, key = toPrimitive(key, true));
      if(this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key))return false;
      return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;
    };
    var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key){
      it  = toIObject(it);
      key = toPrimitive(key, true);
      if(it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key))return;
      var D = gOPD(it, key);
      if(D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key]))D.enumerable = true;
      return D;
    };
    var $getOwnPropertyNames = function getOwnPropertyNames(it){
      var names  = gOPN(toIObject(it))
        , result = []
        , i      = 0
        , key;
      while(names.length > i){
        if(!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META)result.push(key);
      } return result;
    };
    var $getOwnPropertySymbols = function getOwnPropertySymbols(it){
      var IS_OP  = it === ObjectProto
        , names  = gOPN(IS_OP ? OPSymbols : toIObject(it))
        , result = []
        , i      = 0
        , key;
      while(names.length > i){
        if(has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true))result.push(AllSymbols[key]);
      } return result;
    };
    
    // 19.4.1.1 Symbol([description])
    if(!USE_NATIVE){
      $Symbol = function Symbol(){
        if(this instanceof $Symbol)throw TypeError('Symbol is not a constructor!');
        var tag = uid(arguments.length > 0 ? arguments[0] : undefined);
        var $set = function(value){
          if(this === ObjectProto)$set.call(OPSymbols, value);
          if(has(this, HIDDEN) && has(this[HIDDEN], tag))this[HIDDEN][tag] = false;
          setSymbolDesc(this, tag, createDesc(1, value));
        };
        if(DESCRIPTORS && setter)setSymbolDesc(ObjectProto, tag, {configurable: true, set: $set});
        return wrap(tag);
      };
      redefine($Symbol[PROTOTYPE], 'toString', function toString(){
        return this._k;
      });
    
      $GOPD.f = $getOwnPropertyDescriptor;
      $DP.f   = $defineProperty;
      __webpack_require__(98).f = gOPNExt.f = $getOwnPropertyNames;
      __webpack_require__(92).f  = $propertyIsEnumerable;
      __webpack_require__(91).f = $getOwnPropertySymbols;
    
      if(DESCRIPTORS && !__webpack_require__(76)){
        redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);
      }
    
      wksExt.f = function(name){
        return wrap(wks(name));
      }
    }
    
    $export($export.G + $export.W + $export.F * !USE_NATIVE, {Symbol: $Symbol});
    
    for(var symbols = (
      // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14
      'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'
    ).split(','), i = 0; symbols.length > i; )wks(symbols[i++]);
    
    for(var symbols = $keys(wks.store), i = 0; symbols.length > i; )wksDefine(symbols[i++]);
    
    $export($export.S + $export.F * !USE_NATIVE, 'Symbol', {
      // 19.4.2.1 Symbol.for(key)
      'for': function(key){
        return has(SymbolRegistry, key += '')
          ? SymbolRegistry[key]
          : SymbolRegistry[key] = $Symbol(key);
      },
      // 19.4.2.5 Symbol.keyFor(sym)
      keyFor: function keyFor(key){
        if(isSymbol(key))return keyOf(SymbolRegistry, key);
        throw TypeError(key + ' is not a symbol!');
      },
      useSetter: function(){ setter = true; },
      useSimple: function(){ setter = false; }
    });
    
    $export($export.S + $export.F * !USE_NATIVE, 'Object', {
      // 19.1.2.2 Object.create(O [, Properties])
      create: $create,
      // 19.1.2.4 Object.defineProperty(O, P, Attributes)
      defineProperty: $defineProperty,
      // 19.1.2.3 Object.defineProperties(O, Properties)
      defineProperties: $defineProperties,
      // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)
      getOwnPropertyDescriptor: $getOwnPropertyDescriptor,
      // 19.1.2.7 Object.getOwnPropertyNames(O)
      getOwnPropertyNames: $getOwnPropertyNames,
      // 19.1.2.8 Object.getOwnPropertySymbols(O)
      getOwnPropertySymbols: $getOwnPropertySymbols
    });
    
    // 24.3.2 JSON.stringify(value [, replacer [, space]])
    $JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function(){
      var S = $Symbol();
      // MS Edge converts symbol values to JSON as {}
      // WebKit converts symbol values to JSON as null
      // V8 throws on boxed symbols
      return _stringify([S]) != '[null]' || _stringify({a: S}) != '{}' || _stringify(Object(S)) != '{}';
    })), 'JSON', {
      stringify: function stringify(it){
        if(it === undefined || isSymbol(it))return; // IE8 returns string on undefined
        var args = [it]
          , i    = 1
          , replacer, $replacer;
        while(arguments.length > i)args.push(arguments[i++]);
        replacer = args[1];
        if(typeof replacer == 'function')$replacer = replacer;
        if($replacer || !isArray(replacer))replacer = function(key, value){
          if($replacer)value = $replacer.call(this, key, value);
          if(!isSymbol(value))return value;
        };
        args[1] = replacer;
        return _stringify.apply($JSON, args);
      }
    });
    
    // 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)
    $Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(58)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);
    // 19.4.3.5 Symbol.prototype[@@toStringTag]
    setToStringTag($Symbol, 'Symbol');
    // 20.2.1.9 Math[@@toStringTag]
    setToStringTag(Math, 'Math', true);
    // 24.3.3 JSON[@@toStringTag]
    setToStringTag(global.JSON, 'JSON', true);

/***/ }),
/* 52 */
/***/ (function(module, exports) {

    // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
    var global = module.exports = typeof window != 'undefined' && window.Math == Math
      ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();
    if(typeof __g == 'number')__g = global; // eslint-disable-line no-undef

/***/ }),
/* 53 */
/***/ (function(module, exports) {

    var hasOwnProperty = {}.hasOwnProperty;
    module.exports = function(it, key){
      return hasOwnProperty.call(it, key);
    };

/***/ }),
/* 54 */
/***/ (function(module, exports, __webpack_require__) {

    // Thank's IE8 for his funny defineProperty
    module.exports = !__webpack_require__(55)(function(){
      return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7;
    });

/***/ }),
/* 55 */
/***/ (function(module, exports) {

    module.exports = function(exec){
      try {
        return !!exec();
      } catch(e){
        return true;
      }
    };

/***/ }),
/* 56 */
/***/ (function(module, exports, __webpack_require__) {

    var global    = __webpack_require__(52)
      , core      = __webpack_require__(57)
      , hide      = __webpack_require__(58)
      , redefine  = __webpack_require__(66)
      , ctx       = __webpack_require__(68)
      , PROTOTYPE = 'prototype';
    
    var $export = function(type, name, source){
      var IS_FORCED = type & $export.F
        , IS_GLOBAL = type & $export.G
        , IS_STATIC = type & $export.S
        , IS_PROTO  = type & $export.P
        , IS_BIND   = type & $export.B
        , target    = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE]
        , exports   = IS_GLOBAL ? core : core[name] || (core[name] = {})
        , expProto  = exports[PROTOTYPE] || (exports[PROTOTYPE] = {})
        , key, own, out, exp;
      if(IS_GLOBAL)source = name;
      for(key in source){
        // contains in native
        own = !IS_FORCED && target && target[key] !== undefined;
        // export native or passed
        out = (own ? target : source)[key];
        // bind timers to global for call from export context
        exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;
        // extend global
        if(target)redefine(target, key, out, type & $export.U);
        // export
        if(exports[key] != out)hide(exports, key, exp);
        if(IS_PROTO && expProto[key] != out)expProto[key] = out;
      }
    };
    global.core = core;
    // type bitmap
    $export.F = 1;   // forced
    $export.G = 2;   // global
    $export.S = 4;   // static
    $export.P = 8;   // proto
    $export.B = 16;  // bind
    $export.W = 32;  // wrap
    $export.U = 64;  // safe
    $export.R = 128; // real proto method for `library` 
    module.exports = $export;

/***/ }),
/* 57 */
/***/ (function(module, exports) {

    var core = module.exports = {version: '2.4.0'};
    if(typeof __e == 'number')__e = core; // eslint-disable-line no-undef

/***/ }),
/* 58 */
/***/ (function(module, exports, __webpack_require__) {

    var dP         = __webpack_require__(59)
      , createDesc = __webpack_require__(65);
    module.exports = __webpack_require__(54) ? function(object, key, value){
      return dP.f(object, key, createDesc(1, value));
    } : function(object, key, value){
      object[key] = value;
      return object;
    };

/***/ }),
/* 59 */
/***/ (function(module, exports, __webpack_require__) {

    var anObject       = __webpack_require__(60)
      , IE8_DOM_DEFINE = __webpack_require__(62)
      , toPrimitive    = __webpack_require__(64)
      , dP             = Object.defineProperty;
    
    exports.f = __webpack_require__(54) ? Object.defineProperty : function defineProperty(O, P, Attributes){
      anObject(O);
      P = toPrimitive(P, true);
      anObject(Attributes);
      if(IE8_DOM_DEFINE)try {
        return dP(O, P, Attributes);
      } catch(e){ /* empty */ }
      if('get' in Attributes || 'set' in Attributes)throw TypeError('Accessors not supported!');
      if('value' in Attributes)O[P] = Attributes.value;
      return O;
    };

/***/ }),
/* 60 */
/***/ (function(module, exports, __webpack_require__) {

    var isObject = __webpack_require__(61);
    module.exports = function(it){
      if(!isObject(it))throw TypeError(it + ' is not an object!');
      return it;
    };

/***/ }),
/* 61 */
/***/ (function(module, exports) {

    module.exports = function(it){
      return typeof it === 'object' ? it !== null : typeof it === 'function';
    };

/***/ }),
/* 62 */
/***/ (function(module, exports, __webpack_require__) {

    module.exports = !__webpack_require__(54) && !__webpack_require__(55)(function(){
      return Object.defineProperty(__webpack_require__(63)('div'), 'a', {get: function(){ return 7; }}).a != 7;
    });

/***/ }),
/* 63 */
/***/ (function(module, exports, __webpack_require__) {

    var isObject = __webpack_require__(61)
      , document = __webpack_require__(52).document
      // in old IE typeof document.createElement is 'object'
      , is = isObject(document) && isObject(document.createElement);
    module.exports = function(it){
      return is ? document.createElement(it) : {};
    };

/***/ }),
/* 64 */
/***/ (function(module, exports, __webpack_require__) {

    // 7.1.1 ToPrimitive(input [, PreferredType])
    var isObject = __webpack_require__(61);
    // instead of the ES6 spec version, we didn't implement @@toPrimitive case
    // and the second argument - flag - preferred type is a string
    module.exports = function(it, S){
      if(!isObject(it))return it;
      var fn, val;
      if(S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;
      if(typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it)))return val;
      if(!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;
      throw TypeError("Can't convert object to primitive value");
    };

/***/ }),
/* 65 */
/***/ (function(module, exports) {

    module.exports = function(bitmap, value){
      return {
        enumerable  : !(bitmap & 1),
        configurable: !(bitmap & 2),
        writable    : !(bitmap & 4),
        value       : value
      };
    };

/***/ }),
/* 66 */
/***/ (function(module, exports, __webpack_require__) {

    var global    = __webpack_require__(52)
      , hide      = __webpack_require__(58)
      , has       = __webpack_require__(53)
      , SRC       = __webpack_require__(67)('src')
      , TO_STRING = 'toString'
      , $toString = Function[TO_STRING]
      , TPL       = ('' + $toString).split(TO_STRING);
    
    __webpack_require__(57).inspectSource = function(it){
      return $toString.call(it);
    };
    
    (module.exports = function(O, key, val, safe){
      var isFunction = typeof val == 'function';
      if(isFunction)has(val, 'name') || hide(val, 'name', key);
      if(O[key] === val)return;
      if(isFunction)has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));
      if(O === global){
        O[key] = val;
      } else {
        if(!safe){
          delete O[key];
          hide(O, key, val);
        } else {
          if(O[key])O[key] = val;
          else hide(O, key, val);
        }
      }
    // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
    })(Function.prototype, TO_STRING, function toString(){
      return typeof this == 'function' && this[SRC] || $toString.call(this);
    });

/***/ }),
/* 67 */
/***/ (function(module, exports) {

    var id = 0
      , px = Math.random();
    module.exports = function(key){
      return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));
    };

/***/ }),
/* 68 */
/***/ (function(module, exports, __webpack_require__) {

    // optional / simple context binding
    var aFunction = __webpack_require__(69);
    module.exports = function(fn, that, length){
      aFunction(fn);
      if(that === undefined)return fn;
      switch(length){
        case 1: return function(a){
          return fn.call(that, a);
        };
        case 2: return function(a, b){
          return fn.call(that, a, b);
        };
        case 3: return function(a, b, c){
          return fn.call(that, a, b, c);
        };
      }
      return function(/* ...args */){
        return fn.apply(that, arguments);
      };
    };

/***/ }),
/* 69 */
/***/ (function(module, exports) {

    module.exports = function(it){
      if(typeof it != 'function')throw TypeError(it + ' is not a function!');
      return it;
    };

/***/ }),
/* 70 */
/***/ (function(module, exports, __webpack_require__) {

    var META     = __webpack_require__(67)('meta')
      , isObject = __webpack_require__(61)
      , has      = __webpack_require__(53)
      , setDesc  = __webpack_require__(59).f
      , id       = 0;
    var isExtensible = Object.isExtensible || function(){
      return true;
    };
    var FREEZE = !__webpack_require__(55)(function(){
      return isExtensible(Object.preventExtensions({}));
    });
    var setMeta = function(it){
      setDesc(it, META, {value: {
        i: 'O' + ++id, // object ID
        w: {}          // weak collections IDs
      }});
    };
    var fastKey = function(it, create){
      // return primitive with prefix
      if(!isObject(it))return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;
      if(!has(it, META)){
        // can't set metadata to uncaught frozen object
        if(!isExtensible(it))return 'F';
        // not necessary to add metadata
        if(!create)return 'E';
        // add missing metadata
        setMeta(it);
      // return object ID
      } return it[META].i;
    };
    var getWeak = function(it, create){
      if(!has(it, META)){
        // can't set metadata to uncaught frozen object
        if(!isExtensible(it))return true;
        // not necessary to add metadata
        if(!create)return false;
        // add missing metadata
        setMeta(it);
      // return hash weak collections IDs
      } return it[META].w;
    };
    // add metadata on freeze-family methods calling
    var onFreeze = function(it){
      if(FREEZE && meta.NEED && isExtensible(it) && !has(it, META))setMeta(it);
      return it;
    };
    var meta = module.exports = {
      KEY:      META,
      NEED:     false,
      fastKey:  fastKey,
      getWeak:  getWeak,
      onFreeze: onFreeze
    };

/***/ }),
/* 71 */
/***/ (function(module, exports, __webpack_require__) {

    var global = __webpack_require__(52)
      , SHARED = '__core-js_shared__'
      , store  = global[SHARED] || (global[SHARED] = {});
    module.exports = function(key){
      return store[key] || (store[key] = {});
    };

/***/ }),
/* 72 */
/***/ (function(module, exports, __webpack_require__) {

    var def = __webpack_require__(59).f
      , has = __webpack_require__(53)
      , TAG = __webpack_require__(73)('toStringTag');
    
    module.exports = function(it, tag, stat){
      if(it && !has(it = stat ? it : it.prototype, TAG))def(it, TAG, {configurable: true, value: tag});
    };

/***/ }),
/* 73 */
/***/ (function(module, exports, __webpack_require__) {

    var store      = __webpack_require__(71)('wks')
      , uid        = __webpack_require__(67)
      , Symbol     = __webpack_require__(52).Symbol
      , USE_SYMBOL = typeof Symbol == 'function';
    
    var $exports = module.exports = function(name){
      return store[name] || (store[name] =
        USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));
    };
    
    $exports.store = store;

/***/ }),
/* 74 */
/***/ (function(module, exports, __webpack_require__) {

    exports.f = __webpack_require__(73);

/***/ }),
/* 75 */
/***/ (function(module, exports, __webpack_require__) {

    var global         = __webpack_require__(52)
      , core           = __webpack_require__(57)
      , LIBRARY        = __webpack_require__(76)
      , wksExt         = __webpack_require__(74)
      , defineProperty = __webpack_require__(59).f;
    module.exports = function(name){
      var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});
      if(name.charAt(0) != '_' && !(name in $Symbol))defineProperty($Symbol, name, {value: wksExt.f(name)});
    };

/***/ }),
/* 76 */
/***/ (function(module, exports) {

    module.exports = false;

/***/ }),
/* 77 */
/***/ (function(module, exports, __webpack_require__) {

    var getKeys   = __webpack_require__(78)
      , toIObject = __webpack_require__(80);
    module.exports = function(object, el){
      var O      = toIObject(object)
        , keys   = getKeys(O)
        , length = keys.length
        , index  = 0
        , key;
      while(length > index)if(O[key = keys[index++]] === el)return key;
    };

/***/ }),
/* 78 */
/***/ (function(module, exports, __webpack_require__) {

    // 19.1.2.14 / 15.2.3.14 Object.keys(O)
    var $keys       = __webpack_require__(79)
      , enumBugKeys = __webpack_require__(89);
    
    module.exports = Object.keys || function keys(O){
      return $keys(O, enumBugKeys);
    };

/***/ }),
/* 79 */
/***/ (function(module, exports, __webpack_require__) {

    var has          = __webpack_require__(53)
      , toIObject    = __webpack_require__(80)
      , arrayIndexOf = __webpack_require__(84)(false)
      , IE_PROTO     = __webpack_require__(88)('IE_PROTO');
    
    module.exports = function(object, names){
      var O      = toIObject(object)
        , i      = 0
        , result = []
        , key;
      for(key in O)if(key != IE_PROTO)has(O, key) && result.push(key);
      // Don't enum bug & hidden keys
      while(names.length > i)if(has(O, key = names[i++])){
        ~arrayIndexOf(result, key) || result.push(key);
      }
      return result;
    };

/***/ }),
/* 80 */
/***/ (function(module, exports, __webpack_require__) {

    // to indexed object, toObject with fallback for non-array-like ES3 strings
    var IObject = __webpack_require__(81)
      , defined = __webpack_require__(83);
    module.exports = function(it){
      return IObject(defined(it));
    };

/***/ }),
/* 81 */
/***/ (function(module, exports, __webpack_require__) {

    // fallback for non-array-like ES3 and non-enumerable old V8 strings
    var cof = __webpack_require__(82);
    module.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it){
      return cof(it) == 'String' ? it.split('') : Object(it);
    };

/***/ }),
/* 82 */
/***/ (function(module, exports) {

    var toString = {}.toString;
    
    module.exports = function(it){
      return toString.call(it).slice(8, -1);
    };

/***/ }),
/* 83 */
/***/ (function(module, exports) {

    // 7.2.1 RequireObjectCoercible(argument)
    module.exports = function(it){
      if(it == undefined)throw TypeError("Can't call method on  " + it);
      return it;
    };

/***/ }),
/* 84 */
/***/ (function(module, exports, __webpack_require__) {

    // false -> Array#indexOf
    // true  -> Array#includes
    var toIObject = __webpack_require__(80)
      , toLength  = __webpack_require__(85)
      , toIndex   = __webpack_require__(87);
    module.exports = function(IS_INCLUDES){
      return function($this, el, fromIndex){
        var O      = toIObject($this)
          , length = toLength(O.length)
          , index  = toIndex(fromIndex, length)
          , value;
        // Array#includes uses SameValueZero equality algorithm
        if(IS_INCLUDES && el != el)while(length > index){
          value = O[index++];
          if(value != value)return true;
        // Array#toIndex ignores holes, Array#includes - not
        } else for(;length > index; index++)if(IS_INCLUDES || index in O){
          if(O[index] === el)return IS_INCLUDES || index || 0;
        } return !IS_INCLUDES && -1;
      };
    };

/***/ }),
/* 85 */
/***/ (function(module, exports, __webpack_require__) {

    // 7.1.15 ToLength
    var toInteger = __webpack_require__(86)
      , min       = Math.min;
    module.exports = function(it){
      return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991
    };

/***/ }),
/* 86 */
/***/ (function(module, exports) {

    // 7.1.4 ToInteger
    var ceil  = Math.ceil
      , floor = Math.floor;
    module.exports = function(it){
      return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);
    };

/***/ }),
/* 87 */
/***/ (function(module, exports, __webpack_require__) {

    var toInteger = __webpack_require__(86)
      , max       = Math.max
      , min       = Math.min;
    module.exports = function(index, length){
      index = toInteger(index);
      return index < 0 ? max(index + length, 0) : min(index, length);
    };

/***/ }),
/* 88 */
/***/ (function(module, exports, __webpack_require__) {

    var shared = __webpack_require__(71)('keys')
      , uid    = __webpack_require__(67);
    module.exports = function(key){
      return shared[key] || (shared[key] = uid(key));
    };

/***/ }),
/* 89 */
/***/ (function(module, exports) {

    // IE 8- don't enum bug keys
    module.exports = (
      'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'
    ).split(',');

/***/ }),
/* 90 */
/***/ (function(module, exports, __webpack_require__) {

    // all enumerable object keys, includes symbols
    var getKeys = __webpack_require__(78)
      , gOPS    = __webpack_require__(91)
      , pIE     = __webpack_require__(92);
    module.exports = function(it){
      var result     = getKeys(it)
        , getSymbols = gOPS.f;
      if(getSymbols){
        var symbols = getSymbols(it)
          , isEnum  = pIE.f
          , i       = 0
          , key;
        while(symbols.length > i)if(isEnum.call(it, key = symbols[i++]))result.push(key);
      } return result;
    };

/***/ }),
/* 91 */
/***/ (function(module, exports) {

    exports.f = Object.getOwnPropertySymbols;

/***/ }),
/* 92 */
/***/ (function(module, exports) {

    exports.f = {}.propertyIsEnumerable;

/***/ }),
/* 93 */
/***/ (function(module, exports, __webpack_require__) {

    // 7.2.2 IsArray(argument)
    var cof = __webpack_require__(82);
    module.exports = Array.isArray || function isArray(arg){
      return cof(arg) == 'Array';
    };

/***/ }),
/* 94 */
/***/ (function(module, exports, __webpack_require__) {

    // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
    var anObject    = __webpack_require__(60)
      , dPs         = __webpack_require__(95)
      , enumBugKeys = __webpack_require__(89)
      , IE_PROTO    = __webpack_require__(88)('IE_PROTO')
      , Empty       = function(){ /* empty */ }
      , PROTOTYPE   = 'prototype';
    
    // Create object with fake `null` prototype: use iframe Object with cleared prototype
    var createDict = function(){
      // Thrash, waste and sodomy: IE GC bug
      var iframe = __webpack_require__(63)('iframe')
        , i      = enumBugKeys.length
        , lt     = '<'
        , gt     = '>'
        , iframeDocument;
      iframe.style.display = 'none';
      __webpack_require__(96).appendChild(iframe);
      iframe.src = 'javascript:'; // eslint-disable-line no-script-url
      // createDict = iframe.contentWindow.Object;
      // html.removeChild(iframe);
      iframeDocument = iframe.contentWindow.document;
      iframeDocument.open();
      iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);
      iframeDocument.close();
      createDict = iframeDocument.F;
      while(i--)delete createDict[PROTOTYPE][enumBugKeys[i]];
      return createDict();
    };
    
    module.exports = Object.create || function create(O, Properties){
      var result;
      if(O !== null){
        Empty[PROTOTYPE] = anObject(O);
        result = new Empty;
        Empty[PROTOTYPE] = null;
        // add "__proto__" for Object.getPrototypeOf polyfill
        result[IE_PROTO] = O;
      } else result = createDict();
      return Properties === undefined ? result : dPs(result, Properties);
    };


/***/ }),
/* 95 */
/***/ (function(module, exports, __webpack_require__) {

    var dP       = __webpack_require__(59)
      , anObject = __webpack_require__(60)
      , getKeys  = __webpack_require__(78);
    
    module.exports = __webpack_require__(54) ? Object.defineProperties : function defineProperties(O, Properties){
      anObject(O);
      var keys   = getKeys(Properties)
        , length = keys.length
        , i = 0
        , P;
      while(length > i)dP.f(O, P = keys[i++], Properties[P]);
      return O;
    };

/***/ }),
/* 96 */
/***/ (function(module, exports, __webpack_require__) {

    module.exports = __webpack_require__(52).document && document.documentElement;

/***/ }),
/* 97 */
/***/ (function(module, exports, __webpack_require__) {

    // fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window
    var toIObject = __webpack_require__(80)
      , gOPN      = __webpack_require__(98).f
      , toString  = {}.toString;
    
    var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames
      ? Object.getOwnPropertyNames(window) : [];
    
    var getWindowNames = function(it){
      try {
        return gOPN(it);
      } catch(e){
        return windowNames.slice();
      }
    };
    
    module.exports.f = function getOwnPropertyNames(it){
      return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));
    };


/***/ }),
/* 98 */
/***/ (function(module, exports, __webpack_require__) {

    // 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)
    var $keys      = __webpack_require__(79)
      , hiddenKeys = __webpack_require__(89).concat('length', 'prototype');
    
    exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O){
      return $keys(O, hiddenKeys);
    };

/***/ }),
/* 99 */
/***/ (function(module, exports, __webpack_require__) {

    var pIE            = __webpack_require__(92)
      , createDesc     = __webpack_require__(65)
      , toIObject      = __webpack_require__(80)
      , toPrimitive    = __webpack_require__(64)
      , has            = __webpack_require__(53)
      , IE8_DOM_DEFINE = __webpack_require__(62)
      , gOPD           = Object.getOwnPropertyDescriptor;
    
    exports.f = __webpack_require__(54) ? gOPD : function getOwnPropertyDescriptor(O, P){
      O = toIObject(O);
      P = toPrimitive(P, true);
      if(IE8_DOM_DEFINE)try {
        return gOPD(O, P);
      } catch(e){ /* empty */ }
      if(has(O, P))return createDesc(!pIE.f.call(O, P), O[P]);
    };

/***/ }),
/* 100 */
/***/ (function(module, exports, __webpack_require__) {

    var $export = __webpack_require__(56)
    // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
    $export($export.S, 'Object', {create: __webpack_require__(94)});

/***/ }),
/* 101 */
/***/ (function(module, exports, __webpack_require__) {

    var $export = __webpack_require__(56);
    // 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)
    $export($export.S + $export.F * !__webpack_require__(54), 'Object', {defineProperty: __webpack_require__(59).f});

/***/ }),
/* 102 */
/***/ (function(module, exports, __webpack_require__) {

    var $export = __webpack_require__(56);
    // 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties)
    $export($export.S + $export.F * !__webpack_require__(54), 'Object', {defineProperties: __webpack_require__(95)});

/***/ }),
/* 103 */
/***/ (function(module, exports, __webpack_require__) {

    // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)
    var toIObject                 = __webpack_require__(80)
      , $getOwnPropertyDescriptor = __webpack_require__(99).f;
    
    __webpack_require__(104)('getOwnPropertyDescriptor', function(){
      return function getOwnPropertyDescriptor(it, key){
        return $getOwnPropertyDescriptor(toIObject(it), key);
      };
    });

/***/ }),
/* 104 */
/***/ (function(module, exports, __webpack_require__) {

    // most Object methods by ES6 should accept primitives
    var $export = __webpack_require__(56)
      , core    = __webpack_require__(57)
      , fails   = __webpack_require__(55);
    module.exports = function(KEY, exec){
      var fn  = (core.Object || {})[KEY] || Object[KEY]
        , exp = {};
      exp[KEY] = exec(fn);
      $export($export.S + $export.F * fails(function(){ fn(1); }), 'Object', exp);
    };

/***/ }),
/* 105 */
/***/ (function(module, exports, __webpack_require__) {

    // 19.1.2.9 Object.getPrototypeOf(O)
    var toObject        = __webpack_require__(106)
      , $getPrototypeOf = __webpack_require__(107);
    
    __webpack_require__(104)('getPrototypeOf', function(){
      return function getPrototypeOf(it){
        return $getPrototypeOf(toObject(it));
      };
    });

/***/ }),
/* 106 */
/***/ (function(module, exports, __webpack_require__) {

    // 7.1.13 ToObject(argument)
    var defined = __webpack_require__(83);
    module.exports = function(it){
      return Object(defined(it));
    };

/***/ }),
/* 107 */
/***/ (function(module, exports, __webpack_require__) {

    // 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)
    var has         = __webpack_require__(53)
      , toObject    = __webpack_require__(106)
      , IE_PROTO    = __webpack_require__(88)('IE_PROTO')
      , ObjectProto = Object.prototype;
    
    module.exports = Object.getPrototypeOf || function(O){
      O = toObject(O);
      if(has(O, IE_PROTO))return O[IE_PROTO];
      if(typeof O.constructor == 'function' && O instanceof O.constructor){
        return O.constructor.prototype;
      } return O instanceof Object ? ObjectProto : null;
    };

/***/ }),
/* 108 */
/***/ (function(module, exports, __webpack_require__) {

    // 19.1.2.14 Object.keys(O)
    var toObject = __webpack_require__(106)
      , $keys    = __webpack_require__(78);
    
    __webpack_require__(104)('keys', function(){
      return function keys(it){
        return $keys(toObject(it));
      };
    });

/***/ }),
/* 109 */
/***/ (function(module, exports, __webpack_require__) {

    // 19.1.2.7 Object.getOwnPropertyNames(O)
    __webpack_require__(104)('getOwnPropertyNames', function(){
      return __webpack_require__(97).f;
    });

/***/ }),
/* 110 */
/***/ (function(module, exports, __webpack_require__) {

    // 19.1.2.5 Object.freeze(O)
    var isObject = __webpack_require__(61)
      , meta     = __webpack_require__(70).onFreeze;
    
    __webpack_require__(104)('freeze', function($freeze){
      return function freeze(it){
        return $freeze && isObject(it) ? $freeze(meta(it)) : it;
      };
    });

/***/ }),
/* 111 */
/***/ (function(module, exports, __webpack_require__) {

    // 19.1.2.17 Object.seal(O)
    var isObject = __webpack_require__(61)
      , meta     = __webpack_require__(70).onFreeze;
    
    __webpack_require__(104)('seal', function($seal){
      return function seal(it){
        return $seal && isObject(it) ? $seal(meta(it)) : it;
      };
    });

/***/ }),
/* 112 */
/***/ (function(module, exports, __webpack_require__) {

    // 19.1.2.15 Object.preventExtensions(O)
    var isObject = __webpack_require__(61)
      , meta     = __webpack_require__(70).onFreeze;
    
    __webpack_require__(104)('preventExtensions', function($preventExtensions){
      return function preventExtensions(it){
        return $preventExtensions && isObject(it) ? $preventExtensions(meta(it)) : it;
      };
    });

/***/ }),
/* 113 */
/***/ (function(module, exports, __webpack_require__) {

    // 19.1.2.12 Object.isFrozen(O)
    var isObject = __webpack_require__(61);
    
    __webpack_require__(104)('isFrozen', function($isFrozen){
      return function isFrozen(it){
        return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true;
      };
    });

/***/ }),
/* 114 */
/***/ (function(module, exports, __webpack_require__) {

    // 19.1.2.13 Object.isSealed(O)
    var isObject = __webpack_require__(61);
    
    __webpack_require__(104)('isSealed', function($isSealed){
      return function isSealed(it){
        return isObject(it) ? $isSealed ? $isSealed(it) : false : true;
      };
    });

/***/ }),
/* 115 */
/***/ (function(module, exports, __webpack_require__) {

    // 19.1.2.11 Object.isExtensible(O)
    var isObject = __webpack_require__(61);
    
    __webpack_require__(104)('isExtensible', function($isExtensible){
      return function isExtensible(it){
        return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false;
      };
    });

/***/ }),
/* 116 */
/***/ (function(module, exports, __webpack_require__) {

    // 19.1.3.1 Object.assign(target, source)
    var $export = __webpack_require__(56);
    
    $export($export.S + $export.F, 'Object', {assign: __webpack_require__(117)});

/***/ }),
/* 117 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    // 19.1.2.1 Object.assign(target, source, ...)
    var getKeys  = __webpack_require__(78)
      , gOPS     = __webpack_require__(91)
      , pIE      = __webpack_require__(92)
      , toObject = __webpack_require__(106)
      , IObject  = __webpack_require__(81)
      , $assign  = Object.assign;
    
    // should work with symbols and should have deterministic property order (V8 bug)
    module.exports = !$assign || __webpack_require__(55)(function(){
      var A = {}
        , B = {}
        , S = Symbol()
        , K = 'abcdefghijklmnopqrst';
      A[S] = 7;
      K.split('').forEach(function(k){ B[k] = k; });
      return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;
    }) ? function assign(target, source){ // eslint-disable-line no-unused-vars
      var T     = toObject(target)
        , aLen  = arguments.length
        , index = 1
        , getSymbols = gOPS.f
        , isEnum     = pIE.f;
      while(aLen > index){
        var S      = IObject(arguments[index++])
          , keys   = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S)
          , length = keys.length
          , j      = 0
          , key;
        while(length > j)if(isEnum.call(S, key = keys[j++]))T[key] = S[key];
      } return T;
    } : $assign;

/***/ }),
/* 118 */
/***/ (function(module, exports, __webpack_require__) {

    // 19.1.3.10 Object.is(value1, value2)
    var $export = __webpack_require__(56);
    $export($export.S, 'Object', {is: __webpack_require__(119)});

/***/ }),
/* 119 */
/***/ (function(module, exports) {

    // 7.2.9 SameValue(x, y)
    module.exports = Object.is || function is(x, y){
      return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;
    };

/***/ }),
/* 120 */
/***/ (function(module, exports, __webpack_require__) {

    // 19.1.3.19 Object.setPrototypeOf(O, proto)
    var $export = __webpack_require__(56);
    $export($export.S, 'Object', {setPrototypeOf: __webpack_require__(121).set});

/***/ }),
/* 121 */
/***/ (function(module, exports, __webpack_require__) {

    // Works with __proto__ only. Old v8 can't work with null proto objects.
    /* eslint-disable no-proto */
    var isObject = __webpack_require__(61)
      , anObject = __webpack_require__(60);
    var check = function(O, proto){
      anObject(O);
      if(!isObject(proto) && proto !== null)throw TypeError(proto + ": can't set as prototype!");
    };
    module.exports = {
      set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line
        function(test, buggy, set){
          try {
            set = __webpack_require__(68)(Function.call, __webpack_require__(99).f(Object.prototype, '__proto__').set, 2);
            set(test, []);
            buggy = !(test instanceof Array);
          } catch(e){ buggy = true; }
          return function setPrototypeOf(O, proto){
            check(O, proto);
            if(buggy)O.__proto__ = proto;
            else set(O, proto);
            return O;
          };
        }({}, false) : undefined),
      check: check
    };

/***/ }),
/* 122 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    // 19.1.3.6 Object.prototype.toString()
    var classof = __webpack_require__(123)
      , test    = {};
    test[__webpack_require__(73)('toStringTag')] = 'z';
    if(test + '' != '[object z]'){
      __webpack_require__(66)(Object.prototype, 'toString', function toString(){
        return '[object ' + classof(this) + ']';
      }, true);
    }

/***/ }),
/* 123 */
/***/ (function(module, exports, __webpack_require__) {

    // getting tag from 19.1.3.6 Object.prototype.toString()
    var cof = __webpack_require__(82)
      , TAG = __webpack_require__(73)('toStringTag')
      // ES3 wrong here
      , ARG = cof(function(){ return arguments; }()) == 'Arguments';
    
    // fallback for IE11 Script Access Denied error
    var tryGet = function(it, key){
      try {
        return it[key];
      } catch(e){ /* empty */ }
    };
    
    module.exports = function(it){
      var O, T, B;
      return it === undefined ? 'Undefined' : it === null ? 'Null'
        // @@toStringTag case
        : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T
        // builtinTag case
        : ARG ? cof(O)
        // ES3 arguments fallback
        : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;
    };

/***/ }),
/* 124 */
/***/ (function(module, exports, __webpack_require__) {

    // 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...)
    var $export = __webpack_require__(56);
    
    $export($export.P, 'Function', {bind: __webpack_require__(125)});

/***/ }),
/* 125 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    var aFunction  = __webpack_require__(69)
      , isObject   = __webpack_require__(61)
      , invoke     = __webpack_require__(126)
      , arraySlice = [].slice
      , factories  = {};
    
    var construct = function(F, len, args){
      if(!(len in factories)){
        for(var n = [], i = 0; i < len; i++)n[i] = 'a[' + i + ']';
        factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')');
      } return factories[len](F, args);
    };
    
    module.exports = Function.bind || function bind(that /*, args... */){
      var fn       = aFunction(this)
        , partArgs = arraySlice.call(arguments, 1);
      var bound = function(/* args... */){
        var args = partArgs.concat(arraySlice.call(arguments));
        return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that);
      };
      if(isObject(fn.prototype))bound.prototype = fn.prototype;
      return bound;
    };

/***/ }),
/* 126 */
/***/ (function(module, exports) {

    // fast apply, http://jsperf.lnkit.com/fast-apply/5
    module.exports = function(fn, args, that){
      var un = that === undefined;
      switch(args.length){
        case 0: return un ? fn()
                          : fn.call(that);
        case 1: return un ? fn(args[0])
                          : fn.call(that, args[0]);
        case 2: return un ? fn(args[0], args[1])
                          : fn.call(that, args[0], args[1]);
        case 3: return un ? fn(args[0], args[1], args[2])
                          : fn.call(that, args[0], args[1], args[2]);
        case 4: return un ? fn(args[0], args[1], args[2], args[3])
                          : fn.call(that, args[0], args[1], args[2], args[3]);
      } return              fn.apply(that, args);
    };

/***/ }),
/* 127 */
/***/ (function(module, exports, __webpack_require__) {

    var dP         = __webpack_require__(59).f
      , createDesc = __webpack_require__(65)
      , has        = __webpack_require__(53)
      , FProto     = Function.prototype
      , nameRE     = /^\s*function ([^ (]*)/
      , NAME       = 'name';
    
    var isExtensible = Object.isExtensible || function(){
      return true;
    };
    
    // 19.2.4.2 name
    NAME in FProto || __webpack_require__(54) && dP(FProto, NAME, {
      configurable: true,
      get: function(){
        try {
          var that = this
            , name = ('' + that).match(nameRE)[1];
          has(that, NAME) || !isExtensible(that) || dP(that, NAME, createDesc(5, name));
          return name;
        } catch(e){
          return '';
        }
      }
    });

/***/ }),
/* 128 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    var isObject       = __webpack_require__(61)
      , getPrototypeOf = __webpack_require__(107)
      , HAS_INSTANCE   = __webpack_require__(73)('hasInstance')
      , FunctionProto  = Function.prototype;
    // 19.2.3.6 Function.prototype[@@hasInstance](V)
    if(!(HAS_INSTANCE in FunctionProto))__webpack_require__(59).f(FunctionProto, HAS_INSTANCE, {value: function(O){
      if(typeof this != 'function' || !isObject(O))return false;
      if(!isObject(this.prototype))return O instanceof this;
      // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this:
      while(O = getPrototypeOf(O))if(this.prototype === O)return true;
      return false;
    }});

/***/ }),
/* 129 */
/***/ (function(module, exports, __webpack_require__) {

    var $export   = __webpack_require__(56)
      , $parseInt = __webpack_require__(130);
    // 18.2.5 parseInt(string, radix)
    $export($export.G + $export.F * (parseInt != $parseInt), {parseInt: $parseInt});

/***/ }),
/* 130 */
/***/ (function(module, exports, __webpack_require__) {

    var $parseInt = __webpack_require__(52).parseInt
      , $trim     = __webpack_require__(131).trim
      , ws        = __webpack_require__(132)
      , hex       = /^[\-+]?0[xX]/;
    
    module.exports = $parseInt(ws + '08') !== 8 || $parseInt(ws + '0x16') !== 22 ? function parseInt(str, radix){
      var string = $trim(String(str), 3);
      return $parseInt(string, (radix >>> 0) || (hex.test(string) ? 16 : 10));
    } : $parseInt;

/***/ }),
/* 131 */
/***/ (function(module, exports, __webpack_require__) {

    var $export = __webpack_require__(56)
      , defined = __webpack_require__(83)
      , fails   = __webpack_require__(55)
      , spaces  = __webpack_require__(132)
      , space   = '[' + spaces + ']'
      , non     = '\u200b\u0085'
      , ltrim   = RegExp('^' + space + space + '*')
      , rtrim   = RegExp(space + space + '*$');
    
    var exporter = function(KEY, exec, ALIAS){
      var exp   = {};
      var FORCE = fails(function(){
        return !!spaces[KEY]() || non[KEY]() != non;
      });
      var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY];
      if(ALIAS)exp[ALIAS] = fn;
      $export($export.P + $export.F * FORCE, 'String', exp);
    };
    
    // 1 -> String#trimLeft
    // 2 -> String#trimRight
    // 3 -> String#trim
    var trim = exporter.trim = function(string, TYPE){
      string = String(defined(string));
      if(TYPE & 1)string = string.replace(ltrim, '');
      if(TYPE & 2)string = string.replace(rtrim, '');
      return string;
    };
    
    module.exports = exporter;

/***/ }),
/* 132 */
/***/ (function(module, exports) {

    module.exports = '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003' +
      '\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF';

/***/ }),
/* 133 */
/***/ (function(module, exports, __webpack_require__) {

    var $export     = __webpack_require__(56)
      , $parseFloat = __webpack_require__(134);
    // 18.2.4 parseFloat(string)
    $export($export.G + $export.F * (parseFloat != $parseFloat), {parseFloat: $parseFloat});

/***/ }),
/* 134 */
/***/ (function(module, exports, __webpack_require__) {

    var $parseFloat = __webpack_require__(52).parseFloat
      , $trim       = __webpack_require__(131).trim;
    
    module.exports = 1 / $parseFloat(__webpack_require__(132) + '-0') !== -Infinity ? function parseFloat(str){
      var string = $trim(String(str), 3)
        , result = $parseFloat(string);
      return result === 0 && string.charAt(0) == '-' ? -0 : result;
    } : $parseFloat;

/***/ }),
/* 135 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    var global            = __webpack_require__(52)
      , has               = __webpack_require__(53)
      , cof               = __webpack_require__(82)
      , inheritIfRequired = __webpack_require__(136)
      , toPrimitive       = __webpack_require__(64)
      , fails             = __webpack_require__(55)
      , gOPN              = __webpack_require__(98).f
      , gOPD              = __webpack_require__(99).f
      , dP                = __webpack_require__(59).f
      , $trim             = __webpack_require__(131).trim
      , NUMBER            = 'Number'
      , $Number           = global[NUMBER]
      , Base              = $Number
      , proto             = $Number.prototype
      // Opera ~12 has broken Object#toString
      , BROKEN_COF        = cof(__webpack_require__(94)(proto)) == NUMBER
      , TRIM              = 'trim' in String.prototype;
    
    // 7.1.3 ToNumber(argument)
    var toNumber = function(argument){
      var it = toPrimitive(argument, false);
      if(typeof it == 'string' && it.length > 2){
        it = TRIM ? it.trim() : $trim(it, 3);
        var first = it.charCodeAt(0)
          , third, radix, maxCode;
        if(first === 43 || first === 45){
          third = it.charCodeAt(2);
          if(third === 88 || third === 120)return NaN; // Number('+0x1') should be NaN, old V8 fix
        } else if(first === 48){
          switch(it.charCodeAt(1)){
            case 66 : case 98  : radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i
            case 79 : case 111 : radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i
            default : return +it;
          }
          for(var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++){
            code = digits.charCodeAt(i);
            // parseInt parses a string to a first unavailable symbol
            // but ToNumber should return NaN if a string contains unavailable symbols
            if(code < 48 || code > maxCode)return NaN;
          } return parseInt(digits, radix);
        }
      } return +it;
    };
    
    if(!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')){
      $Number = function Number(value){
        var it = arguments.length < 1 ? 0 : value
          , that = this;
        return that instanceof $Number
          // check on 1..constructor(foo) case
          && (BROKEN_COF ? fails(function(){ proto.valueOf.call(that); }) : cof(that) != NUMBER)
            ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it);
      };
      for(var keys = __webpack_require__(54) ? gOPN(Base) : (
        // ES3:
        'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +
        // ES6 (in case, if modules with ES6 Number statics required before):
        'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +
        'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'
      ).split(','), j = 0, key; keys.length > j; j++){
        if(has(Base, key = keys[j]) && !has($Number, key)){
          dP($Number, key, gOPD(Base, key));
        }
      }
      $Number.prototype = proto;
      proto.constructor = $Number;
      __webpack_require__(66)(global, NUMBER, $Number);
    }

/***/ }),
/* 136 */
/***/ (function(module, exports, __webpack_require__) {

    var isObject       = __webpack_require__(61)
      , setPrototypeOf = __webpack_require__(121).set;
    module.exports = function(that, target, C){
      var P, S = target.constructor;
      if(S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf){
        setPrototypeOf(that, P);
      } return that;
    };

/***/ }),
/* 137 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    var $export      = __webpack_require__(56)
      , toInteger    = __webpack_require__(86)
      , aNumberValue = __webpack_require__(138)
      , repeat       = __webpack_require__(139)
      , $toFixed     = 1..toFixed
      , floor        = Math.floor
      , data         = [0, 0, 0, 0, 0, 0]
      , ERROR        = 'Number.toFixed: incorrect invocation!'
      , ZERO         = '0';
    
    var multiply = function(n, c){
      var i  = -1
        , c2 = c;
      while(++i < 6){
        c2 += n * data[i];
        data[i] = c2 % 1e7;
        c2 = floor(c2 / 1e7);
      }
    };
    var divide = function(n){
      var i = 6
        , c = 0;
      while(--i >= 0){
        c += data[i];
        data[i] = floor(c / n);
        c = (c % n) * 1e7;
      }
    };
    var numToString = function(){
      var i = 6
        , s = '';
      while(--i >= 0){
        if(s !== '' || i === 0 || data[i] !== 0){
          var t = String(data[i]);
          s = s === '' ? t : s + repeat.call(ZERO, 7 - t.length) + t;
        }
      } return s;
    };
    var pow = function(x, n, acc){
      return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);
    };
    var log = function(x){
      var n  = 0
        , x2 = x;
      while(x2 >= 4096){
        n += 12;
        x2 /= 4096;
      }
      while(x2 >= 2){
        n  += 1;
        x2 /= 2;
      } return n;
    };
    
    $export($export.P + $export.F * (!!$toFixed && (
      0.00008.toFixed(3) !== '0.000' ||
      0.9.toFixed(0) !== '1' ||
      1.255.toFixed(2) !== '1.25' ||
      1000000000000000128..toFixed(0) !== '1000000000000000128'
    ) || !__webpack_require__(55)(function(){
      // V8 ~ Android 4.3-
      $toFixed.call({});
    })), 'Number', {
      toFixed: function toFixed(fractionDigits){
        var x = aNumberValue(this, ERROR)
          , f = toInteger(fractionDigits)
          , s = ''
          , m = ZERO
          , e, z, j, k;
        if(f < 0 || f > 20)throw RangeError(ERROR);
        if(x != x)return 'NaN';
        if(x <= -1e21 || x >= 1e21)return String(x);
        if(x < 0){
          s = '-';
          x = -x;
        }
        if(x > 1e-21){
          e = log(x * pow(2, 69, 1)) - 69;
          z = e < 0 ? x * pow(2, -e, 1) : x / pow(2, e, 1);
          z *= 0x10000000000000;
          e = 52 - e;
          if(e > 0){
            multiply(0, z);
            j = f;
            while(j >= 7){
              multiply(1e7, 0);
              j -= 7;
            }
            multiply(pow(10, j, 1), 0);
            j = e - 1;
            while(j >= 23){
              divide(1 << 23);
              j -= 23;
            }
            divide(1 << j);
            multiply(1, 1);
            divide(2);
            m = numToString();
          } else {
            multiply(0, z);
            multiply(1 << -e, 0);
            m = numToString() + repeat.call(ZERO, f);
          }
        }
        if(f > 0){
          k = m.length;
          m = s + (k <= f ? '0.' + repeat.call(ZERO, f - k) + m : m.slice(0, k - f) + '.' + m.slice(k - f));
        } else {
          m = s + m;
        } return m;
      }
    });

/***/ }),
/* 138 */
/***/ (function(module, exports, __webpack_require__) {

    var cof = __webpack_require__(82);
    module.exports = function(it, msg){
      if(typeof it != 'number' && cof(it) != 'Number')throw TypeError(msg);
      return +it;
    };

/***/ }),
/* 139 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    var toInteger = __webpack_require__(86)
      , defined   = __webpack_require__(83);
    
    module.exports = function repeat(count){
      var str = String(defined(this))
        , res = ''
        , n   = toInteger(count);
      if(n < 0 || n == Infinity)throw RangeError("Count can't be negative");
      for(;n > 0; (n >>>= 1) && (str += str))if(n & 1)res += str;
      return res;
    };

/***/ }),
/* 140 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    var $export      = __webpack_require__(56)
      , $fails       = __webpack_require__(55)
      , aNumberValue = __webpack_require__(138)
      , $toPrecision = 1..toPrecision;
    
    $export($export.P + $export.F * ($fails(function(){
      // IE7-
      return $toPrecision.call(1, undefined) !== '1';
    }) || !$fails(function(){
      // V8 ~ Android 4.3-
      $toPrecision.call({});
    })), 'Number', {
      toPrecision: function toPrecision(precision){
        var that = aNumberValue(this, 'Number#toPrecision: incorrect invocation!');
        return precision === undefined ? $toPrecision.call(that) : $toPrecision.call(that, precision); 
      }
    });

/***/ }),
/* 141 */
/***/ (function(module, exports, __webpack_require__) {

    // 20.1.2.1 Number.EPSILON
    var $export = __webpack_require__(56);
    
    $export($export.S, 'Number', {EPSILON: Math.pow(2, -52)});

/***/ }),
/* 142 */
/***/ (function(module, exports, __webpack_require__) {

    // 20.1.2.2 Number.isFinite(number)
    var $export   = __webpack_require__(56)
      , _isFinite = __webpack_require__(52).isFinite;
    
    $export($export.S, 'Number', {
      isFinite: function isFinite(it){
        return typeof it == 'number' && _isFinite(it);
      }
    });

/***/ }),
/* 143 */
/***/ (function(module, exports, __webpack_require__) {

    // 20.1.2.3 Number.isInteger(number)
    var $export = __webpack_require__(56);
    
    $export($export.S, 'Number', {isInteger: __webpack_require__(144)});

/***/ }),
/* 144 */
/***/ (function(module, exports, __webpack_require__) {

    // 20.1.2.3 Number.isInteger(number)
    var isObject = __webpack_require__(61)
      , floor    = Math.floor;
    module.exports = function isInteger(it){
      return !isObject(it) && isFinite(it) && floor(it) === it;
    };

/***/ }),
/* 145 */
/***/ (function(module, exports, __webpack_require__) {

    // 20.1.2.4 Number.isNaN(number)
    var $export = __webpack_require__(56);
    
    $export($export.S, 'Number', {
      isNaN: function isNaN(number){
        return number != number;
      }
    });

/***/ }),
/* 146 */
/***/ (function(module, exports, __webpack_require__) {

    // 20.1.2.5 Number.isSafeInteger(number)
    var $export   = __webpack_require__(56)
      , isInteger = __webpack_require__(144)
      , abs       = Math.abs;
    
    $export($export.S, 'Number', {
      isSafeInteger: function isSafeInteger(number){
        return isInteger(number) && abs(number) <= 0x1fffffffffffff;
      }
    });

/***/ }),
/* 147 */
/***/ (function(module, exports, __webpack_require__) {

    // 20.1.2.6 Number.MAX_SAFE_INTEGER
    var $export = __webpack_require__(56);
    
    $export($export.S, 'Number', {MAX_SAFE_INTEGER: 0x1fffffffffffff});

/***/ }),
/* 148 */
/***/ (function(module, exports, __webpack_require__) {

    // 20.1.2.10 Number.MIN_SAFE_INTEGER
    var $export = __webpack_require__(56);
    
    $export($export.S, 'Number', {MIN_SAFE_INTEGER: -0x1fffffffffffff});

/***/ }),
/* 149 */
/***/ (function(module, exports, __webpack_require__) {

    var $export     = __webpack_require__(56)
      , $parseFloat = __webpack_require__(134);
    // 20.1.2.12 Number.parseFloat(string)
    $export($export.S + $export.F * (Number.parseFloat != $parseFloat), 'Number', {parseFloat: $parseFloat});

/***/ }),
/* 150 */
/***/ (function(module, exports, __webpack_require__) {

    var $export   = __webpack_require__(56)
      , $parseInt = __webpack_require__(130);
    // 20.1.2.13 Number.parseInt(string, radix)
    $export($export.S + $export.F * (Number.parseInt != $parseInt), 'Number', {parseInt: $parseInt});

/***/ }),
/* 151 */
/***/ (function(module, exports, __webpack_require__) {

    // 20.2.2.3 Math.acosh(x)
    var $export = __webpack_require__(56)
      , log1p   = __webpack_require__(152)
      , sqrt    = Math.sqrt
      , $acosh  = Math.acosh;
    
    $export($export.S + $export.F * !($acosh
      // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509
      && Math.floor($acosh(Number.MAX_VALUE)) == 710
      // Tor Browser bug: Math.acosh(Infinity) -> NaN 
      && $acosh(Infinity) == Infinity
    ), 'Math', {
      acosh: function acosh(x){
        return (x = +x) < 1 ? NaN : x > 94906265.62425156
          ? Math.log(x) + Math.LN2
          : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1));
      }
    });

/***/ }),
/* 152 */
/***/ (function(module, exports) {

    // 20.2.2.20 Math.log1p(x)
    module.exports = Math.log1p || function log1p(x){
      return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x);
    };

/***/ }),
/* 153 */
/***/ (function(module, exports, __webpack_require__) {

    // 20.2.2.5 Math.asinh(x)
    var $export = __webpack_require__(56)
      , $asinh  = Math.asinh;
    
    function asinh(x){
      return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1));
    }
    
    // Tor Browser bug: Math.asinh(0) -> -0 
    $export($export.S + $export.F * !($asinh && 1 / $asinh(0) > 0), 'Math', {asinh: asinh});

/***/ }),
/* 154 */
/***/ (function(module, exports, __webpack_require__) {

    // 20.2.2.7 Math.atanh(x)
    var $export = __webpack_require__(56)
      , $atanh  = Math.atanh;
    
    // Tor Browser bug: Math.atanh(-0) -> 0 
    $export($export.S + $export.F * !($atanh && 1 / $atanh(-0) < 0), 'Math', {
      atanh: function atanh(x){
        return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2;
      }
    });

/***/ }),
/* 155 */
/***/ (function(module, exports, __webpack_require__) {

    // 20.2.2.9 Math.cbrt(x)
    var $export = __webpack_require__(56)
      , sign    = __webpack_require__(156);
    
    $export($export.S, 'Math', {
      cbrt: function cbrt(x){
        return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3);
      }
    });

/***/ }),
/* 156 */
/***/ (function(module, exports) {

    // 20.2.2.28 Math.sign(x)
    module.exports = Math.sign || function sign(x){
      return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;
    };

/***/ }),
/* 157 */
/***/ (function(module, exports, __webpack_require__) {

    // 20.2.2.11 Math.clz32(x)
    var $export = __webpack_require__(56);
    
    $export($export.S, 'Math', {
      clz32: function clz32(x){
        return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32;
      }
    });

/***/ }),
/* 158 */
/***/ (function(module, exports, __webpack_require__) {

    // 20.2.2.12 Math.cosh(x)
    var $export = __webpack_require__(56)
      , exp     = Math.exp;
    
    $export($export.S, 'Math', {
      cosh: function cosh(x){
        return (exp(x = +x) + exp(-x)) / 2;
      }
    });

/***/ }),
/* 159 */
/***/ (function(module, exports, __webpack_require__) {

    // 20.2.2.14 Math.expm1(x)
    var $export = __webpack_require__(56)
      , $expm1  = __webpack_require__(160);
    
    $export($export.S + $export.F * ($expm1 != Math.expm1), 'Math', {expm1: $expm1});

/***/ }),
/* 160 */
/***/ (function(module, exports) {

    // 20.2.2.14 Math.expm1(x)
    var $expm1 = Math.expm1;
    module.exports = (!$expm1
      // Old FF bug
      || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168
      // Tor Browser bug
      || $expm1(-2e-17) != -2e-17
    ) ? function expm1(x){
      return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1;
    } : $expm1;

/***/ }),
/* 161 */
/***/ (function(module, exports, __webpack_require__) {

    // 20.2.2.16 Math.fround(x)
    var $export   = __webpack_require__(56)
      , sign      = __webpack_require__(156)
      , pow       = Math.pow
      , EPSILON   = pow(2, -52)
      , EPSILON32 = pow(2, -23)
      , MAX32     = pow(2, 127) * (2 - EPSILON32)
      , MIN32     = pow(2, -126);
    
    var roundTiesToEven = function(n){
      return n + 1 / EPSILON - 1 / EPSILON;
    };
    
    
    $export($export.S, 'Math', {
      fround: function fround(x){
        var $abs  = Math.abs(x)
          , $sign = sign(x)
          , a, result;
        if($abs < MIN32)return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32;
        a = (1 + EPSILON32 / EPSILON) * $abs;
        result = a - (a - $abs);
        if(result > MAX32 || result != result)return $sign * Infinity;
        return $sign * result;
      }
    });

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

    // 20.2.2.17 Math.hypot([value1[, value2[, … ]]])
    var $export = __webpack_require__(56)
      , abs     = Math.abs;
    
    $export($export.S, 'Math', {
      hypot: function hypot(value1, value2){ // eslint-disable-line no-unused-vars
        var sum  = 0
          , i    = 0
          , aLen = arguments.length
          , larg = 0
          , arg, div;
        while(i < aLen){
          arg = abs(arguments[i++]);
          if(larg < arg){
            div  = larg / arg;
            sum  = sum * div * div + 1;
            larg = arg;
          } else if(arg > 0){
            div  = arg / larg;
            sum += div * div;
          } else sum += arg;
        }
        return larg === Infinity ? Infinity : larg * Math.sqrt(sum);
      }
    });

/***/ }),
/* 163 */
/***/ (function(module, exports, __webpack_require__) {

    // 20.2.2.18 Math.imul(x, y)
    var $export = __webpack_require__(56)
      , $imul   = Math.imul;
    
    // some WebKit versions fails with big numbers, some has wrong arity
    $export($export.S + $export.F * __webpack_require__(55)(function(){
      return $imul(0xffffffff, 5) != -5 || $imul.length != 2;
    }), 'Math', {
      imul: function imul(x, y){
        var UINT16 = 0xffff
          , xn = +x
          , yn = +y
          , xl = UINT16 & xn
          , yl = UINT16 & yn;
        return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0);
      }
    });

/***/ }),
/* 164 */
/***/ (function(module, exports, __webpack_require__) {

    // 20.2.2.21 Math.log10(x)
    var $export = __webpack_require__(56);
    
    $export($export.S, 'Math', {
      log10: function log10(x){
        return Math.log(x) / Math.LN10;
      }
    });

/***/ }),
/* 165 */
/***/ (function(module, exports, __webpack_require__) {

    // 20.2.2.20 Math.log1p(x)
    var $export = __webpack_require__(56);
    
    $export($export.S, 'Math', {log1p: __webpack_require__(152)});

/***/ }),
/* 166 */
/***/ (function(module, exports, __webpack_require__) {

    // 20.2.2.22 Math.log2(x)
    var $export = __webpack_require__(56);
    
    $export($export.S, 'Math', {
      log2: function log2(x){
        return Math.log(x) / Math.LN2;
      }
    });

/***/ }),
/* 167 */
/***/ (function(module, exports, __webpack_require__) {

    // 20.2.2.28 Math.sign(x)
    var $export = __webpack_require__(56);
    
    $export($export.S, 'Math', {sign: __webpack_require__(156)});

/***/ }),
/* 168 */
/***/ (function(module, exports, __webpack_require__) {

    // 20.2.2.30 Math.sinh(x)
    var $export = __webpack_require__(56)
      , expm1   = __webpack_require__(160)
      , exp     = Math.exp;
    
    // V8 near Chromium 38 has a problem with very small numbers
    $export($export.S + $export.F * __webpack_require__(55)(function(){
      return !Math.sinh(-2e-17) != -2e-17;
    }), 'Math', {
      sinh: function sinh(x){
        return Math.abs(x = +x) < 1
          ? (expm1(x) - expm1(-x)) / 2
          : (exp(x - 1) - exp(-x - 1)) * (Math.E / 2);
      }
    });

/***/ }),
/* 169 */
/***/ (function(module, exports, __webpack_require__) {

    // 20.2.2.33 Math.tanh(x)
    var $export = __webpack_require__(56)
      , expm1   = __webpack_require__(160)
      , exp     = Math.exp;
    
    $export($export.S, 'Math', {
      tanh: function tanh(x){
        var a = expm1(x = +x)
          , b = expm1(-x);
        return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x));
      }
    });

/***/ }),
/* 170 */
/***/ (function(module, exports, __webpack_require__) {

    // 20.2.2.34 Math.trunc(x)
    var $export = __webpack_require__(56);
    
    $export($export.S, 'Math', {
      trunc: function trunc(it){
        return (it > 0 ? Math.floor : Math.ceil)(it);
      }
    });

/***/ }),
/* 171 */
/***/ (function(module, exports, __webpack_require__) {

    var $export        = __webpack_require__(56)
      , toIndex        = __webpack_require__(87)
      , fromCharCode   = String.fromCharCode
      , $fromCodePoint = String.fromCodePoint;
    
    // length should be 1, old FF problem
    $export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', {
      // 21.1.2.2 String.fromCodePoint(...codePoints)
      fromCodePoint: function fromCodePoint(x){ // eslint-disable-line no-unused-vars
        var res  = []
          , aLen = arguments.length
          , i    = 0
          , code;
        while(aLen > i){
          code = +arguments[i++];
          if(toIndex(code, 0x10ffff) !== code)throw RangeError(code + ' is not a valid code point');
          res.push(code < 0x10000
            ? fromCharCode(code)
            : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00)
          );
        } return res.join('');
      }
    });

/***/ }),
/* 172 */
/***/ (function(module, exports, __webpack_require__) {

    var $export   = __webpack_require__(56)
      , toIObject = __webpack_require__(80)
      , toLength  = __webpack_require__(85);
    
    $export($export.S, 'String', {
      // 21.1.2.4 String.raw(callSite, ...substitutions)
      raw: function raw(callSite){
        var tpl  = toIObject(callSite.raw)
          , len  = toLength(tpl.length)
          , aLen = arguments.length
          , res  = []
          , i    = 0;
        while(len > i){
          res.push(String(tpl[i++]));
          if(i < aLen)res.push(String(arguments[i]));
        } return res.join('');
      }
    });

/***/ }),
/* 173 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    // 21.1.3.25 String.prototype.trim()
    __webpack_require__(131)('trim', function($trim){
      return function trim(){
        return $trim(this, 3);
      };
    });

/***/ }),
/* 174 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    var $at  = __webpack_require__(175)(true);
    
    // 21.1.3.27 String.prototype[@@iterator]()
    __webpack_require__(176)(String, 'String', function(iterated){
      this._t = String(iterated); // target
      this._i = 0;                // next index
    // 21.1.5.2.1 %StringIteratorPrototype%.next()
    }, function(){
      var O     = this._t
        , index = this._i
        , point;
      if(index >= O.length)return {value: undefined, done: true};
      point = $at(O, index);
      this._i += point.length;
      return {value: point, done: false};
    });

/***/ }),
/* 175 */
/***/ (function(module, exports, __webpack_require__) {

    var toInteger = __webpack_require__(86)
      , defined   = __webpack_require__(83);
    // true  -> String#at
    // false -> String#codePointAt
    module.exports = function(TO_STRING){
      return function(that, pos){
        var s = String(defined(that))
          , i = toInteger(pos)
          , l = s.length
          , a, b;
        if(i < 0 || i >= l)return TO_STRING ? '' : undefined;
        a = s.charCodeAt(i);
        return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff
          ? TO_STRING ? s.charAt(i) : a
          : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;
      };
    };

/***/ }),
/* 176 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    var LIBRARY        = __webpack_require__(76)
      , $export        = __webpack_require__(56)
      , redefine       = __webpack_require__(66)
      , hide           = __webpack_require__(58)
      , has            = __webpack_require__(53)
      , Iterators      = __webpack_require__(177)
      , $iterCreate    = __webpack_require__(178)
      , setToStringTag = __webpack_require__(72)
      , getPrototypeOf = __webpack_require__(107)
      , ITERATOR       = __webpack_require__(73)('iterator')
      , BUGGY          = !([].keys && 'next' in [].keys()) // Safari has buggy iterators w/o `next`
      , FF_ITERATOR    = '@@iterator'
      , KEYS           = 'keys'
      , VALUES         = 'values';
    
    var returnThis = function(){ return this; };
    
    module.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED){
      $iterCreate(Constructor, NAME, next);
      var getMethod = function(kind){
        if(!BUGGY && kind in proto)return proto[kind];
        switch(kind){
          case KEYS: return function keys(){ return new Constructor(this, kind); };
          case VALUES: return function values(){ return new Constructor(this, kind); };
        } return function entries(){ return new Constructor(this, kind); };
      };
      var TAG        = NAME + ' Iterator'
        , DEF_VALUES = DEFAULT == VALUES
        , VALUES_BUG = false
        , proto      = Base.prototype
        , $native    = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]
        , $default   = $native || getMethod(DEFAULT)
        , $entries   = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined
        , $anyNative = NAME == 'Array' ? proto.entries || $native : $native
        , methods, key, IteratorPrototype;
      // Fix native
      if($anyNative){
        IteratorPrototype = getPrototypeOf($anyNative.call(new Base));
        if(IteratorPrototype !== Object.prototype){
          // Set @@toStringTag to native iterators
          setToStringTag(IteratorPrototype, TAG, true);
          // fix for some old engines
          if(!LIBRARY && !has(IteratorPrototype, ITERATOR))hide(IteratorPrototype, ITERATOR, returnThis);
        }
      }
      // fix Array#{values, @@iterator}.name in V8 / FF
      if(DEF_VALUES && $native && $native.name !== VALUES){
        VALUES_BUG = true;
        $default = function values(){ return $native.call(this); };
      }
      // Define iterator
      if((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])){
        hide(proto, ITERATOR, $default);
      }
      // Plug for library
      Iterators[NAME] = $default;
      Iterators[TAG]  = returnThis;
      if(DEFAULT){
        methods = {
          values:  DEF_VALUES ? $default : getMethod(VALUES),
          keys:    IS_SET     ? $default : getMethod(KEYS),
          entries: $entries
        };
        if(FORCED)for(key in methods){
          if(!(key in proto))redefine(proto, key, methods[key]);
        } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);
      }
      return methods;
    };

/***/ }),
/* 177 */
/***/ (function(module, exports) {

    module.exports = {};

/***/ }),
/* 178 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    var create         = __webpack_require__(94)
      , descriptor     = __webpack_require__(65)
      , setToStringTag = __webpack_require__(72)
      , IteratorPrototype = {};
    
    // 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
    __webpack_require__(58)(IteratorPrototype, __webpack_require__(73)('iterator'), function(){ return this; });
    
    module.exports = function(Constructor, NAME, next){
      Constructor.prototype = create(IteratorPrototype, {next: descriptor(1, next)});
      setToStringTag(Constructor, NAME + ' Iterator');
    };

/***/ }),
/* 179 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    var $export = __webpack_require__(56)
      , $at     = __webpack_require__(175)(false);
    $export($export.P, 'String', {
      // 21.1.3.3 String.prototype.codePointAt(pos)
      codePointAt: function codePointAt(pos){
        return $at(this, pos);
      }
    });

/***/ }),
/* 180 */
/***/ (function(module, exports, __webpack_require__) {

    // 21.1.3.6 String.prototype.endsWith(searchString [, endPosition])
    'use strict';
    var $export   = __webpack_require__(56)
      , toLength  = __webpack_require__(85)
      , context   = __webpack_require__(181)
      , ENDS_WITH = 'endsWith'
      , $endsWith = ''[ENDS_WITH];
    
    $export($export.P + $export.F * __webpack_require__(183)(ENDS_WITH), 'String', {
      endsWith: function endsWith(searchString /*, endPosition = @length */){
        var that = context(this, searchString, ENDS_WITH)
          , endPosition = arguments.length > 1 ? arguments[1] : undefined
          , len    = toLength(that.length)
          , end    = endPosition === undefined ? len : Math.min(toLength(endPosition), len)
          , search = String(searchString);
        return $endsWith
          ? $endsWith.call(that, search, end)
          : that.slice(end - search.length, end) === search;
      }
    });

/***/ }),
/* 181 */
/***/ (function(module, exports, __webpack_require__) {

    // helper for String#{startsWith, endsWith, includes}
    var isRegExp = __webpack_require__(182)
      , defined  = __webpack_require__(83);
    
    module.exports = function(that, searchString, NAME){
      if(isRegExp(searchString))throw TypeError('String#' + NAME + " doesn't accept regex!");
      return String(defined(that));
    };

/***/ }),
/* 182 */
/***/ (function(module, exports, __webpack_require__) {

    // 7.2.8 IsRegExp(argument)
    var isObject = __webpack_require__(61)
      , cof      = __webpack_require__(82)
      , MATCH    = __webpack_require__(73)('match');
    module.exports = function(it){
      var isRegExp;
      return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');
    };

/***/ }),
/* 183 */
/***/ (function(module, exports, __webpack_require__) {

    var MATCH = __webpack_require__(73)('match');
    module.exports = function(KEY){
      var re = /./;
      try {
        '/./'[KEY](re);
      } catch(e){
        try {
          re[MATCH] = false;
          return !'/./'[KEY](re);
        } catch(f){ /* empty */ }
      } return true;
    };

/***/ }),
/* 184 */
/***/ (function(module, exports, __webpack_require__) {

    // 21.1.3.7 String.prototype.includes(searchString, position = 0)
    'use strict';
    var $export  = __webpack_require__(56)
      , context  = __webpack_require__(181)
      , INCLUDES = 'includes';
    
    $export($export.P + $export.F * __webpack_require__(183)(INCLUDES), 'String', {
      includes: function includes(searchString /*, position = 0 */){
        return !!~context(this, searchString, INCLUDES)
          .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);
      }
    });

/***/ }),
/* 185 */
/***/ (function(module, exports, __webpack_require__) {

    var $export = __webpack_require__(56);
    
    $export($export.P, 'String', {
      // 21.1.3.13 String.prototype.repeat(count)
      repeat: __webpack_require__(139)
    });

/***/ }),
/* 186 */
/***/ (function(module, exports, __webpack_require__) {

    // 21.1.3.18 String.prototype.startsWith(searchString [, position ])
    'use strict';
    var $export     = __webpack_require__(56)
      , toLength    = __webpack_require__(85)
      , context     = __webpack_require__(181)
      , STARTS_WITH = 'startsWith'
      , $startsWith = ''[STARTS_WITH];
    
    $export($export.P + $export.F * __webpack_require__(183)(STARTS_WITH), 'String', {
      startsWith: function startsWith(searchString /*, position = 0 */){
        var that   = context(this, searchString, STARTS_WITH)
          , index  = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length))
          , search = String(searchString);
        return $startsWith
          ? $startsWith.call(that, search, index)
          : that.slice(index, index + search.length) === search;
      }
    });

/***/ }),
/* 187 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    // B.2.3.2 String.prototype.anchor(name)
    __webpack_require__(188)('anchor', function(createHTML){
      return function anchor(name){
        return createHTML(this, 'a', 'name', name);
      }
    });

/***/ }),
/* 188 */
/***/ (function(module, exports, __webpack_require__) {

    var $export = __webpack_require__(56)
      , fails   = __webpack_require__(55)
      , defined = __webpack_require__(83)
      , quot    = /"/g;
    // B.2.3.2.1 CreateHTML(string, tag, attribute, value)
    var createHTML = function(string, tag, attribute, value) {
      var S  = String(defined(string))
        , p1 = '<' + tag;
      if(attribute !== '')p1 += ' ' + attribute + '="' + String(value).replace(quot, '&quot;') + '"';
      return p1 + '>' + S + '</' + tag + '>';
    };
    module.exports = function(NAME, exec){
      var O = {};
      O[NAME] = exec(createHTML);
      $export($export.P + $export.F * fails(function(){
        var test = ''[NAME]('"');
        return test !== test.toLowerCase() || test.split('"').length > 3;
      }), 'String', O);
    };

/***/ }),
/* 189 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    // B.2.3.3 String.prototype.big()
    __webpack_require__(188)('big', function(createHTML){
      return function big(){
        return createHTML(this, 'big', '', '');
      }
    });

/***/ }),
/* 190 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    // B.2.3.4 String.prototype.blink()
    __webpack_require__(188)('blink', function(createHTML){
      return function blink(){
        return createHTML(this, 'blink', '', '');
      }
    });

/***/ }),
/* 191 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    // B.2.3.5 String.prototype.bold()
    __webpack_require__(188)('bold', function(createHTML){
      return function bold(){
        return createHTML(this, 'b', '', '');
      }
    });

/***/ }),
/* 192 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    // B.2.3.6 String.prototype.fixed()
    __webpack_require__(188)('fixed', function(createHTML){
      return function fixed(){
        return createHTML(this, 'tt', '', '');
      }
    });

/***/ }),
/* 193 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    // B.2.3.7 String.prototype.fontcolor(color)
    __webpack_require__(188)('fontcolor', function(createHTML){
      return function fontcolor(color){
        return createHTML(this, 'font', 'color', color);
      }
    });

/***/ }),
/* 194 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    // B.2.3.8 String.prototype.fontsize(size)
    __webpack_require__(188)('fontsize', function(createHTML){
      return function fontsize(size){
        return createHTML(this, 'font', 'size', size);
      }
    });

/***/ }),
/* 195 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    // B.2.3.9 String.prototype.italics()
    __webpack_require__(188)('italics', function(createHTML){
      return function italics(){
        return createHTML(this, 'i', '', '');
      }
    });

/***/ }),
/* 196 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    // B.2.3.10 String.prototype.link(url)
    __webpack_require__(188)('link', function(createHTML){
      return function link(url){
        return createHTML(this, 'a', 'href', url);
      }
    });

/***/ }),
/* 197 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    // B.2.3.11 String.prototype.small()
    __webpack_require__(188)('small', function(createHTML){
      return function small(){
        return createHTML(this, 'small', '', '');
      }
    });

/***/ }),
/* 198 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    // B.2.3.12 String.prototype.strike()
    __webpack_require__(188)('strike', function(createHTML){
      return function strike(){
        return createHTML(this, 'strike', '', '');
      }
    });

/***/ }),
/* 199 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    // B.2.3.13 String.prototype.sub()
    __webpack_require__(188)('sub', function(createHTML){
      return function sub(){
        return createHTML(this, 'sub', '', '');
      }
    });

/***/ }),
/* 200 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    // B.2.3.14 String.prototype.sup()
    __webpack_require__(188)('sup', function(createHTML){
      return function sup(){
        return createHTML(this, 'sup', '', '');
      }
    });

/***/ }),
/* 201 */
/***/ (function(module, exports, __webpack_require__) {

    // 20.3.3.1 / 15.9.4.4 Date.now()
    var $export = __webpack_require__(56);
    
    $export($export.S, 'Date', {now: function(){ return new Date().getTime(); }});

/***/ }),
/* 202 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    var $export     = __webpack_require__(56)
      , toObject    = __webpack_require__(106)
      , toPrimitive = __webpack_require__(64);
    
    $export($export.P + $export.F * __webpack_require__(55)(function(){
      return new Date(NaN).toJSON() !== null || Date.prototype.toJSON.call({toISOString: function(){ return 1; }}) !== 1;
    }), 'Date', {
      toJSON: function toJSON(key){
        var O  = toObject(this)
          , pv = toPrimitive(O);
        return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString();
      }
    });

/***/ }),
/* 203 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    // 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()
    var $export = __webpack_require__(56)
      , fails   = __webpack_require__(55)
      , getTime = Date.prototype.getTime;
    
    var lz = function(num){
      return num > 9 ? num : '0' + num;
    };
    
    // PhantomJS / old WebKit has a broken implementations
    $export($export.P + $export.F * (fails(function(){
      return new Date(-5e13 - 1).toISOString() != '0385-07-25T07:06:39.999Z';
    }) || !fails(function(){
      new Date(NaN).toISOString();
    })), 'Date', {
      toISOString: function toISOString(){
        if(!isFinite(getTime.call(this)))throw RangeError('Invalid time value');
        var d = this
          , y = d.getUTCFullYear()
          , m = d.getUTCMilliseconds()
          , s = y < 0 ? '-' : y > 9999 ? '+' : '';
        return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) +
          '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) +
          'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) +
          ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z';
      }
    });

/***/ }),
/* 204 */
/***/ (function(module, exports, __webpack_require__) {

    var DateProto    = Date.prototype
      , INVALID_DATE = 'Invalid Date'
      , TO_STRING    = 'toString'
      , $toString    = DateProto[TO_STRING]
      , getTime      = DateProto.getTime;
    if(new Date(NaN) + '' != INVALID_DATE){
      __webpack_require__(66)(DateProto, TO_STRING, function toString(){
        var value = getTime.call(this);
        return value === value ? $toString.call(this) : INVALID_DATE;
      });
    }

/***/ }),
/* 205 */
/***/ (function(module, exports, __webpack_require__) {

    var TO_PRIMITIVE = __webpack_require__(73)('toPrimitive')
      , proto        = Date.prototype;
    
    if(!(TO_PRIMITIVE in proto))__webpack_require__(58)(proto, TO_PRIMITIVE, __webpack_require__(206));

/***/ }),
/* 206 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    var anObject    = __webpack_require__(60)
      , toPrimitive = __webpack_require__(64)
      , NUMBER      = 'number';
    
    module.exports = function(hint){
      if(hint !== 'string' && hint !== NUMBER && hint !== 'default')throw TypeError('Incorrect hint');
      return toPrimitive(anObject(this), hint != NUMBER);
    };

/***/ }),
/* 207 */
/***/ (function(module, exports, __webpack_require__) {

    // 22.1.2.2 / 15.4.3.2 Array.isArray(arg)
    var $export = __webpack_require__(56);
    
    $export($export.S, 'Array', {isArray: __webpack_require__(93)});

/***/ }),
/* 208 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    var ctx            = __webpack_require__(68)
      , $export        = __webpack_require__(56)
      , toObject       = __webpack_require__(106)
      , call           = __webpack_require__(209)
      , isArrayIter    = __webpack_require__(210)
      , toLength       = __webpack_require__(85)
      , createProperty = __webpack_require__(211)
      , getIterFn      = __webpack_require__(212);
    
    $export($export.S + $export.F * !__webpack_require__(213)(function(iter){ Array.from(iter); }), 'Array', {
      // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)
      from: function from(arrayLike/*, mapfn = undefined, thisArg = undefined*/){
        var O       = toObject(arrayLike)
          , C       = typeof this == 'function' ? this : Array
          , aLen    = arguments.length
          , mapfn   = aLen > 1 ? arguments[1] : undefined
          , mapping = mapfn !== undefined
          , index   = 0
          , iterFn  = getIterFn(O)
          , length, result, step, iterator;
        if(mapping)mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);
        // if object isn't iterable or it's array with default iterator - use simple case
        if(iterFn != undefined && !(C == Array && isArrayIter(iterFn))){
          for(iterator = iterFn.call(O), result = new C; !(step = iterator.next()).done; index++){
            createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);
          }
        } else {
          length = toLength(O.length);
          for(result = new C(length); length > index; index++){
            createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);
          }
        }
        result.length = index;
        return result;
      }
    });


/***/ }),
/* 209 */
/***/ (function(module, exports, __webpack_require__) {

    // call something on iterator step with safe closing on error
    var anObject = __webpack_require__(60);
    module.exports = function(iterator, fn, value, entries){
      try {
        return entries ? fn(anObject(value)[0], value[1]) : fn(value);
      // 7.4.6 IteratorClose(iterator, completion)
      } catch(e){
        var ret = iterator['return'];
        if(ret !== undefined)anObject(ret.call(iterator));
        throw e;
      }
    };

/***/ }),
/* 210 */
/***/ (function(module, exports, __webpack_require__) {

    // check on default Array iterator
    var Iterators  = __webpack_require__(177)
      , ITERATOR   = __webpack_require__(73)('iterator')
      , ArrayProto = Array.prototype;
    
    module.exports = function(it){
      return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);
    };

/***/ }),
/* 211 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    var $defineProperty = __webpack_require__(59)
      , createDesc      = __webpack_require__(65);
    
    module.exports = function(object, index, value){
      if(index in object)$defineProperty.f(object, index, createDesc(0, value));
      else object[index] = value;
    };

/***/ }),
/* 212 */
/***/ (function(module, exports, __webpack_require__) {

    var classof   = __webpack_require__(123)
      , ITERATOR  = __webpack_require__(73)('iterator')
      , Iterators = __webpack_require__(177);
    module.exports = __webpack_require__(57).getIteratorMethod = function(it){
      if(it != undefined)return it[ITERATOR]
        || it['@@iterator']
        || Iterators[classof(it)];
    };

/***/ }),
/* 213 */
/***/ (function(module, exports, __webpack_require__) {

    var ITERATOR     = __webpack_require__(73)('iterator')
      , SAFE_CLOSING = false;
    
    try {
      var riter = [7][ITERATOR]();
      riter['return'] = function(){ SAFE_CLOSING = true; };
      Array.from(riter, function(){ throw 2; });
    } catch(e){ /* empty */ }
    
    module.exports = function(exec, skipClosing){
      if(!skipClosing && !SAFE_CLOSING)return false;
      var safe = false;
      try {
        var arr  = [7]
          , iter = arr[ITERATOR]();
        iter.next = function(){ return {done: safe = true}; };
        arr[ITERATOR] = function(){ return iter; };
        exec(arr);
      } catch(e){ /* empty */ }
      return safe;
    };

/***/ }),
/* 214 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    var $export        = __webpack_require__(56)
      , createProperty = __webpack_require__(211);
    
    // WebKit Array.of isn't generic
    $export($export.S + $export.F * __webpack_require__(55)(function(){
      function F(){}
      return !(Array.of.call(F) instanceof F);
    }), 'Array', {
      // 22.1.2.3 Array.of( ...items)
      of: function of(/* ...args */){
        var index  = 0
          , aLen   = arguments.length
          , result = new (typeof this == 'function' ? this : Array)(aLen);
        while(aLen > index)createProperty(result, index, arguments[index++]);
        result.length = aLen;
        return result;
      }
    });

/***/ }),
/* 215 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    // 22.1.3.13 Array.prototype.join(separator)
    var $export   = __webpack_require__(56)
      , toIObject = __webpack_require__(80)
      , arrayJoin = [].join;
    
    // fallback for not array-like strings
    $export($export.P + $export.F * (__webpack_require__(81) != Object || !__webpack_require__(216)(arrayJoin)), 'Array', {
      join: function join(separator){
        return arrayJoin.call(toIObject(this), separator === undefined ? ',' : separator);
      }
    });

/***/ }),
/* 216 */
/***/ (function(module, exports, __webpack_require__) {

    var fails = __webpack_require__(55);
    
    module.exports = function(method, arg){
      return !!method && fails(function(){
        arg ? method.call(null, function(){}, 1) : method.call(null);
      });
    };

/***/ }),
/* 217 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    var $export    = __webpack_require__(56)
      , html       = __webpack_require__(96)
      , cof        = __webpack_require__(82)
      , toIndex    = __webpack_require__(87)
      , toLength   = __webpack_require__(85)
      , arraySlice = [].slice;
    
    // fallback for not array-like ES3 strings and DOM objects
    $export($export.P + $export.F * __webpack_require__(55)(function(){
      if(html)arraySlice.call(html);
    }), 'Array', {
      slice: function slice(begin, end){
        var len   = toLength(this.length)
          , klass = cof(this);
        end = end === undefined ? len : end;
        if(klass == 'Array')return arraySlice.call(this, begin, end);
        var start  = toIndex(begin, len)
          , upTo   = toIndex(end, len)
          , size   = toLength(upTo - start)
          , cloned = Array(size)
          , i      = 0;
        for(; i < size; i++)cloned[i] = klass == 'String'
          ? this.charAt(start + i)
          : this[start + i];
        return cloned;
      }
    });

/***/ }),
/* 218 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    var $export   = __webpack_require__(56)
      , aFunction = __webpack_require__(69)
      , toObject  = __webpack_require__(106)
      , fails     = __webpack_require__(55)
      , $sort     = [].sort
      , test      = [1, 2, 3];
    
    $export($export.P + $export.F * (fails(function(){
      // IE8-
      test.sort(undefined);
    }) || !fails(function(){
      // V8 bug
      test.sort(null);
      // Old WebKit
    }) || !__webpack_require__(216)($sort)), 'Array', {
      // 22.1.3.25 Array.prototype.sort(comparefn)
      sort: function sort(comparefn){
        return comparefn === undefined
          ? $sort.call(toObject(this))
          : $sort.call(toObject(this), aFunction(comparefn));
      }
    });

/***/ }),
/* 219 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    var $export  = __webpack_require__(56)
      , $forEach = __webpack_require__(220)(0)
      , STRICT   = __webpack_require__(216)([].forEach, true);
    
    $export($export.P + $export.F * !STRICT, 'Array', {
      // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg])
      forEach: function forEach(callbackfn /* , thisArg */){
        return $forEach(this, callbackfn, arguments[1]);
      }
    });

/***/ }),
/* 220 */
/***/ (function(module, exports, __webpack_require__) {

    // 0 -> Array#forEach
    // 1 -> Array#map
    // 2 -> Array#filter
    // 3 -> Array#some
    // 4 -> Array#every
    // 5 -> Array#find
    // 6 -> Array#findIndex
    var ctx      = __webpack_require__(68)
      , IObject  = __webpack_require__(81)
      , toObject = __webpack_require__(106)
      , toLength = __webpack_require__(85)
      , asc      = __webpack_require__(221);
    module.exports = function(TYPE, $create){
      var IS_MAP        = TYPE == 1
        , IS_FILTER     = TYPE == 2
        , IS_SOME       = TYPE == 3
        , IS_EVERY      = TYPE == 4
        , IS_FIND_INDEX = TYPE == 6
        , NO_HOLES      = TYPE == 5 || IS_FIND_INDEX
        , create        = $create || asc;
      return function($this, callbackfn, that){
        var O      = toObject($this)
          , self   = IObject(O)
          , f      = ctx(callbackfn, that, 3)
          , length = toLength(self.length)
          , index  = 0
          , result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined
          , val, res;
        for(;length > index; index++)if(NO_HOLES || index in self){
          val = self[index];
          res = f(val, index, O);
          if(TYPE){
            if(IS_MAP)result[index] = res;            // map
            else if(res)switch(TYPE){
              case 3: return true;                    // some
              case 5: return val;                     // find
              case 6: return index;                   // findIndex
              case 2: result.push(val);               // filter
            } else if(IS_EVERY)return false;          // every
          }
        }
        return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;
      };
    };

/***/ }),
/* 221 */
/***/ (function(module, exports, __webpack_require__) {

    // 9.4.2.3 ArraySpeciesCreate(originalArray, length)
    var speciesConstructor = __webpack_require__(222);
    
    module.exports = function(original, length){
      return new (speciesConstructor(original))(length);
    };

/***/ }),
/* 222 */
/***/ (function(module, exports, __webpack_require__) {

    var isObject = __webpack_require__(61)
      , isArray  = __webpack_require__(93)
      , SPECIES  = __webpack_require__(73)('species');
    
    module.exports = function(original){
      var C;
      if(isArray(original)){
        C = original.constructor;
        // cross-realm fallback
        if(typeof C == 'function' && (C === Array || isArray(C.prototype)))C = undefined;
        if(isObject(C)){
          C = C[SPECIES];
          if(C === null)C = undefined;
        }
      } return C === undefined ? Array : C;
    };

/***/ }),
/* 223 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    var $export = __webpack_require__(56)
      , $map    = __webpack_require__(220)(1);
    
    $export($export.P + $export.F * !__webpack_require__(216)([].map, true), 'Array', {
      // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg])
      map: function map(callbackfn /* , thisArg */){
        return $map(this, callbackfn, arguments[1]);
      }
    });

/***/ }),
/* 224 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    var $export = __webpack_require__(56)
      , $filter = __webpack_require__(220)(2);
    
    $export($export.P + $export.F * !__webpack_require__(216)([].filter, true), 'Array', {
      // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg])
      filter: function filter(callbackfn /* , thisArg */){
        return $filter(this, callbackfn, arguments[1]);
      }
    });

/***/ }),
/* 225 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    var $export = __webpack_require__(56)
      , $some   = __webpack_require__(220)(3);
    
    $export($export.P + $export.F * !__webpack_require__(216)([].some, true), 'Array', {
      // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg])
      some: function some(callbackfn /* , thisArg */){
        return $some(this, callbackfn, arguments[1]);
      }
    });

/***/ }),
/* 226 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    var $export = __webpack_require__(56)
      , $every  = __webpack_require__(220)(4);
    
    $export($export.P + $export.F * !__webpack_require__(216)([].every, true), 'Array', {
      // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg])
      every: function every(callbackfn /* , thisArg */){
        return $every(this, callbackfn, arguments[1]);
      }
    });

/***/ }),
/* 227 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    var $export = __webpack_require__(56)
      , $reduce = __webpack_require__(228);
    
    $export($export.P + $export.F * !__webpack_require__(216)([].reduce, true), 'Array', {
      // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue])
      reduce: function reduce(callbackfn /* , initialValue */){
        return $reduce(this, callbackfn, arguments.length, arguments[1], false);
      }
    });

/***/ }),
/* 228 */
/***/ (function(module, exports, __webpack_require__) {

    var aFunction = __webpack_require__(69)
      , toObject  = __webpack_require__(106)
      , IObject   = __webpack_require__(81)
      , toLength  = __webpack_require__(85);
    
    module.exports = function(that, callbackfn, aLen, memo, isRight){
      aFunction(callbackfn);
      var O      = toObject(that)
        , self   = IObject(O)
        , length = toLength(O.length)
        , index  = isRight ? length - 1 : 0
        , i      = isRight ? -1 : 1;
      if(aLen < 2)for(;;){
        if(index in self){
          memo = self[index];
          index += i;
          break;
        }
        index += i;
        if(isRight ? index < 0 : length <= index){
          throw TypeError('Reduce of empty array with no initial value');
        }
      }
      for(;isRight ? index >= 0 : length > index; index += i)if(index in self){
        memo = callbackfn(memo, self[index], index, O);
      }
      return memo;
    };

/***/ }),
/* 229 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    var $export = __webpack_require__(56)
      , $reduce = __webpack_require__(228);
    
    $export($export.P + $export.F * !__webpack_require__(216)([].reduceRight, true), 'Array', {
      // 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue])
      reduceRight: function reduceRight(callbackfn /* , initialValue */){
        return $reduce(this, callbackfn, arguments.length, arguments[1], true);
      }
    });

/***/ }),
/* 230 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    var $export       = __webpack_require__(56)
      , $indexOf      = __webpack_require__(84)(false)
      , $native       = [].indexOf
      , NEGATIVE_ZERO = !!$native && 1 / [1].indexOf(1, -0) < 0;
    
    $export($export.P + $export.F * (NEGATIVE_ZERO || !__webpack_require__(216)($native)), 'Array', {
      // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex])
      indexOf: function indexOf(searchElement /*, fromIndex = 0 */){
        return NEGATIVE_ZERO
          // convert -0 to +0
          ? $native.apply(this, arguments) || 0
          : $indexOf(this, searchElement, arguments[1]);
      }
    });

/***/ }),
/* 231 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    var $export       = __webpack_require__(56)
      , toIObject     = __webpack_require__(80)
      , toInteger     = __webpack_require__(86)
      , toLength      = __webpack_require__(85)
      , $native       = [].lastIndexOf
      , NEGATIVE_ZERO = !!$native && 1 / [1].lastIndexOf(1, -0) < 0;
    
    $export($export.P + $export.F * (NEGATIVE_ZERO || !__webpack_require__(216)($native)), 'Array', {
      // 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex])
      lastIndexOf: function lastIndexOf(searchElement /*, fromIndex = @[*-1] */){
        // convert -0 to +0
        if(NEGATIVE_ZERO)return $native.apply(this, arguments) || 0;
        var O      = toIObject(this)
          , length = toLength(O.length)
          , index  = length - 1;
        if(arguments.length > 1)index = Math.min(index, toInteger(arguments[1]));
        if(index < 0)index = length + index;
        for(;index >= 0; index--)if(index in O)if(O[index] === searchElement)return index || 0;
        return -1;
      }
    });

/***/ }),
/* 232 */
/***/ (function(module, exports, __webpack_require__) {

    // 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)
    var $export = __webpack_require__(56);
    
    $export($export.P, 'Array', {copyWithin: __webpack_require__(233)});
    
    __webpack_require__(234)('copyWithin');

/***/ }),
/* 233 */
/***/ (function(module, exports, __webpack_require__) {

    // 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)
    'use strict';
    var toObject = __webpack_require__(106)
      , toIndex  = __webpack_require__(87)
      , toLength = __webpack_require__(85);
    
    module.exports = [].copyWithin || function copyWithin(target/*= 0*/, start/*= 0, end = @length*/){
      var O     = toObject(this)
        , len   = toLength(O.length)
        , to    = toIndex(target, len)
        , from  = toIndex(start, len)
        , end   = arguments.length > 2 ? arguments[2] : undefined
        , count = Math.min((end === undefined ? len : toIndex(end, len)) - from, len - to)
        , inc   = 1;
      if(from < to && to < from + count){
        inc  = -1;
        from += count - 1;
        to   += count - 1;
      }
      while(count-- > 0){
        if(from in O)O[to] = O[from];
        else delete O[to];
        to   += inc;
        from += inc;
      } return O;
    };

/***/ }),
/* 234 */
/***/ (function(module, exports, __webpack_require__) {

    // 22.1.3.31 Array.prototype[@@unscopables]
    var UNSCOPABLES = __webpack_require__(73)('unscopables')
      , ArrayProto  = Array.prototype;
    if(ArrayProto[UNSCOPABLES] == undefined)__webpack_require__(58)(ArrayProto, UNSCOPABLES, {});
    module.exports = function(key){
      ArrayProto[UNSCOPABLES][key] = true;
    };

/***/ }),
/* 235 */
/***/ (function(module, exports, __webpack_require__) {

    // 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)
    var $export = __webpack_require__(56);
    
    $export($export.P, 'Array', {fill: __webpack_require__(236)});
    
    __webpack_require__(234)('fill');

/***/ }),
/* 236 */
/***/ (function(module, exports, __webpack_require__) {

    // 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)
    'use strict';
    var toObject = __webpack_require__(106)
      , toIndex  = __webpack_require__(87)
      , toLength = __webpack_require__(85);
    module.exports = function fill(value /*, start = 0, end = @length */){
      var O      = toObject(this)
        , length = toLength(O.length)
        , aLen   = arguments.length
        , index  = toIndex(aLen > 1 ? arguments[1] : undefined, length)
        , end    = aLen > 2 ? arguments[2] : undefined
        , endPos = end === undefined ? length : toIndex(end, length);
      while(endPos > index)O[index++] = value;
      return O;
    };

/***/ }),
/* 237 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    // 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)
    var $export = __webpack_require__(56)
      , $find   = __webpack_require__(220)(5)
      , KEY     = 'find'
      , forced  = true;
    // Shouldn't skip holes
    if(KEY in [])Array(1)[KEY](function(){ forced = false; });
    $export($export.P + $export.F * forced, 'Array', {
      find: function find(callbackfn/*, that = undefined */){
        return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
      }
    });
    __webpack_require__(234)(KEY);

/***/ }),
/* 238 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    // 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined)
    var $export = __webpack_require__(56)
      , $find   = __webpack_require__(220)(6)
      , KEY     = 'findIndex'
      , forced  = true;
    // Shouldn't skip holes
    if(KEY in [])Array(1)[KEY](function(){ forced = false; });
    $export($export.P + $export.F * forced, 'Array', {
      findIndex: function findIndex(callbackfn/*, that = undefined */){
        return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
      }
    });
    __webpack_require__(234)(KEY);

/***/ }),
/* 239 */
/***/ (function(module, exports, __webpack_require__) {

    __webpack_require__(240)('Array');

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

    'use strict';
    var global      = __webpack_require__(52)
      , dP          = __webpack_require__(59)
      , DESCRIPTORS = __webpack_require__(54)
      , SPECIES     = __webpack_require__(73)('species');
    
    module.exports = function(KEY){
      var C = global[KEY];
      if(DESCRIPTORS && C && !C[SPECIES])dP.f(C, SPECIES, {
        configurable: true,
        get: function(){ return this; }
      });
    };

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

    'use strict';
    var addToUnscopables = __webpack_require__(234)
      , step             = __webpack_require__(242)
      , Iterators        = __webpack_require__(177)
      , toIObject        = __webpack_require__(80);
    
    // 22.1.3.4 Array.prototype.entries()
    // 22.1.3.13 Array.prototype.keys()
    // 22.1.3.29 Array.prototype.values()
    // 22.1.3.30 Array.prototype[@@iterator]()
    module.exports = __webpack_require__(176)(Array, 'Array', function(iterated, kind){
      this._t = toIObject(iterated); // target
      this._i = 0;                   // next index
      this._k = kind;                // kind
    // 22.1.5.2.1 %ArrayIteratorPrototype%.next()
    }, function(){
      var O     = this._t
        , kind  = this._k
        , index = this._i++;
      if(!O || index >= O.length){
        this._t = undefined;
        return step(1);
      }
      if(kind == 'keys'  )return step(0, index);
      if(kind == 'values')return step(0, O[index]);
      return step(0, [index, O[index]]);
    }, 'values');
    
    // argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)
    Iterators.Arguments = Iterators.Array;
    
    addToUnscopables('keys');
    addToUnscopables('values');
    addToUnscopables('entries');

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

    module.exports = function(done, value){
      return {value: value, done: !!done};
    };

/***/ }),
/* 243 */
/***/ (function(module, exports, __webpack_require__) {

    var global            = __webpack_require__(52)
      , inheritIfRequired = __webpack_require__(136)
      , dP                = __webpack_require__(59).f
      , gOPN              = __webpack_require__(98).f
      , isRegExp          = __webpack_require__(182)
      , $flags            = __webpack_require__(244)
      , $RegExp           = global.RegExp
      , Base              = $RegExp
      , proto             = $RegExp.prototype
      , re1               = /a/g
      , re2               = /a/g
      // "new" creates a new object, old webkit buggy here
      , CORRECT_NEW       = new $RegExp(re1) !== re1;
    
    if(__webpack_require__(54) && (!CORRECT_NEW || __webpack_require__(55)(function(){
      re2[__webpack_require__(73)('match')] = false;
      // RegExp constructor can alter flags and IsRegExp works correct with @@match
      return $RegExp(re1) != re1 || $RegExp(re2) == re2 || $RegExp(re1, 'i') != '/a/i';
    }))){
      $RegExp = function RegExp(p, f){
        var tiRE = this instanceof $RegExp
          , piRE = isRegExp(p)
          , fiU  = f === undefined;
        return !tiRE && piRE && p.constructor === $RegExp && fiU ? p
          : inheritIfRequired(CORRECT_NEW
            ? new Base(piRE && !fiU ? p.source : p, f)
            : Base((piRE = p instanceof $RegExp) ? p.source : p, piRE && fiU ? $flags.call(p) : f)
          , tiRE ? this : proto, $RegExp);
      };
      var proxy = function(key){
        key in $RegExp || dP($RegExp, key, {
          configurable: true,
          get: function(){ return Base[key]; },
          set: function(it){ Base[key] = it; }
        });
      };
      for(var keys = gOPN(Base), i = 0; keys.length > i; )proxy(keys[i++]);
      proto.constructor = $RegExp;
      $RegExp.prototype = proto;
      __webpack_require__(66)(global, 'RegExp', $RegExp);
    }
    
    __webpack_require__(240)('RegExp');

/***/ }),
/* 244 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    // 21.2.5.3 get RegExp.prototype.flags
    var anObject = __webpack_require__(60);
    module.exports = function(){
      var that   = anObject(this)
        , result = '';
      if(that.global)     result += 'g';
      if(that.ignoreCase) result += 'i';
      if(that.multiline)  result += 'm';
      if(that.unicode)    result += 'u';
      if(that.sticky)     result += 'y';
      return result;
    };

/***/ }),
/* 245 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    __webpack_require__(246);
    var anObject    = __webpack_require__(60)
      , $flags      = __webpack_require__(244)
      , DESCRIPTORS = __webpack_require__(54)
      , TO_STRING   = 'toString'
      , $toString   = /./[TO_STRING];
    
    var define = function(fn){
      __webpack_require__(66)(RegExp.prototype, TO_STRING, fn, true);
    };
    
    // 21.2.5.14 RegExp.prototype.toString()
    if(__webpack_require__(55)(function(){ return $toString.call({source: 'a', flags: 'b'}) != '/a/b'; })){
      define(function toString(){
        var R = anObject(this);
        return '/'.concat(R.source, '/',
          'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined);
      });
    // FF44- RegExp#toString has a wrong name
    } else if($toString.name != TO_STRING){
      define(function toString(){
        return $toString.call(this);
      });
    }

/***/ }),
/* 246 */
/***/ (function(module, exports, __webpack_require__) {

    // 21.2.5.3 get RegExp.prototype.flags()
    if(__webpack_require__(54) && /./g.flags != 'g')__webpack_require__(59).f(RegExp.prototype, 'flags', {
      configurable: true,
      get: __webpack_require__(244)
    });

/***/ }),
/* 247 */
/***/ (function(module, exports, __webpack_require__) {

    // @@match logic
    __webpack_require__(248)('match', 1, function(defined, MATCH, $match){
      // 21.1.3.11 String.prototype.match(regexp)
      return [function match(regexp){
        'use strict';
        var O  = defined(this)
          , fn = regexp == undefined ? undefined : regexp[MATCH];
        return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));
      }, $match];
    });

/***/ }),
/* 248 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    var hide     = __webpack_require__(58)
      , redefine = __webpack_require__(66)
      , fails    = __webpack_require__(55)
      , defined  = __webpack_require__(83)
      , wks      = __webpack_require__(73);
    
    module.exports = function(KEY, length, exec){
      var SYMBOL   = wks(KEY)
        , fns      = exec(defined, SYMBOL, ''[KEY])
        , strfn    = fns[0]
        , rxfn     = fns[1];
      if(fails(function(){
        var O = {};
        O[SYMBOL] = function(){ return 7; };
        return ''[KEY](O) != 7;
      })){
        redefine(String.prototype, KEY, strfn);
        hide(RegExp.prototype, SYMBOL, length == 2
          // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)
          // 21.2.5.11 RegExp.prototype[@@split](string, limit)
          ? function(string, arg){ return rxfn.call(string, this, arg); }
          // 21.2.5.6 RegExp.prototype[@@match](string)
          // 21.2.5.9 RegExp.prototype[@@search](string)
          : function(string){ return rxfn.call(string, this); }
        );
      }
    };

/***/ }),
/* 249 */
/***/ (function(module, exports, __webpack_require__) {

    // @@replace logic
    __webpack_require__(248)('replace', 2, function(defined, REPLACE, $replace){
      // 21.1.3.14 String.prototype.replace(searchValue, replaceValue)
      return [function replace(searchValue, replaceValue){
        'use strict';
        var O  = defined(this)
          , fn = searchValue == undefined ? undefined : searchValue[REPLACE];
        return fn !== undefined
          ? fn.call(searchValue, O, replaceValue)
          : $replace.call(String(O), searchValue, replaceValue);
      }, $replace];
    });

/***/ }),
/* 250 */
/***/ (function(module, exports, __webpack_require__) {

    // @@search logic
    __webpack_require__(248)('search', 1, function(defined, SEARCH, $search){
      // 21.1.3.15 String.prototype.search(regexp)
      return [function search(regexp){
        'use strict';
        var O  = defined(this)
          , fn = regexp == undefined ? undefined : regexp[SEARCH];
        return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));
      }, $search];
    });

/***/ }),
/* 251 */
/***/ (function(module, exports, __webpack_require__) {

    // @@split logic
    __webpack_require__(248)('split', 2, function(defined, SPLIT, $split){
      'use strict';
      var isRegExp   = __webpack_require__(182)
        , _split     = $split
        , $push      = [].push
        , $SPLIT     = 'split'
        , LENGTH     = 'length'
        , LAST_INDEX = 'lastIndex';
      if(
        'abbc'[$SPLIT](/(b)*/)[1] == 'c' ||
        'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 ||
        'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 ||
        '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 ||
        '.'[$SPLIT](/()()/)[LENGTH] > 1 ||
        ''[$SPLIT](/.?/)[LENGTH]
      ){
        var NPCG = /()??/.exec('')[1] === undefined; // nonparticipating capturing group
        // based on es5-shim implementation, need to rework it
        $split = function(separator, limit){
          var string = String(this);
          if(separator === undefined && limit === 0)return [];
          // If `separator` is not a regex, use native split
          if(!isRegExp(separator))return _split.call(string, separator, limit);
          var output = [];
          var flags = (separator.ignoreCase ? 'i' : '') +
                      (separator.multiline ? 'm' : '') +
                      (separator.unicode ? 'u' : '') +
                      (separator.sticky ? 'y' : '');
          var lastLastIndex = 0;
          var splitLimit = limit === undefined ? 4294967295 : limit >>> 0;
          // Make `global` and avoid `lastIndex` issues by working with a copy
          var separatorCopy = new RegExp(separator.source, flags + 'g');
          var separator2, match, lastIndex, lastLength, i;
          // Doesn't need flags gy, but they don't hurt
          if(!NPCG)separator2 = new RegExp('^' + separatorCopy.source + '$(?!\\s)', flags);
          while(match = separatorCopy.exec(string)){
            // `separatorCopy.lastIndex` is not reliable cross-browser
            lastIndex = match.index + match[0][LENGTH];
            if(lastIndex > lastLastIndex){
              output.push(string.slice(lastLastIndex, match.index));
              // Fix browsers whose `exec` methods don't consistently return `undefined` for NPCG
              if(!NPCG && match[LENGTH] > 1)match[0].replace(separator2, function(){
                for(i = 1; i < arguments[LENGTH] - 2; i++)if(arguments[i] === undefined)match[i] = undefined;
              });
              if(match[LENGTH] > 1 && match.index < string[LENGTH])$push.apply(output, match.slice(1));
              lastLength = match[0][LENGTH];
              lastLastIndex = lastIndex;
              if(output[LENGTH] >= splitLimit)break;
            }
            if(separatorCopy[LAST_INDEX] === match.index)separatorCopy[LAST_INDEX]++; // Avoid an infinite loop
          }
          if(lastLastIndex === string[LENGTH]){
            if(lastLength || !separatorCopy.test(''))output.push('');
          } else output.push(string.slice(lastLastIndex));
          return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output;
        };
      // Chakra, V8
      } else if('0'[$SPLIT](undefined, 0)[LENGTH]){
        $split = function(separator, limit){
          return separator === undefined && limit === 0 ? [] : _split.call(this, separator, limit);
        };
      }
      // 21.1.3.17 String.prototype.split(separator, limit)
      return [function split(separator, limit){
        var O  = defined(this)
          , fn = separator == undefined ? undefined : separator[SPLIT];
        return fn !== undefined ? fn.call(separator, O, limit) : $split.call(String(O), separator, limit);
      }, $split];
    });

/***/ }),
/* 252 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    var LIBRARY            = __webpack_require__(76)
      , global             = __webpack_require__(52)
      , ctx                = __webpack_require__(68)
      , classof            = __webpack_require__(123)
      , $export            = __webpack_require__(56)
      , isObject           = __webpack_require__(61)
      , aFunction          = __webpack_require__(69)
      , anInstance         = __webpack_require__(253)
      , forOf              = __webpack_require__(254)
      , speciesConstructor = __webpack_require__(255)
      , task               = __webpack_require__(256).set
      , microtask          = __webpack_require__(257)()
      , PROMISE            = 'Promise'
      , TypeError          = global.TypeError
      , process            = global.process
      , $Promise           = global[PROMISE]
      , process            = global.process
      , isNode             = classof(process) == 'process'
      , empty              = function(){ /* empty */ }
      , Internal, GenericPromiseCapability, Wrapper;
    
    var USE_NATIVE = !!function(){
      try {
        // correct subclassing with @@species support
        var promise     = $Promise.resolve(1)
          , FakePromise = (promise.constructor = {})[__webpack_require__(73)('species')] = function(exec){ exec(empty, empty); };
        // unhandled rejections tracking support, NodeJS Promise without it fails @@species test
        return (isNode || typeof PromiseRejectionEvent == 'function') && promise.then(empty) instanceof FakePromise;
      } catch(e){ /* empty */ }
    }();
    
    // helpers
    var sameConstructor = function(a, b){
      // with library wrapper special case
      return a === b || a === $Promise && b === Wrapper;
    };
    var isThenable = function(it){
      var then;
      return isObject(it) && typeof (then = it.then) == 'function' ? then : false;
    };
    var newPromiseCapability = function(C){
      return sameConstructor($Promise, C)
        ? new PromiseCapability(C)
        : new GenericPromiseCapability(C);
    };
    var PromiseCapability = GenericPromiseCapability = function(C){
      var resolve, reject;
      this.promise = new C(function($$resolve, $$reject){
        if(resolve !== undefined || reject !== undefined)throw TypeError('Bad Promise constructor');
        resolve = $$resolve;
        reject  = $$reject;
      });
      this.resolve = aFunction(resolve);
      this.reject  = aFunction(reject);
    };
    var perform = function(exec){
      try {
        exec();
      } catch(e){
        return {error: e};
      }
    };
    var notify = function(promise, isReject){
      if(promise._n)return;
      promise._n = true;
      var chain = promise._c;
      microtask(function(){
        var value = promise._v
          , ok    = promise._s == 1
          , i     = 0;
        var run = function(reaction){
          var handler = ok ? reaction.ok : reaction.fail
            , resolve = reaction.resolve
            , reject  = reaction.reject
            , domain  = reaction.domain
            , result, then;
          try {
            if(handler){
              if(!ok){
                if(promise._h == 2)onHandleUnhandled(promise);
                promise._h = 1;
              }
              if(handler === true)result = value;
              else {
                if(domain)domain.enter();
                result = handler(value);
                if(domain)domain.exit();
              }
              if(result === reaction.promise){
                reject(TypeError('Promise-chain cycle'));
              } else if(then = isThenable(result)){
                then.call(result, resolve, reject);
              } else resolve(result);
            } else reject(value);
          } catch(e){
            reject(e);
          }
        };
        while(chain.length > i)run(chain[i++]); // variable length - can't use forEach
        promise._c = [];
        promise._n = false;
        if(isReject && !promise._h)onUnhandled(promise);
      });
    };
    var onUnhandled = function(promise){
      task.call(global, function(){
        var value = promise._v
          , abrupt, handler, console;
        if(isUnhandled(promise)){
          abrupt = perform(function(){
            if(isNode){
              process.emit('unhandledRejection', value, promise);
            } else if(handler = global.onunhandledrejection){
              handler({promise: promise, reason: value});
            } else if((console = global.console) && console.error){
              console.error('Unhandled promise rejection', value);
            }
          });
          // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should
          promise._h = isNode || isUnhandled(promise) ? 2 : 1;
        } promise._a = undefined;
        if(abrupt)throw abrupt.error;
      });
    };
    var isUnhandled = function(promise){
      if(promise._h == 1)return false;
      var chain = promise._a || promise._c
        , i     = 0
        , reaction;
      while(chain.length > i){
        reaction = chain[i++];
        if(reaction.fail || !isUnhandled(reaction.promise))return false;
      } return true;
    };
    var onHandleUnhandled = function(promise){
      task.call(global, function(){
        var handler;
        if(isNode){
          process.emit('rejectionHandled', promise);
        } else if(handler = global.onrejectionhandled){
          handler({promise: promise, reason: promise._v});
        }
      });
    };
    var $reject = function(value){
      var promise = this;
      if(promise._d)return;
      promise._d = true;
      promise = promise._w || promise; // unwrap
      promise._v = value;
      promise._s = 2;
      if(!promise._a)promise._a = promise._c.slice();
      notify(promise, true);
    };
    var $resolve = function(value){
      var promise = this
        , then;
      if(promise._d)return;
      promise._d = true;
      promise = promise._w || promise; // unwrap
      try {
        if(promise === value)throw TypeError("Promise can't be resolved itself");
        if(then = isThenable(value)){
          microtask(function(){
            var wrapper = {_w: promise, _d: false}; // wrap
            try {
              then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));
            } catch(e){
              $reject.call(wrapper, e);
            }
          });
        } else {
          promise._v = value;
          promise._s = 1;
          notify(promise, false);
        }
      } catch(e){
        $reject.call({_w: promise, _d: false}, e); // wrap
      }
    };
    
    // constructor polyfill
    if(!USE_NATIVE){
      // 25.4.3.1 Promise(executor)
      $Promise = function Promise(executor){
        anInstance(this, $Promise, PROMISE, '_h');
        aFunction(executor);
        Internal.call(this);
        try {
          executor(ctx($resolve, this, 1), ctx($reject, this, 1));
        } catch(err){
          $reject.call(this, err);
        }
      };
      Internal = function Promise(executor){
        this._c = [];             // <- awaiting reactions
        this._a = undefined;      // <- checked in isUnhandled reactions
        this._s = 0;              // <- state
        this._d = false;          // <- done
        this._v = undefined;      // <- value
        this._h = 0;              // <- rejection state, 0 - default, 1 - handled, 2 - unhandled
        this._n = false;          // <- notify
      };
      Internal.prototype = __webpack_require__(258)($Promise.prototype, {
        // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)
        then: function then(onFulfilled, onRejected){
          var reaction    = newPromiseCapability(speciesConstructor(this, $Promise));
          reaction.ok     = typeof onFulfilled == 'function' ? onFulfilled : true;
          reaction.fail   = typeof onRejected == 'function' && onRejected;
          reaction.domain = isNode ? process.domain : undefined;
          this._c.push(reaction);
          if(this._a)this._a.push(reaction);
          if(this._s)notify(this, false);
          return reaction.promise;
        },
        // 25.4.5.1 Promise.prototype.catch(onRejected)
        'catch': function(onRejected){
          return this.then(undefined, onRejected);
        }
      });
      PromiseCapability = function(){
        var promise  = new Internal;
        this.promise = promise;
        this.resolve = ctx($resolve, promise, 1);
        this.reject  = ctx($reject, promise, 1);
      };
    }
    
    $export($export.G + $export.W + $export.F * !USE_NATIVE, {Promise: $Promise});
    __webpack_require__(72)($Promise, PROMISE);
    __webpack_require__(240)(PROMISE);
    Wrapper = __webpack_require__(57)[PROMISE];
    
    // statics
    $export($export.S + $export.F * !USE_NATIVE, PROMISE, {
      // 25.4.4.5 Promise.reject(r)
      reject: function reject(r){
        var capability = newPromiseCapability(this)
          , $$reject   = capability.reject;
        $$reject(r);
        return capability.promise;
      }
    });
    $export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {
      // 25.4.4.6 Promise.resolve(x)
      resolve: function resolve(x){
        // instanceof instead of internal slot check because we should fix it without replacement native Promise core
        if(x instanceof $Promise && sameConstructor(x.constructor, this))return x;
        var capability = newPromiseCapability(this)
          , $$resolve  = capability.resolve;
        $$resolve(x);
        return capability.promise;
      }
    });
    $export($export.S + $export.F * !(USE_NATIVE && __webpack_require__(213)(function(iter){
      $Promise.all(iter)['catch'](empty);
    })), PROMISE, {
      // 25.4.4.1 Promise.all(iterable)
      all: function all(iterable){
        var C          = this
          , capability = newPromiseCapability(C)
          , resolve    = capability.resolve
          , reject     = capability.reject;
        var abrupt = perform(function(){
          var values    = []
            , index     = 0
            , remaining = 1;
          forOf(iterable, false, function(promise){
            var $index        = index++
              , alreadyCalled = false;
            values.push(undefined);
            remaining++;
            C.resolve(promise).then(function(value){
              if(alreadyCalled)return;
              alreadyCalled  = true;
              values[$index] = value;
              --remaining || resolve(values);
            }, reject);
          });
          --remaining || resolve(values);
        });
        if(abrupt)reject(abrupt.error);
        return capability.promise;
      },
      // 25.4.4.4 Promise.race(iterable)
      race: function race(iterable){
        var C          = this
          , capability = newPromiseCapability(C)
          , reject     = capability.reject;
        var abrupt = perform(function(){
          forOf(iterable, false, function(promise){
            C.resolve(promise).then(capability.resolve, reject);
          });
        });
        if(abrupt)reject(abrupt.error);
        return capability.promise;
      }
    });

/***/ }),
/* 253 */
/***/ (function(module, exports) {

    module.exports = function(it, Constructor, name, forbiddenField){
      if(!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)){
        throw TypeError(name + ': incorrect invocation!');
      } return it;
    };

/***/ }),
/* 254 */
/***/ (function(module, exports, __webpack_require__) {

    var ctx         = __webpack_require__(68)
      , call        = __webpack_require__(209)
      , isArrayIter = __webpack_require__(210)
      , anObject    = __webpack_require__(60)
      , toLength    = __webpack_require__(85)
      , getIterFn   = __webpack_require__(212)
      , BREAK       = {}
      , RETURN      = {};
    var exports = module.exports = function(iterable, entries, fn, that, ITERATOR){
      var iterFn = ITERATOR ? function(){ return iterable; } : getIterFn(iterable)
        , f      = ctx(fn, that, entries ? 2 : 1)
        , index  = 0
        , length, step, iterator, result;
      if(typeof iterFn != 'function')throw TypeError(iterable + ' is not iterable!');
      // fast case for arrays with default iterator
      if(isArrayIter(iterFn))for(length = toLength(iterable.length); length > index; index++){
        result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);
        if(result === BREAK || result === RETURN)return result;
      } else for(iterator = iterFn.call(iterable); !(step = iterator.next()).done; ){
        result = call(iterator, f, step.value, entries);
        if(result === BREAK || result === RETURN)return result;
      }
    };
    exports.BREAK  = BREAK;
    exports.RETURN = RETURN;

/***/ }),
/* 255 */
/***/ (function(module, exports, __webpack_require__) {

    // 7.3.20 SpeciesConstructor(O, defaultConstructor)
    var anObject  = __webpack_require__(60)
      , aFunction = __webpack_require__(69)
      , SPECIES   = __webpack_require__(73)('species');
    module.exports = function(O, D){
      var C = anObject(O).constructor, S;
      return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);
    };

/***/ }),
/* 256 */
/***/ (function(module, exports, __webpack_require__) {

    var ctx                = __webpack_require__(68)
      , invoke             = __webpack_require__(126)
      , html               = __webpack_require__(96)
      , cel                = __webpack_require__(63)
      , global             = __webpack_require__(52)
      , process            = global.process
      , setTask            = global.setImmediate
      , clearTask          = global.clearImmediate
      , MessageChannel     = global.MessageChannel
      , counter            = 0
      , queue              = {}
      , ONREADYSTATECHANGE = 'onreadystatechange'
      , defer, channel, port;
    var run = function(){
      var id = +this;
      if(queue.hasOwnProperty(id)){
        var fn = queue[id];
        delete queue[id];
        fn();
      }
    };
    var listener = function(event){
      run.call(event.data);
    };
    // Node.js 0.9+ & IE10+ has setImmediate, otherwise:
    if(!setTask || !clearTask){
      setTask = function setImmediate(fn){
        var args = [], i = 1;
        while(arguments.length > i)args.push(arguments[i++]);
        queue[++counter] = function(){
          invoke(typeof fn == 'function' ? fn : Function(fn), args);
        };
        defer(counter);
        return counter;
      };
      clearTask = function clearImmediate(id){
        delete queue[id];
      };
      // Node.js 0.8-
      if(__webpack_require__(82)(process) == 'process'){
        defer = function(id){
          process.nextTick(ctx(run, id, 1));
        };
      // Browsers with MessageChannel, includes WebWorkers
      } else if(MessageChannel){
        channel = new MessageChannel;
        port    = channel.port2;
        channel.port1.onmessage = listener;
        defer = ctx(port.postMessage, port, 1);
      // Browsers with postMessage, skip WebWorkers
      // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'
      } else if(global.addEventListener && typeof postMessage == 'function' && !global.importScripts){
        defer = function(id){
          global.postMessage(id + '', '*');
        };
        global.addEventListener('message', listener, false);
      // IE8-
      } else if(ONREADYSTATECHANGE in cel('script')){
        defer = function(id){
          html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function(){
            html.removeChild(this);
            run.call(id);
          };
        };
      // Rest old browsers
      } else {
        defer = function(id){
          setTimeout(ctx(run, id, 1), 0);
        };
      }
    }
    module.exports = {
      set:   setTask,
      clear: clearTask
    };

/***/ }),
/* 257 */
/***/ (function(module, exports, __webpack_require__) {

    var global    = __webpack_require__(52)
      , macrotask = __webpack_require__(256).set
      , Observer  = global.MutationObserver || global.WebKitMutationObserver
      , process   = global.process
      , Promise   = global.Promise
      , isNode    = __webpack_require__(82)(process) == 'process';
    
    module.exports = function(){
      var head, last, notify;
    
      var flush = function(){
        var parent, fn;
        if(isNode && (parent = process.domain))parent.exit();
        while(head){
          fn   = head.fn;
          head = head.next;
          try {
            fn();
          } catch(e){
            if(head)notify();
            else last = undefined;
            throw e;
          }
        } last = undefined;
        if(parent)parent.enter();
      };
    
      // Node.js
      if(isNode){
        notify = function(){
          process.nextTick(flush);
        };
      // browsers with MutationObserver
      } else if(Observer){
        var toggle = true
          , node   = document.createTextNode('');
        new Observer(flush).observe(node, {characterData: true}); // eslint-disable-line no-new
        notify = function(){
          node.data = toggle = !toggle;
        };
      // environments with maybe non-completely correct, but existent Promise
      } else if(Promise && Promise.resolve){
        var promise = Promise.resolve();
        notify = function(){
          promise.then(flush);
        };
      // for other environments - macrotask based on:
      // - setImmediate
      // - MessageChannel
      // - window.postMessag
      // - onreadystatechange
      // - setTimeout
      } else {
        notify = function(){
          // strange IE + webpack dev server bug - use .call(global)
          macrotask.call(global, flush);
        };
      }
    
      return function(fn){
        var task = {fn: fn, next: undefined};
        if(last)last.next = task;
        if(!head){
          head = task;
          notify();
        } last = task;
      };
    };

/***/ }),
/* 258 */
/***/ (function(module, exports, __webpack_require__) {

    var redefine = __webpack_require__(66);
    module.exports = function(target, src, safe){
      for(var key in src)redefine(target, key, src[key], safe);
      return target;
    };

/***/ }),
/* 259 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    var strong = __webpack_require__(260);
    
    // 23.1 Map Objects
    module.exports = __webpack_require__(261)('Map', function(get){
      return function Map(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); };
    }, {
      // 23.1.3.6 Map.prototype.get(key)
      get: function get(key){
        var entry = strong.getEntry(this, key);
        return entry && entry.v;
      },
      // 23.1.3.9 Map.prototype.set(key, value)
      set: function set(key, value){
        return strong.def(this, key === 0 ? 0 : key, value);
      }
    }, strong, true);

/***/ }),
/* 260 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    var dP          = __webpack_require__(59).f
      , create      = __webpack_require__(94)
      , redefineAll = __webpack_require__(258)
      , ctx         = __webpack_require__(68)
      , anInstance  = __webpack_require__(253)
      , defined     = __webpack_require__(83)
      , forOf       = __webpack_require__(254)
      , $iterDefine = __webpack_require__(176)
      , step        = __webpack_require__(242)
      , setSpecies  = __webpack_require__(240)
      , DESCRIPTORS = __webpack_require__(54)
      , fastKey     = __webpack_require__(70).fastKey
      , SIZE        = DESCRIPTORS ? '_s' : 'size';
    
    var getEntry = function(that, key){
      // fast case
      var index = fastKey(key), entry;
      if(index !== 'F')return that._i[index];
      // frozen object case
      for(entry = that._f; entry; entry = entry.n){
        if(entry.k == key)return entry;
      }
    };
    
    module.exports = {
      getConstructor: function(wrapper, NAME, IS_MAP, ADDER){
        var C = wrapper(function(that, iterable){
          anInstance(that, C, NAME, '_i');
          that._i = create(null); // index
          that._f = undefined;    // first entry
          that._l = undefined;    // last entry
          that[SIZE] = 0;         // size
          if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that);
        });
        redefineAll(C.prototype, {
          // 23.1.3.1 Map.prototype.clear()
          // 23.2.3.2 Set.prototype.clear()
          clear: function clear(){
            for(var that = this, data = that._i, entry = that._f; entry; entry = entry.n){
              entry.r = true;
              if(entry.p)entry.p = entry.p.n = undefined;
              delete data[entry.i];
            }
            that._f = that._l = undefined;
            that[SIZE] = 0;
          },
          // 23.1.3.3 Map.prototype.delete(key)
          // 23.2.3.4 Set.prototype.delete(value)
          'delete': function(key){
            var that  = this
              , entry = getEntry(that, key);
            if(entry){
              var next = entry.n
                , prev = entry.p;
              delete that._i[entry.i];
              entry.r = true;
              if(prev)prev.n = next;
              if(next)next.p = prev;
              if(that._f == entry)that._f = next;
              if(that._l == entry)that._l = prev;
              that[SIZE]--;
            } return !!entry;
          },
          // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)
          // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)
          forEach: function forEach(callbackfn /*, that = undefined */){
            anInstance(this, C, 'forEach');
            var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3)
              , entry;
            while(entry = entry ? entry.n : this._f){
              f(entry.v, entry.k, this);
              // revert to the last existing entry
              while(entry && entry.r)entry = entry.p;
            }
          },
          // 23.1.3.7 Map.prototype.has(key)
          // 23.2.3.7 Set.prototype.has(value)
          has: function has(key){
            return !!getEntry(this, key);
          }
        });
        if(DESCRIPTORS)dP(C.prototype, 'size', {
          get: function(){
            return defined(this[SIZE]);
          }
        });
        return C;
      },
      def: function(that, key, value){
        var entry = getEntry(that, key)
          , prev, index;
        // change existing entry
        if(entry){
          entry.v = value;
        // create new entry
        } else {
          that._l = entry = {
            i: index = fastKey(key, true), // <- index
            k: key,                        // <- key
            v: value,                      // <- value
            p: prev = that._l,             // <- previous entry
            n: undefined,                  // <- next entry
            r: false                       // <- removed
          };
          if(!that._f)that._f = entry;
          if(prev)prev.n = entry;
          that[SIZE]++;
          // add to index
          if(index !== 'F')that._i[index] = entry;
        } return that;
      },
      getEntry: getEntry,
      setStrong: function(C, NAME, IS_MAP){
        // add .keys, .values, .entries, [@@iterator]
        // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11
        $iterDefine(C, NAME, function(iterated, kind){
          this._t = iterated;  // target
          this._k = kind;      // kind
          this._l = undefined; // previous
        }, function(){
          var that  = this
            , kind  = that._k
            , entry = that._l;
          // revert to the last existing entry
          while(entry && entry.r)entry = entry.p;
          // get next entry
          if(!that._t || !(that._l = entry = entry ? entry.n : that._t._f)){
            // or finish the iteration
            that._t = undefined;
            return step(1);
          }
          // return step by kind
          if(kind == 'keys'  )return step(0, entry.k);
          if(kind == 'values')return step(0, entry.v);
          return step(0, [entry.k, entry.v]);
        }, IS_MAP ? 'entries' : 'values' , !IS_MAP, true);
    
        // add [@@species], 23.1.2.2, 23.2.2.2
        setSpecies(NAME);
      }
    };

/***/ }),
/* 261 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    var global            = __webpack_require__(52)
      , $export           = __webpack_require__(56)
      , redefine          = __webpack_require__(66)
      , redefineAll       = __webpack_require__(258)
      , meta              = __webpack_require__(70)
      , forOf             = __webpack_require__(254)
      , anInstance        = __webpack_require__(253)
      , isObject          = __webpack_require__(61)
      , fails             = __webpack_require__(55)
      , $iterDetect       = __webpack_require__(213)
      , setToStringTag    = __webpack_require__(72)
      , inheritIfRequired = __webpack_require__(136);
    
    module.exports = function(NAME, wrapper, methods, common, IS_MAP, IS_WEAK){
      var Base  = global[NAME]
        , C     = Base
        , ADDER = IS_MAP ? 'set' : 'add'
        , proto = C && C.prototype
        , O     = {};
      var fixMethod = function(KEY){
        var fn = proto[KEY];
        redefine(proto, KEY,
          KEY == 'delete' ? function(a){
            return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);
          } : KEY == 'has' ? function has(a){
            return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);
          } : KEY == 'get' ? function get(a){
            return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);
          } : KEY == 'add' ? function add(a){ fn.call(this, a === 0 ? 0 : a); return this; }
            : function set(a, b){ fn.call(this, a === 0 ? 0 : a, b); return this; }
        );
      };
      if(typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function(){
        new C().entries().next();
      }))){
        // create collection constructor
        C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);
        redefineAll(C.prototype, methods);
        meta.NEED = true;
      } else {
        var instance             = new C
          // early implementations not supports chaining
          , HASNT_CHAINING       = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance
          // V8 ~  Chromium 40- weak-collections throws on primitives, but should return false
          , THROWS_ON_PRIMITIVES = fails(function(){ instance.has(1); })
          // most early implementations doesn't supports iterables, most modern - not close it correctly
          , ACCEPT_ITERABLES     = $iterDetect(function(iter){ new C(iter); }) // eslint-disable-line no-new
          // for early implementations -0 and +0 not the same
          , BUGGY_ZERO = !IS_WEAK && fails(function(){
            // V8 ~ Chromium 42- fails only with 5+ elements
            var $instance = new C()
              , index     = 5;
            while(index--)$instance[ADDER](index, index);
            return !$instance.has(-0);
          });
        if(!ACCEPT_ITERABLES){ 
          C = wrapper(function(target, iterable){
            anInstance(target, C, NAME);
            var that = inheritIfRequired(new Base, target, C);
            if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that);
            return that;
          });
          C.prototype = proto;
          proto.constructor = C;
        }
        if(THROWS_ON_PRIMITIVES || BUGGY_ZERO){
          fixMethod('delete');
          fixMethod('has');
          IS_MAP && fixMethod('get');
        }
        if(BUGGY_ZERO || HASNT_CHAINING)fixMethod(ADDER);
        // weak collections should not contains .clear method
        if(IS_WEAK && proto.clear)delete proto.clear;
      }
    
      setToStringTag(C, NAME);
    
      O[NAME] = C;
      $export($export.G + $export.W + $export.F * (C != Base), O);
    
      if(!IS_WEAK)common.setStrong(C, NAME, IS_MAP);
    
      return C;
    };

/***/ }),
/* 262 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    var strong = __webpack_require__(260);
    
    // 23.2 Set Objects
    module.exports = __webpack_require__(261)('Set', function(get){
      return function Set(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); };
    }, {
      // 23.2.3.1 Set.prototype.add(value)
      add: function add(value){
        return strong.def(this, value = value === 0 ? 0 : value, value);
      }
    }, strong);

/***/ }),
/* 263 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    var each         = __webpack_require__(220)(0)
      , redefine     = __webpack_require__(66)
      , meta         = __webpack_require__(70)
      , assign       = __webpack_require__(117)
      , weak         = __webpack_require__(264)
      , isObject     = __webpack_require__(61)
      , getWeak      = meta.getWeak
      , isExtensible = Object.isExtensible
      , uncaughtFrozenStore = weak.ufstore
      , tmp          = {}
      , InternalMap;
    
    var wrapper = function(get){
      return function WeakMap(){
        return get(this, arguments.length > 0 ? arguments[0] : undefined);
      };
    };
    
    var methods = {
      // 23.3.3.3 WeakMap.prototype.get(key)
      get: function get(key){
        if(isObject(key)){
          var data = getWeak(key);
          if(data === true)return uncaughtFrozenStore(this).get(key);
          return data ? data[this._i] : undefined;
        }
      },
      // 23.3.3.5 WeakMap.prototype.set(key, value)
      set: function set(key, value){
        return weak.def(this, key, value);
      }
    };
    
    // 23.3 WeakMap Objects
    var $WeakMap = module.exports = __webpack_require__(261)('WeakMap', wrapper, methods, weak, true, true);
    
    // IE11 WeakMap frozen keys fix
    if(new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7){
      InternalMap = weak.getConstructor(wrapper);
      assign(InternalMap.prototype, methods);
      meta.NEED = true;
      each(['delete', 'has', 'get', 'set'], function(key){
        var proto  = $WeakMap.prototype
          , method = proto[key];
        redefine(proto, key, function(a, b){
          // store frozen objects on internal weakmap shim
          if(isObject(a) && !isExtensible(a)){
            if(!this._f)this._f = new InternalMap;
            var result = this._f[key](a, b);
            return key == 'set' ? this : result;
          // store all the rest on native weakmap
          } return method.call(this, a, b);
        });
      });
    }

/***/ }),
/* 264 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    var redefineAll       = __webpack_require__(258)
      , getWeak           = __webpack_require__(70).getWeak
      , anObject          = __webpack_require__(60)
      , isObject          = __webpack_require__(61)
      , anInstance        = __webpack_require__(253)
      , forOf             = __webpack_require__(254)
      , createArrayMethod = __webpack_require__(220)
      , $has              = __webpack_require__(53)
      , arrayFind         = createArrayMethod(5)
      , arrayFindIndex    = createArrayMethod(6)
      , id                = 0;
    
    // fallback for uncaught frozen keys
    var uncaughtFrozenStore = function(that){
      return that._l || (that._l = new UncaughtFrozenStore);
    };
    var UncaughtFrozenStore = function(){
      this.a = [];
    };
    var findUncaughtFrozen = function(store, key){
      return arrayFind(store.a, function(it){
        return it[0] === key;
      });
    };
    UncaughtFrozenStore.prototype = {
      get: function(key){
        var entry = findUncaughtFrozen(this, key);
        if(entry)return entry[1];
      },
      has: function(key){
        return !!findUncaughtFrozen(this, key);
      },
      set: function(key, value){
        var entry = findUncaughtFrozen(this, key);
        if(entry)entry[1] = value;
        else this.a.push([key, value]);
      },
      'delete': function(key){
        var index = arrayFindIndex(this.a, function(it){
          return it[0] === key;
        });
        if(~index)this.a.splice(index, 1);
        return !!~index;
      }
    };
    
    module.exports = {
      getConstructor: function(wrapper, NAME, IS_MAP, ADDER){
        var C = wrapper(function(that, iterable){
          anInstance(that, C, NAME, '_i');
          that._i = id++;      // collection id
          that._l = undefined; // leak store for uncaught frozen objects
          if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that);
        });
        redefineAll(C.prototype, {
          // 23.3.3.2 WeakMap.prototype.delete(key)
          // 23.4.3.3 WeakSet.prototype.delete(value)
          'delete': function(key){
            if(!isObject(key))return false;
            var data = getWeak(key);
            if(data === true)return uncaughtFrozenStore(this)['delete'](key);
            return data && $has(data, this._i) && delete data[this._i];
          },
          // 23.3.3.4 WeakMap.prototype.has(key)
          // 23.4.3.4 WeakSet.prototype.has(value)
          has: function has(key){
            if(!isObject(key))return false;
            var data = getWeak(key);
            if(data === true)return uncaughtFrozenStore(this).has(key);
            return data && $has(data, this._i);
          }
        });
        return C;
      },
      def: function(that, key, value){
        var data = getWeak(anObject(key), true);
        if(data === true)uncaughtFrozenStore(that).set(key, value);
        else data[that._i] = value;
        return that;
      },
      ufstore: uncaughtFrozenStore
    };

/***/ }),
/* 265 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    var weak = __webpack_require__(264);
    
    // 23.4 WeakSet Objects
    __webpack_require__(261)('WeakSet', function(get){
      return function WeakSet(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); };
    }, {
      // 23.4.3.1 WeakSet.prototype.add(value)
      add: function add(value){
        return weak.def(this, value, true);
      }
    }, weak, false, true);

/***/ }),
/* 266 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    var $export      = __webpack_require__(56)
      , $typed       = __webpack_require__(267)
      , buffer       = __webpack_require__(268)
      , anObject     = __webpack_require__(60)
      , toIndex      = __webpack_require__(87)
      , toLength     = __webpack_require__(85)
      , isObject     = __webpack_require__(61)
      , ArrayBuffer  = __webpack_require__(52).ArrayBuffer
      , speciesConstructor = __webpack_require__(255)
      , $ArrayBuffer = buffer.ArrayBuffer
      , $DataView    = buffer.DataView
      , $isView      = $typed.ABV && ArrayBuffer.isView
      , $slice       = $ArrayBuffer.prototype.slice
      , VIEW         = $typed.VIEW
      , ARRAY_BUFFER = 'ArrayBuffer';
    
    $export($export.G + $export.W + $export.F * (ArrayBuffer !== $ArrayBuffer), {ArrayBuffer: $ArrayBuffer});
    
    $export($export.S + $export.F * !$typed.CONSTR, ARRAY_BUFFER, {
      // 24.1.3.1 ArrayBuffer.isView(arg)
      isView: function isView(it){
        return $isView && $isView(it) || isObject(it) && VIEW in it;
      }
    });
    
    $export($export.P + $export.U + $export.F * __webpack_require__(55)(function(){
      return !new $ArrayBuffer(2).slice(1, undefined).byteLength;
    }), ARRAY_BUFFER, {
      // 24.1.4.3 ArrayBuffer.prototype.slice(start, end)
      slice: function slice(start, end){
        if($slice !== undefined && end === undefined)return $slice.call(anObject(this), start); // FF fix
        var len    = anObject(this).byteLength
          , first  = toIndex(start, len)
          , final  = toIndex(end === undefined ? len : end, len)
          , result = new (speciesConstructor(this, $ArrayBuffer))(toLength(final - first))
          , viewS  = new $DataView(this)
          , viewT  = new $DataView(result)
          , index  = 0;
        while(first < final){
          viewT.setUint8(index++, viewS.getUint8(first++));
        } return result;
      }
    });
    
    __webpack_require__(240)(ARRAY_BUFFER);

/***/ }),
/* 267 */
/***/ (function(module, exports, __webpack_require__) {

    var global = __webpack_require__(52)
      , hide   = __webpack_require__(58)
      , uid    = __webpack_require__(67)
      , TYPED  = uid('typed_array')
      , VIEW   = uid('view')
      , ABV    = !!(global.ArrayBuffer && global.DataView)
      , CONSTR = ABV
      , i = 0, l = 9, Typed;
    
    var TypedArrayConstructors = (
      'Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array'
    ).split(',');
    
    while(i < l){
      if(Typed = global[TypedArrayConstructors[i++]]){
        hide(Typed.prototype, TYPED, true);
        hide(Typed.prototype, VIEW, true);
      } else CONSTR = false;
    }
    
    module.exports = {
      ABV:    ABV,
      CONSTR: CONSTR,
      TYPED:  TYPED,
      VIEW:   VIEW
    };

/***/ }),
/* 268 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    var global         = __webpack_require__(52)
      , DESCRIPTORS    = __webpack_require__(54)
      , LIBRARY        = __webpack_require__(76)
      , $typed         = __webpack_require__(267)
      , hide           = __webpack_require__(58)
      , redefineAll    = __webpack_require__(258)
      , fails          = __webpack_require__(55)
      , anInstance     = __webpack_require__(253)
      , toInteger      = __webpack_require__(86)
      , toLength       = __webpack_require__(85)
      , gOPN           = __webpack_require__(98).f
      , dP             = __webpack_require__(59).f
      , arrayFill      = __webpack_require__(236)
      , setToStringTag = __webpack_require__(72)
      , ARRAY_BUFFER   = 'ArrayBuffer'
      , DATA_VIEW      = 'DataView'
      , PROTOTYPE      = 'prototype'
      , WRONG_LENGTH   = 'Wrong length!'
      , WRONG_INDEX    = 'Wrong index!'
      , $ArrayBuffer   = global[ARRAY_BUFFER]
      , $DataView      = global[DATA_VIEW]
      , Math           = global.Math
      , RangeError     = global.RangeError
      , Infinity       = global.Infinity
      , BaseBuffer     = $ArrayBuffer
      , abs            = Math.abs
      , pow            = Math.pow
      , floor          = Math.floor
      , log            = Math.log
      , LN2            = Math.LN2
      , BUFFER         = 'buffer'
      , BYTE_LENGTH    = 'byteLength'
      , BYTE_OFFSET    = 'byteOffset'
      , $BUFFER        = DESCRIPTORS ? '_b' : BUFFER
      , $LENGTH        = DESCRIPTORS ? '_l' : BYTE_LENGTH
      , $OFFSET        = DESCRIPTORS ? '_o' : BYTE_OFFSET;
    
    // IEEE754 conversions based on https://github.com/feross/ieee754
    var packIEEE754 = function(value, mLen, nBytes){
      var buffer = Array(nBytes)
        , eLen   = nBytes * 8 - mLen - 1
        , eMax   = (1 << eLen) - 1
        , eBias  = eMax >> 1
        , rt     = mLen === 23 ? pow(2, -24) - pow(2, -77) : 0
        , i      = 0
        , s      = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0
        , e, m, c;
      value = abs(value)
      if(value != value || value === Infinity){
        m = value != value ? 1 : 0;
        e = eMax;
      } else {
        e = floor(log(value) / LN2);
        if(value * (c = pow(2, -e)) < 1){
          e--;
          c *= 2;
        }
        if(e + eBias >= 1){
          value += rt / c;
        } else {
          value += rt * pow(2, 1 - eBias);
        }
        if(value * c >= 2){
          e++;
          c /= 2;
        }
        if(e + eBias >= eMax){
          m = 0;
          e = eMax;
        } else if(e + eBias >= 1){
          m = (value * c - 1) * pow(2, mLen);
          e = e + eBias;
        } else {
          m = value * pow(2, eBias - 1) * pow(2, mLen);
          e = 0;
        }
      }
      for(; mLen >= 8; buffer[i++] = m & 255, m /= 256, mLen -= 8);
      e = e << mLen | m;
      eLen += mLen;
      for(; eLen > 0; buffer[i++] = e & 255, e /= 256, eLen -= 8);
      buffer[--i] |= s * 128;
      return buffer;
    };
    var unpackIEEE754 = function(buffer, mLen, nBytes){
      var eLen  = nBytes * 8 - mLen - 1
        , eMax  = (1 << eLen) - 1
        , eBias = eMax >> 1
        , nBits = eLen - 7
        , i     = nBytes - 1
        , s     = buffer[i--]
        , e     = s & 127
        , m;
      s >>= 7;
      for(; nBits > 0; e = e * 256 + buffer[i], i--, nBits -= 8);
      m = e & (1 << -nBits) - 1;
      e >>= -nBits;
      nBits += mLen;
      for(; nBits > 0; m = m * 256 + buffer[i], i--, nBits -= 8);
      if(e === 0){
        e = 1 - eBias;
      } else if(e === eMax){
        return m ? NaN : s ? -Infinity : Infinity;
      } else {
        m = m + pow(2, mLen);
        e = e - eBias;
      } return (s ? -1 : 1) * m * pow(2, e - mLen);
    };
    
    var unpackI32 = function(bytes){
      return bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0];
    };
    var packI8 = function(it){
      return [it & 0xff];
    };
    var packI16 = function(it){
      return [it & 0xff, it >> 8 & 0xff];
    };
    var packI32 = function(it){
      return [it & 0xff, it >> 8 & 0xff, it >> 16 & 0xff, it >> 24 & 0xff];
    };
    var packF64 = function(it){
      return packIEEE754(it, 52, 8);
    };
    var packF32 = function(it){
      return packIEEE754(it, 23, 4);
    };
    
    var addGetter = function(C, key, internal){
      dP(C[PROTOTYPE], key, {get: function(){ return this[internal]; }});
    };
    
    var get = function(view, bytes, index, isLittleEndian){
      var numIndex = +index
        , intIndex = toInteger(numIndex);
      if(numIndex != intIndex || intIndex < 0 || intIndex + bytes > view[$LENGTH])throw RangeError(WRONG_INDEX);
      var store = view[$BUFFER]._b
        , start = intIndex + view[$OFFSET]
        , pack  = store.slice(start, start + bytes);
      return isLittleEndian ? pack : pack.reverse();
    };
    var set = function(view, bytes, index, conversion, value, isLittleEndian){
      var numIndex = +index
        , intIndex = toInteger(numIndex);
      if(numIndex != intIndex || intIndex < 0 || intIndex + bytes > view[$LENGTH])throw RangeError(WRONG_INDEX);
      var store = view[$BUFFER]._b
        , start = intIndex + view[$OFFSET]
        , pack  = conversion(+value);
      for(var i = 0; i < bytes; i++)store[start + i] = pack[isLittleEndian ? i : bytes - i - 1];
    };
    
    var validateArrayBufferArguments = function(that, length){
      anInstance(that, $ArrayBuffer, ARRAY_BUFFER);
      var numberLength = +length
        , byteLength   = toLength(numberLength);
      if(numberLength != byteLength)throw RangeError(WRONG_LENGTH);
      return byteLength;
    };
    
    if(!$typed.ABV){
      $ArrayBuffer = function ArrayBuffer(length){
        var byteLength = validateArrayBufferArguments(this, length);
        this._b       = arrayFill.call(Array(byteLength), 0);
        this[$LENGTH] = byteLength;
      };
    
      $DataView = function DataView(buffer, byteOffset, byteLength){
        anInstance(this, $DataView, DATA_VIEW);
        anInstance(buffer, $ArrayBuffer, DATA_VIEW);
        var bufferLength = buffer[$LENGTH]
          , offset       = toInteger(byteOffset);
        if(offset < 0 || offset > bufferLength)throw RangeError('Wrong offset!');
        byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);
        if(offset + byteLength > bufferLength)throw RangeError(WRONG_LENGTH);
        this[$BUFFER] = buffer;
        this[$OFFSET] = offset;
        this[$LENGTH] = byteLength;
      };
    
      if(DESCRIPTORS){
        addGetter($ArrayBuffer, BYTE_LENGTH, '_l');
        addGetter($DataView, BUFFER, '_b');
        addGetter($DataView, BYTE_LENGTH, '_l');
        addGetter($DataView, BYTE_OFFSET, '_o');
      }
    
      redefineAll($DataView[PROTOTYPE], {
        getInt8: function getInt8(byteOffset){
          return get(this, 1, byteOffset)[0] << 24 >> 24;
        },
        getUint8: function getUint8(byteOffset){
          return get(this, 1, byteOffset)[0];
        },
        getInt16: function getInt16(byteOffset /*, littleEndian */){
          var bytes = get(this, 2, byteOffset, arguments[1]);
          return (bytes[1] << 8 | bytes[0]) << 16 >> 16;
        },
        getUint16: function getUint16(byteOffset /*, littleEndian */){
          var bytes = get(this, 2, byteOffset, arguments[1]);
          return bytes[1] << 8 | bytes[0];
        },
        getInt32: function getInt32(byteOffset /*, littleEndian */){
          return unpackI32(get(this, 4, byteOffset, arguments[1]));
        },
        getUint32: function getUint32(byteOffset /*, littleEndian */){
          return unpackI32(get(this, 4, byteOffset, arguments[1])) >>> 0;
        },
        getFloat32: function getFloat32(byteOffset /*, littleEndian */){
          return unpackIEEE754(get(this, 4, byteOffset, arguments[1]), 23, 4);
        },
        getFloat64: function getFloat64(byteOffset /*, littleEndian */){
          return unpackIEEE754(get(this, 8, byteOffset, arguments[1]), 52, 8);
        },
        setInt8: function setInt8(byteOffset, value){
          set(this, 1, byteOffset, packI8, value);
        },
        setUint8: function setUint8(byteOffset, value){
          set(this, 1, byteOffset, packI8, value);
        },
        setInt16: function setInt16(byteOffset, value /*, littleEndian */){
          set(this, 2, byteOffset, packI16, value, arguments[2]);
        },
        setUint16: function setUint16(byteOffset, value /*, littleEndian */){
          set(this, 2, byteOffset, packI16, value, arguments[2]);
        },
        setInt32: function setInt32(byteOffset, value /*, littleEndian */){
          set(this, 4, byteOffset, packI32, value, arguments[2]);
        },
        setUint32: function setUint32(byteOffset, value /*, littleEndian */){
          set(this, 4, byteOffset, packI32, value, arguments[2]);
        },
        setFloat32: function setFloat32(byteOffset, value /*, littleEndian */){
          set(this, 4, byteOffset, packF32, value, arguments[2]);
        },
        setFloat64: function setFloat64(byteOffset, value /*, littleEndian */){
          set(this, 8, byteOffset, packF64, value, arguments[2]);
        }
      });
    } else {
      if(!fails(function(){
        new $ArrayBuffer;     // eslint-disable-line no-new
      }) || !fails(function(){
        new $ArrayBuffer(.5); // eslint-disable-line no-new
      })){
        $ArrayBuffer = function ArrayBuffer(length){
          return new BaseBuffer(validateArrayBufferArguments(this, length));
        };
        var ArrayBufferProto = $ArrayBuffer[PROTOTYPE] = BaseBuffer[PROTOTYPE];
        for(var keys = gOPN(BaseBuffer), j = 0, key; keys.length > j; ){
          if(!((key = keys[j++]) in $ArrayBuffer))hide($ArrayBuffer, key, BaseBuffer[key]);
        };
        if(!LIBRARY)ArrayBufferProto.constructor = $ArrayBuffer;
      }
      // iOS Safari 7.x bug
      var view = new $DataView(new $ArrayBuffer(2))
        , $setInt8 = $DataView[PROTOTYPE].setInt8;
      view.setInt8(0, 2147483648);
      view.setInt8(1, 2147483649);
      if(view.getInt8(0) || !view.getInt8(1))redefineAll($DataView[PROTOTYPE], {
        setInt8: function setInt8(byteOffset, value){
          $setInt8.call(this, byteOffset, value << 24 >> 24);
        },
        setUint8: function setUint8(byteOffset, value){
          $setInt8.call(this, byteOffset, value << 24 >> 24);
        }
      }, true);
    }
    setToStringTag($ArrayBuffer, ARRAY_BUFFER);
    setToStringTag($DataView, DATA_VIEW);
    hide($DataView[PROTOTYPE], $typed.VIEW, true);
    exports[ARRAY_BUFFER] = $ArrayBuffer;
    exports[DATA_VIEW] = $DataView;

/***/ }),
/* 269 */
/***/ (function(module, exports, __webpack_require__) {

    var $export = __webpack_require__(56);
    $export($export.G + $export.W + $export.F * !__webpack_require__(267).ABV, {
      DataView: __webpack_require__(268).DataView
    });

/***/ }),
/* 270 */
/***/ (function(module, exports, __webpack_require__) {

    __webpack_require__(271)('Int8', 1, function(init){
      return function Int8Array(data, byteOffset, length){
        return init(this, data, byteOffset, length);
      };
    });

/***/ }),
/* 271 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    if(__webpack_require__(54)){
      var LIBRARY             = __webpack_require__(76)
        , global              = __webpack_require__(52)
        , fails               = __webpack_require__(55)
        , $export             = __webpack_require__(56)
        , $typed              = __webpack_require__(267)
        , $buffer             = __webpack_require__(268)
        , ctx                 = __webpack_require__(68)
        , anInstance          = __webpack_require__(253)
        , propertyDesc        = __webpack_require__(65)
        , hide                = __webpack_require__(58)
        , redefineAll         = __webpack_require__(258)
        , toInteger           = __webpack_require__(86)
        , toLength            = __webpack_require__(85)
        , toIndex             = __webpack_require__(87)
        , toPrimitive         = __webpack_require__(64)
        , has                 = __webpack_require__(53)
        , same                = __webpack_require__(119)
        , classof             = __webpack_require__(123)
        , isObject            = __webpack_require__(61)
        , toObject            = __webpack_require__(106)
        , isArrayIter         = __webpack_require__(210)
        , create              = __webpack_require__(94)
        , getPrototypeOf      = __webpack_require__(107)
        , gOPN                = __webpack_require__(98).f
        , getIterFn           = __webpack_require__(212)
        , uid                 = __webpack_require__(67)
        , wks                 = __webpack_require__(73)
        , createArrayMethod   = __webpack_require__(220)
        , createArrayIncludes = __webpack_require__(84)
        , speciesConstructor  = __webpack_require__(255)
        , ArrayIterators      = __webpack_require__(241)
        , Iterators           = __webpack_require__(177)
        , $iterDetect         = __webpack_require__(213)
        , setSpecies          = __webpack_require__(240)
        , arrayFill           = __webpack_require__(236)
        , arrayCopyWithin     = __webpack_require__(233)
        , $DP                 = __webpack_require__(59)
        , $GOPD               = __webpack_require__(99)
        , dP                  = $DP.f
        , gOPD                = $GOPD.f
        , RangeError          = global.RangeError
        , TypeError           = global.TypeError
        , Uint8Array          = global.Uint8Array
        , ARRAY_BUFFER        = 'ArrayBuffer'
        , SHARED_BUFFER       = 'Shared' + ARRAY_BUFFER
        , BYTES_PER_ELEMENT   = 'BYTES_PER_ELEMENT'
        , PROTOTYPE           = 'prototype'
        , ArrayProto          = Array[PROTOTYPE]
        , $ArrayBuffer        = $buffer.ArrayBuffer
        , $DataView           = $buffer.DataView
        , arrayForEach        = createArrayMethod(0)
        , arrayFilter         = createArrayMethod(2)
        , arraySome           = createArrayMethod(3)
        , arrayEvery          = createArrayMethod(4)
        , arrayFind           = createArrayMethod(5)
        , arrayFindIndex      = createArrayMethod(6)
        , arrayIncludes       = createArrayIncludes(true)
        , arrayIndexOf        = createArrayIncludes(false)
        , arrayValues         = ArrayIterators.values
        , arrayKeys           = ArrayIterators.keys
        , arrayEntries        = ArrayIterators.entries
        , arrayLastIndexOf    = ArrayProto.lastIndexOf
        , arrayReduce         = ArrayProto.reduce
        , arrayReduceRight    = ArrayProto.reduceRight
        , arrayJoin           = ArrayProto.join
        , arraySort           = ArrayProto.sort
        , arraySlice          = ArrayProto.slice
        , arrayToString       = ArrayProto.toString
        , arrayToLocaleString = ArrayProto.toLocaleString
        , ITERATOR            = wks('iterator')
        , TAG                 = wks('toStringTag')
        , TYPED_CONSTRUCTOR   = uid('typed_constructor')
        , DEF_CONSTRUCTOR     = uid('def_constructor')
        , ALL_CONSTRUCTORS    = $typed.CONSTR
        , TYPED_ARRAY         = $typed.TYPED
        , VIEW                = $typed.VIEW
        , WRONG_LENGTH        = 'Wrong length!';
    
      var $map = createArrayMethod(1, function(O, length){
        return allocate(speciesConstructor(O, O[DEF_CONSTRUCTOR]), length);
      });
    
      var LITTLE_ENDIAN = fails(function(){
        return new Uint8Array(new Uint16Array([1]).buffer)[0] === 1;
      });
    
      var FORCED_SET = !!Uint8Array && !!Uint8Array[PROTOTYPE].set && fails(function(){
        new Uint8Array(1).set({});
      });
    
      var strictToLength = function(it, SAME){
        if(it === undefined)throw TypeError(WRONG_LENGTH);
        var number = +it
          , length = toLength(it);
        if(SAME && !same(number, length))throw RangeError(WRONG_LENGTH);
        return length;
      };
    
      var toOffset = function(it, BYTES){
        var offset = toInteger(it);
        if(offset < 0 || offset % BYTES)throw RangeError('Wrong offset!');
        return offset;
      };
    
      var validate = function(it){
        if(isObject(it) && TYPED_ARRAY in it)return it;
        throw TypeError(it + ' is not a typed array!');
      };
    
      var allocate = function(C, length){
        if(!(isObject(C) && TYPED_CONSTRUCTOR in C)){
          throw TypeError('It is not a typed array constructor!');
        } return new C(length);
      };
    
      var speciesFromList = function(O, list){
        return fromList(speciesConstructor(O, O[DEF_CONSTRUCTOR]), list);
      };
    
      var fromList = function(C, list){
        var index  = 0
          , length = list.length
          , result = allocate(C, length);
        while(length > index)result[index] = list[index++];
        return result;
      };
    
      var addGetter = function(it, key, internal){
        dP(it, key, {get: function(){ return this._d[internal]; }});
      };
    
      var $from = function from(source /*, mapfn, thisArg */){
        var O       = toObject(source)
          , aLen    = arguments.length
          , mapfn   = aLen > 1 ? arguments[1] : undefined
          , mapping = mapfn !== undefined
          , iterFn  = getIterFn(O)
          , i, length, values, result, step, iterator;
        if(iterFn != undefined && !isArrayIter(iterFn)){
          for(iterator = iterFn.call(O), values = [], i = 0; !(step = iterator.next()).done; i++){
            values.push(step.value);
          } O = values;
        }
        if(mapping && aLen > 2)mapfn = ctx(mapfn, arguments[2], 2);
        for(i = 0, length = toLength(O.length), result = allocate(this, length); length > i; i++){
          result[i] = mapping ? mapfn(O[i], i) : O[i];
        }
        return result;
      };
    
      var $of = function of(/*...items*/){
        var index  = 0
          , length = arguments.length
          , result = allocate(this, length);
        while(length > index)result[index] = arguments[index++];
        return result;
      };
    
      // iOS Safari 6.x fails here
      var TO_LOCALE_BUG = !!Uint8Array && fails(function(){ arrayToLocaleString.call(new Uint8Array(1)); });
    
      var $toLocaleString = function toLocaleString(){
        return arrayToLocaleString.apply(TO_LOCALE_BUG ? arraySlice.call(validate(this)) : validate(this), arguments);
      };
    
      var proto = {
        copyWithin: function copyWithin(target, start /*, end */){
          return arrayCopyWithin.call(validate(this), target, start, arguments.length > 2 ? arguments[2] : undefined);
        },
        every: function every(callbackfn /*, thisArg */){
          return arrayEvery(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
        },
        fill: function fill(value /*, start, end */){ // eslint-disable-line no-unused-vars
          return arrayFill.apply(validate(this), arguments);
        },
        filter: function filter(callbackfn /*, thisArg */){
          return speciesFromList(this, arrayFilter(validate(this), callbackfn,
            arguments.length > 1 ? arguments[1] : undefined));
        },
        find: function find(predicate /*, thisArg */){
          return arrayFind(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);
        },
        findIndex: function findIndex(predicate /*, thisArg */){
          return arrayFindIndex(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);
        },
        forEach: function forEach(callbackfn /*, thisArg */){
          arrayForEach(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
        },
        indexOf: function indexOf(searchElement /*, fromIndex */){
          return arrayIndexOf(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);
        },
        includes: function includes(searchElement /*, fromIndex */){
          return arrayIncludes(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);
        },
        join: function join(separator){ // eslint-disable-line no-unused-vars
          return arrayJoin.apply(validate(this), arguments);
        },
        lastIndexOf: function lastIndexOf(searchElement /*, fromIndex */){ // eslint-disable-line no-unused-vars
          return arrayLastIndexOf.apply(validate(this), arguments);
        },
        map: function map(mapfn /*, thisArg */){
          return $map(validate(this), mapfn, arguments.length > 1 ? arguments[1] : undefined);
        },
        reduce: function reduce(callbackfn /*, initialValue */){ // eslint-disable-line no-unused-vars
          return arrayReduce.apply(validate(this), arguments);
        },
        reduceRight: function reduceRight(callbackfn /*, initialValue */){ // eslint-disable-line no-unused-vars
          return arrayReduceRight.apply(validate(this), arguments);
        },
        reverse: function reverse(){
          var that   = this
            , length = validate(that).length
            , middle = Math.floor(length / 2)
            , index  = 0
            , value;
          while(index < middle){
            value         = that[index];
            that[index++] = that[--length];
            that[length]  = value;
          } return that;
        },
        some: function some(callbackfn /*, thisArg */){
          return arraySome(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
        },
        sort: function sort(comparefn){
          return arraySort.call(validate(this), comparefn);
        },
        subarray: function subarray(begin, end){
          var O      = validate(this)
            , length = O.length
            , $begin = toIndex(begin, length);
          return new (speciesConstructor(O, O[DEF_CONSTRUCTOR]))(
            O.buffer,
            O.byteOffset + $begin * O.BYTES_PER_ELEMENT,
            toLength((end === undefined ? length : toIndex(end, length)) - $begin)
          );
        }
      };
    
      var $slice = function slice(start, end){
        return speciesFromList(this, arraySlice.call(validate(this), start, end));
      };
    
      var $set = function set(arrayLike /*, offset */){
        validate(this);
        var offset = toOffset(arguments[1], 1)
          , length = this.length
          , src    = toObject(arrayLike)
          , len    = toLength(src.length)
          , index  = 0;
        if(len + offset > length)throw RangeError(WRONG_LENGTH);
        while(index < len)this[offset + index] = src[index++];
      };
    
      var $iterators = {
        entries: function entries(){
          return arrayEntries.call(validate(this));
        },
        keys: function keys(){
          return arrayKeys.call(validate(this));
        },
        values: function values(){
          return arrayValues.call(validate(this));
        }
      };
    
      var isTAIndex = function(target, key){
        return isObject(target)
          && target[TYPED_ARRAY]
          && typeof key != 'symbol'
          && key in target
          && String(+key) == String(key);
      };
      var $getDesc = function getOwnPropertyDescriptor(target, key){
        return isTAIndex(target, key = toPrimitive(key, true))
          ? propertyDesc(2, target[key])
          : gOPD(target, key);
      };
      var $setDesc = function defineProperty(target, key, desc){
        if(isTAIndex(target, key = toPrimitive(key, true))
          && isObject(desc)
          && has(desc, 'value')
          && !has(desc, 'get')
          && !has(desc, 'set')
          // TODO: add validation descriptor w/o calling accessors
          && !desc.configurable
          && (!has(desc, 'writable') || desc.writable)
          && (!has(desc, 'enumerable') || desc.enumerable)
        ){
          target[key] = desc.value;
          return target;
        } else return dP(target, key, desc);
      };
    
      if(!ALL_CONSTRUCTORS){
        $GOPD.f = $getDesc;
        $DP.f   = $setDesc;
      }
    
      $export($export.S + $export.F * !ALL_CONSTRUCTORS, 'Object', {
        getOwnPropertyDescriptor: $getDesc,
        defineProperty:           $setDesc
      });
    
      if(fails(function(){ arrayToString.call({}); })){
        arrayToString = arrayToLocaleString = function toString(){
          return arrayJoin.call(this);
        }
      }
    
      var $TypedArrayPrototype$ = redefineAll({}, proto);
      redefineAll($TypedArrayPrototype$, $iterators);
      hide($TypedArrayPrototype$, ITERATOR, $iterators.values);
      redefineAll($TypedArrayPrototype$, {
        slice:          $slice,
        set:            $set,
        constructor:    function(){ /* noop */ },
        toString:       arrayToString,
        toLocaleString: $toLocaleString
      });
      addGetter($TypedArrayPrototype$, 'buffer', 'b');
      addGetter($TypedArrayPrototype$, 'byteOffset', 'o');
      addGetter($TypedArrayPrototype$, 'byteLength', 'l');
      addGetter($TypedArrayPrototype$, 'length', 'e');
      dP($TypedArrayPrototype$, TAG, {
        get: function(){ return this[TYPED_ARRAY]; }
      });
    
      module.exports = function(KEY, BYTES, wrapper, CLAMPED){
        CLAMPED = !!CLAMPED;
        var NAME       = KEY + (CLAMPED ? 'Clamped' : '') + 'Array'
          , ISNT_UINT8 = NAME != 'Uint8Array'
          , GETTER     = 'get' + KEY
          , SETTER     = 'set' + KEY
          , TypedArray = global[NAME]
          , Base       = TypedArray || {}
          , TAC        = TypedArray && getPrototypeOf(TypedArray)
          , FORCED     = !TypedArray || !$typed.ABV
          , O          = {}
          , TypedArrayPrototype = TypedArray && TypedArray[PROTOTYPE];
        var getter = function(that, index){
          var data = that._d;
          return data.v[GETTER](index * BYTES + data.o, LITTLE_ENDIAN);
        };
        var setter = function(that, index, value){
          var data = that._d;
          if(CLAMPED)value = (value = Math.round(value)) < 0 ? 0 : value > 0xff ? 0xff : value & 0xff;
          data.v[SETTER](index * BYTES + data.o, value, LITTLE_ENDIAN);
        };
        var addElement = function(that, index){
          dP(that, index, {
            get: function(){
              return getter(this, index);
            },
            set: function(value){
              return setter(this, index, value);
            },
            enumerable: true
          });
        };
        if(FORCED){
          TypedArray = wrapper(function(that, data, $offset, $length){
            anInstance(that, TypedArray, NAME, '_d');
            var index  = 0
              , offset = 0
              , buffer, byteLength, length, klass;
            if(!isObject(data)){
              length     = strictToLength(data, true)
              byteLength = length * BYTES;
              buffer     = new $ArrayBuffer(byteLength);
            } else if(data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER){
              buffer = data;
              offset = toOffset($offset, BYTES);
              var $len = data.byteLength;
              if($length === undefined){
                if($len % BYTES)throw RangeError(WRONG_LENGTH);
                byteLength = $len - offset;
                if(byteLength < 0)throw RangeError(WRONG_LENGTH);
              } else {
                byteLength = toLength($length) * BYTES;
                if(byteLength + offset > $len)throw RangeError(WRONG_LENGTH);
              }
              length = byteLength / BYTES;
            } else if(TYPED_ARRAY in data){
              return fromList(TypedArray, data);
            } else {
              return $from.call(TypedArray, data);
            }
            hide(that, '_d', {
              b: buffer,
              o: offset,
              l: byteLength,
              e: length,
              v: new $DataView(buffer)
            });
            while(index < length)addElement(that, index++);
          });
          TypedArrayPrototype = TypedArray[PROTOTYPE] = create($TypedArrayPrototype$);
          hide(TypedArrayPrototype, 'constructor', TypedArray);
        } else if(!$iterDetect(function(iter){
          // V8 works with iterators, but fails in many other cases
          // https://code.google.com/p/v8/issues/detail?id=4552
          new TypedArray(null); // eslint-disable-line no-new
          new TypedArray(iter); // eslint-disable-line no-new
        }, true)){
          TypedArray = wrapper(function(that, data, $offset, $length){
            anInstance(that, TypedArray, NAME);
            var klass;
            // `ws` module bug, temporarily remove validation length for Uint8Array
            // https://github.com/websockets/ws/pull/645
            if(!isObject(data))return new Base(strictToLength(data, ISNT_UINT8));
            if(data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER){
              return $length !== undefined
                ? new Base(data, toOffset($offset, BYTES), $length)
                : $offset !== undefined
                  ? new Base(data, toOffset($offset, BYTES))
                  : new Base(data);
            }
            if(TYPED_ARRAY in data)return fromList(TypedArray, data);
            return $from.call(TypedArray, data);
          });
          arrayForEach(TAC !== Function.prototype ? gOPN(Base).concat(gOPN(TAC)) : gOPN(Base), function(key){
            if(!(key in TypedArray))hide(TypedArray, key, Base[key]);
          });
          TypedArray[PROTOTYPE] = TypedArrayPrototype;
          if(!LIBRARY)TypedArrayPrototype.constructor = TypedArray;
        }
        var $nativeIterator   = TypedArrayPrototype[ITERATOR]
          , CORRECT_ITER_NAME = !!$nativeIterator && ($nativeIterator.name == 'values' || $nativeIterator.name == undefined)
          , $iterator         = $iterators.values;
        hide(TypedArray, TYPED_CONSTRUCTOR, true);
        hide(TypedArrayPrototype, TYPED_ARRAY, NAME);
        hide(TypedArrayPrototype, VIEW, true);
        hide(TypedArrayPrototype, DEF_CONSTRUCTOR, TypedArray);
    
        if(CLAMPED ? new TypedArray(1)[TAG] != NAME : !(TAG in TypedArrayPrototype)){
          dP(TypedArrayPrototype, TAG, {
            get: function(){ return NAME; }
          });
        }
    
        O[NAME] = TypedArray;
    
        $export($export.G + $export.W + $export.F * (TypedArray != Base), O);
    
        $export($export.S, NAME, {
          BYTES_PER_ELEMENT: BYTES,
          from: $from,
          of: $of
        });
    
        if(!(BYTES_PER_ELEMENT in TypedArrayPrototype))hide(TypedArrayPrototype, BYTES_PER_ELEMENT, BYTES);
    
        $export($export.P, NAME, proto);
    
        setSpecies(NAME);
    
        $export($export.P + $export.F * FORCED_SET, NAME, {set: $set});
    
        $export($export.P + $export.F * !CORRECT_ITER_NAME, NAME, $iterators);
    
        $export($export.P + $export.F * (TypedArrayPrototype.toString != arrayToString), NAME, {toString: arrayToString});
    
        $export($export.P + $export.F * fails(function(){
          new TypedArray(1).slice();
        }), NAME, {slice: $slice});
    
        $export($export.P + $export.F * (fails(function(){
          return [1, 2].toLocaleString() != new TypedArray([1, 2]).toLocaleString()
        }) || !fails(function(){
          TypedArrayPrototype.toLocaleString.call([1, 2]);
        })), NAME, {toLocaleString: $toLocaleString});
    
        Iterators[NAME] = CORRECT_ITER_NAME ? $nativeIterator : $iterator;
        if(!LIBRARY && !CORRECT_ITER_NAME)hide(TypedArrayPrototype, ITERATOR, $iterator);
      };
    } else module.exports = function(){ /* empty */ };

/***/ }),
/* 272 */
/***/ (function(module, exports, __webpack_require__) {

    __webpack_require__(271)('Uint8', 1, function(init){
      return function Uint8Array(data, byteOffset, length){
        return init(this, data, byteOffset, length);
      };
    });

/***/ }),
/* 273 */
/***/ (function(module, exports, __webpack_require__) {

    __webpack_require__(271)('Uint8', 1, function(init){
      return function Uint8ClampedArray(data, byteOffset, length){
        return init(this, data, byteOffset, length);
      };
    }, true);

/***/ }),
/* 274 */
/***/ (function(module, exports, __webpack_require__) {

    __webpack_require__(271)('Int16', 2, function(init){
      return function Int16Array(data, byteOffset, length){
        return init(this, data, byteOffset, length);
      };
    });

/***/ }),
/* 275 */
/***/ (function(module, exports, __webpack_require__) {

    __webpack_require__(271)('Uint16', 2, function(init){
      return function Uint16Array(data, byteOffset, length){
        return init(this, data, byteOffset, length);
      };
    });

/***/ }),
/* 276 */
/***/ (function(module, exports, __webpack_require__) {

    __webpack_require__(271)('Int32', 4, function(init){
      return function Int32Array(data, byteOffset, length){
        return init(this, data, byteOffset, length);
      };
    });

/***/ }),
/* 277 */
/***/ (function(module, exports, __webpack_require__) {

    __webpack_require__(271)('Uint32', 4, function(init){
      return function Uint32Array(data, byteOffset, length){
        return init(this, data, byteOffset, length);
      };
    });

/***/ }),
/* 278 */
/***/ (function(module, exports, __webpack_require__) {

    __webpack_require__(271)('Float32', 4, function(init){
      return function Float32Array(data, byteOffset, length){
        return init(this, data, byteOffset, length);
      };
    });

/***/ }),
/* 279 */
/***/ (function(module, exports, __webpack_require__) {

    __webpack_require__(271)('Float64', 8, function(init){
      return function Float64Array(data, byteOffset, length){
        return init(this, data, byteOffset, length);
      };
    });

/***/ }),
/* 280 */
/***/ (function(module, exports, __webpack_require__) {

    // 26.1.1 Reflect.apply(target, thisArgument, argumentsList)
    var $export   = __webpack_require__(56)
      , aFunction = __webpack_require__(69)
      , anObject  = __webpack_require__(60)
      , rApply    = (__webpack_require__(52).Reflect || {}).apply
      , fApply    = Function.apply;
    // MS Edge argumentsList argument is optional
    $export($export.S + $export.F * !__webpack_require__(55)(function(){
      rApply(function(){});
    }), 'Reflect', {
      apply: function apply(target, thisArgument, argumentsList){
        var T = aFunction(target)
          , L = anObject(argumentsList);
        return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L);
      }
    });

/***/ }),
/* 281 */
/***/ (function(module, exports, __webpack_require__) {

    // 26.1.2 Reflect.construct(target, argumentsList [, newTarget])
    var $export    = __webpack_require__(56)
      , create     = __webpack_require__(94)
      , aFunction  = __webpack_require__(69)
      , anObject   = __webpack_require__(60)
      , isObject   = __webpack_require__(61)
      , fails      = __webpack_require__(55)
      , bind       = __webpack_require__(125)
      , rConstruct = (__webpack_require__(52).Reflect || {}).construct;
    
    // MS Edge supports only 2 arguments and argumentsList argument is optional
    // FF Nightly sets third argument as `new.target`, but does not create `this` from it
    var NEW_TARGET_BUG = fails(function(){
      function F(){}
      return !(rConstruct(function(){}, [], F) instanceof F);
    });
    var ARGS_BUG = !fails(function(){
      rConstruct(function(){});
    });
    
    $export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', {
      construct: function construct(Target, args /*, newTarget*/){
        aFunction(Target);
        anObject(args);
        var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);
        if(ARGS_BUG && !NEW_TARGET_BUG)return rConstruct(Target, args, newTarget);
        if(Target == newTarget){
          // w/o altered newTarget, optimization for 0-4 arguments
          switch(args.length){
            case 0: return new Target;
            case 1: return new Target(args[0]);
            case 2: return new Target(args[0], args[1]);
            case 3: return new Target(args[0], args[1], args[2]);
            case 4: return new Target(args[0], args[1], args[2], args[3]);
          }
          // w/o altered newTarget, lot of arguments case
          var $args = [null];
          $args.push.apply($args, args);
          return new (bind.apply(Target, $args));
        }
        // with altered newTarget, not support built-in constructors
        var proto    = newTarget.prototype
          , instance = create(isObject(proto) ? proto : Object.prototype)
          , result   = Function.apply.call(Target, instance, args);
        return isObject(result) ? result : instance;
      }
    });

/***/ }),
/* 282 */
/***/ (function(module, exports, __webpack_require__) {

    // 26.1.3 Reflect.defineProperty(target, propertyKey, attributes)
    var dP          = __webpack_require__(59)
      , $export     = __webpack_require__(56)
      , anObject    = __webpack_require__(60)
      , toPrimitive = __webpack_require__(64);
    
    // MS Edge has broken Reflect.defineProperty - throwing instead of returning false
    $export($export.S + $export.F * __webpack_require__(55)(function(){
      Reflect.defineProperty(dP.f({}, 1, {value: 1}), 1, {value: 2});
    }), 'Reflect', {
      defineProperty: function defineProperty(target, propertyKey, attributes){
        anObject(target);
        propertyKey = toPrimitive(propertyKey, true);
        anObject(attributes);
        try {
          dP.f(target, propertyKey, attributes);
          return true;
        } catch(e){
          return false;
        }
      }
    });

/***/ }),
/* 283 */
/***/ (function(module, exports, __webpack_require__) {

    // 26.1.4 Reflect.deleteProperty(target, propertyKey)
    var $export  = __webpack_require__(56)
      , gOPD     = __webpack_require__(99).f
      , anObject = __webpack_require__(60);
    
    $export($export.S, 'Reflect', {
      deleteProperty: function deleteProperty(target, propertyKey){
        var desc = gOPD(anObject(target), propertyKey);
        return desc && !desc.configurable ? false : delete target[propertyKey];
      }
    });

/***/ }),
/* 284 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    // 26.1.5 Reflect.enumerate(target)
    var $export  = __webpack_require__(56)
      , anObject = __webpack_require__(60);
    var Enumerate = function(iterated){
      this._t = anObject(iterated); // target
      this._i = 0;                  // next index
      var keys = this._k = []       // keys
        , key;
      for(key in iterated)keys.push(key);
    };
    __webpack_require__(178)(Enumerate, 'Object', function(){
      var that = this
        , keys = that._k
        , key;
      do {
        if(that._i >= keys.length)return {value: undefined, done: true};
      } while(!((key = keys[that._i++]) in that._t));
      return {value: key, done: false};
    });
    
    $export($export.S, 'Reflect', {
      enumerate: function enumerate(target){
        return new Enumerate(target);
      }
    });

/***/ }),
/* 285 */
/***/ (function(module, exports, __webpack_require__) {

    // 26.1.6 Reflect.get(target, propertyKey [, receiver])
    var gOPD           = __webpack_require__(99)
      , getPrototypeOf = __webpack_require__(107)
      , has            = __webpack_require__(53)
      , $export        = __webpack_require__(56)
      , isObject       = __webpack_require__(61)
      , anObject       = __webpack_require__(60);
    
    function get(target, propertyKey/*, receiver*/){
      var receiver = arguments.length < 3 ? target : arguments[2]
        , desc, proto;
      if(anObject(target) === receiver)return target[propertyKey];
      if(desc = gOPD.f(target, propertyKey))return has(desc, 'value')
        ? desc.value
        : desc.get !== undefined
          ? desc.get.call(receiver)
          : undefined;
      if(isObject(proto = getPrototypeOf(target)))return get(proto, propertyKey, receiver);
    }
    
    $export($export.S, 'Reflect', {get: get});

/***/ }),
/* 286 */
/***/ (function(module, exports, __webpack_require__) {

    // 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey)
    var gOPD     = __webpack_require__(99)
      , $export  = __webpack_require__(56)
      , anObject = __webpack_require__(60);
    
    $export($export.S, 'Reflect', {
      getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey){
        return gOPD.f(anObject(target), propertyKey);
      }
    });

/***/ }),
/* 287 */
/***/ (function(module, exports, __webpack_require__) {

    // 26.1.8 Reflect.getPrototypeOf(target)
    var $export  = __webpack_require__(56)
      , getProto = __webpack_require__(107)
      , anObject = __webpack_require__(60);
    
    $export($export.S, 'Reflect', {
      getPrototypeOf: function getPrototypeOf(target){
        return getProto(anObject(target));
      }
    });

/***/ }),
/* 288 */
/***/ (function(module, exports, __webpack_require__) {

    // 26.1.9 Reflect.has(target, propertyKey)
    var $export = __webpack_require__(56);
    
    $export($export.S, 'Reflect', {
      has: function has(target, propertyKey){
        return propertyKey in target;
      }
    });

/***/ }),
/* 289 */
/***/ (function(module, exports, __webpack_require__) {

    // 26.1.10 Reflect.isExtensible(target)
    var $export       = __webpack_require__(56)
      , anObject      = __webpack_require__(60)
      , $isExtensible = Object.isExtensible;
    
    $export($export.S, 'Reflect', {
      isExtensible: function isExtensible(target){
        anObject(target);
        return $isExtensible ? $isExtensible(target) : true;
      }
    });

/***/ }),
/* 290 */
/***/ (function(module, exports, __webpack_require__) {

    // 26.1.11 Reflect.ownKeys(target)
    var $export = __webpack_require__(56);
    
    $export($export.S, 'Reflect', {ownKeys: __webpack_require__(291)});

/***/ }),
/* 291 */
/***/ (function(module, exports, __webpack_require__) {

    // all object keys, includes non-enumerable and symbols
    var gOPN     = __webpack_require__(98)
      , gOPS     = __webpack_require__(91)
      , anObject = __webpack_require__(60)
      , Reflect  = __webpack_require__(52).Reflect;
    module.exports = Reflect && Reflect.ownKeys || function ownKeys(it){
      var keys       = gOPN.f(anObject(it))
        , getSymbols = gOPS.f;
      return getSymbols ? keys.concat(getSymbols(it)) : keys;
    };

/***/ }),
/* 292 */
/***/ (function(module, exports, __webpack_require__) {

    // 26.1.12 Reflect.preventExtensions(target)
    var $export            = __webpack_require__(56)
      , anObject           = __webpack_require__(60)
      , $preventExtensions = Object.preventExtensions;
    
    $export($export.S, 'Reflect', {
      preventExtensions: function preventExtensions(target){
        anObject(target);
        try {
          if($preventExtensions)$preventExtensions(target);
          return true;
        } catch(e){
          return false;
        }
      }
    });

/***/ }),
/* 293 */
/***/ (function(module, exports, __webpack_require__) {

    // 26.1.13 Reflect.set(target, propertyKey, V [, receiver])
    var dP             = __webpack_require__(59)
      , gOPD           = __webpack_require__(99)
      , getPrototypeOf = __webpack_require__(107)
      , has            = __webpack_require__(53)
      , $export        = __webpack_require__(56)
      , createDesc     = __webpack_require__(65)
      , anObject       = __webpack_require__(60)
      , isObject       = __webpack_require__(61);
    
    function set(target, propertyKey, V/*, receiver*/){
      var receiver = arguments.length < 4 ? target : arguments[3]
        , ownDesc  = gOPD.f(anObject(target), propertyKey)
        , existingDescriptor, proto;
      if(!ownDesc){
        if(isObject(proto = getPrototypeOf(target))){
          return set(proto, propertyKey, V, receiver);
        }
        ownDesc = createDesc(0);
      }
      if(has(ownDesc, 'value')){
        if(ownDesc.writable === false || !isObject(receiver))return false;
        existingDescriptor = gOPD.f(receiver, propertyKey) || createDesc(0);
        existingDescriptor.value = V;
        dP.f(receiver, propertyKey, existingDescriptor);
        return true;
      }
      return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true);
    }
    
    $export($export.S, 'Reflect', {set: set});

/***/ }),
/* 294 */
/***/ (function(module, exports, __webpack_require__) {

    // 26.1.14 Reflect.setPrototypeOf(target, proto)
    var $export  = __webpack_require__(56)
      , setProto = __webpack_require__(121);
    
    if(setProto)$export($export.S, 'Reflect', {
      setPrototypeOf: function setPrototypeOf(target, proto){
        setProto.check(target, proto);
        try {
          setProto.set(target, proto);
          return true;
        } catch(e){
          return false;
        }
      }
    });

/***/ }),
/* 295 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    // https://github.com/tc39/Array.prototype.includes
    var $export   = __webpack_require__(56)
      , $includes = __webpack_require__(84)(true);
    
    $export($export.P, 'Array', {
      includes: function includes(el /*, fromIndex = 0 */){
        return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);
      }
    });
    
    __webpack_require__(234)('includes');

/***/ }),
/* 296 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    // https://github.com/mathiasbynens/String.prototype.at
    var $export = __webpack_require__(56)
      , $at     = __webpack_require__(175)(true);
    
    $export($export.P, 'String', {
      at: function at(pos){
        return $at(this, pos);
      }
    });

/***/ }),
/* 297 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    // https://github.com/tc39/proposal-string-pad-start-end
    var $export = __webpack_require__(56)
      , $pad    = __webpack_require__(298);
    
    $export($export.P, 'String', {
      padStart: function padStart(maxLength /*, fillString = ' ' */){
        return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true);
      }
    });

/***/ }),
/* 298 */
/***/ (function(module, exports, __webpack_require__) {

    // https://github.com/tc39/proposal-string-pad-start-end
    var toLength = __webpack_require__(85)
      , repeat   = __webpack_require__(139)
      , defined  = __webpack_require__(83);
    
    module.exports = function(that, maxLength, fillString, left){
      var S            = String(defined(that))
        , stringLength = S.length
        , fillStr      = fillString === undefined ? ' ' : String(fillString)
        , intMaxLength = toLength(maxLength);
      if(intMaxLength <= stringLength || fillStr == '')return S;
      var fillLen = intMaxLength - stringLength
        , stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length));
      if(stringFiller.length > fillLen)stringFiller = stringFiller.slice(0, fillLen);
      return left ? stringFiller + S : S + stringFiller;
    };


/***/ }),
/* 299 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    // https://github.com/tc39/proposal-string-pad-start-end
    var $export = __webpack_require__(56)
      , $pad    = __webpack_require__(298);
    
    $export($export.P, 'String', {
      padEnd: function padEnd(maxLength /*, fillString = ' ' */){
        return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, false);
      }
    });

/***/ }),
/* 300 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    // https://github.com/sebmarkbage/ecmascript-string-left-right-trim
    __webpack_require__(131)('trimLeft', function($trim){
      return function trimLeft(){
        return $trim(this, 1);
      };
    }, 'trimStart');

/***/ }),
/* 301 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    // https://github.com/sebmarkbage/ecmascript-string-left-right-trim
    __webpack_require__(131)('trimRight', function($trim){
      return function trimRight(){
        return $trim(this, 2);
      };
    }, 'trimEnd');

/***/ }),
/* 302 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    // https://tc39.github.io/String.prototype.matchAll/
    var $export     = __webpack_require__(56)
      , defined     = __webpack_require__(83)
      , toLength    = __webpack_require__(85)
      , isRegExp    = __webpack_require__(182)
      , getFlags    = __webpack_require__(244)
      , RegExpProto = RegExp.prototype;
    
    var $RegExpStringIterator = function(regexp, string){
      this._r = regexp;
      this._s = string;
    };
    
    __webpack_require__(178)($RegExpStringIterator, 'RegExp String', function next(){
      var match = this._r.exec(this._s);
      return {value: match, done: match === null};
    });
    
    $export($export.P, 'String', {
      matchAll: function matchAll(regexp){
        defined(this);
        if(!isRegExp(regexp))throw TypeError(regexp + ' is not a regexp!');
        var S     = String(this)
          , flags = 'flags' in RegExpProto ? String(regexp.flags) : getFlags.call(regexp)
          , rx    = new RegExp(regexp.source, ~flags.indexOf('g') ? flags : 'g' + flags);
        rx.lastIndex = toLength(regexp.lastIndex);
        return new $RegExpStringIterator(rx, S);
      }
    });

/***/ }),
/* 303 */
/***/ (function(module, exports, __webpack_require__) {

    __webpack_require__(75)('asyncIterator');

/***/ }),
/* 304 */
/***/ (function(module, exports, __webpack_require__) {

    __webpack_require__(75)('observable');

/***/ }),
/* 305 */
/***/ (function(module, exports, __webpack_require__) {

    // https://github.com/tc39/proposal-object-getownpropertydescriptors
    var $export        = __webpack_require__(56)
      , ownKeys        = __webpack_require__(291)
      , toIObject      = __webpack_require__(80)
      , gOPD           = __webpack_require__(99)
      , createProperty = __webpack_require__(211);
    
    $export($export.S, 'Object', {
      getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object){
        var O       = toIObject(object)
          , getDesc = gOPD.f
          , keys    = ownKeys(O)
          , result  = {}
          , i       = 0
          , key;
        while(keys.length > i)createProperty(result, key = keys[i++], getDesc(O, key));
        return result;
      }
    });

/***/ }),
/* 306 */
/***/ (function(module, exports, __webpack_require__) {

    // https://github.com/tc39/proposal-object-values-entries
    var $export = __webpack_require__(56)
      , $values = __webpack_require__(307)(false);
    
    $export($export.S, 'Object', {
      values: function values(it){
        return $values(it);
      }
    });

/***/ }),
/* 307 */
/***/ (function(module, exports, __webpack_require__) {

    var getKeys   = __webpack_require__(78)
      , toIObject = __webpack_require__(80)
      , isEnum    = __webpack_require__(92).f;
    module.exports = function(isEntries){
      return function(it){
        var O      = toIObject(it)
          , keys   = getKeys(O)
          , length = keys.length
          , i      = 0
          , result = []
          , key;
        while(length > i)if(isEnum.call(O, key = keys[i++])){
          result.push(isEntries ? [key, O[key]] : O[key]);
        } return result;
      };
    };

/***/ }),
/* 308 */
/***/ (function(module, exports, __webpack_require__) {

    // https://github.com/tc39/proposal-object-values-entries
    var $export  = __webpack_require__(56)
      , $entries = __webpack_require__(307)(true);
    
    $export($export.S, 'Object', {
      entries: function entries(it){
        return $entries(it);
      }
    });

/***/ }),
/* 309 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    var $export         = __webpack_require__(56)
      , toObject        = __webpack_require__(106)
      , aFunction       = __webpack_require__(69)
      , $defineProperty = __webpack_require__(59);
    
    // B.2.2.2 Object.prototype.__defineGetter__(P, getter)
    __webpack_require__(54) && $export($export.P + __webpack_require__(310), 'Object', {
      __defineGetter__: function __defineGetter__(P, getter){
        $defineProperty.f(toObject(this), P, {get: aFunction(getter), enumerable: true, configurable: true});
      }
    });

/***/ }),
/* 310 */
/***/ (function(module, exports, __webpack_require__) {

    // Forced replacement prototype accessors methods
    module.exports = __webpack_require__(76)|| !__webpack_require__(55)(function(){
      var K = Math.random();
      // In FF throws only define methods
      __defineSetter__.call(null, K, function(){ /* empty */});
      delete __webpack_require__(52)[K];
    });

/***/ }),
/* 311 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    var $export         = __webpack_require__(56)
      , toObject        = __webpack_require__(106)
      , aFunction       = __webpack_require__(69)
      , $defineProperty = __webpack_require__(59);
    
    // B.2.2.3 Object.prototype.__defineSetter__(P, setter)
    __webpack_require__(54) && $export($export.P + __webpack_require__(310), 'Object', {
      __defineSetter__: function __defineSetter__(P, setter){
        $defineProperty.f(toObject(this), P, {set: aFunction(setter), enumerable: true, configurable: true});
      }
    });

/***/ }),
/* 312 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    var $export                  = __webpack_require__(56)
      , toObject                 = __webpack_require__(106)
      , toPrimitive              = __webpack_require__(64)
      , getPrototypeOf           = __webpack_require__(107)
      , getOwnPropertyDescriptor = __webpack_require__(99).f;
    
    // B.2.2.4 Object.prototype.__lookupGetter__(P)
    __webpack_require__(54) && $export($export.P + __webpack_require__(310), 'Object', {
      __lookupGetter__: function __lookupGetter__(P){
        var O = toObject(this)
          , K = toPrimitive(P, true)
          , D;
        do {
          if(D = getOwnPropertyDescriptor(O, K))return D.get;
        } while(O = getPrototypeOf(O));
      }
    });

/***/ }),
/* 313 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    var $export                  = __webpack_require__(56)
      , toObject                 = __webpack_require__(106)
      , toPrimitive              = __webpack_require__(64)
      , getPrototypeOf           = __webpack_require__(107)
      , getOwnPropertyDescriptor = __webpack_require__(99).f;
    
    // B.2.2.5 Object.prototype.__lookupSetter__(P)
    __webpack_require__(54) && $export($export.P + __webpack_require__(310), 'Object', {
      __lookupSetter__: function __lookupSetter__(P){
        var O = toObject(this)
          , K = toPrimitive(P, true)
          , D;
        do {
          if(D = getOwnPropertyDescriptor(O, K))return D.set;
        } while(O = getPrototypeOf(O));
      }
    });

/***/ }),
/* 314 */
/***/ (function(module, exports, __webpack_require__) {

    // https://github.com/DavidBruant/Map-Set.prototype.toJSON
    var $export  = __webpack_require__(56);
    
    $export($export.P + $export.R, 'Map', {toJSON: __webpack_require__(315)('Map')});

/***/ }),
/* 315 */
/***/ (function(module, exports, __webpack_require__) {

    // https://github.com/DavidBruant/Map-Set.prototype.toJSON
    var classof = __webpack_require__(123)
      , from    = __webpack_require__(316);
    module.exports = function(NAME){
      return function toJSON(){
        if(classof(this) != NAME)throw TypeError(NAME + "#toJSON isn't generic");
        return from(this);
      };
    };

/***/ }),
/* 316 */
/***/ (function(module, exports, __webpack_require__) {

    var forOf = __webpack_require__(254);
    
    module.exports = function(iter, ITERATOR){
      var result = [];
      forOf(iter, false, result.push, result, ITERATOR);
      return result;
    };


/***/ }),
/* 317 */
/***/ (function(module, exports, __webpack_require__) {

    // https://github.com/DavidBruant/Map-Set.prototype.toJSON
    var $export  = __webpack_require__(56);
    
    $export($export.P + $export.R, 'Set', {toJSON: __webpack_require__(315)('Set')});

/***/ }),
/* 318 */
/***/ (function(module, exports, __webpack_require__) {

    // https://github.com/ljharb/proposal-global
    var $export = __webpack_require__(56);
    
    $export($export.S, 'System', {global: __webpack_require__(52)});

/***/ }),
/* 319 */
/***/ (function(module, exports, __webpack_require__) {

    // https://github.com/ljharb/proposal-is-error
    var $export = __webpack_require__(56)
      , cof     = __webpack_require__(82);
    
    $export($export.S, 'Error', {
      isError: function isError(it){
        return cof(it) === 'Error';
      }
    });

/***/ }),
/* 320 */
/***/ (function(module, exports, __webpack_require__) {

    // https://gist.github.com/BrendanEich/4294d5c212a6d2254703
    var $export = __webpack_require__(56);
    
    $export($export.S, 'Math', {
      iaddh: function iaddh(x0, x1, y0, y1){
        var $x0 = x0 >>> 0
          , $x1 = x1 >>> 0
          , $y0 = y0 >>> 0;
        return $x1 + (y1 >>> 0) + (($x0 & $y0 | ($x0 | $y0) & ~($x0 + $y0 >>> 0)) >>> 31) | 0;
      }
    });

/***/ }),
/* 321 */
/***/ (function(module, exports, __webpack_require__) {

    // https://gist.github.com/BrendanEich/4294d5c212a6d2254703
    var $export = __webpack_require__(56);
    
    $export($export.S, 'Math', {
      isubh: function isubh(x0, x1, y0, y1){
        var $x0 = x0 >>> 0
          , $x1 = x1 >>> 0
          , $y0 = y0 >>> 0;
        return $x1 - (y1 >>> 0) - ((~$x0 & $y0 | ~($x0 ^ $y0) & $x0 - $y0 >>> 0) >>> 31) | 0;
      }
    });

/***/ }),
/* 322 */
/***/ (function(module, exports, __webpack_require__) {

    // https://gist.github.com/BrendanEich/4294d5c212a6d2254703
    var $export = __webpack_require__(56);
    
    $export($export.S, 'Math', {
      imulh: function imulh(u, v){
        var UINT16 = 0xffff
          , $u = +u
          , $v = +v
          , u0 = $u & UINT16
          , v0 = $v & UINT16
          , u1 = $u >> 16
          , v1 = $v >> 16
          , t  = (u1 * v0 >>> 0) + (u0 * v0 >>> 16);
        return u1 * v1 + (t >> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >> 16);
      }
    });

/***/ }),
/* 323 */
/***/ (function(module, exports, __webpack_require__) {

    // https://gist.github.com/BrendanEich/4294d5c212a6d2254703
    var $export = __webpack_require__(56);
    
    $export($export.S, 'Math', {
      umulh: function umulh(u, v){
        var UINT16 = 0xffff
          , $u = +u
          , $v = +v
          , u0 = $u & UINT16
          , v0 = $v & UINT16
          , u1 = $u >>> 16
          , v1 = $v >>> 16
          , t  = (u1 * v0 >>> 0) + (u0 * v0 >>> 16);
        return u1 * v1 + (t >>> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >>> 16);
      }
    });

/***/ }),
/* 324 */
/***/ (function(module, exports, __webpack_require__) {

    var metadata                  = __webpack_require__(325)
      , anObject                  = __webpack_require__(60)
      , toMetaKey                 = metadata.key
      , ordinaryDefineOwnMetadata = metadata.set;
    
    metadata.exp({defineMetadata: function defineMetadata(metadataKey, metadataValue, target, targetKey){
      ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), toMetaKey(targetKey));
    }});

/***/ }),
/* 325 */
/***/ (function(module, exports, __webpack_require__) {

    var Map     = __webpack_require__(259)
      , $export = __webpack_require__(56)
      , shared  = __webpack_require__(71)('metadata')
      , store   = shared.store || (shared.store = new (__webpack_require__(263)));
    
    var getOrCreateMetadataMap = function(target, targetKey, create){
      var targetMetadata = store.get(target);
      if(!targetMetadata){
        if(!create)return undefined;
        store.set(target, targetMetadata = new Map);
      }
      var keyMetadata = targetMetadata.get(targetKey);
      if(!keyMetadata){
        if(!create)return undefined;
        targetMetadata.set(targetKey, keyMetadata = new Map);
      } return keyMetadata;
    };
    var ordinaryHasOwnMetadata = function(MetadataKey, O, P){
      var metadataMap = getOrCreateMetadataMap(O, P, false);
      return metadataMap === undefined ? false : metadataMap.has(MetadataKey);
    };
    var ordinaryGetOwnMetadata = function(MetadataKey, O, P){
      var metadataMap = getOrCreateMetadataMap(O, P, false);
      return metadataMap === undefined ? undefined : metadataMap.get(MetadataKey);
    };
    var ordinaryDefineOwnMetadata = function(MetadataKey, MetadataValue, O, P){
      getOrCreateMetadataMap(O, P, true).set(MetadataKey, MetadataValue);
    };
    var ordinaryOwnMetadataKeys = function(target, targetKey){
      var metadataMap = getOrCreateMetadataMap(target, targetKey, false)
        , keys        = [];
      if(metadataMap)metadataMap.forEach(function(_, key){ keys.push(key); });
      return keys;
    };
    var toMetaKey = function(it){
      return it === undefined || typeof it == 'symbol' ? it : String(it);
    };
    var exp = function(O){
      $export($export.S, 'Reflect', O);
    };
    
    module.exports = {
      store: store,
      map: getOrCreateMetadataMap,
      has: ordinaryHasOwnMetadata,
      get: ordinaryGetOwnMetadata,
      set: ordinaryDefineOwnMetadata,
      keys: ordinaryOwnMetadataKeys,
      key: toMetaKey,
      exp: exp
    };

/***/ }),
/* 326 */
/***/ (function(module, exports, __webpack_require__) {

    var metadata               = __webpack_require__(325)
      , anObject               = __webpack_require__(60)
      , toMetaKey              = metadata.key
      , getOrCreateMetadataMap = metadata.map
      , store                  = metadata.store;
    
    metadata.exp({deleteMetadata: function deleteMetadata(metadataKey, target /*, targetKey */){
      var targetKey   = arguments.length < 3 ? undefined : toMetaKey(arguments[2])
        , metadataMap = getOrCreateMetadataMap(anObject(target), targetKey, false);
      if(metadataMap === undefined || !metadataMap['delete'](metadataKey))return false;
      if(metadataMap.size)return true;
      var targetMetadata = store.get(target);
      targetMetadata['delete'](targetKey);
      return !!targetMetadata.size || store['delete'](target);
    }});

/***/ }),
/* 327 */
/***/ (function(module, exports, __webpack_require__) {

    var metadata               = __webpack_require__(325)
      , anObject               = __webpack_require__(60)
      , getPrototypeOf         = __webpack_require__(107)
      , ordinaryHasOwnMetadata = metadata.has
      , ordinaryGetOwnMetadata = metadata.get
      , toMetaKey              = metadata.key;
    
    var ordinaryGetMetadata = function(MetadataKey, O, P){
      var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);
      if(hasOwn)return ordinaryGetOwnMetadata(MetadataKey, O, P);
      var parent = getPrototypeOf(O);
      return parent !== null ? ordinaryGetMetadata(MetadataKey, parent, P) : undefined;
    };
    
    metadata.exp({getMetadata: function getMetadata(metadataKey, target /*, targetKey */){
      return ordinaryGetMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));
    }});

/***/ }),
/* 328 */
/***/ (function(module, exports, __webpack_require__) {

    var Set                     = __webpack_require__(262)
      , from                    = __webpack_require__(316)
      , metadata                = __webpack_require__(325)
      , anObject                = __webpack_require__(60)
      , getPrototypeOf          = __webpack_require__(107)
      , ordinaryOwnMetadataKeys = metadata.keys
      , toMetaKey               = metadata.key;
    
    var ordinaryMetadataKeys = function(O, P){
      var oKeys  = ordinaryOwnMetadataKeys(O, P)
        , parent = getPrototypeOf(O);
      if(parent === null)return oKeys;
      var pKeys  = ordinaryMetadataKeys(parent, P);
      return pKeys.length ? oKeys.length ? from(new Set(oKeys.concat(pKeys))) : pKeys : oKeys;
    };
    
    metadata.exp({getMetadataKeys: function getMetadataKeys(target /*, targetKey */){
      return ordinaryMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));
    }});

/***/ }),
/* 329 */
/***/ (function(module, exports, __webpack_require__) {

    var metadata               = __webpack_require__(325)
      , anObject               = __webpack_require__(60)
      , ordinaryGetOwnMetadata = metadata.get
      , toMetaKey              = metadata.key;
    
    metadata.exp({getOwnMetadata: function getOwnMetadata(metadataKey, target /*, targetKey */){
      return ordinaryGetOwnMetadata(metadataKey, anObject(target)
        , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));
    }});

/***/ }),
/* 330 */
/***/ (function(module, exports, __webpack_require__) {

    var metadata                = __webpack_require__(325)
      , anObject                = __webpack_require__(60)
      , ordinaryOwnMetadataKeys = metadata.keys
      , toMetaKey               = metadata.key;
    
    metadata.exp({getOwnMetadataKeys: function getOwnMetadataKeys(target /*, targetKey */){
      return ordinaryOwnMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));
    }});

/***/ }),
/* 331 */
/***/ (function(module, exports, __webpack_require__) {

    var metadata               = __webpack_require__(325)
      , anObject               = __webpack_require__(60)
      , getPrototypeOf         = __webpack_require__(107)
      , ordinaryHasOwnMetadata = metadata.has
      , toMetaKey              = metadata.key;
    
    var ordinaryHasMetadata = function(MetadataKey, O, P){
      var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);
      if(hasOwn)return true;
      var parent = getPrototypeOf(O);
      return parent !== null ? ordinaryHasMetadata(MetadataKey, parent, P) : false;
    };
    
    metadata.exp({hasMetadata: function hasMetadata(metadataKey, target /*, targetKey */){
      return ordinaryHasMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));
    }});

/***/ }),
/* 332 */
/***/ (function(module, exports, __webpack_require__) {

    var metadata               = __webpack_require__(325)
      , anObject               = __webpack_require__(60)
      , ordinaryHasOwnMetadata = metadata.has
      , toMetaKey              = metadata.key;
    
    metadata.exp({hasOwnMetadata: function hasOwnMetadata(metadataKey, target /*, targetKey */){
      return ordinaryHasOwnMetadata(metadataKey, anObject(target)
        , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));
    }});

/***/ }),
/* 333 */
/***/ (function(module, exports, __webpack_require__) {

    var metadata                  = __webpack_require__(325)
      , anObject                  = __webpack_require__(60)
      , aFunction                 = __webpack_require__(69)
      , toMetaKey                 = metadata.key
      , ordinaryDefineOwnMetadata = metadata.set;
    
    metadata.exp({metadata: function metadata(metadataKey, metadataValue){
      return function decorator(target, targetKey){
        ordinaryDefineOwnMetadata(
          metadataKey, metadataValue,
          (targetKey !== undefined ? anObject : aFunction)(target),
          toMetaKey(targetKey)
        );
      };
    }});

/***/ }),
/* 334 */
/***/ (function(module, exports, __webpack_require__) {

    // https://github.com/rwaldron/tc39-notes/blob/master/es6/2014-09/sept-25.md#510-globalasap-for-enqueuing-a-microtask
    var $export   = __webpack_require__(56)
      , microtask = __webpack_require__(257)()
      , process   = __webpack_require__(52).process
      , isNode    = __webpack_require__(82)(process) == 'process';
    
    $export($export.G, {
      asap: function asap(fn){
        var domain = isNode && process.domain;
        microtask(domain ? domain.bind(fn) : fn);
      }
    });

/***/ }),
/* 335 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    // https://github.com/zenparsing/es-observable
    var $export     = __webpack_require__(56)
      , global      = __webpack_require__(52)
      , core        = __webpack_require__(57)
      , microtask   = __webpack_require__(257)()
      , OBSERVABLE  = __webpack_require__(73)('observable')
      , aFunction   = __webpack_require__(69)
      , anObject    = __webpack_require__(60)
      , anInstance  = __webpack_require__(253)
      , redefineAll = __webpack_require__(258)
      , hide        = __webpack_require__(58)
      , forOf       = __webpack_require__(254)
      , RETURN      = forOf.RETURN;
    
    var getMethod = function(fn){
      return fn == null ? undefined : aFunction(fn);
    };
    
    var cleanupSubscription = function(subscription){
      var cleanup = subscription._c;
      if(cleanup){
        subscription._c = undefined;
        cleanup();
      }
    };
    
    var subscriptionClosed = function(subscription){
      return subscription._o === undefined;
    };
    
    var closeSubscription = function(subscription){
      if(!subscriptionClosed(subscription)){
        subscription._o = undefined;
        cleanupSubscription(subscription);
      }
    };
    
    var Subscription = function(observer, subscriber){
      anObject(observer);
      this._c = undefined;
      this._o = observer;
      observer = new SubscriptionObserver(this);
      try {
        var cleanup      = subscriber(observer)
          , subscription = cleanup;
        if(cleanup != null){
          if(typeof cleanup.unsubscribe === 'function')cleanup = function(){ subscription.unsubscribe(); };
          else aFunction(cleanup);
          this._c = cleanup;
        }
      } catch(e){
        observer.error(e);
        return;
      } if(subscriptionClosed(this))cleanupSubscription(this);
    };
    
    Subscription.prototype = redefineAll({}, {
      unsubscribe: function unsubscribe(){ closeSubscription(this); }
    });
    
    var SubscriptionObserver = function(subscription){
      this._s = subscription;
    };
    
    SubscriptionObserver.prototype = redefineAll({}, {
      next: function next(value){
        var subscription = this._s;
        if(!subscriptionClosed(subscription)){
          var observer = subscription._o;
          try {
            var m = getMethod(observer.next);
            if(m)return m.call(observer, value);
          } catch(e){
            try {
              closeSubscription(subscription);
            } finally {
              throw e;
            }
          }
        }
      },
      error: function error(value){
        var subscription = this._s;
        if(subscriptionClosed(subscription))throw value;
        var observer = subscription._o;
        subscription._o = undefined;
        try {
          var m = getMethod(observer.error);
          if(!m)throw value;
          value = m.call(observer, value);
        } catch(e){
          try {
            cleanupSubscription(subscription);
          } finally {
            throw e;
          }
        } cleanupSubscription(subscription);
        return value;
      },
      complete: function complete(value){
        var subscription = this._s;
        if(!subscriptionClosed(subscription)){
          var observer = subscription._o;
          subscription._o = undefined;
          try {
            var m = getMethod(observer.complete);
            value = m ? m.call(observer, value) : undefined;
          } catch(e){
            try {
              cleanupSubscription(subscription);
            } finally {
              throw e;
            }
          } cleanupSubscription(subscription);
          return value;
        }
      }
    });
    
    var $Observable = function Observable(subscriber){
      anInstance(this, $Observable, 'Observable', '_f')._f = aFunction(subscriber);
    };
    
    redefineAll($Observable.prototype, {
      subscribe: function subscribe(observer){
        return new Subscription(observer, this._f);
      },
      forEach: function forEach(fn){
        var that = this;
        return new (core.Promise || global.Promise)(function(resolve, reject){
          aFunction(fn);
          var subscription = that.subscribe({
            next : function(value){
              try {
                return fn(value);
              } catch(e){
                reject(e);
                subscription.unsubscribe();
              }
            },
            error: reject,
            complete: resolve
          });
        });
      }
    });
    
    redefineAll($Observable, {
      from: function from(x){
        var C = typeof this === 'function' ? this : $Observable;
        var method = getMethod(anObject(x)[OBSERVABLE]);
        if(method){
          var observable = anObject(method.call(x));
          return observable.constructor === C ? observable : new C(function(observer){
            return observable.subscribe(observer);
          });
        }
        return new C(function(observer){
          var done = false;
          microtask(function(){
            if(!done){
              try {
                if(forOf(x, false, function(it){
                  observer.next(it);
                  if(done)return RETURN;
                }) === RETURN)return;
              } catch(e){
                if(done)throw e;
                observer.error(e);
                return;
              } observer.complete();
            }
          });
          return function(){ done = true; };
        });
      },
      of: function of(){
        for(var i = 0, l = arguments.length, items = Array(l); i < l;)items[i] = arguments[i++];
        return new (typeof this === 'function' ? this : $Observable)(function(observer){
          var done = false;
          microtask(function(){
            if(!done){
              for(var i = 0; i < items.length; ++i){
                observer.next(items[i]);
                if(done)return;
              } observer.complete();
            }
          });
          return function(){ done = true; };
        });
      }
    });
    
    hide($Observable.prototype, OBSERVABLE, function(){ return this; });
    
    $export($export.G, {Observable: $Observable});
    
    __webpack_require__(240)('Observable');

/***/ }),
/* 336 */
/***/ (function(module, exports, __webpack_require__) {

    // ie9- setTimeout & setInterval additional parameters fix
    var global     = __webpack_require__(52)
      , $export    = __webpack_require__(56)
      , invoke     = __webpack_require__(126)
      , partial    = __webpack_require__(337)
      , navigator  = global.navigator
      , MSIE       = !!navigator && /MSIE .\./.test(navigator.userAgent); // <- dirty ie9- check
    var wrap = function(set){
      return MSIE ? function(fn, time /*, ...args */){
        return set(invoke(
          partial,
          [].slice.call(arguments, 2),
          typeof fn == 'function' ? fn : Function(fn)
        ), time);
      } : set;
    };
    $export($export.G + $export.B + $export.F * MSIE, {
      setTimeout:  wrap(global.setTimeout),
      setInterval: wrap(global.setInterval)
    });

/***/ }),
/* 337 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    var path      = __webpack_require__(338)
      , invoke    = __webpack_require__(126)
      , aFunction = __webpack_require__(69);
    module.exports = function(/* ...pargs */){
      var fn     = aFunction(this)
        , length = arguments.length
        , pargs  = Array(length)
        , i      = 0
        , _      = path._
        , holder = false;
      while(length > i)if((pargs[i] = arguments[i++]) === _)holder = true;
      return function(/* ...args */){
        var that = this
          , aLen = arguments.length
          , j = 0, k = 0, args;
        if(!holder && !aLen)return invoke(fn, pargs, that);
        args = pargs.slice();
        if(holder)for(;length > j; j++)if(args[j] === _)args[j] = arguments[k++];
        while(aLen > k)args.push(arguments[k++]);
        return invoke(fn, args, that);
      };
    };

/***/ }),
/* 338 */
/***/ (function(module, exports, __webpack_require__) {

    module.exports = __webpack_require__(52);

/***/ }),
/* 339 */
/***/ (function(module, exports, __webpack_require__) {

    var $export = __webpack_require__(56)
      , $task   = __webpack_require__(256);
    $export($export.G + $export.B, {
      setImmediate:   $task.set,
      clearImmediate: $task.clear
    });

/***/ }),
/* 340 */
/***/ (function(module, exports, __webpack_require__) {

    var $iterators    = __webpack_require__(241)
      , redefine      = __webpack_require__(66)
      , global        = __webpack_require__(52)
      , hide          = __webpack_require__(58)
      , Iterators     = __webpack_require__(177)
      , wks           = __webpack_require__(73)
      , ITERATOR      = wks('iterator')
      , TO_STRING_TAG = wks('toStringTag')
      , ArrayValues   = Iterators.Array;
    
    for(var collections = ['NodeList', 'DOMTokenList', 'MediaList', 'StyleSheetList', 'CSSRuleList'], i = 0; i < 5; i++){
      var NAME       = collections[i]
        , Collection = global[NAME]
        , proto      = Collection && Collection.prototype
        , key;
      if(proto){
        if(!proto[ITERATOR])hide(proto, ITERATOR, ArrayValues);
        if(!proto[TO_STRING_TAG])hide(proto, TO_STRING_TAG, NAME);
        Iterators[NAME] = ArrayValues;
        for(key in $iterators)if(!proto[key])redefine(proto, key, $iterators[key], true);
      }
    }

/***/ }),
/* 341 */
/***/ (function(module, exports, __webpack_require__) {

    /* WEBPACK VAR INJECTION */(function(global, process) {/**
     * Copyright (c) 2014, Facebook, Inc.
     * All rights reserved.
     *
     * This source code is licensed under the BSD-style license found in the
     * https://raw.github.com/facebook/regenerator/master/LICENSE file. An
     * additional grant of patent rights can be found in the PATENTS file in
     * the same directory.
     */
    
    !(function(global) {
      "use strict";
    
      var Op = Object.prototype;
      var hasOwn = Op.hasOwnProperty;
      var undefined; // More compressible than void 0.
      var $Symbol = typeof Symbol === "function" ? Symbol : {};
      var iteratorSymbol = $Symbol.iterator || "@@iterator";
      var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag";
    
      var inModule = typeof module === "object";
      var runtime = global.regeneratorRuntime;
      if (runtime) {
        if (inModule) {
          // If regeneratorRuntime is defined globally and we're in a module,
          // make the exports object identical to regeneratorRuntime.
          module.exports = runtime;
        }
        // Don't bother evaluating the rest of this file if the runtime was
        // already defined globally.
        return;
      }
    
      // Define the runtime globally (as expected by generated code) as either
      // module.exports (if we're in a module) or a new, empty object.
      runtime = global.regeneratorRuntime = inModule ? module.exports : {};
    
      function wrap(innerFn, outerFn, self, tryLocsList) {
        // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.
        var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;
        var generator = Object.create(protoGenerator.prototype);
        var context = new Context(tryLocsList || []);
    
        // The ._invoke method unifies the implementations of the .next,
        // .throw, and .return methods.
        generator._invoke = makeInvokeMethod(innerFn, self, context);
    
        return generator;
      }
      runtime.wrap = wrap;
    
      // Try/catch helper to minimize deoptimizations. Returns a completion
      // record like context.tryEntries[i].completion. This interface could
      // have been (and was previously) designed to take a closure to be
      // invoked without arguments, but in all the cases we care about we
      // already have an existing method we want to call, so there's no need
      // to create a new function object. We can even get away with assuming
      // the method takes exactly one argument, since that happens to be true
      // in every case, so we don't have to touch the arguments object. The
      // only additional allocation required is the completion record, which
      // has a stable shape and so hopefully should be cheap to allocate.
      function tryCatch(fn, obj, arg) {
        try {
          return { type: "normal", arg: fn.call(obj, arg) };
        } catch (err) {
          return { type: "throw", arg: err };
        }
      }
    
      var GenStateSuspendedStart = "suspendedStart";
      var GenStateSuspendedYield = "suspendedYield";
      var GenStateExecuting = "executing";
      var GenStateCompleted = "completed";
    
      // Returning this object from the innerFn has the same effect as
      // breaking out of the dispatch switch statement.
      var ContinueSentinel = {};
    
      // Dummy constructor functions that we use as the .constructor and
      // .constructor.prototype properties for functions that return Generator
      // objects. For full spec compliance, you may wish to configure your
      // minifier not to mangle the names of these two functions.
      function Generator() {}
      function GeneratorFunction() {}
      function GeneratorFunctionPrototype() {}
    
      // This is a polyfill for %IteratorPrototype% for environments that
      // don't natively support it.
      var IteratorPrototype = {};
      IteratorPrototype[iteratorSymbol] = function () {
        return this;
      };
    
      var getProto = Object.getPrototypeOf;
      var NativeIteratorPrototype = getProto && getProto(getProto(values([])));
      if (NativeIteratorPrototype &&
          NativeIteratorPrototype !== Op &&
          hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {
        // This environment has a native %IteratorPrototype%; use it instead
        // of the polyfill.
        IteratorPrototype = NativeIteratorPrototype;
      }
    
      var Gp = GeneratorFunctionPrototype.prototype =
        Generator.prototype = Object.create(IteratorPrototype);
      GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;
      GeneratorFunctionPrototype.constructor = GeneratorFunction;
      GeneratorFunctionPrototype[toStringTagSymbol] =
        GeneratorFunction.displayName = "GeneratorFunction";
    
      // Helper for defining the .next, .throw, and .return methods of the
      // Iterator interface in terms of a single ._invoke method.
      function defineIteratorMethods(prototype) {
        ["next", "throw", "return"].forEach(function(method) {
          prototype[method] = function(arg) {
            return this._invoke(method, arg);
          };
        });
      }
    
      runtime.isGeneratorFunction = function(genFun) {
        var ctor = typeof genFun === "function" && genFun.constructor;
        return ctor
          ? ctor === GeneratorFunction ||
            // For the native GeneratorFunction constructor, the best we can
            // do is to check its .name property.
            (ctor.displayName || ctor.name) === "GeneratorFunction"
          : false;
      };
    
      runtime.mark = function(genFun) {
        if (Object.setPrototypeOf) {
          Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);
        } else {
          genFun.__proto__ = GeneratorFunctionPrototype;
          if (!(toStringTagSymbol in genFun)) {
            genFun[toStringTagSymbol] = "GeneratorFunction";
          }
        }
        genFun.prototype = Object.create(Gp);
        return genFun;
      };
    
      // Within the body of any async function, `await x` is transformed to
      // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test
      // `hasOwn.call(value, "__await")` to determine if the yielded value is
      // meant to be awaited.
      runtime.awrap = function(arg) {
        return { __await: arg };
      };
    
      function AsyncIterator(generator) {
        function invoke(method, arg, resolve, reject) {
          var record = tryCatch(generator[method], generator, arg);
          if (record.type === "throw") {
            reject(record.arg);
          } else {
            var result = record.arg;
            var value = result.value;
            if (value &&
                typeof value === "object" &&
                hasOwn.call(value, "__await")) {
              return Promise.resolve(value.__await).then(function(value) {
                invoke("next", value, resolve, reject);
              }, function(err) {
                invoke("throw", err, resolve, reject);
              });
            }
    
            return Promise.resolve(value).then(function(unwrapped) {
              // When a yielded Promise is resolved, its final value becomes
              // the .value of the Promise<{value,done}> result for the
              // current iteration. If the Promise is rejected, however, the
              // result for this iteration will be rejected with the same
              // reason. Note that rejections of yielded Promises are not
              // thrown back into the generator function, as is the case
              // when an awaited Promise is rejected. This difference in
              // behavior between yield and await is important, because it
              // allows the consumer to decide what to do with the yielded
              // rejection (swallow it and continue, manually .throw it back
              // into the generator, abandon iteration, whatever). With
              // await, by contrast, there is no opportunity to examine the
              // rejection reason outside the generator function, so the
              // only option is to throw it from the await expression, and
              // let the generator function handle the exception.
              result.value = unwrapped;
              resolve(result);
            }, reject);
          }
        }
    
        if (typeof process === "object" && process.domain) {
          invoke = process.domain.bind(invoke);
        }
    
        var previousPromise;
    
        function enqueue(method, arg) {
          function callInvokeWithMethodAndArg() {
            return new Promise(function(resolve, reject) {
              invoke(method, arg, resolve, reject);
            });
          }
    
          return previousPromise =
            // If enqueue has been called before, then we want to wait until
            // all previous Promises have been resolved before calling invoke,
            // so that results are always delivered in the correct order. If
            // enqueue has not been called before, then it is important to
            // call invoke immediately, without waiting on a callback to fire,
            // so that the async generator function has the opportunity to do
            // any necessary setup in a predictable way. This predictability
            // is why the Promise constructor synchronously invokes its
            // executor callback, and why async functions synchronously
            // execute code before the first await. Since we implement simple
            // async functions in terms of async generators, it is especially
            // important to get this right, even though it requires care.
            previousPromise ? previousPromise.then(
              callInvokeWithMethodAndArg,
              // Avoid propagating failures to Promises returned by later
              // invocations of the iterator.
              callInvokeWithMethodAndArg
            ) : callInvokeWithMethodAndArg();
        }
    
        // Define the unified helper method that is used to implement .next,
        // .throw, and .return (see defineIteratorMethods).
        this._invoke = enqueue;
      }
    
      defineIteratorMethods(AsyncIterator.prototype);
      runtime.AsyncIterator = AsyncIterator;
    
      // Note that simple async functions are implemented on top of
      // AsyncIterator objects; they just return a Promise for the value of
      // the final result produced by the iterator.
      runtime.async = function(innerFn, outerFn, self, tryLocsList) {
        var iter = new AsyncIterator(
          wrap(innerFn, outerFn, self, tryLocsList)
        );
    
        return runtime.isGeneratorFunction(outerFn)
          ? iter // If outerFn is a generator, return the full iterator.
          : iter.next().then(function(result) {
              return result.done ? result.value : iter.next();
            });
      };
    
      function makeInvokeMethod(innerFn, self, context) {
        var state = GenStateSuspendedStart;
    
        return function invoke(method, arg) {
          if (state === GenStateExecuting) {
            throw new Error("Generator is already running");
          }
    
          if (state === GenStateCompleted) {
            if (method === "throw") {
              throw arg;
            }
    
            // Be forgiving, per 25.3.3.3.3 of the spec:
            // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume
            return doneResult();
          }
    
          context.method = method;
          context.arg = arg;
    
          while (true) {
            var delegate = context.delegate;
            if (delegate) {
              var delegateResult = maybeInvokeDelegate(delegate, context);
              if (delegateResult) {
                if (delegateResult === ContinueSentinel) continue;
                return delegateResult;
              }
            }
    
            if (context.method === "next") {
              // Setting context._sent for legacy support of Babel's
              // function.sent implementation.
              context.sent = context._sent = context.arg;
    
            } else if (context.method === "throw") {
              if (state === GenStateSuspendedStart) {
                state = GenStateCompleted;
                throw context.arg;
              }
    
              context.dispatchException(context.arg);
    
            } else if (context.method === "return") {
              context.abrupt("return", context.arg);
            }
    
            state = GenStateExecuting;
    
            var record = tryCatch(innerFn, self, context);
            if (record.type === "normal") {
              // If an exception is thrown from innerFn, we leave state ===
              // GenStateExecuting and loop back for another invocation.
              state = context.done
                ? GenStateCompleted
                : GenStateSuspendedYield;
    
              if (record.arg === ContinueSentinel) {
                continue;
              }
    
              return {
                value: record.arg,
                done: context.done
              };
    
            } else if (record.type === "throw") {
              state = GenStateCompleted;
              // Dispatch the exception by looping back around to the
              // context.dispatchException(context.arg) call above.
              context.method = "throw";
              context.arg = record.arg;
            }
          }
        };
      }
    
      // Call delegate.iterator[context.method](context.arg) and handle the
      // result, either by returning a { value, done } result from the
      // delegate iterator, or by modifying context.method and context.arg,
      // setting context.delegate to null, and returning the ContinueSentinel.
      function maybeInvokeDelegate(delegate, context) {
        var method = delegate.iterator[context.method];
        if (method === undefined) {
          // A .throw or .return when the delegate iterator has no .throw
          // method always terminates the yield* loop.
          context.delegate = null;
    
          if (context.method === "throw") {
            if (delegate.iterator.return) {
              // If the delegate iterator has a return method, give it a
              // chance to clean up.
              context.method = "return";
              context.arg = undefined;
              maybeInvokeDelegate(delegate, context);
    
              if (context.method === "throw") {
                // If maybeInvokeDelegate(context) changed context.method from
                // "return" to "throw", let that override the TypeError below.
                return ContinueSentinel;
              }
            }
    
            context.method = "throw";
            context.arg = new TypeError(
              "The iterator does not provide a 'throw' method");
          }
    
          return ContinueSentinel;
        }
    
        var record = tryCatch(method, delegate.iterator, context.arg);
    
        if (record.type === "throw") {
          context.method = "throw";
          context.arg = record.arg;
          context.delegate = null;
          return ContinueSentinel;
        }
    
        var info = record.arg;
    
        if (! info) {
          context.method = "throw";
          context.arg = new TypeError("iterator result is not an object");
          context.delegate = null;
          return ContinueSentinel;
        }
    
        if (info.done) {
          // Assign the result of the finished delegate to the temporary
          // variable specified by delegate.resultName (see delegateYield).
          context[delegate.resultName] = info.value;
    
          // Resume execution at the desired location (see delegateYield).
          context.next = delegate.nextLoc;
    
          // If context.method was "throw" but the delegate handled the
          // exception, let the outer generator proceed normally. If
          // context.method was "next", forget context.arg since it has been
          // "consumed" by the delegate iterator. If context.method was
          // "return", allow the original .return call to continue in the
          // outer generator.
          if (context.method !== "return") {
            context.method = "next";
            context.arg = undefined;
          }
    
        } else {
          // Re-yield the result returned by the delegate method.
          return info;
        }
    
        // The delegate iterator is finished, so forget it and continue with
        // the outer generator.
        context.delegate = null;
        return ContinueSentinel;
      }
    
      // Define Generator.prototype.{next,throw,return} in terms of the
      // unified ._invoke helper method.
      defineIteratorMethods(Gp);
    
      Gp[toStringTagSymbol] = "Generator";
    
      Gp.toString = function() {
        return "[object Generator]";
      };
    
      function pushTryEntry(locs) {
        var entry = { tryLoc: locs[0] };
    
        if (1 in locs) {
          entry.catchLoc = locs[1];
        }
    
        if (2 in locs) {
          entry.finallyLoc = locs[2];
          entry.afterLoc = locs[3];
        }
    
        this.tryEntries.push(entry);
      }
    
      function resetTryEntry(entry) {
        var record = entry.completion || {};
        record.type = "normal";
        delete record.arg;
        entry.completion = record;
      }
    
      function Context(tryLocsList) {
        // The root entry object (effectively a try statement without a catch
        // or a finally block) gives us a place to store values thrown from
        // locations where there is no enclosing try statement.
        this.tryEntries = [{ tryLoc: "root" }];
        tryLocsList.forEach(pushTryEntry, this);
        this.reset(true);
      }
    
      runtime.keys = function(object) {
        var keys = [];
        for (var key in object) {
          keys.push(key);
        }
        keys.reverse();
    
        // Rather than returning an object with a next method, we keep
        // things simple and return the next function itself.
        return function next() {
          while (keys.length) {
            var key = keys.pop();
            if (key in object) {
              next.value = key;
              next.done = false;
              return next;
            }
          }
    
          // To avoid creating an additional object, we just hang the .value
          // and .done properties off the next function object itself. This
          // also ensures that the minifier will not anonymize the function.
          next.done = true;
          return next;
        };
      };
    
      function values(iterable) {
        if (iterable) {
          var iteratorMethod = iterable[iteratorSymbol];
          if (iteratorMethod) {
            return iteratorMethod.call(iterable);
          }
    
          if (typeof iterable.next === "function") {
            return iterable;
          }
    
          if (!isNaN(iterable.length)) {
            var i = -1, next = function next() {
              while (++i < iterable.length) {
                if (hasOwn.call(iterable, i)) {
                  next.value = iterable[i];
                  next.done = false;
                  return next;
                }
              }
    
              next.value = undefined;
              next.done = true;
    
              return next;
            };
    
            return next.next = next;
          }
        }
    
        // Return an iterator with no values.
        return { next: doneResult };
      }
      runtime.values = values;
    
      function doneResult() {
        return { value: undefined, done: true };
      }
    
      Context.prototype = {
        constructor: Context,
    
        reset: function(skipTempReset) {
          this.prev = 0;
          this.next = 0;
          // Resetting context._sent for legacy support of Babel's
          // function.sent implementation.
          this.sent = this._sent = undefined;
          this.done = false;
          this.delegate = null;
    
          this.method = "next";
          this.arg = undefined;
    
          this.tryEntries.forEach(resetTryEntry);
    
          if (!skipTempReset) {
            for (var name in this) {
              // Not sure about the optimal order of these conditions:
              if (name.charAt(0) === "t" &&
                  hasOwn.call(this, name) &&
                  !isNaN(+name.slice(1))) {
                this[name] = undefined;
              }
            }
          }
        },
    
        stop: function() {
          this.done = true;
    
          var rootEntry = this.tryEntries[0];
          var rootRecord = rootEntry.completion;
          if (rootRecord.type === "throw") {
            throw rootRecord.arg;
          }
    
          return this.rval;
        },
    
        dispatchException: function(exception) {
          if (this.done) {
            throw exception;
          }
    
          var context = this;
          function handle(loc, caught) {
            record.type = "throw";
            record.arg = exception;
            context.next = loc;
    
            if (caught) {
              // If the dispatched exception was caught by a catch block,
              // then let that catch block handle the exception normally.
              context.method = "next";
              context.arg = undefined;
            }
    
            return !! caught;
          }
    
          for (var i = this.tryEntries.length - 1; i >= 0; --i) {
            var entry = this.tryEntries[i];
            var record = entry.completion;
    
            if (entry.tryLoc === "root") {
              // Exception thrown outside of any try block that could handle
              // it, so set the completion value of the entire function to
              // throw the exception.
              return handle("end");
            }
    
            if (entry.tryLoc <= this.prev) {
              var hasCatch = hasOwn.call(entry, "catchLoc");
              var hasFinally = hasOwn.call(entry, "finallyLoc");
    
              if (hasCatch && hasFinally) {
                if (this.prev < entry.catchLoc) {
                  return handle(entry.catchLoc, true);
                } else if (this.prev < entry.finallyLoc) {
                  return handle(entry.finallyLoc);
                }
    
              } else if (hasCatch) {
                if (this.prev < entry.catchLoc) {
                  return handle(entry.catchLoc, true);
                }
    
              } else if (hasFinally) {
                if (this.prev < entry.finallyLoc) {
                  return handle(entry.finallyLoc);
                }
    
              } else {
                throw new Error("try statement without catch or finally");
              }
            }
          }
        },
    
        abrupt: function(type, arg) {
          for (var i = this.tryEntries.length - 1; i >= 0; --i) {
            var entry = this.tryEntries[i];
            if (entry.tryLoc <= this.prev &&
                hasOwn.call(entry, "finallyLoc") &&
                this.prev < entry.finallyLoc) {
              var finallyEntry = entry;
              break;
            }
          }
    
          if (finallyEntry &&
              (type === "break" ||
               type === "continue") &&
              finallyEntry.tryLoc <= arg &&
              arg <= finallyEntry.finallyLoc) {
            // Ignore the finally entry if control is not jumping to a
            // location outside the try/catch block.
            finallyEntry = null;
          }
    
          var record = finallyEntry ? finallyEntry.completion : {};
          record.type = type;
          record.arg = arg;
    
          if (finallyEntry) {
            this.method = "next";
            this.next = finallyEntry.finallyLoc;
            return ContinueSentinel;
          }
    
          return this.complete(record);
        },
    
        complete: function(record, afterLoc) {
          if (record.type === "throw") {
            throw record.arg;
          }
    
          if (record.type === "break" ||
              record.type === "continue") {
            this.next = record.arg;
          } else if (record.type === "return") {
            this.rval = this.arg = record.arg;
            this.method = "return";
            this.next = "end";
          } else if (record.type === "normal" && afterLoc) {
            this.next = afterLoc;
          }
    
          return ContinueSentinel;
        },
    
        finish: function(finallyLoc) {
          for (var i = this.tryEntries.length - 1; i >= 0; --i) {
            var entry = this.tryEntries[i];
            if (entry.finallyLoc === finallyLoc) {
              this.complete(entry.completion, entry.afterLoc);
              resetTryEntry(entry);
              return ContinueSentinel;
            }
          }
        },
    
        "catch": function(tryLoc) {
          for (var i = this.tryEntries.length - 1; i >= 0; --i) {
            var entry = this.tryEntries[i];
            if (entry.tryLoc === tryLoc) {
              var record = entry.completion;
              if (record.type === "throw") {
                var thrown = record.arg;
                resetTryEntry(entry);
              }
              return thrown;
            }
          }
    
          // The context.catch method must only be called with a location
          // argument that corresponds to a known catch block.
          throw new Error("illegal catch attempt");
        },
    
        delegateYield: function(iterable, resultName, nextLoc) {
          this.delegate = {
            iterator: values(iterable),
            resultName: resultName,
            nextLoc: nextLoc
          };
    
          if (this.method === "next") {
            // Deliberately forget the last sent value so that we don't
            // accidentally pass it on to the delegate.
            this.arg = undefined;
          }
    
          return ContinueSentinel;
        }
      };
    })(
      // Among the various tricks for obtaining a reference to the global
      // object, this seems to be the most reliable technique that does not
      // use indirect eval (which violates Content Security Policy).
      typeof global === "object" ? global :
      typeof window === "object" ? window :
      typeof self === "object" ? self : this
    );
    
    /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()), __webpack_require__(342)))

/***/ }),
/* 342 */
/***/ (function(module, exports) {

    // shim for using process in browser
    var process = module.exports = {};
    
    // cached from whatever global is present so that test runners that stub it
    // don't break things.  But we need to wrap it in a try catch in case it is
    // wrapped in strict mode code which doesn't define any globals.  It's inside a
    // function because try/catches deoptimize in certain engines.
    
    var cachedSetTimeout;
    var cachedClearTimeout;
    
    function defaultSetTimout() {
        throw new Error('setTimeout has not been defined');
    }
    function defaultClearTimeout () {
        throw new Error('clearTimeout has not been defined');
    }
    (function () {
        try {
            if (typeof setTimeout === 'function') {
                cachedSetTimeout = setTimeout;
            } else {
                cachedSetTimeout = defaultSetTimout;
            }
        } catch (e) {
            cachedSetTimeout = defaultSetTimout;
        }
        try {
            if (typeof clearTimeout === 'function') {
                cachedClearTimeout = clearTimeout;
            } else {
                cachedClearTimeout = defaultClearTimeout;
            }
        } catch (e) {
            cachedClearTimeout = defaultClearTimeout;
        }
    } ())
    function runTimeout(fun) {
        if (cachedSetTimeout === setTimeout) {
            //normal enviroments in sane situations
            return setTimeout(fun, 0);
        }
        // if setTimeout wasn't available but was latter defined
        if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {
            cachedSetTimeout = setTimeout;
            return setTimeout(fun, 0);
        }
        try {
            // when when somebody has screwed with setTimeout but no I.E. maddness
            return cachedSetTimeout(fun, 0);
        } catch(e){
            try {
                // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
                return cachedSetTimeout.call(null, fun, 0);
            } catch(e){
                // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error
                return cachedSetTimeout.call(this, fun, 0);
            }
        }
    
    
    }
    function runClearTimeout(marker) {
        if (cachedClearTimeout === clearTimeout) {
            //normal enviroments in sane situations
            return clearTimeout(marker);
        }
        // if clearTimeout wasn't available but was latter defined
        if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {
            cachedClearTimeout = clearTimeout;
            return clearTimeout(marker);
        }
        try {
            // when when somebody has screwed with setTimeout but no I.E. maddness
            return cachedClearTimeout(marker);
        } catch (e){
            try {
                // When we are in I.E. but the script has been evaled so I.E. doesn't  trust the global object when called normally
                return cachedClearTimeout.call(null, marker);
            } catch (e){
                // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.
                // Some versions of I.E. have different rules for clearTimeout vs setTimeout
                return cachedClearTimeout.call(this, marker);
            }
        }
    
    
    
    }
    var queue = [];
    var draining = false;
    var currentQueue;
    var queueIndex = -1;
    
    function cleanUpNextTick() {
        if (!draining || !currentQueue) {
            return;
        }
        draining = false;
        if (currentQueue.length) {
            queue = currentQueue.concat(queue);
        } else {
            queueIndex = -1;
        }
        if (queue.length) {
            drainQueue();
        }
    }
    
    function drainQueue() {
        if (draining) {
            return;
        }
        var timeout = runTimeout(cleanUpNextTick);
        draining = true;
    
        var len = queue.length;
        while(len) {
            currentQueue = queue;
            queue = [];
            while (++queueIndex < len) {
                if (currentQueue) {
                    currentQueue[queueIndex].run();
                }
            }
            queueIndex = -1;
            len = queue.length;
        }
        currentQueue = null;
        draining = false;
        runClearTimeout(timeout);
    }
    
    process.nextTick = function (fun) {
        var args = new Array(arguments.length - 1);
        if (arguments.length > 1) {
            for (var i = 1; i < arguments.length; i++) {
                args[i - 1] = arguments[i];
            }
        }
        queue.push(new Item(fun, args));
        if (queue.length === 1 && !draining) {
            runTimeout(drainQueue);
        }
    };
    
    // v8 likes predictible objects
    function Item(fun, array) {
        this.fun = fun;
        this.array = array;
    }
    Item.prototype.run = function () {
        this.fun.apply(null, this.array);
    };
    process.title = 'browser';
    process.browser = true;
    process.env = {};
    process.argv = [];
    process.version = ''; // empty string to avoid regexp issues
    process.versions = {};
    
    function noop() {}
    
    process.on = noop;
    process.addListener = noop;
    process.once = noop;
    process.off = noop;
    process.removeListener = noop;
    process.removeAllListeners = noop;
    process.emit = noop;
    
    process.binding = function (name) {
        throw new Error('process.binding is not supported');
    };
    
    process.cwd = function () { return '/' };
    process.chdir = function (dir) {
        throw new Error('process.chdir is not supported');
    };
    process.umask = function() { return 0; };


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

    __webpack_require__(344);
    module.exports = __webpack_require__(57).RegExp.escape;

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

    // https://github.com/benjamingr/RexExp.escape
    var $export = __webpack_require__(56)
      , $re     = __webpack_require__(345)(/[\\^$*+?.()|[\]{}]/g, '\\$&');
    
    $export($export.S, 'RegExp', {escape: function escape(it){ return $re(it); }});


/***/ }),
/* 345 */
/***/ (function(module, exports) {

    module.exports = function(regExp, replace){
      var replacer = replace === Object(replace) ? function(part){
        return replace[part];
      } : replace;
      return function(it){
        return String(it).replace(regExp, replacer);
      };
    };

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

    'use strict';
    
    var _n3Docs = __webpack_require__(347);
    
    var _n3Docs2 = _interopRequireDefault(_n3Docs);
    
    var _headerDocs = __webpack_require__(355);
    
    var _headerDocs2 = _interopRequireDefault(_headerDocs);
    
    var _vue = __webpack_require__(555);
    
    var _vue2 = _interopRequireDefault(_vue);
    
    var _index = __webpack_require__(556);
    
    var _index2 = _interopRequireDefault(_index);
    
    function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
    
    // N3Components.install(Vue)
    _vue2.default.use(_index2.default);
    _vue2.default.config.debug = true;
    
    new _vue2.default({
      el: 'div',
      template: '#template',
      components: {
        n3Docs: _n3Docs2.default,
        headerDocs: _headerDocs2.default
      }
    });

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

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __webpack_require__(348)
    __vue_script__ = __webpack_require__(353)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] docs/example/n3Docs.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(554)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-778710f0/n3Docs.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 348 */
/***/ (function(module, exports, __webpack_require__) {

    // style-loader: Adds some css to the DOM by adding a <style> tag
    
    // load the styles
    var content = __webpack_require__(349);
    if(typeof content === 'string') content = [[module.id, content, '']];
    if(content.locals) module.exports = content.locals;
    // add the styles to the DOM
    var update = __webpack_require__(351)("c27728c6", content, false);
    // Hot Module Replacement
    if(false) {
     // When the styles change, update the <style> tags
     if(!content.locals) {
       module.hot.accept("!!../../node_modules/css-loader/index.js?sourceMap!../../node_modules/vue-loader/lib/style-rewriter.js!../../node_modules/vue-loader/lib/selector.js?type=style&index=0!./n3Docs.vue", function() {
         var newContent = require("!!../../node_modules/css-loader/index.js?sourceMap!../../node_modules/vue-loader/lib/style-rewriter.js!../../node_modules/vue-loader/lib/selector.js?type=style&index=0!./n3Docs.vue");
         if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];
         update(newContent);
       });
     }
     // When the module is disposed, remove the <style> tags
     module.hot.dispose(function() { update(); });
    }

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

    exports = module.exports = __webpack_require__(350)();
    // imports
    
    
    // module
    exports.push([module.id, "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.bs-docs-sidenav a:hover{\n  cursor: pointer;\n}\n.version{\n  position: absolute;\n  top: 10px;\n  left: 52px;\n}\n.searchCom{\n  width: 100%;\n  border: 0px;\n  border: 1px solid #f9f9f9;\n  padding: 5px 10px;\n  margin-top: 10px;\n  outline: none;\n  border-radius: 20px;\n}\n\n", "", {"version":3,"sources":["/./docs/example/n3Docs.vue?d6f26ba0"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgRA;EACA,gBAAA;CACA;AACA;EACA,mBAAA;EACA,UAAA;EACA,WAAA;CACA;AACA;EACA,YAAA;EACA,YAAA;EACA,0BAAA;EACA,kBAAA;EACA,iBAAA;EACA,cAAA;EACA,oBAAA;CACA","file":"n3Docs.vue","sourcesContent":["<template>\n  <div>\n    <div>\n      <header-docs class=\"freeze\" :active=\"type\"></header-docs>\n      <n3-container class=\"bs-docs-container\" v-if=\"type === 'base'\">\n          <n3-row >\n            <n3-column :col=\"2\">\n              <input placeholder=\"搜索\" v-model=\"search\" class=\"searchCom\" ></input>\n              <n3-nav type=\"vertical\" :default-openeds=\"['基本','提示','表单','展示','导航','其他']\">\n                  <n3-sub-nav v-for=\"(item, index) in list\"  :index=\"index\">\n                    <template slot=\"title\">{{index}}</template>\n                    <n3-nav-item v-for=\"(i,index1) in item.list\" :index=\"index1\" :key=\"index1\" :active=\"component == i.value\" @click.native=\"change(i.value)\">\n                      <a v-text=\"i.label\"></a>\n                    </n3-nav-item>\n                  </n3-sub-nav>\n              </n3-nav>\n            </n3-column>\n            <n3-column :col=\"10\">\n              <component :is=\"component\" ></component>\n            </n3-column>\n          </n3-row>\n      </n3-container>\n      <template v-else>\n        <slot></slot>\n      </template>\n    </div>\n    <footer class=\"bs-docs-footer\">\n      <n3-container >\n        <ul>\n          <li><span>Email:</span>zhangking520@gmail.com</li>\n          <li><span>Github:</span><a href=\"https://github.com/N3-components/N3-components\">Repository</a></li>\n          <li><span>QQ Group:</span>556286036</li>\n          <li><span>gitter:</span><a href=\"https://gitter.im/N3-components/english?utm_source=share-link&utm_medium=link&utm_campaign=share-link\">gitter link </a></li>\n        </ul>\n      </n3-container>\n    </footer>\n  </div>\n</template>\n\n<script>\nrequire('../js/showLanguage')\n\nimport prismjs from 'prismjs'\nimport headerDocs from './headerDocs.vue'\nimport n3LayoutDocs from './n3LayoutDocs.md'\nimport n3IconDocs from './n3IconDocs.md'\nimport n3TagsDocs from './n3TagsDocs.md'\nimport n3AlertDocs from './n3AlertDocs.md'\nimport n3AccordionDocs from './n3AccordionDocs.md'\nimport n3CascaderDocs from './n3CascaderDocs.md'\nimport n3AffixDocs from './n3AffixDocs.md'\nimport n3AsideDocs from './n3AsideDocs.md'\nimport n3CarouselDocs from './n3CarouselDocs.md'\nimport n3ButtonsDocs from './n3ButtonsDocs.md'\nimport n3ToastDocs from './n3ToastDocs.md'\nimport n3DatepickerDocs from './n3DatepickerDocs.md'\nimport n3TimepickerDocs from './n3TimepickerDocs.md'\nimport n3DatetimepickerDocs from './n3DatetimepickerDocs.md'\nimport n3DropdownDocs from './n3DropdownDocs.md'\nimport n3ModalDocs from './n3ModalDocs.md'\nimport n3InputDocs from './n3InputDocs.md'\nimport n3InputNumberDocs from './n3InputNumberDocs.md'\nimport n3TextareaDocs from './n3TextareaDocs.md'\nimport n3NavDocs from './n3NavDocs.md'\nimport n3PopoverDocs from './n3PopoverDocs.md'\nimport n3ProgressbarDocs from './n3ProgressbarDocs.md'\nimport n3SelectDocs from './n3SelectDocs.md'\nimport n3SwitchDocs from './n3SwitchDocs.md'\nimport n3TimelineDocs from './n3TimelineDocs.md'\nimport n3TabsDocs from './n3TabsDocs.md'\nimport n3TooltipDocs from './n3TooltipDocs.md'\nimport n3TypeaheadDocs from './n3TypeaheadDocs.md'\nimport n3StepDocs from './n3StepDocs.md'\nimport n3SliderDocs from './n3SliderDocs.md'\nimport n3LoadingDocs from './n3LoadingDocs.md'\nimport n3PageDocs from './n3PageDocs.md'\nimport n3DataTableDocs from './n3DataTableDocs.md'\nimport n3BreadcrumbDocs from './n3BreadcrumbDocs.md'\nimport n3MultipleInputDocs from './n3MultipleInputDocs.md'\nimport n3TreeDocs from './n3TreeDocs.md'\nimport n3RateDocs from './n3RateDocs.md'\nimport n3UploaderDocs from './n3UploaderDocs.md'\nimport n3FormDocs from './n3FormDocs.md'\nimport n3CheckboxDocs from './n3CheckboxDocs.md'\nimport n3RadioDocs from './n3RadioDocs.md'\nimport n3CardDocs from './n3CardDocs.md'\nimport n3AnimateDocs from './n3AnimateDocs.md'\n\nexport default{\n  props: {\n    type: {\n      type: String\n    }\n  },\n  data () {\n    var map, component\n\n    if (this.type === 'base') {\n      map = {\n        '基本': {show: true,\n                list: [{label: '布局', value: 'n3LayoutDocs'},\n                {label: '固钉', value: 'n3AffixDocs'},\n                {label: '按钮', value: 'n3ButtonsDocs'},\n                {label: '图标', value: 'n3IconDocs'}]},\n\n        '提示': {show: true,\n                list: [{label: '提示消息', value: 'n3AlertDocs'},\n                {label: '页面提示', value: 'n3ToastDocs'},\n                {label: '浮出提示', value: 'n3TooltipDocs'},\n                {label: '气泡框', value: 'n3PopoverDocs'},\n                {label: '加载提示', value: 'n3LoadingDocs'}]},\n\n        '表单': {show: true,\n                list: [{label: '输入框', value: 'n3InputDocs'},\n                {label: '数字输入框', value: 'n3InputNumberDocs'},\n                {label: '文本框', value: 'n3TextareaDocs'},\n                {label: '级联选择', value: 'n3CascaderDocs'},\n                {label: '单选框', value: 'n3RadioDocs'},\n                {label: '多选框', value: 'n3CheckboxDocs'},\n                {label: '选择框', value: 'n3SelectDocs'},\n                {label: '滑块', value: 'n3SliderDocs'},\n                {label: '日期选择器', value: 'n3DatepickerDocs'},\n                {label: '时间选择器', value: 'n3TimepickerDocs'},\n                {label: '日期时间选择器', value: 'n3DatetimepickerDocs'},\n                {label: '开关', value: 'n3SwitchDocs'},\n                {label: '文件上传', value: 'n3UploaderDocs'},\n                {label: '自动补全', value: 'n3TypeaheadDocs'},\n                {label: '自定义输入', value: 'n3MultipleInputDocs'},\n                {label: '表单验证', value: 'n3FormDocs'}]},\n\n        '展示': {show: true,\n                list: [{label: '折叠面板', value: 'n3AccordionDocs'},\n                 {label: '卡片', value: 'n3CardDocs'},\n                 {label: '侧边栏', value: 'n3AsideDocs'},\n                 {label: '幻灯片', value: 'n3CarouselDocs'},\n                 {label: '数据表格', value: 'n3DataTableDocs'},\n                 {label: '下拉框', value: 'n3DropdownDocs'},\n                 {label: '评分', value: 'n3RateDocs'},\n                 {label: '弹出框', value: 'n3ModalDocs'},\n                 {label: '进度条', value: 'n3ProgressbarDocs'},\n                 {label: '标签', value: 'n3TagsDocs'},\n                 {label: '时间轴', value: 'n3TimelineDocs'},\n                 {label: '树形', value: 'n3TreeDocs'},\n                 {label: '步骤条', value: 'n3StepDocs'}]},\n\n        '导航': {show: true,\n                list: [{label: '导航', value: 'n3NavDocs'},\n                 {label: '面包屑', value: 'n3BreadcrumbDocs'},\n                 {label: '分页', value: 'n3PageDocs'},\n                 {label: '标签页', value: 'n3TabsDocs'}]},\n\n        '其他': {show: true,\n                list: [{label: '动画', value: 'n3AnimateDocs'}]}}\n\n      component = 'n3LayoutDocs'\n    }\n\n    return {\n      component: component,\n      anchor: '',\n      map: map,\n      list: {},\n      search: ''\n    }\n  },\n  watch: {\n    search (val) {\n      let ret = {}\n      let map = this.map\n      for (let i in map) {\n        let show = map[i].show\n        let list = map[i].list\n        let t = list.filter((i) => {\n          let v = val.toLowerCase()\n          let label = i.label\n          let value = i.value.toLowerCase().replace('Docs', '').replace('n3', '')\n          return label.indexOf(v) > -1 || value.indexOf(v) > -1\n        })\n        if (t.length) {\n          ret[i] = {\n            show: show,\n            list: t\n          }\n        }\n      }\n      this.list = ret\n    }\n  },\n  methods: {\n    handleToggle (item) {\n      item.show = !item.show\n    },\n    change (value) {\n      this.component = value\n      window.location.hash = value\n    },\n    init () {      \n      var hash = window.location.hash\n      hash = hash.substr(1, hash.length)\n      if (hash) {\n        this.component = hash\n        setTimeout(() => {\n          prismjs.highlightAll()\n          document.querySelectorAll('table').forEach(i => {\n            i.classList.add('table', 'table-bordered')\n          })\n        })\n      }\n    }\n  },\n  mounted () {\n    this.list = this.map\n    this.init()\n    window.onhashchange = this.init\n\n    setTimeout(() => {\n      prismjs.highlightAll()\n      document.querySelectorAll('table').forEach(i => {\n        i.classList.add('table', 'table-bordered')\n      })\n    })\n  },\n  components: {\n    headerDocs,\n    n3LayoutDocs,\n    n3AlertDocs,\n    n3AccordionDocs,\n    n3IconDocs,\n    n3AffixDocs,\n    n3SwitchDocs,\n    n3AsideDocs,\n    n3ToastDocs,\n    n3CarouselDocs,\n    n3InputDocs,\n    n3TextareaDocs,\n    n3ButtonsDocs,\n    n3DatepickerDocs,\n    n3TimepickerDocs,\n    n3RateDocs,\n    n3DatetimepickerDocs,\n    n3InputNumberDocs,\n    n3UploaderDocs,\n    n3TreeDocs,\n    n3DropdownDocs,\n    n3CardDocs,\n    n3ModalDocs,\n    n3PopoverDocs,\n    n3SelectDocs,\n    n3RadioDocs,\n    n3CheckboxDocs,\n    n3TabsDocs,\n    n3TooltipDocs,\n    n3TypeaheadDocs,\n    n3StepDocs,\n    n3NavDocs,\n    n3ProgressbarDocs,\n    n3TimelineDocs,\n    n3LoadingDocs,\n    n3PageDocs,\n    n3SliderDocs,\n    n3CascaderDocs,\n    n3MultipleInputDocs,\n    n3DataTableDocs,\n    n3BreadcrumbDocs,\n    n3FormDocs,\n    n3TagsDocs,\n    n3AnimateDocs\n  }\n}\n</script>\n\n<style>\n  .bs-docs-sidenav a:hover{\n    cursor: pointer;\n  }\n  .version{\n    position: absolute;\n    top: 10px;\n    left: 52px;\n  }\n  .searchCom{\n    width: 100%;\n    border: 0px;\n    border: 1px solid #f9f9f9;\n    padding: 5px 10px;\n    margin-top: 10px;\n    outline: none;\n    border-radius: 20px;\n  }\n\n</style>"],"sourceRoot":"webpack://"}]);
    
    // exports


/***/ }),
/* 350 */
/***/ (function(module, exports) {

    /*
        MIT License http://www.opensource.org/licenses/mit-license.php
        Author Tobias Koppers @sokra
    */
    // css base code, injected by the css-loader
    module.exports = function() {
        var list = [];
    
        // return the list of modules as css string
        list.toString = function toString() {
            var result = [];
            for(var i = 0; i < this.length; i++) {
                var item = this[i];
                if(item[2]) {
                    result.push("@media " + item[2] + "{" + item[1] + "}");
                } else {
                    result.push(item[1]);
                }
            }
            return result.join("");
        };
    
        // import a list of modules into the list
        list.i = function(modules, mediaQuery) {
            if(typeof modules === "string")
                modules = [[null, modules, ""]];
            var alreadyImportedModules = {};
            for(var i = 0; i < this.length; i++) {
                var id = this[i][0];
                if(typeof id === "number")
                    alreadyImportedModules[id] = true;
            }
            for(i = 0; i < modules.length; i++) {
                var item = modules[i];
                // skip already imported module
                // this implementation is not 100% perfect for weird media query combinations
                //  when a module is imported multiple times with different media queries.
                //  I hope this will never occur (Hey this way we have smaller bundles)
                if(typeof item[0] !== "number" || !alreadyImportedModules[item[0]]) {
                    if(mediaQuery && !item[2]) {
                        item[2] = mediaQuery;
                    } else if(mediaQuery) {
                        item[2] = "(" + item[2] + ") and (" + mediaQuery + ")";
                    }
                    list.push(item);
                }
            }
        };
        return list;
    };


/***/ }),
/* 351 */
/***/ (function(module, exports, __webpack_require__) {

    /*
      MIT License http://www.opensource.org/licenses/mit-license.php
      Author Tobias Koppers @sokra
      Modified by Evan You @yyx990803
    */
    
    var hasDocument = typeof document !== 'undefined'
    
    if (false) {
      if (!hasDocument) {
        throw new Error(
        'vue-style-loader cannot be used in a non-browser environment. ' +
        "Use { target: 'node' } in your Webpack config to indicate a server-rendering environment."
      ) }
    }
    
    var listToStyles = __webpack_require__(352)
    
    /*
    type StyleObject = {
      id: number;
      parts: Array<StyleObjectPart>
    }
    
    type StyleObjectPart = {
      css: string;
      media: string;
      sourceMap: ?string
    }
    */
    
    var stylesInDom = {/*
      [id: number]: {
        id: number,
        refs: number,
        parts: Array<(obj?: StyleObjectPart) => void>
      }
    */}
    
    var head = hasDocument && (document.head || document.getElementsByTagName('head')[0])
    var singletonElement = null
    var singletonCounter = 0
    var isProduction = false
    var noop = function () {}
    
    // Force single-tag solution on IE6-9, which has a hard limit on the # of <style>
    // tags it will allow on a page
    var isOldIE = typeof navigator !== 'undefined' && /msie [6-9]\b/.test(navigator.userAgent.toLowerCase())
    
    module.exports = function (parentId, list, _isProduction) {
      isProduction = _isProduction
    
      var styles = listToStyles(parentId, list)
      addStylesToDom(styles)
    
      return function update (newList) {
        var mayRemove = []
        for (var i = 0; i < styles.length; i++) {
          var item = styles[i]
          var domStyle = stylesInDom[item.id]
          domStyle.refs--
          mayRemove.push(domStyle)
        }
        if (newList) {
          styles = listToStyles(parentId, newList)
          addStylesToDom(styles)
        } else {
          styles = []
        }
        for (var i = 0; i < mayRemove.length; i++) {
          var domStyle = mayRemove[i]
          if (domStyle.refs === 0) {
            for (var j = 0; j < domStyle.parts.length; j++) {
              domStyle.parts[j]()
            }
            delete stylesInDom[domStyle.id]
          }
        }
      }
    }
    
    function addStylesToDom (styles /* Array<StyleObject> */) {
      for (var i = 0; i < styles.length; i++) {
        var item = styles[i]
        var domStyle = stylesInDom[item.id]
        if (domStyle) {
          domStyle.refs++
          for (var j = 0; j < domStyle.parts.length; j++) {
            domStyle.parts[j](item.parts[j])
          }
          for (; j < item.parts.length; j++) {
            domStyle.parts.push(addStyle(item.parts[j]))
          }
          if (domStyle.parts.length > item.parts.length) {
            domStyle.parts.length = item.parts.length
          }
        } else {
          var parts = []
          for (var j = 0; j < item.parts.length; j++) {
            parts.push(addStyle(item.parts[j]))
          }
          stylesInDom[item.id] = { id: item.id, refs: 1, parts: parts }
        }
      }
    }
    
    function createStyleElement () {
      var styleElement = document.createElement('style')
      styleElement.type = 'text/css'
      head.appendChild(styleElement)
      return styleElement
    }
    
    function addStyle (obj /* StyleObjectPart */) {
      var update, remove
      var styleElement = document.querySelector('style[data-vue-ssr-id~="' + obj.id + '"]')
    
      if (styleElement) {
        if (isProduction) {
          // has SSR styles and in production mode.
          // simply do nothing.
          return noop
        } else {
          // has SSR styles but in dev mode.
          // for some reason Chrome can't handle source map in server-rendered
          // style tags - source maps in <style> only works if the style tag is
          // created and inserted dynamically. So we remove the server rendered
          // styles and inject new ones.
          styleElement.parentNode.removeChild(styleElement)
        }
      }
    
      if (isOldIE) {
        // use singleton mode for IE9.
        var styleIndex = singletonCounter++
        styleElement = singletonElement || (singletonElement = createStyleElement())
        update = applyToSingletonTag.bind(null, styleElement, styleIndex, false)
        remove = applyToSingletonTag.bind(null, styleElement, styleIndex, true)
      } else {
        // use multi-style-tag mode in all other cases
        styleElement = createStyleElement()
        update = applyToTag.bind(null, styleElement)
        remove = function () {
          styleElement.parentNode.removeChild(styleElement)
        }
      }
    
      update(obj)
    
      return function updateStyle (newObj /* StyleObjectPart */) {
        if (newObj) {
          if (newObj.css === obj.css &&
              newObj.media === obj.media &&
              newObj.sourceMap === obj.sourceMap) {
            return
          }
          update(obj = newObj)
        } else {
          remove()
        }
      }
    }
    
    var replaceText = (function () {
      var textStore = []
    
      return function (index, replacement) {
        textStore[index] = replacement
        return textStore.filter(Boolean).join('\n')
      }
    })()
    
    function applyToSingletonTag (styleElement, index, remove, obj) {
      var css = remove ? '' : obj.css
    
      if (styleElement.styleSheet) {
        styleElement.styleSheet.cssText = replaceText(index, css)
      } else {
        var cssNode = document.createTextNode(css)
        var childNodes = styleElement.childNodes
        if (childNodes[index]) styleElement.removeChild(childNodes[index])
        if (childNodes.length) {
          styleElement.insertBefore(cssNode, childNodes[index])
        } else {
          styleElement.appendChild(cssNode)
        }
      }
    }
    
    function applyToTag (styleElement, obj) {
      var css = obj.css
      var media = obj.media
      var sourceMap = obj.sourceMap
    
      if (media) {
        styleElement.setAttribute('media', media)
      }
    
      if (sourceMap) {
        // https://developer.chrome.com/devtools/docs/javascript-debugging
        // this makes source maps inside style tags work properly in Chrome
        css += '\n/*# sourceURL=' + sourceMap.sources[0] + ' */'
        // http://stackoverflow.com/a/26603875
        css += '\n/*# sourceMappingURL=data:application/json;base64,' + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + ' */'
      }
    
      if (styleElement.styleSheet) {
        styleElement.styleSheet.cssText = css
      } else {
        while (styleElement.firstChild) {
          styleElement.removeChild(styleElement.firstChild)
        }
        styleElement.appendChild(document.createTextNode(css))
      }
    }


/***/ }),
/* 352 */
/***/ (function(module, exports) {

    /**
     * Translates the list format produced by css-loader into something
     * easier to manipulate.
     */
    module.exports = function listToStyles (parentId, list) {
      var styles = []
      var newStyles = {}
      for (var i = 0; i < list.length; i++) {
        var item = list[i]
        var id = item[0]
        var css = item[1]
        var media = item[2]
        var sourceMap = item[3]
        var part = {
          id: parentId + ':' + i,
          css: css,
          media: media,
          sourceMap: sourceMap
        }
        if (!newStyles[id]) {
          styles.push(newStyles[id] = { id: id, parts: [part] })
        } else {
          newStyles[id].parts.push(part)
        }
      }
      return styles
    }


/***/ }),
/* 353 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    
    var _prismjs = __webpack_require__(354);
    
    var _prismjs2 = _interopRequireDefault(_prismjs);
    
    var _headerDocs = __webpack_require__(355);
    
    var _headerDocs2 = _interopRequireDefault(_headerDocs);
    
    var _n3LayoutDocs = __webpack_require__(358);
    
    var _n3LayoutDocs2 = _interopRequireDefault(_n3LayoutDocs);
    
    var _n3IconDocs = __webpack_require__(363);
    
    var _n3IconDocs2 = _interopRequireDefault(_n3IconDocs);
    
    var _n3TagsDocs = __webpack_require__(369);
    
    var _n3TagsDocs2 = _interopRequireDefault(_n3TagsDocs);
    
    var _n3AlertDocs = __webpack_require__(373);
    
    var _n3AlertDocs2 = _interopRequireDefault(_n3AlertDocs);
    
    var _n3AccordionDocs = __webpack_require__(394);
    
    var _n3AccordionDocs2 = _interopRequireDefault(_n3AccordionDocs);
    
    var _n3CascaderDocs = __webpack_require__(398);
    
    var _n3CascaderDocs2 = _interopRequireDefault(_n3CascaderDocs);
    
    var _n3AffixDocs = __webpack_require__(402);
    
    var _n3AffixDocs2 = _interopRequireDefault(_n3AffixDocs);
    
    var _n3AsideDocs = __webpack_require__(408);
    
    var _n3AsideDocs2 = _interopRequireDefault(_n3AsideDocs);
    
    var _n3CarouselDocs = __webpack_require__(412);
    
    var _n3CarouselDocs2 = _interopRequireDefault(_n3CarouselDocs);
    
    var _n3ButtonsDocs = __webpack_require__(417);
    
    var _n3ButtonsDocs2 = _interopRequireDefault(_n3ButtonsDocs);
    
    var _n3ToastDocs = __webpack_require__(420);
    
    var _n3ToastDocs2 = _interopRequireDefault(_n3ToastDocs);
    
    var _n3DatepickerDocs = __webpack_require__(424);
    
    var _n3DatepickerDocs2 = _interopRequireDefault(_n3DatepickerDocs);
    
    var _n3TimepickerDocs = __webpack_require__(428);
    
    var _n3TimepickerDocs2 = _interopRequireDefault(_n3TimepickerDocs);
    
    var _n3DatetimepickerDocs = __webpack_require__(432);
    
    var _n3DatetimepickerDocs2 = _interopRequireDefault(_n3DatetimepickerDocs);
    
    var _n3DropdownDocs = __webpack_require__(436);
    
    var _n3DropdownDocs2 = _interopRequireDefault(_n3DropdownDocs);
    
    var _n3ModalDocs = __webpack_require__(440);
    
    var _n3ModalDocs2 = _interopRequireDefault(_n3ModalDocs);
    
    var _n3InputDocs = __webpack_require__(444);
    
    var _n3InputDocs2 = _interopRequireDefault(_n3InputDocs);
    
    var _n3InputNumberDocs = __webpack_require__(448);
    
    var _n3InputNumberDocs2 = _interopRequireDefault(_n3InputNumberDocs);
    
    var _n3TextareaDocs = __webpack_require__(452);
    
    var _n3TextareaDocs2 = _interopRequireDefault(_n3TextareaDocs);
    
    var _n3NavDocs = __webpack_require__(456);
    
    var _n3NavDocs2 = _interopRequireDefault(_n3NavDocs);
    
    var _n3PopoverDocs = __webpack_require__(460);
    
    var _n3PopoverDocs2 = _interopRequireDefault(_n3PopoverDocs);
    
    var _n3ProgressbarDocs = __webpack_require__(464);
    
    var _n3ProgressbarDocs2 = _interopRequireDefault(_n3ProgressbarDocs);
    
    var _n3SelectDocs = __webpack_require__(470);
    
    var _n3SelectDocs2 = _interopRequireDefault(_n3SelectDocs);
    
    var _n3SwitchDocs = __webpack_require__(474);
    
    var _n3SwitchDocs2 = _interopRequireDefault(_n3SwitchDocs);
    
    var _n3TimelineDocs = __webpack_require__(478);
    
    var _n3TimelineDocs2 = _interopRequireDefault(_n3TimelineDocs);
    
    var _n3TabsDocs = __webpack_require__(482);
    
    var _n3TabsDocs2 = _interopRequireDefault(_n3TabsDocs);
    
    var _n3TooltipDocs = __webpack_require__(486);
    
    var _n3TooltipDocs2 = _interopRequireDefault(_n3TooltipDocs);
    
    var _n3TypeaheadDocs = __webpack_require__(490);
    
    var _n3TypeaheadDocs2 = _interopRequireDefault(_n3TypeaheadDocs);
    
    var _n3StepDocs = __webpack_require__(494);
    
    var _n3StepDocs2 = _interopRequireDefault(_n3StepDocs);
    
    var _n3SliderDocs = __webpack_require__(497);
    
    var _n3SliderDocs2 = _interopRequireDefault(_n3SliderDocs);
    
    var _n3LoadingDocs = __webpack_require__(501);
    
    var _n3LoadingDocs2 = _interopRequireDefault(_n3LoadingDocs);
    
    var _n3PageDocs = __webpack_require__(504);
    
    var _n3PageDocs2 = _interopRequireDefault(_n3PageDocs);
    
    var _n3DataTableDocs = __webpack_require__(508);
    
    var _n3DataTableDocs2 = _interopRequireDefault(_n3DataTableDocs);
    
    var _n3BreadcrumbDocs = __webpack_require__(512);
    
    var _n3BreadcrumbDocs2 = _interopRequireDefault(_n3BreadcrumbDocs);
    
    var _n3MultipleInputDocs = __webpack_require__(515);
    
    var _n3MultipleInputDocs2 = _interopRequireDefault(_n3MultipleInputDocs);
    
    var _n3TreeDocs = __webpack_require__(519);
    
    var _n3TreeDocs2 = _interopRequireDefault(_n3TreeDocs);
    
    var _n3RateDocs = __webpack_require__(523);
    
    var _n3RateDocs2 = _interopRequireDefault(_n3RateDocs);
    
    var _n3UploaderDocs = __webpack_require__(527);
    
    var _n3UploaderDocs2 = _interopRequireDefault(_n3UploaderDocs);
    
    var _n3FormDocs = __webpack_require__(531);
    
    var _n3FormDocs2 = _interopRequireDefault(_n3FormDocs);
    
    var _n3CheckboxDocs = __webpack_require__(535);
    
    var _n3CheckboxDocs2 = _interopRequireDefault(_n3CheckboxDocs);
    
    var _n3RadioDocs = __webpack_require__(539);
    
    var _n3RadioDocs2 = _interopRequireDefault(_n3RadioDocs);
    
    var _n3CardDocs = __webpack_require__(543);
    
    var _n3CardDocs2 = _interopRequireDefault(_n3CardDocs);
    
    var _n3AnimateDocs = __webpack_require__(547);
    
    var _n3AnimateDocs2 = _interopRequireDefault(_n3AnimateDocs);
    
    function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
    
    // <template>
    //   <div>
    //     <div>
    //       <header-docs class="freeze" :active="type"></header-docs>
    //       <n3-container class="bs-docs-container" v-if="type === 'base'">
    //           <n3-row >
    //             <n3-column :col="2">
    //               <input placeholder="搜索" v-model="search" class="searchCom" ></input>
    //               <n3-nav type="vertical" :default-openeds="['基本','提示','表单','展示','导航','其他']">
    //                   <n3-sub-nav v-for="(item, index) in list"  :index="index">
    //                     <template slot="title">{{index}}</template>
    //                     <n3-nav-item v-for="(i,index1) in item.list" :index="index1" :key="index1" :active="component == i.value" @click.native="change(i.value)">
    //                       <a v-text="i.label"></a>
    //                     </n3-nav-item>
    //                   </n3-sub-nav>
    //               </n3-nav>
    //             </n3-column>
    //             <n3-column :col="10">
    //               <component :is="component" ></component>
    //             </n3-column>
    //           </n3-row>
    //       </n3-container>
    //       <template v-else>
    //         <slot></slot>
    //       </template>
    //     </div>
    //     <footer class="bs-docs-footer">
    //       <n3-container >
    //         <ul>
    //           <li><span>Email:</span>zhangking520@gmail.com</li>
    //           <li><span>Github:</span><a href="https://github.com/N3-components/N3-components">Repository</a></li>
    //           <li><span>QQ Group:</span>556286036</li>
    //           <li><span>gitter:</span><a href="https://gitter.im/N3-components/english?utm_source=share-link&utm_medium=link&utm_campaign=share-link">gitter link </a></li>
    //         </ul>
    //       </n3-container>
    //     </footer>
    //   </div>
    // </template>
    //
    // <script>
    __webpack_require__(553);
    
    exports.default = {
      props: {
        type: {
          type: String
        }
      },
      data: function data() {
        var map, component;
    
        if (this.type === 'base') {
          map = {
            '基本': { show: true,
              list: [{ label: '布局', value: 'n3LayoutDocs' }, { label: '固钉', value: 'n3AffixDocs' }, { label: '按钮', value: 'n3ButtonsDocs' }, { label: '图标', value: 'n3IconDocs' }] },
    
            '提示': { show: true,
              list: [{ label: '提示消息', value: 'n3AlertDocs' }, { label: '页面提示', value: 'n3ToastDocs' }, { label: '浮出提示', value: 'n3TooltipDocs' }, { label: '气泡框', value: 'n3PopoverDocs' }, { label: '加载提示', value: 'n3LoadingDocs' }] },
    
            '表单': { show: true,
              list: [{ label: '输入框', value: 'n3InputDocs' }, { label: '数字输入框', value: 'n3InputNumberDocs' }, { label: '文本框', value: 'n3TextareaDocs' }, { label: '级联选择', value: 'n3CascaderDocs' }, { label: '单选框', value: 'n3RadioDocs' }, { label: '多选框', value: 'n3CheckboxDocs' }, { label: '选择框', value: 'n3SelectDocs' }, { label: '滑块', value: 'n3SliderDocs' }, { label: '日期选择器', value: 'n3DatepickerDocs' }, { label: '时间选择器', value: 'n3TimepickerDocs' }, { label: '日期时间选择器', value: 'n3DatetimepickerDocs' }, { label: '开关', value: 'n3SwitchDocs' }, { label: '文件上传', value: 'n3UploaderDocs' }, { label: '自动补全', value: 'n3TypeaheadDocs' }, { label: '自定义输入', value: 'n3MultipleInputDocs' }, { label: '表单验证', value: 'n3FormDocs' }] },
    
            '展示': { show: true,
              list: [{ label: '折叠面板', value: 'n3AccordionDocs' }, { label: '卡片', value: 'n3CardDocs' }, { label: '侧边栏', value: 'n3AsideDocs' }, { label: '幻灯片', value: 'n3CarouselDocs' }, { label: '数据表格', value: 'n3DataTableDocs' }, { label: '下拉框', value: 'n3DropdownDocs' }, { label: '评分', value: 'n3RateDocs' }, { label: '弹出框', value: 'n3ModalDocs' }, { label: '进度条', value: 'n3ProgressbarDocs' }, { label: '标签', value: 'n3TagsDocs' }, { label: '时间轴', value: 'n3TimelineDocs' }, { label: '树形', value: 'n3TreeDocs' }, { label: '步骤条', value: 'n3StepDocs' }] },
    
            '导航': { show: true,
              list: [{ label: '导航', value: 'n3NavDocs' }, { label: '面包屑', value: 'n3BreadcrumbDocs' }, { label: '分页', value: 'n3PageDocs' }, { label: '标签页', value: 'n3TabsDocs' }] },
    
            '其他': { show: true,
              list: [{ label: '动画', value: 'n3AnimateDocs' }] } };
    
          component = 'n3LayoutDocs';
        }
    
        return {
          component: component,
          anchor: '',
          map: map,
          list: {},
          search: ''
        };
      },
    
      watch: {
        search: function search(val) {
          var ret = {};
          var map = this.map;
          for (var i in map) {
            var show = map[i].show;
            var list = map[i].list;
            var t = list.filter(function (i) {
              var v = val.toLowerCase();
              var label = i.label;
              var value = i.value.toLowerCase().replace('Docs', '').replace('n3', '');
              return label.indexOf(v) > -1 || value.indexOf(v) > -1;
            });
            if (t.length) {
              ret[i] = {
                show: show,
                list: t
              };
            }
          }
          this.list = ret;
        }
      },
      methods: {
        handleToggle: function handleToggle(item) {
          item.show = !item.show;
        },
        change: function change(value) {
          this.component = value;
          window.location.hash = value;
        },
        init: function init() {
          var hash = window.location.hash;
          hash = hash.substr(1, hash.length);
          if (hash) {
            this.component = hash;
            setTimeout(function () {
              _prismjs2.default.highlightAll();
              document.querySelectorAll('table').forEach(function (i) {
                i.classList.add('table', 'table-bordered');
              });
            });
          }
        }
      },
      mounted: function mounted() {
        this.list = this.map;
        this.init();
        window.onhashchange = this.init;
    
        setTimeout(function () {
          _prismjs2.default.highlightAll();
          document.querySelectorAll('table').forEach(function (i) {
            i.classList.add('table', 'table-bordered');
          });
        });
      },
    
      components: {
        headerDocs: _headerDocs2.default,
        n3LayoutDocs: _n3LayoutDocs2.default,
        n3AlertDocs: _n3AlertDocs2.default,
        n3AccordionDocs: _n3AccordionDocs2.default,
        n3IconDocs: _n3IconDocs2.default,
        n3AffixDocs: _n3AffixDocs2.default,
        n3SwitchDocs: _n3SwitchDocs2.default,
        n3AsideDocs: _n3AsideDocs2.default,
        n3ToastDocs: _n3ToastDocs2.default,
        n3CarouselDocs: _n3CarouselDocs2.default,
        n3InputDocs: _n3InputDocs2.default,
        n3TextareaDocs: _n3TextareaDocs2.default,
        n3ButtonsDocs: _n3ButtonsDocs2.default,
        n3DatepickerDocs: _n3DatepickerDocs2.default,
        n3TimepickerDocs: _n3TimepickerDocs2.default,
        n3RateDocs: _n3RateDocs2.default,
        n3DatetimepickerDocs: _n3DatetimepickerDocs2.default,
        n3InputNumberDocs: _n3InputNumberDocs2.default,
        n3UploaderDocs: _n3UploaderDocs2.default,
        n3TreeDocs: _n3TreeDocs2.default,
        n3DropdownDocs: _n3DropdownDocs2.default,
        n3CardDocs: _n3CardDocs2.default,
        n3ModalDocs: _n3ModalDocs2.default,
        n3PopoverDocs: _n3PopoverDocs2.default,
        n3SelectDocs: _n3SelectDocs2.default,
        n3RadioDocs: _n3RadioDocs2.default,
        n3CheckboxDocs: _n3CheckboxDocs2.default,
        n3TabsDocs: _n3TabsDocs2.default,
        n3TooltipDocs: _n3TooltipDocs2.default,
        n3TypeaheadDocs: _n3TypeaheadDocs2.default,
        n3StepDocs: _n3StepDocs2.default,
        n3NavDocs: _n3NavDocs2.default,
        n3ProgressbarDocs: _n3ProgressbarDocs2.default,
        n3TimelineDocs: _n3TimelineDocs2.default,
        n3LoadingDocs: _n3LoadingDocs2.default,
        n3PageDocs: _n3PageDocs2.default,
        n3SliderDocs: _n3SliderDocs2.default,
        n3CascaderDocs: _n3CascaderDocs2.default,
        n3MultipleInputDocs: _n3MultipleInputDocs2.default,
        n3DataTableDocs: _n3DataTableDocs2.default,
        n3BreadcrumbDocs: _n3BreadcrumbDocs2.default,
        n3FormDocs: _n3FormDocs2.default,
        n3TagsDocs: _n3TagsDocs2.default,
        n3AnimateDocs: _n3AnimateDocs2.default
      }
    };
    // </script>
    //
    // <style>
    //   .bs-docs-sidenav a:hover{
    //     cursor: pointer;
    //   }
    //   .version{
    //     position: absolute;
    //     top: 10px;
    //     left: 52px;
    //   }
    //   .searchCom{
    //     width: 100%;
    //     border: 0px;
    //     border: 1px solid #f9f9f9;
    //     padding: 5px 10px;
    //     margin-top: 10px;
    //     outline: none;
    //     border-radius: 20px;
    //   }
    //
    // </style>
    /* generated by vue-loader */

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

    /* WEBPACK VAR INJECTION */(function(global) {
    /* **********************************************
         Begin prism-core.js
    ********************************************** */
    
    var _self = (typeof window !== 'undefined')
        ? window   // if in browser
        : (
            (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope)
            ? self // if in worker
            : {}   // if in node js
        );
    
    /**
     * Prism: Lightweight, robust, elegant syntax highlighting
     * MIT license http://www.opensource.org/licenses/mit-license.php/
     * @author Lea Verou http://lea.verou.me
     */
    
    var Prism = (function(){
    
    // Private helper vars
    var lang = /\blang(?:uage)?-(\w+)\b/i;
    var uniqueId = 0;
    
    var _ = _self.Prism = {
        util: {
            encode: function (tokens) {
                if (tokens instanceof Token) {
                    return new Token(tokens.type, _.util.encode(tokens.content), tokens.alias);
                } else if (_.util.type(tokens) === 'Array') {
                    return tokens.map(_.util.encode);
                } else {
                    return tokens.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/\u00a0/g, ' ');
                }
            },
    
            type: function (o) {
                return Object.prototype.toString.call(o).match(/\[object (\w+)\]/)[1];
            },
    
            objId: function (obj) {
                if (!obj['__id']) {
                    Object.defineProperty(obj, '__id', { value: ++uniqueId });
                }
                return obj['__id'];
            },
    
            // Deep clone a language definition (e.g. to extend it)
            clone: function (o) {
                var type = _.util.type(o);
    
                switch (type) {
                    case 'Object':
                        var clone = {};
    
                        for (var key in o) {
                            if (o.hasOwnProperty(key)) {
                                clone[key] = _.util.clone(o[key]);
                            }
                        }
    
                        return clone;
    
                    case 'Array':
                        // Check for existence for IE8
                        return o.map && o.map(function(v) { return _.util.clone(v); });
                }
    
                return o;
            }
        },
    
        languages: {
            extend: function (id, redef) {
                var lang = _.util.clone(_.languages[id]);
    
                for (var key in redef) {
                    lang[key] = redef[key];
                }
    
                return lang;
            },
    
            /**
             * Insert a token before another token in a language literal
             * As this needs to recreate the object (we cannot actually insert before keys in object literals),
             * we cannot just provide an object, we need anobject and a key.
             * @param inside The key (or language id) of the parent
             * @param before The key to insert before. If not provided, the function appends instead.
             * @param insert Object with the key/value pairs to insert
             * @param root The object that contains `inside`. If equal to Prism.languages, it can be omitted.
             */
            insertBefore: function (inside, before, insert, root) {
                root = root || _.languages;
                var grammar = root[inside];
    
                if (arguments.length == 2) {
                    insert = arguments[1];
    
                    for (var newToken in insert) {
                        if (insert.hasOwnProperty(newToken)) {
                            grammar[newToken] = insert[newToken];
                        }
                    }
    
                    return grammar;
                }
    
                var ret = {};
    
                for (var token in grammar) {
    
                    if (grammar.hasOwnProperty(token)) {
    
                        if (token == before) {
    
                            for (var newToken in insert) {
    
                                if (insert.hasOwnProperty(newToken)) {
                                    ret[newToken] = insert[newToken];
                                }
                            }
                        }
    
                        ret[token] = grammar[token];
                    }
                }
    
                // Update references in other language definitions
                _.languages.DFS(_.languages, function(key, value) {
                    if (value === root[inside] && key != inside) {
                        this[key] = ret;
                    }
                });
    
                return root[inside] = ret;
            },
    
            // Traverse a language definition with Depth First Search
            DFS: function(o, callback, type, visited) {
                visited = visited || {};
                for (var i in o) {
                    if (o.hasOwnProperty(i)) {
                        callback.call(o, i, o[i], type || i);
    
                        if (_.util.type(o[i]) === 'Object' && !visited[_.util.objId(o[i])]) {
                            visited[_.util.objId(o[i])] = true;
                            _.languages.DFS(o[i], callback, null, visited);
                        }
                        else if (_.util.type(o[i]) === 'Array' && !visited[_.util.objId(o[i])]) {
                            visited[_.util.objId(o[i])] = true;
                            _.languages.DFS(o[i], callback, i, visited);
                        }
                    }
                }
            }
        },
        plugins: {},
    
        highlightAll: function(async, callback) {
            var env = {
                callback: callback,
                selector: 'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'
            };
    
            _.hooks.run("before-highlightall", env);
    
            var elements = env.elements || document.querySelectorAll(env.selector);
    
            for (var i=0, element; element = elements[i++];) {
                _.highlightElement(element, async === true, env.callback);
            }
        },
    
        highlightElement: function(element, async, callback) {
            // Find language
            var language, grammar, parent = element;
    
            while (parent && !lang.test(parent.className)) {
                parent = parent.parentNode;
            }
    
            if (parent) {
                language = (parent.className.match(lang) || [,''])[1].toLowerCase();
                grammar = _.languages[language];
            }
    
            // Set language on the element, if not present
            element.className = element.className.replace(lang, '').replace(/\s+/g, ' ') + ' language-' + language;
    
            // Set language on the parent, for styling
            parent = element.parentNode;
    
            if (/pre/i.test(parent.nodeName)) {
                parent.className = parent.className.replace(lang, '').replace(/\s+/g, ' ') + ' language-' + language;
            }
    
            var code = element.textContent;
    
            var env = {
                element: element,
                language: language,
                grammar: grammar,
                code: code
            };
    
            _.hooks.run('before-sanity-check', env);
    
            if (!env.code || !env.grammar) {
                if (env.code) {
                    env.element.textContent = env.code;
                }
                _.hooks.run('complete', env);
                return;
            }
    
            _.hooks.run('before-highlight', env);
    
            if (async && _self.Worker) {
                var worker = new Worker(_.filename);
    
                worker.onmessage = function(evt) {
                    env.highlightedCode = evt.data;
    
                    _.hooks.run('before-insert', env);
    
                    env.element.innerHTML = env.highlightedCode;
    
                    callback && callback.call(env.element);
                    _.hooks.run('after-highlight', env);
                    _.hooks.run('complete', env);
                };
    
                worker.postMessage(JSON.stringify({
                    language: env.language,
                    code: env.code,
                    immediateClose: true
                }));
            }
            else {
                env.highlightedCode = _.highlight(env.code, env.grammar, env.language);
    
                _.hooks.run('before-insert', env);
    
                env.element.innerHTML = env.highlightedCode;
    
                callback && callback.call(element);
    
                _.hooks.run('after-highlight', env);
                _.hooks.run('complete', env);
            }
        },
    
        highlight: function (text, grammar, language) {
            var tokens = _.tokenize(text, grammar);
            return Token.stringify(_.util.encode(tokens), language);
        },
    
        tokenize: function(text, grammar, language) {
            var Token = _.Token;
    
            var strarr = [text];
    
            var rest = grammar.rest;
    
            if (rest) {
                for (var token in rest) {
                    grammar[token] = rest[token];
                }
    
                delete grammar.rest;
            }
    
            tokenloop: for (var token in grammar) {
                if(!grammar.hasOwnProperty(token) || !grammar[token]) {
                    continue;
                }
    
                var patterns = grammar[token];
                patterns = (_.util.type(patterns) === "Array") ? patterns : [patterns];
    
                for (var j = 0; j < patterns.length; ++j) {
                    var pattern = patterns[j],
                        inside = pattern.inside,
                        lookbehind = !!pattern.lookbehind,
                        greedy = !!pattern.greedy,
                        lookbehindLength = 0,
                        alias = pattern.alias;
    
                    if (greedy && !pattern.pattern.global) {
                        // Without the global flag, lastIndex won't work
                        var flags = pattern.pattern.toString().match(/[imuy]*$/)[0];
                        pattern.pattern = RegExp(pattern.pattern.source, flags + "g");
                    }
    
                    pattern = pattern.pattern || pattern;
    
                    // Don’t cache length as it changes during the loop
                    for (var i=0, pos = 0; i<strarr.length; pos += strarr[i].length, ++i) {
    
                        var str = strarr[i];
    
                        if (strarr.length > text.length) {
                            // Something went terribly wrong, ABORT, ABORT!
                            break tokenloop;
                        }
    
                        if (str instanceof Token) {
                            continue;
                        }
    
                        pattern.lastIndex = 0;
    
                        var match = pattern.exec(str),
                            delNum = 1;
    
                        // Greedy patterns can override/remove up to two previously matched tokens
                        if (!match && greedy && i != strarr.length - 1) {
                            pattern.lastIndex = pos;
                            match = pattern.exec(text);
                            if (!match) {
                                break;
                            }
    
                            var from = match.index + (lookbehind ? match[1].length : 0),
                                to = match.index + match[0].length,
                                k = i,
                                p = pos;
    
                            for (var len = strarr.length; k < len && p < to; ++k) {
                                p += strarr[k].length;
                                // Move the index i to the element in strarr that is closest to from
                                if (from >= p) {
                                    ++i;
                                    pos = p;
                                }
                            }
    
                            /*
                             * If strarr[i] is a Token, then the match starts inside another Token, which is invalid
                             * If strarr[k - 1] is greedy we are in conflict with another greedy pattern
                             */
                            if (strarr[i] instanceof Token || strarr[k - 1].greedy) {
                                continue;
                            }
    
                            // Number of tokens to delete and replace with the new match
                            delNum = k - i;
                            str = text.slice(pos, p);
                            match.index -= pos;
                        }
    
                        if (!match) {
                            continue;
                        }
    
                        if(lookbehind) {
                            lookbehindLength = match[1].length;
                        }
    
                        var from = match.index + lookbehindLength,
                            match = match[0].slice(lookbehindLength),
                            to = from + match.length,
                            before = str.slice(0, from),
                            after = str.slice(to);
    
                        var args = [i, delNum];
    
                        if (before) {
                            args.push(before);
                        }
    
                        var wrapped = new Token(token, inside? _.tokenize(match, inside) : match, alias, match, greedy);
    
                        args.push(wrapped);
    
                        if (after) {
                            args.push(after);
                        }
    
                        Array.prototype.splice.apply(strarr, args);
                    }
                }
            }
    
            return strarr;
        },
    
        hooks: {
            all: {},
    
            add: function (name, callback) {
                var hooks = _.hooks.all;
    
                hooks[name] = hooks[name] || [];
    
                hooks[name].push(callback);
            },
    
            run: function (name, env) {
                var callbacks = _.hooks.all[name];
    
                if (!callbacks || !callbacks.length) {
                    return;
                }
    
                for (var i=0, callback; callback = callbacks[i++];) {
                    callback(env);
                }
            }
        }
    };
    
    var Token = _.Token = function(type, content, alias, matchedStr, greedy) {
        this.type = type;
        this.content = content;
        this.alias = alias;
        // Copy of the full string this token was created from
        this.length = (matchedStr || "").length|0;
        this.greedy = !!greedy;
    };
    
    Token.stringify = function(o, language, parent) {
        if (typeof o == 'string') {
            return o;
        }
    
        if (_.util.type(o) === 'Array') {
            return o.map(function(element) {
                return Token.stringify(element, language, o);
            }).join('');
        }
    
        var env = {
            type: o.type,
            content: Token.stringify(o.content, language, parent),
            tag: 'span',
            classes: ['token', o.type],
            attributes: {},
            language: language,
            parent: parent
        };
    
        if (env.type == 'comment') {
            env.attributes['spellcheck'] = 'true';
        }
    
        if (o.alias) {
            var aliases = _.util.type(o.alias) === 'Array' ? o.alias : [o.alias];
            Array.prototype.push.apply(env.classes, aliases);
        }
    
        _.hooks.run('wrap', env);
    
        var attributes = Object.keys(env.attributes).map(function(name) {
            return name + '="' + (env.attributes[name] || '').replace(/"/g, '&quot;') + '"';
        }).join(' ');
    
        return '<' + env.tag + ' class="' + env.classes.join(' ') + '"' + (attributes ? ' ' + attributes : '') + '>' + env.content + '</' + env.tag + '>';
    
    };
    
    if (!_self.document) {
        if (!_self.addEventListener) {
            // in Node.js
            return _self.Prism;
        }
         // In worker
        _self.addEventListener('message', function(evt) {
            var message = JSON.parse(evt.data),
                lang = message.language,
                code = message.code,
                immediateClose = message.immediateClose;
    
            _self.postMessage(_.highlight(code, _.languages[lang], lang));
            if (immediateClose) {
                _self.close();
            }
        }, false);
    
        return _self.Prism;
    }
    
    //Get current script and highlight
    var script = document.currentScript || [].slice.call(document.getElementsByTagName("script")).pop();
    
    if (script) {
        _.filename = script.src;
    
        if (document.addEventListener && !script.hasAttribute('data-manual')) {
            if(document.readyState !== "loading") {
                if (window.requestAnimationFrame) {
                    window.requestAnimationFrame(_.highlightAll);
                } else {
                    window.setTimeout(_.highlightAll, 16);
                }
            }
            else {
                document.addEventListener('DOMContentLoaded', _.highlightAll);
            }
        }
    }
    
    return _self.Prism;
    
    })();
    
    if (typeof module !== 'undefined' && module.exports) {
        module.exports = Prism;
    }
    
    // hack for components to work correctly in node.js
    if (typeof global !== 'undefined') {
        global.Prism = Prism;
    }
    
    
    /* **********************************************
         Begin prism-markup.js
    ********************************************** */
    
    Prism.languages.markup = {
        'comment': /<!--[\w\W]*?-->/,
        'prolog': /<\?[\w\W]+?\?>/,
        'doctype': /<!DOCTYPE[\w\W]+?>/i,
        'cdata': /<!\[CDATA\[[\w\W]*?]]>/i,
        'tag': {
            pattern: /<\/?(?!\d)[^\s>\/=$<]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\\1|\\?(?!\1)[\w\W])*\1|[^\s'">=]+))?)*\s*\/?>/i,
            inside: {
                'tag': {
                    pattern: /^<\/?[^\s>\/]+/i,
                    inside: {
                        'punctuation': /^<\/?/,
                        'namespace': /^[^\s>\/:]+:/
                    }
                },
                'attr-value': {
                    pattern: /=(?:('|")[\w\W]*?(\1)|[^\s>]+)/i,
                    inside: {
                        'punctuation': /[=>"']/
                    }
                },
                'punctuation': /\/?>/,
                'attr-name': {
                    pattern: /[^\s>\/]+/,
                    inside: {
                        'namespace': /^[^\s>\/:]+:/
                    }
                }
    
            }
        },
        'entity': /&#?[\da-z]{1,8};/i
    };
    
    // Plugin to make entity title show the real entity, idea by Roman Komarov
    Prism.hooks.add('wrap', function(env) {
    
        if (env.type === 'entity') {
            env.attributes['title'] = env.content.replace(/&amp;/, '&');
        }
    });
    
    Prism.languages.xml = Prism.languages.markup;
    Prism.languages.html = Prism.languages.markup;
    Prism.languages.mathml = Prism.languages.markup;
    Prism.languages.svg = Prism.languages.markup;
    
    
    /* **********************************************
         Begin prism-css.js
    ********************************************** */
    
    Prism.languages.css = {
        'comment': /\/\*[\w\W]*?\*\//,
        'atrule': {
            pattern: /@[\w-]+?.*?(;|(?=\s*\{))/i,
            inside: {
                'rule': /@[\w-]+/
                // See rest below
            }
        },
        'url': /url\((?:(["'])(\\(?:\r\n|[\w\W])|(?!\1)[^\\\r\n])*\1|.*?)\)/i,
        'selector': /[^\{\}\s][^\{\};]*?(?=\s*\{)/,
        'string': {
            pattern: /("|')(\\(?:\r\n|[\w\W])|(?!\1)[^\\\r\n])*\1/,
            greedy: true
        },
        'property': /(\b|\B)[\w-]+(?=\s*:)/i,
        'important': /\B!important\b/i,
        'function': /[-a-z0-9]+(?=\()/i,
        'punctuation': /[(){};:]/
    };
    
    Prism.languages.css['atrule'].inside.rest = Prism.util.clone(Prism.languages.css);
    
    if (Prism.languages.markup) {
        Prism.languages.insertBefore('markup', 'tag', {
            'style': {
                pattern: /(<style[\w\W]*?>)[\w\W]*?(?=<\/style>)/i,
                lookbehind: true,
                inside: Prism.languages.css,
                alias: 'language-css'
            }
        });
        
        Prism.languages.insertBefore('inside', 'attr-value', {
            'style-attr': {
                pattern: /\s*style=("|').*?\1/i,
                inside: {
                    'attr-name': {
                        pattern: /^\s*style/i,
                        inside: Prism.languages.markup.tag.inside
                    },
                    'punctuation': /^\s*=\s*['"]|['"]\s*$/,
                    'attr-value': {
                        pattern: /.+/i,
                        inside: Prism.languages.css
                    }
                },
                alias: 'language-css'
            }
        }, Prism.languages.markup.tag);
    }
    
    /* **********************************************
         Begin prism-clike.js
    ********************************************** */
    
    Prism.languages.clike = {
        'comment': [
            {
                pattern: /(^|[^\\])\/\*[\w\W]*?\*\//,
                lookbehind: true
            },
            {
                pattern: /(^|[^\\:])\/\/.*/,
                lookbehind: true
            }
        ],
        'string': {
            pattern: /(["'])(\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,
            greedy: true
        },
        'class-name': {
            pattern: /((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[a-z0-9_\.\\]+/i,
            lookbehind: true,
            inside: {
                punctuation: /(\.|\\)/
            }
        },
        'keyword': /\b(if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,
        'boolean': /\b(true|false)\b/,
        'function': /[a-z0-9_]+(?=\()/i,
        'number': /\b-?(?:0x[\da-f]+|\d*\.?\d+(?:e[+-]?\d+)?)\b/i,
        'operator': /--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/,
        'punctuation': /[{}[\];(),.:]/
    };
    
    
    /* **********************************************
         Begin prism-javascript.js
    ********************************************** */
    
    Prism.languages.javascript = Prism.languages.extend('clike', {
        'keyword': /\b(as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|var|void|while|with|yield)\b/,
        'number': /\b-?(0x[\dA-Fa-f]+|0b[01]+|0o[0-7]+|\d*\.?\d+([Ee][+-]?\d+)?|NaN|Infinity)\b/,
        // Allow for all non-ASCII characters (See http://stackoverflow.com/a/2008444)
        'function': /[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*(?=\()/i,
        'operator': /--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*\*?|\/|~|\^|%|\.{3}/
    });
    
    Prism.languages.insertBefore('javascript', 'keyword', {
        'regex': {
            pattern: /(^|[^/])\/(?!\/)(\[.+?]|\\.|[^/\\\r\n])+\/[gimyu]{0,5}(?=\s*($|[\r\n,.;})]))/,
            lookbehind: true,
            greedy: true
        }
    });
    
    Prism.languages.insertBefore('javascript', 'string', {
        'template-string': {
            pattern: /`(?:\\\\|\\?[^\\])*?`/,
            greedy: true,
            inside: {
                'interpolation': {
                    pattern: /\$\{[^}]+\}/,
                    inside: {
                        'interpolation-punctuation': {
                            pattern: /^\$\{|\}$/,
                            alias: 'punctuation'
                        },
                        rest: Prism.languages.javascript
                    }
                },
                'string': /[\s\S]+/
            }
        }
    });
    
    if (Prism.languages.markup) {
        Prism.languages.insertBefore('markup', 'tag', {
            'script': {
                pattern: /(<script[\w\W]*?>)[\w\W]*?(?=<\/script>)/i,
                lookbehind: true,
                inside: Prism.languages.javascript,
                alias: 'language-javascript'
            }
        });
    }
    
    Prism.languages.js = Prism.languages.javascript;
    
    /* **********************************************
         Begin prism-file-highlight.js
    ********************************************** */
    
    (function () {
        if (typeof self === 'undefined' || !self.Prism || !self.document || !document.querySelector) {
            return;
        }
    
        self.Prism.fileHighlight = function() {
    
            var Extensions = {
                'js': 'javascript',
                'py': 'python',
                'rb': 'ruby',
                'ps1': 'powershell',
                'psm1': 'powershell',
                'sh': 'bash',
                'bat': 'batch',
                'h': 'c',
                'tex': 'latex'
            };
    
            if(Array.prototype.forEach) { // Check to prevent error in IE8
                Array.prototype.slice.call(document.querySelectorAll('pre[data-src]')).forEach(function (pre) {
                    var src = pre.getAttribute('data-src');
    
                    var language, parent = pre;
                    var lang = /\blang(?:uage)?-(?!\*)(\w+)\b/i;
                    while (parent && !lang.test(parent.className)) {
                        parent = parent.parentNode;
                    }
    
                    if (parent) {
                        language = (pre.className.match(lang) || [, ''])[1];
                    }
    
                    if (!language) {
                        var extension = (src.match(/\.(\w+)$/) || [, ''])[1];
                        language = Extensions[extension] || extension;
                    }
    
                    var code = document.createElement('code');
                    code.className = 'language-' + language;
    
                    pre.textContent = '';
    
                    code.textContent = 'Loading…';
    
                    pre.appendChild(code);
    
                    var xhr = new XMLHttpRequest();
    
                    xhr.open('GET', src, true);
    
                    xhr.onreadystatechange = function () {
                        if (xhr.readyState == 4) {
    
                            if (xhr.status < 400 && xhr.responseText) {
                                code.textContent = xhr.responseText;
    
                                Prism.highlightElement(code);
                            }
                            else if (xhr.status >= 400) {
                                code.textContent = '✖ Error ' + xhr.status + ' while fetching file: ' + xhr.statusText;
                            }
                            else {
                                code.textContent = '✖ Error: File does not exist or is empty';
                            }
                        }
                    };
    
                    xhr.send(null);
                });
            }
    
        };
    
        document.addEventListener('DOMContentLoaded', self.Prism.fileHighlight);
    
    })();
    
    /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))

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

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(356)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] docs/example/headerDocs.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(357)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-4fd77c90/headerDocs.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 356 */
/***/ (function(module, exports) {

    "use strict";
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    // <template>
    //   <header class="bs-docs-nav" id="top" >
    //     <n3-container fluid style="width:92%">
    //       <n3-nav mode="horizontal">
    //         <n3-nav-item index="1">
    //           <a href="./index.html" >N3</a>
    //         </n3-nav-item>
    //         <n3-nav-item >
    //           <a href="./v1.html" >V1</a>
    //         </n3-nav-item>
    //          <n3-nav-item >
    //           <a href="./v2.html" >V2</a>
    //         </n3-nav-item>
    //       </n3-nav>
    //     </n3-container>
    //   </header>
    // </template>
    // <script>
    exports.default = {
      props: {
        active: {
          type: String
        }
      }
    };
    // </script>

    /* generated by vue-loader */

/***/ }),
/* 357 */
/***/ (function(module, exports) {

    module.exports = "\n<header class=\"bs-docs-nav\" id=\"top\" >\n  <n3-container fluid style=\"width:92%\">\n    <n3-nav mode=\"horizontal\">\n      <n3-nav-item index=\"1\">\n        <a href=\"./index.html\" >N3</a>\n      </n3-nav-item>\n      <n3-nav-item >\n        <a href=\"./v1.html\" >V1</a>\n      </n3-nav-item>\n       <n3-nav-item >\n        <a href=\"./v2.html\" >V2</a>\n      </n3-nav-item>\n    </n3-nav>\n  </n3-container>\n</header>\n";

/***/ }),
/* 358 */
/***/ (function(module, exports, __webpack_require__) {

    module.exports = __webpack_require__(359);

/***/ }),
/* 359 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __webpack_require__(360)
    __vue_template__ = __webpack_require__(362)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-6b29c71e/n3LayoutDocs-1.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 360 */
/***/ (function(module, exports, __webpack_require__) {

    // style-loader: Adds some css to the DOM by adding a <style> tag
    
    // load the styles
    var content = __webpack_require__(361);
    if(typeof content === 'string') content = [[module.id, content, '']];
    if(content.locals) module.exports = content.locals;
    // add the styles to the DOM
    var update = __webpack_require__(351)("3e2274c5", content, false);
    // Hot Module Replacement
    if(false) {
     // When the styles change, update the <style> tags
     if(!content.locals) {
       module.hot.accept("!!../../css-loader/index.js?sourceMap!../../vue-loader/lib/style-rewriter.js?id=_v-6b29c71e&scoped=true!../../vue-loader/lib/selector.js?type=style&index=0!./n3LayoutDocs-1.vue", function() {
         var newContent = require("!!../../css-loader/index.js?sourceMap!../../vue-loader/lib/style-rewriter.js?id=_v-6b29c71e&scoped=true!../../vue-loader/lib/selector.js?type=style&index=0!./n3LayoutDocs-1.vue");
         if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];
         update(newContent);
       });
     }
     // When the module is disposed, remove the <style> tags
     module.hot.dispose(function() { update(); });
    }

/***/ }),
/* 361 */
/***/ (function(module, exports, __webpack_require__) {

    exports = module.exports = __webpack_require__(350)();
    // imports
    
    
    // module
    exports.push([module.id, "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.context[_v-6b29c71e]{\n  padding-top: 10px;\n  padding-bottom: 10px;\n  background-color: rgb(101, 212, 204);\n  border: 1px solid #fff;\n  text-align: center;\n  font-size: 14;\n  color: #fff;\n  font-weight: bold;\n}\n", "", {"version":3,"sources":["/./node_modules/vue-markdown-loader/_cache/n3LayoutDocs-1.vue?1676b34e"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6JA;EACA,kBAAA;EACA,qBAAA;EACA,qCAAA;EACA,uBAAA;EACA,mBAAA;EACA,cAAA;EACA,YAAA;EACA,kBAAA;CACA","file":"n3LayoutDocs-1.vue","sourcesContent":["<template><section><template>\n<h3>布局</h3>\n<div class=\"bs-docs-section\">\n<div class=\"bs-example\">\n  <n3-container fluid=\"\">\n    <n3-row>\n        <n3-column :col=\"8\" class=\"context\">\n            :col=\"8\"\n        </n3-column>\n        <n3-column :col=\"4\" class=\"context\">\n            :col=\"4\"\n        </n3-column>\n    </n3-row>\n    <n3-row>\n        <n3-column :col=\"1\" class=\"context\">\n            1\n        </n3-column>\n        <n3-column :col=\"1\" class=\"context\">\n            1\n        </n3-column>\n        <n3-column :col=\"1\" class=\"context\">\n            1\n        </n3-column>\n        <n3-column :col=\"1\" class=\"context\">\n            1\n        </n3-column>\n        <n3-column :col=\"1\" class=\"context\">\n            1\n        </n3-column>\n        <n3-column :col=\"1\" class=\"context\">\n            1\n        </n3-column>\n        <n3-column :col=\"1\" class=\"context\">\n            1\n        </n3-column>\n        <n3-column :col=\"1\" class=\"context\">\n            1\n        </n3-column>\n        <n3-column :col=\"1\" class=\"context\">\n            1\n        </n3-column>\n        <n3-column :col=\"1\" class=\"context\">\n            1\n        </n3-column>\n        <n3-column :col=\"1\" class=\"context\">\n            1\n        </n3-column>\n        <n3-column :col=\"1\" class=\"context\">\n            1\n        </n3-column>\n    </n3-row>\n  </n3-container>\n</div>\n<pre><code class=\"language-html\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-container</span> <span class=\"hljs-attr\">fluid</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-row</span>&gt;</span>\n      <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-column</span> <span class=\"hljs-attr\">:col</span>=<span class=\"hljs-string\">\"8\"</span> <span class=\"hljs-attr\">class</span>=<span class=\"hljs-string\">\"context\"</span>&gt;</span>\n          :col=\"8\"\n      <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-column</span>&gt;</span>\n      <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-column</span> <span class=\"hljs-attr\">:col</span>=<span class=\"hljs-string\">\"4\"</span> <span class=\"hljs-attr\">class</span>=<span class=\"hljs-string\">\"context\"</span>&gt;</span>\n          :col=\"4\"\n      <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-column</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-row</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-row</span>&gt;</span>\n      <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-column</span> <span class=\"hljs-attr\">:col</span>=<span class=\"hljs-string\">\"1\"</span> <span class=\"hljs-attr\">class</span>=<span class=\"hljs-string\">\"context\"</span>&gt;</span>\n          1\n      <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-column</span>&gt;</span>\n      <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-column</span> <span class=\"hljs-attr\">:col</span>=<span class=\"hljs-string\">\"1\"</span> <span class=\"hljs-attr\">class</span>=<span class=\"hljs-string\">\"context\"</span>&gt;</span>\n          1\n      <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-column</span>&gt;</span>\n      <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-column</span> <span class=\"hljs-attr\">:col</span>=<span class=\"hljs-string\">\"1\"</span> <span class=\"hljs-attr\">class</span>=<span class=\"hljs-string\">\"context\"</span>&gt;</span>\n          1\n      <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-column</span>&gt;</span>\n      <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-column</span> <span class=\"hljs-attr\">:col</span>=<span class=\"hljs-string\">\"1\"</span> <span class=\"hljs-attr\">class</span>=<span class=\"hljs-string\">\"context\"</span>&gt;</span>\n          1\n      <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-column</span>&gt;</span>\n      <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-column</span> <span class=\"hljs-attr\">:col</span>=<span class=\"hljs-string\">\"1\"</span> <span class=\"hljs-attr\">class</span>=<span class=\"hljs-string\">\"context\"</span>&gt;</span>\n          1\n      <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-column</span>&gt;</span>\n      <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-column</span> <span class=\"hljs-attr\">:col</span>=<span class=\"hljs-string\">\"1\"</span> <span class=\"hljs-attr\">class</span>=<span class=\"hljs-string\">\"context\"</span>&gt;</span>\n          1\n      <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-column</span>&gt;</span>\n      <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-column</span> <span class=\"hljs-attr\">:col</span>=<span class=\"hljs-string\">\"1\"</span> <span class=\"hljs-attr\">class</span>=<span class=\"hljs-string\">\"context\"</span>&gt;</span>\n          1\n      <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-column</span>&gt;</span>\n      <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-column</span> <span class=\"hljs-attr\">:col</span>=<span class=\"hljs-string\">\"1\"</span> <span class=\"hljs-attr\">class</span>=<span class=\"hljs-string\">\"context\"</span>&gt;</span>\n          1\n      <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-column</span>&gt;</span>\n      <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-column</span> <span class=\"hljs-attr\">:col</span>=<span class=\"hljs-string\">\"1\"</span> <span class=\"hljs-attr\">class</span>=<span class=\"hljs-string\">\"context\"</span>&gt;</span>\n          1\n      <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-column</span>&gt;</span>\n      <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-column</span> <span class=\"hljs-attr\">:col</span>=<span class=\"hljs-string\">\"1\"</span> <span class=\"hljs-attr\">class</span>=<span class=\"hljs-string\">\"context\"</span>&gt;</span>\n          1\n      <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-column</span>&gt;</span>\n      <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-column</span> <span class=\"hljs-attr\">:col</span>=<span class=\"hljs-string\">\"1\"</span> <span class=\"hljs-attr\">class</span>=<span class=\"hljs-string\">\"context\"</span>&gt;</span>\n          1\n      <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-column</span>&gt;</span>\n      <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-column</span> <span class=\"hljs-attr\">:col</span>=<span class=\"hljs-string\">\"1\"</span> <span class=\"hljs-attr\">class</span>=<span class=\"hljs-string\">\"context\"</span>&gt;</span>\n          1\n      <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-column</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-row</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-container</span>&gt;</span>\n</code></pre>\n<h3>n3-container参数</h3>\n<table>\n<thead>\n<tr>\n<th>参数</th>\n<th>类型</th>\n<th>默认值</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>fluid</td>\n<td><code>Boolean</code></td>\n<td><code>false</code></td>\n<td>是否流式布局</td>\n</tr>\n</tbody>\n</table>\n<h3>n3-column参数</h3>\n<table>\n<thead>\n<tr>\n<th>参数</th>\n<th>类型</th>\n<th>默认值</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>col</td>\n<td><code>Number</code></td>\n<td>-</td>\n<td>占的列数</td>\n</tr>\n<tr>\n<td>mode</td>\n<td><code>String</code></td>\n<td><code>md</code></td>\n<td>布局模式 <code>xs</code>(手机) <code>sm</code>(平板) <code>md</code>(桌面) <code>lg</code>(大屏幕)</td>\n</tr>\n<tr>\n<td>offset</td>\n<td><code>Number</code></td>\n<td>-</td>\n<td>偏移值</td>\n</tr>\n</tbody>\n</table>\n</div>\n</template>\n\n</section></template>\n<style scoped>\n  .context{\n    padding-top: 10px;\n    padding-bottom: 10px;\n    background-color: rgb(101, 212, 204);\n    border: 1px solid #fff;\n    text-align: center;\n    font-size: 14;\n    color: #fff;\n    font-weight: bold;\n  }\n</style>\n"],"sourceRoot":"webpack://"}]);
    
    // exports


/***/ }),
/* 362 */
/***/ (function(module, exports) {

    module.exports = "<section _v-6b29c71e=\"\"><template>\n<h3 _v-6b29c71e=\"\">布局</h3>\n<div class=\"bs-docs-section\" _v-6b29c71e=\"\">\n<div class=\"bs-example\" _v-6b29c71e=\"\">\n  <n3-container fluid=\"\" _v-6b29c71e=\"\">\n    <n3-row _v-6b29c71e=\"\">\n        <n3-column :col=\"8\" class=\"context\" _v-6b29c71e=\"\">\n            :col=\"8\"\n        </n3-column>\n        <n3-column :col=\"4\" class=\"context\" _v-6b29c71e=\"\">\n            :col=\"4\"\n        </n3-column>\n    </n3-row>\n    <n3-row _v-6b29c71e=\"\">\n        <n3-column :col=\"1\" class=\"context\" _v-6b29c71e=\"\">\n            1\n        </n3-column>\n        <n3-column :col=\"1\" class=\"context\" _v-6b29c71e=\"\">\n            1\n        </n3-column>\n        <n3-column :col=\"1\" class=\"context\" _v-6b29c71e=\"\">\n            1\n        </n3-column>\n        <n3-column :col=\"1\" class=\"context\" _v-6b29c71e=\"\">\n            1\n        </n3-column>\n        <n3-column :col=\"1\" class=\"context\" _v-6b29c71e=\"\">\n            1\n        </n3-column>\n        <n3-column :col=\"1\" class=\"context\" _v-6b29c71e=\"\">\n            1\n        </n3-column>\n        <n3-column :col=\"1\" class=\"context\" _v-6b29c71e=\"\">\n            1\n        </n3-column>\n        <n3-column :col=\"1\" class=\"context\" _v-6b29c71e=\"\">\n            1\n        </n3-column>\n        <n3-column :col=\"1\" class=\"context\" _v-6b29c71e=\"\">\n            1\n        </n3-column>\n        <n3-column :col=\"1\" class=\"context\" _v-6b29c71e=\"\">\n            1\n        </n3-column>\n        <n3-column :col=\"1\" class=\"context\" _v-6b29c71e=\"\">\n            1\n        </n3-column>\n        <n3-column :col=\"1\" class=\"context\" _v-6b29c71e=\"\">\n            1\n        </n3-column>\n    </n3-row>\n  </n3-container>\n</div>\n<pre _v-6b29c71e=\"\"><code class=\"language-html\" _v-6b29c71e=\"\"><span class=\"hljs-tag\" _v-6b29c71e=\"\">&lt;<span class=\"hljs-name\" _v-6b29c71e=\"\">n3-container</span> <span class=\"hljs-attr\" _v-6b29c71e=\"\">fluid</span>&gt;</span>\n  <span class=\"hljs-tag\" _v-6b29c71e=\"\">&lt;<span class=\"hljs-name\" _v-6b29c71e=\"\">n3-row</span>&gt;</span>\n      <span class=\"hljs-tag\" _v-6b29c71e=\"\">&lt;<span class=\"hljs-name\" _v-6b29c71e=\"\">n3-column</span> <span class=\"hljs-attr\" _v-6b29c71e=\"\">:col</span>=<span class=\"hljs-string\" _v-6b29c71e=\"\">\"8\"</span> <span class=\"hljs-attr\" _v-6b29c71e=\"\">class</span>=<span class=\"hljs-string\" _v-6b29c71e=\"\">\"context\"</span>&gt;</span>\n          :col=\"8\"\n      <span class=\"hljs-tag\" _v-6b29c71e=\"\">&lt;/<span class=\"hljs-name\" _v-6b29c71e=\"\">n3-column</span>&gt;</span>\n      <span class=\"hljs-tag\" _v-6b29c71e=\"\">&lt;<span class=\"hljs-name\" _v-6b29c71e=\"\">n3-column</span> <span class=\"hljs-attr\" _v-6b29c71e=\"\">:col</span>=<span class=\"hljs-string\" _v-6b29c71e=\"\">\"4\"</span> <span class=\"hljs-attr\" _v-6b29c71e=\"\">class</span>=<span class=\"hljs-string\" _v-6b29c71e=\"\">\"context\"</span>&gt;</span>\n          :col=\"4\"\n      <span class=\"hljs-tag\" _v-6b29c71e=\"\">&lt;/<span class=\"hljs-name\" _v-6b29c71e=\"\">n3-column</span>&gt;</span>\n  <span class=\"hljs-tag\" _v-6b29c71e=\"\">&lt;/<span class=\"hljs-name\" _v-6b29c71e=\"\">n3-row</span>&gt;</span>\n  <span class=\"hljs-tag\" _v-6b29c71e=\"\">&lt;<span class=\"hljs-name\" _v-6b29c71e=\"\">n3-row</span>&gt;</span>\n      <span class=\"hljs-tag\" _v-6b29c71e=\"\">&lt;<span class=\"hljs-name\" _v-6b29c71e=\"\">n3-column</span> <span class=\"hljs-attr\" _v-6b29c71e=\"\">:col</span>=<span class=\"hljs-string\" _v-6b29c71e=\"\">\"1\"</span> <span class=\"hljs-attr\" _v-6b29c71e=\"\">class</span>=<span class=\"hljs-string\" _v-6b29c71e=\"\">\"context\"</span>&gt;</span>\n          1\n      <span class=\"hljs-tag\" _v-6b29c71e=\"\">&lt;/<span class=\"hljs-name\" _v-6b29c71e=\"\">n3-column</span>&gt;</span>\n      <span class=\"hljs-tag\" _v-6b29c71e=\"\">&lt;<span class=\"hljs-name\" _v-6b29c71e=\"\">n3-column</span> <span class=\"hljs-attr\" _v-6b29c71e=\"\">:col</span>=<span class=\"hljs-string\" _v-6b29c71e=\"\">\"1\"</span> <span class=\"hljs-attr\" _v-6b29c71e=\"\">class</span>=<span class=\"hljs-string\" _v-6b29c71e=\"\">\"context\"</span>&gt;</span>\n          1\n      <span class=\"hljs-tag\" _v-6b29c71e=\"\">&lt;/<span class=\"hljs-name\" _v-6b29c71e=\"\">n3-column</span>&gt;</span>\n      <span class=\"hljs-tag\" _v-6b29c71e=\"\">&lt;<span class=\"hljs-name\" _v-6b29c71e=\"\">n3-column</span> <span class=\"hljs-attr\" _v-6b29c71e=\"\">:col</span>=<span class=\"hljs-string\" _v-6b29c71e=\"\">\"1\"</span> <span class=\"hljs-attr\" _v-6b29c71e=\"\">class</span>=<span class=\"hljs-string\" _v-6b29c71e=\"\">\"context\"</span>&gt;</span>\n          1\n      <span class=\"hljs-tag\" _v-6b29c71e=\"\">&lt;/<span class=\"hljs-name\" _v-6b29c71e=\"\">n3-column</span>&gt;</span>\n      <span class=\"hljs-tag\" _v-6b29c71e=\"\">&lt;<span class=\"hljs-name\" _v-6b29c71e=\"\">n3-column</span> <span class=\"hljs-attr\" _v-6b29c71e=\"\">:col</span>=<span class=\"hljs-string\" _v-6b29c71e=\"\">\"1\"</span> <span class=\"hljs-attr\" _v-6b29c71e=\"\">class</span>=<span class=\"hljs-string\" _v-6b29c71e=\"\">\"context\"</span>&gt;</span>\n          1\n      <span class=\"hljs-tag\" _v-6b29c71e=\"\">&lt;/<span class=\"hljs-name\" _v-6b29c71e=\"\">n3-column</span>&gt;</span>\n      <span class=\"hljs-tag\" _v-6b29c71e=\"\">&lt;<span class=\"hljs-name\" _v-6b29c71e=\"\">n3-column</span> <span class=\"hljs-attr\" _v-6b29c71e=\"\">:col</span>=<span class=\"hljs-string\" _v-6b29c71e=\"\">\"1\"</span> <span class=\"hljs-attr\" _v-6b29c71e=\"\">class</span>=<span class=\"hljs-string\" _v-6b29c71e=\"\">\"context\"</span>&gt;</span>\n          1\n      <span class=\"hljs-tag\" _v-6b29c71e=\"\">&lt;/<span class=\"hljs-name\" _v-6b29c71e=\"\">n3-column</span>&gt;</span>\n      <span class=\"hljs-tag\" _v-6b29c71e=\"\">&lt;<span class=\"hljs-name\" _v-6b29c71e=\"\">n3-column</span> <span class=\"hljs-attr\" _v-6b29c71e=\"\">:col</span>=<span class=\"hljs-string\" _v-6b29c71e=\"\">\"1\"</span> <span class=\"hljs-attr\" _v-6b29c71e=\"\">class</span>=<span class=\"hljs-string\" _v-6b29c71e=\"\">\"context\"</span>&gt;</span>\n          1\n      <span class=\"hljs-tag\" _v-6b29c71e=\"\">&lt;/<span class=\"hljs-name\" _v-6b29c71e=\"\">n3-column</span>&gt;</span>\n      <span class=\"hljs-tag\" _v-6b29c71e=\"\">&lt;<span class=\"hljs-name\" _v-6b29c71e=\"\">n3-column</span> <span class=\"hljs-attr\" _v-6b29c71e=\"\">:col</span>=<span class=\"hljs-string\" _v-6b29c71e=\"\">\"1\"</span> <span class=\"hljs-attr\" _v-6b29c71e=\"\">class</span>=<span class=\"hljs-string\" _v-6b29c71e=\"\">\"context\"</span>&gt;</span>\n          1\n      <span class=\"hljs-tag\" _v-6b29c71e=\"\">&lt;/<span class=\"hljs-name\" _v-6b29c71e=\"\">n3-column</span>&gt;</span>\n      <span class=\"hljs-tag\" _v-6b29c71e=\"\">&lt;<span class=\"hljs-name\" _v-6b29c71e=\"\">n3-column</span> <span class=\"hljs-attr\" _v-6b29c71e=\"\">:col</span>=<span class=\"hljs-string\" _v-6b29c71e=\"\">\"1\"</span> <span class=\"hljs-attr\" _v-6b29c71e=\"\">class</span>=<span class=\"hljs-string\" _v-6b29c71e=\"\">\"context\"</span>&gt;</span>\n          1\n      <span class=\"hljs-tag\" _v-6b29c71e=\"\">&lt;/<span class=\"hljs-name\" _v-6b29c71e=\"\">n3-column</span>&gt;</span>\n      <span class=\"hljs-tag\" _v-6b29c71e=\"\">&lt;<span class=\"hljs-name\" _v-6b29c71e=\"\">n3-column</span> <span class=\"hljs-attr\" _v-6b29c71e=\"\">:col</span>=<span class=\"hljs-string\" _v-6b29c71e=\"\">\"1\"</span> <span class=\"hljs-attr\" _v-6b29c71e=\"\">class</span>=<span class=\"hljs-string\" _v-6b29c71e=\"\">\"context\"</span>&gt;</span>\n          1\n      <span class=\"hljs-tag\" _v-6b29c71e=\"\">&lt;/<span class=\"hljs-name\" _v-6b29c71e=\"\">n3-column</span>&gt;</span>\n      <span class=\"hljs-tag\" _v-6b29c71e=\"\">&lt;<span class=\"hljs-name\" _v-6b29c71e=\"\">n3-column</span> <span class=\"hljs-attr\" _v-6b29c71e=\"\">:col</span>=<span class=\"hljs-string\" _v-6b29c71e=\"\">\"1\"</span> <span class=\"hljs-attr\" _v-6b29c71e=\"\">class</span>=<span class=\"hljs-string\" _v-6b29c71e=\"\">\"context\"</span>&gt;</span>\n          1\n      <span class=\"hljs-tag\" _v-6b29c71e=\"\">&lt;/<span class=\"hljs-name\" _v-6b29c71e=\"\">n3-column</span>&gt;</span>\n      <span class=\"hljs-tag\" _v-6b29c71e=\"\">&lt;<span class=\"hljs-name\" _v-6b29c71e=\"\">n3-column</span> <span class=\"hljs-attr\" _v-6b29c71e=\"\">:col</span>=<span class=\"hljs-string\" _v-6b29c71e=\"\">\"1\"</span> <span class=\"hljs-attr\" _v-6b29c71e=\"\">class</span>=<span class=\"hljs-string\" _v-6b29c71e=\"\">\"context\"</span>&gt;</span>\n          1\n      <span class=\"hljs-tag\" _v-6b29c71e=\"\">&lt;/<span class=\"hljs-name\" _v-6b29c71e=\"\">n3-column</span>&gt;</span>\n      <span class=\"hljs-tag\" _v-6b29c71e=\"\">&lt;<span class=\"hljs-name\" _v-6b29c71e=\"\">n3-column</span> <span class=\"hljs-attr\" _v-6b29c71e=\"\">:col</span>=<span class=\"hljs-string\" _v-6b29c71e=\"\">\"1\"</span> <span class=\"hljs-attr\" _v-6b29c71e=\"\">class</span>=<span class=\"hljs-string\" _v-6b29c71e=\"\">\"context\"</span>&gt;</span>\n          1\n      <span class=\"hljs-tag\" _v-6b29c71e=\"\">&lt;/<span class=\"hljs-name\" _v-6b29c71e=\"\">n3-column</span>&gt;</span>\n  <span class=\"hljs-tag\" _v-6b29c71e=\"\">&lt;/<span class=\"hljs-name\" _v-6b29c71e=\"\">n3-row</span>&gt;</span>\n<span class=\"hljs-tag\" _v-6b29c71e=\"\">&lt;/<span class=\"hljs-name\" _v-6b29c71e=\"\">n3-container</span>&gt;</span>\n</code></pre>\n<h3 _v-6b29c71e=\"\">n3-container参数</h3>\n<table _v-6b29c71e=\"\">\n<thead _v-6b29c71e=\"\">\n<tr _v-6b29c71e=\"\">\n<th _v-6b29c71e=\"\">参数</th>\n<th _v-6b29c71e=\"\">类型</th>\n<th _v-6b29c71e=\"\">默认值</th>\n<th _v-6b29c71e=\"\">说明</th>\n</tr>\n</thead>\n<tbody _v-6b29c71e=\"\">\n<tr _v-6b29c71e=\"\">\n<td _v-6b29c71e=\"\">fluid</td>\n<td _v-6b29c71e=\"\"><code _v-6b29c71e=\"\">Boolean</code></td>\n<td _v-6b29c71e=\"\"><code _v-6b29c71e=\"\">false</code></td>\n<td _v-6b29c71e=\"\">是否流式布局</td>\n</tr>\n</tbody>\n</table>\n<h3 _v-6b29c71e=\"\">n3-column参数</h3>\n<table _v-6b29c71e=\"\">\n<thead _v-6b29c71e=\"\">\n<tr _v-6b29c71e=\"\">\n<th _v-6b29c71e=\"\">参数</th>\n<th _v-6b29c71e=\"\">类型</th>\n<th _v-6b29c71e=\"\">默认值</th>\n<th _v-6b29c71e=\"\">说明</th>\n</tr>\n</thead>\n<tbody _v-6b29c71e=\"\">\n<tr _v-6b29c71e=\"\">\n<td _v-6b29c71e=\"\">col</td>\n<td _v-6b29c71e=\"\"><code _v-6b29c71e=\"\">Number</code></td>\n<td _v-6b29c71e=\"\">-</td>\n<td _v-6b29c71e=\"\">占的列数</td>\n</tr>\n<tr _v-6b29c71e=\"\">\n<td _v-6b29c71e=\"\">mode</td>\n<td _v-6b29c71e=\"\"><code _v-6b29c71e=\"\">String</code></td>\n<td _v-6b29c71e=\"\"><code _v-6b29c71e=\"\">md</code></td>\n<td _v-6b29c71e=\"\">布局模式 <code _v-6b29c71e=\"\">xs</code>(手机) <code _v-6b29c71e=\"\">sm</code>(平板) <code _v-6b29c71e=\"\">md</code>(桌面) <code _v-6b29c71e=\"\">lg</code>(大屏幕)</td>\n</tr>\n<tr _v-6b29c71e=\"\">\n<td _v-6b29c71e=\"\">offset</td>\n<td _v-6b29c71e=\"\"><code _v-6b29c71e=\"\">Number</code></td>\n<td _v-6b29c71e=\"\">-</td>\n<td _v-6b29c71e=\"\">偏移值</td>\n</tr>\n</tbody>\n</table>\n</div>\n</template>\n\n</section>";

/***/ }),
/* 363 */
/***/ (function(module, exports, __webpack_require__) {

    module.exports = __webpack_require__(364);

/***/ }),
/* 364 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __webpack_require__(365)
    __vue_script__ = __webpack_require__(367)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] node_modules/vue-markdown-loader/_cache/n3IconDocs-3.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(368)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-4365dbfc/n3IconDocs-3.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 365 */
/***/ (function(module, exports, __webpack_require__) {

    // style-loader: Adds some css to the DOM by adding a <style> tag
    
    // load the styles
    var content = __webpack_require__(366);
    if(typeof content === 'string') content = [[module.id, content, '']];
    if(content.locals) module.exports = content.locals;
    // add the styles to the DOM
    var update = __webpack_require__(351)("d72f2d5c", content, false);
    // Hot Module Replacement
    if(false) {
     // When the styles change, update the <style> tags
     if(!content.locals) {
       module.hot.accept("!!../../css-loader/index.js?sourceMap!../../vue-loader/lib/style-rewriter.js?id=_v-4365dbfc&scoped=true!../../vue-loader/lib/selector.js?type=style&index=0!./n3IconDocs-3.vue", function() {
         var newContent = require("!!../../css-loader/index.js?sourceMap!../../vue-loader/lib/style-rewriter.js?id=_v-4365dbfc&scoped=true!../../vue-loader/lib/selector.js?type=style&index=0!./n3IconDocs-3.vue");
         if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];
         update(newContent);
       });
     }
     // When the module is disposed, remove the <style> tags
     module.hot.dispose(function() { update(); });
    }

/***/ }),
/* 366 */
/***/ (function(module, exports, __webpack_require__) {

    exports = module.exports = __webpack_require__(350)();
    // imports
    
    
    // module
    exports.push([module.id, "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.row-ex div[_v-4365dbfc] {\n  text-align: left;\n  margin-top: 10px;\n}\n.row-ex i[_v-4365dbfc] {\n  margin-right: 10px;\n}\n.row-ex span[_v-4365dbfc] {\n  color:gray;\n}\n", "", {"version":3,"sources":["/./node_modules/vue-markdown-loader/_cache/n3IconDocs-3.vue?097eb189"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmGA;EACA,iBAAA;EACA,iBAAA;CACA;AACA;EACA,mBAAA;CACA;AACA;EACA,WAAA;CACA","file":"n3IconDocs-3.vue","sourcesContent":["<template><section><template>\n<h3>图标</h3>\n<div class=\"bs-docs-section\" id=\"图标\">\n<div class=\"bs-example\">\n<h3>FontAwesome 4.0 图标列表</h3>\n<h4>11 New Icons in 4.0</h4>\n<hr>\n<n3-container>\n  <n3-row class=\"row-ex clearfix\">\n    <n3-column v-for=\"font in newfont\" :col=\"3\"><n3-icon :type=\"font\"></n3-icon><span>{{font}}</span></n3-column>\n  </n3-row>\n    <br>\n  <h4>Web Application Icons</h4>\n  <hr>\n  <n3-row class=\"row-ex clearfix\">\n    <n3-column v-for=\"font in webfont\" :col=\"3\"><n3-icon :type=\"font\"></n3-icon><span>{{font}}</span></n3-column>\n  </n3-row>\n  <h4>Form Control Icons</h4>\n  <hr>\n  <n3-row class=\"row-ex clearfix\">\n    <n3-column v-for=\"font in formfont\" :col=\"3\"><n3-icon :type=\"font\"></n3-icon><span>{{font}}</span></n3-column>\n  </n3-row>\n  <br>\n  <h4>Currency Icons</h4>\n  <hr>\n  <n3-row class=\"row-ex clearfix\">\n    <n3-column v-for=\"font in currencyfont\" :col=\"3\"><n3-icon :type=\"font\"></n3-icon><span>{{font}}</span></n3-column>\n  </n3-row>\n  <br>\n  <h4>Text Edit Icons</h4>\n  <hr>\n  <n3-row class=\"row-ex clearfix\">\n    <n3-column v-for=\"font in textfont\" :col=\"3\"><n3-icon :type=\"font\"></n3-icon><span>{{font}}</span></n3-column>\n  </n3-row>\n  <br>\n  <h4>Directional Icons</h4>\n  <hr>\n  <n3-row class=\"row-ex clearfix\">\n    <n3-column v-for=\"font in directionalfont\" :col=\"3\"><n3-icon :type=\"font\"></n3-icon><span>{{font}}</span></n3-column>\n  </n3-row>\n  <br>\n  <h4>Video Player Icons</h4>\n  <hr>\n  <n3-row class=\"row-ex clearfix\">\n    <n3-column v-for=\"font in videofont\" :col=\"3\"><n3-icon :type=\"font\"></n3-icon><span>{{font}}</span></n3-column>\n  </n3-row>\n  <br>\n  <h4>Brand Icons</h4>\n  <hr>\n  <n3-row class=\"row-ex clearfix\">\n    <n3-column v-for=\"font in brandfont\" :col=\"3\"><n3-icon :type=\"font\"></n3-icon><span>{{font}}</span></n3-column>\n  </n3-row>\n  <br>\n  <h4>Medical Icons</h4>\n  <hr>\n  <n3-row class=\"row-ex clearfix\">\n    <n3-column v-for=\"font in medicalfont\" :col=\"3\"><n3-icon :type=\"font\"></n3-icon><span>{{font}}</span></n3-column>\n  </n3-row>\n</n3-container>\n</div>\n<pre><code class=\"language-html\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-icon</span> <span class=\"hljs-attr\">type</span>=<span class=\"hljs-string\">\"rub\"</span>&gt;</span><span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-icon</span>&gt;</span>\n</code></pre>\n<h3>参数</h3>\n<table>\n<thead>\n<tr>\n<th>参数名</th>\n<th>类型</th>\n<th>默认值</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>type</td>\n<td><code>String</code></td>\n<td></td>\n<td>图标类型名</td>\n</tr>\n<tr>\n<td>size</td>\n<td><code>String</code></td>\n<td></td>\n<td>图标尺寸</td>\n</tr>\n<tr>\n<td>color</td>\n<td><code>String</code></td>\n<td></td>\n<td>颜色</td>\n</tr>\n</tbody>\n</table>\n</div>\n</template>\n\n\n</section></template>\n<style scoped>\n  .row-ex div {\n    text-align: left;\n    margin-top: 10px;\n  }\n  .row-ex i {\n    margin-right: 10px;\n  }\n  .row-ex span {\n    color:gray;\n  }\n</style>\n<script>\nexport default {\n  data () {\n    return {\n    newfont:['rub','ruble','rouble','pagelines','stack-exchange','arrow-circle-o-right','arrow-circle-o-left','caret-square-o-left','toggle-left','dot-circle-o','wheelchair','vimeo-square','try','turkish-lira','plus-square-o'],\n    webfont:['adjust','anchor','archive','arrows','arrows-h','arrows-v','asterisk','ban','bar-chart-o','barcode','bars','beer','bell','bell-o','bolt','book','bookmark','bookmark-o','briefcase','bug','building-o','bullhorn','bullseye','calendar','calendar-o','camera','camera-retro','caret-square-o-down','caret-square-o-left','caret-square-o-right','caret-square-o-up','certificate','check','check-circle','check-circle-o','check-square','check-square-o','circle','circle-o','clock-o','cloud','cloud-download','cloud-upload','code','code-fork','coffee','cog','cogs','comment','comment-o','comments','comments-o','compass','credit-card','crop','crosshairs','cutlery','dashboard','desktop','dot-circle-o','download','edit','ellipsis-h','ellipsis-v','envelope','envelope-o','eraser','exchange','exclamation','exclamation-circle','exclamation-triangle','external-link','external-link-square','eye','eye-slash','female','fighter-jet','film','filter','fire','fire-extinguisher','flag','flag-checkered','flag-o','flash','flask','folder','folder-o','folder-open','folder-open-o','frown-o','gamepad','gavel','gear','gears','gift','glass','globe','group','hdd-o','headphones','heart','heart-o','home','inbox','info','info-circle','key','keyboard-o','laptop','leaf','legal','lemon-o','level-down','level-up','lightbulb-o','location-arrow','lock','magic','magnet','mail-forward','mail-reply','mail-reply-all','male','map-marker','meh-o','microphone','microphone-slash','minus','minus-circle','minus-square','minus-square-o','mobile','mobile-phone','money','moon-o','music','pencil','pencil-square','pencil-square-o','phone','phone-square','picture-o','plane','plus','plus-circle','plus-square','plus-square-o','power-off','print','puzzle-piece','qrcode','question','question-circle','quote-left','quote-right','random','refresh','reply','reply-all','retweet','road','rocket','rss','rss-square','search','search-minus','search-plus','share','share-square','share-square-o','shield','shopping-cart','sign-in','sign-out','signal','sitemap','smile-o','sort','sort-alpha-asc','sort-alpha-desc','sort-amount-asc','sort-amount-desc','sort-asc','sort-desc','sort-down','sort-numeric-asc','sort-numeric-desc','sort-up','spinner','square','square-o','star','star-half','star-half-empty','star-half-full','star-half-o','star-o','subscript','suitcase','sun-o','superscript','tablet','tachometer','tag','tags','tasks','terminal','thumb-tack','thumbs-down','thumbs-o-down','thumbs-o-up','thumbs-up','ticket','times','times-circle','times-circle-o','tint','toggle-down','toggle-left','toggle-right','toggle-up','trash-o','trophy','truck','umbrella','unlock','unlock-alt','unsorted','upload','user','users','video-camera','volume-down','volume-off','volume-up','warning','wheelchair','wrench'],\n      formfont:['check-square','check-square-o','circle','circle-o','dot-circle-o','minus-square','minus-square-o','plus-square','plus-square-o','square','square-o'],\n      currencyfont:['bitcoin','btc','cny','dollar','eur','euro','gbp','inr','jpy','krw','money','rmb','rouble','rub','ruble','rupee','try','turkish-lira','usd','won','yen' ],\n      textfont:['align-center','align-justify','align-left','align-right','bold','chain','chain-broken','clipboard','columns','copy','cut','dedent','eraser','file','file-o','file-text','file-text-o','files-o','floppy-o','font','indent','italic','link','list','list-alt','list-ol','list-ul','outdent','paperclip','paste','repeat','rotate-left','rotate-right','save','scissors','strikethrough','table','text-height','text-width','th','th-large','th-list','underline','undo','unlink'],\n      directionalfont:['angle-double-down','angle-double-left','angle-double-right','angle-double-up','angle-down','angle-left','angle-right','angle-up','arrow-circle-down','arrow-circle-left','arrow-circle-o-down','arrow-circle-o-left','arrow-circle-o-right','arrow-circle-o-up','arrow-circle-right','arrow-circle-up','arrow-down','arrow-left','arrow-right','arrow-up','arrows','arrows-alt','arrows-h','arrows-v','caret-down','caret-left','caret-right','caret-square-o-down','caret-square-o-left','caret-square-o-right','caret-square-o-up','caret-up','chevron-circle-down','chevron-circle-left','chevron-circle-right','chevron-circle-up','chevron-down','chevron-left','chevron-right','chevron-up','hand-o-down','hand-o-left','hand-o-right','hand-o-up','long-arrow-down','long-arrow-left','long-arrow-right','long-arrow-up','toggle-down','toggle-left','toggle-right','toggle-up'],\n      videofont:['arrows-alt','backward','compress','eject','expand','fast-backward','fast-forward','forward','pause','play','play-circle','play-circle-o','step-backward','step-forward','stop','youtube-play'],\n      brandfont:['adn','android','apple','bitbucket','bitbucket-square','bitcoin','btc','css3','dribbble','dropbox','facebook','facebook-square','flickr','foursquare','github','github-alt','github-square','gittip','google-plus','google-plus-square','html5','instagram','linkedin','linkedin-square','linux','maxcdn','pagelines','pinterest','pinterest-square','renren','skype','stack-exchange','stack-overflow','trello','tumblr','tumblr-square','twitter','twitter-square','vimeo-square','vk','weibo','windows','xing','xing-square','youtube','youtube-play','youtube-square'],\n      medicalfont:['ambulance','h-square','hospital-o','medkit','plus-square','stethoscope','user-md','wheelchair']\n      }\n  }\n}\n</script>"],"sourceRoot":"webpack://"}]);
    
    // exports


/***/ }),
/* 367 */
/***/ (function(module, exports) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    // <template><section><template>
    // <h3>图标</h3>
    // <div class="bs-docs-section" id="图标">
    // <div class="bs-example">
    // <h3>FontAwesome 4.0 图标列表</h3>
    // <h4>11 New Icons in 4.0</h4>
    // <hr>
    // <n3-container>
    //   <n3-row class="row-ex clearfix">
    //     <n3-column v-for="font in newfont" :col="3"><n3-icon :type="font"></n3-icon><span>{{font}}</span></n3-column>
    //   </n3-row>
    //     <br>
    //   <h4>Web Application Icons</h4>
    //   <hr>
    //   <n3-row class="row-ex clearfix">
    //     <n3-column v-for="font in webfont" :col="3"><n3-icon :type="font"></n3-icon><span>{{font}}</span></n3-column>
    //   </n3-row>
    //   <h4>Form Control Icons</h4>
    //   <hr>
    //   <n3-row class="row-ex clearfix">
    //     <n3-column v-for="font in formfont" :col="3"><n3-icon :type="font"></n3-icon><span>{{font}}</span></n3-column>
    //   </n3-row>
    //   <br>
    //   <h4>Currency Icons</h4>
    //   <hr>
    //   <n3-row class="row-ex clearfix">
    //     <n3-column v-for="font in currencyfont" :col="3"><n3-icon :type="font"></n3-icon><span>{{font}}</span></n3-column>
    //   </n3-row>
    //   <br>
    //   <h4>Text Edit Icons</h4>
    //   <hr>
    //   <n3-row class="row-ex clearfix">
    //     <n3-column v-for="font in textfont" :col="3"><n3-icon :type="font"></n3-icon><span>{{font}}</span></n3-column>
    //   </n3-row>
    //   <br>
    //   <h4>Directional Icons</h4>
    //   <hr>
    //   <n3-row class="row-ex clearfix">
    //     <n3-column v-for="font in directionalfont" :col="3"><n3-icon :type="font"></n3-icon><span>{{font}}</span></n3-column>
    //   </n3-row>
    //   <br>
    //   <h4>Video Player Icons</h4>
    //   <hr>
    //   <n3-row class="row-ex clearfix">
    //     <n3-column v-for="font in videofont" :col="3"><n3-icon :type="font"></n3-icon><span>{{font}}</span></n3-column>
    //   </n3-row>
    //   <br>
    //   <h4>Brand Icons</h4>
    //   <hr>
    //   <n3-row class="row-ex clearfix">
    //     <n3-column v-for="font in brandfont" :col="3"><n3-icon :type="font"></n3-icon><span>{{font}}</span></n3-column>
    //   </n3-row>
    //   <br>
    //   <h4>Medical Icons</h4>
    //   <hr>
    //   <n3-row class="row-ex clearfix">
    //     <n3-column v-for="font in medicalfont" :col="3"><n3-icon :type="font"></n3-icon><span>{{font}}</span></n3-column>
    //   </n3-row>
    // </n3-container>
    // </div>
    // <pre><code class="language-html"><span class="hljs-tag">&lt;<span class="hljs-name">n3-icon</span> <span class="hljs-attr">type</span>=<span class="hljs-string">"rub"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">n3-icon</span>&gt;</span>
    // </code></pre>
    // <h3>参数</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>参数名</th>
    // <th>类型</th>
    // <th>默认值</th>
    // <th>说明</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>type</td>
    // <td><code>String</code></td>
    // <td></td>
    // <td>图标类型名</td>
    // </tr>
    // <tr>
    // <td>size</td>
    // <td><code>String</code></td>
    // <td></td>
    // <td>图标尺寸</td>
    // </tr>
    // <tr>
    // <td>color</td>
    // <td><code>String</code></td>
    // <td></td>
    // <td>颜色</td>
    // </tr>
    // </tbody>
    // </table>
    // </div>
    // </template>
    //
    //
    // </section></template>
    // <style scoped>
    //   .row-ex div {
    //     text-align: left;
    //     margin-top: 10px;
    //   }
    //   .row-ex i {
    //     margin-right: 10px;
    //   }
    //   .row-ex span {
    //     color:gray;
    //   }
    // </style>
    // <script>
    exports.default = {
      data: function data() {
        return {
          newfont: ['rub', 'ruble', 'rouble', 'pagelines', 'stack-exchange', 'arrow-circle-o-right', 'arrow-circle-o-left', 'caret-square-o-left', 'toggle-left', 'dot-circle-o', 'wheelchair', 'vimeo-square', 'try', 'turkish-lira', 'plus-square-o'],
          webfont: ['adjust', 'anchor', 'archive', 'arrows', 'arrows-h', 'arrows-v', 'asterisk', 'ban', 'bar-chart-o', 'barcode', 'bars', 'beer', 'bell', 'bell-o', 'bolt', 'book', 'bookmark', 'bookmark-o', 'briefcase', 'bug', 'building-o', 'bullhorn', 'bullseye', 'calendar', 'calendar-o', 'camera', 'camera-retro', 'caret-square-o-down', 'caret-square-o-left', 'caret-square-o-right', 'caret-square-o-up', 'certificate', 'check', 'check-circle', 'check-circle-o', 'check-square', 'check-square-o', 'circle', 'circle-o', 'clock-o', 'cloud', 'cloud-download', 'cloud-upload', 'code', 'code-fork', 'coffee', 'cog', 'cogs', 'comment', 'comment-o', 'comments', 'comments-o', 'compass', 'credit-card', 'crop', 'crosshairs', 'cutlery', 'dashboard', 'desktop', 'dot-circle-o', 'download', 'edit', 'ellipsis-h', 'ellipsis-v', 'envelope', 'envelope-o', 'eraser', 'exchange', 'exclamation', 'exclamation-circle', 'exclamation-triangle', 'external-link', 'external-link-square', 'eye', 'eye-slash', 'female', 'fighter-jet', 'film', 'filter', 'fire', 'fire-extinguisher', 'flag', 'flag-checkered', 'flag-o', 'flash', 'flask', 'folder', 'folder-o', 'folder-open', 'folder-open-o', 'frown-o', 'gamepad', 'gavel', 'gear', 'gears', 'gift', 'glass', 'globe', 'group', 'hdd-o', 'headphones', 'heart', 'heart-o', 'home', 'inbox', 'info', 'info-circle', 'key', 'keyboard-o', 'laptop', 'leaf', 'legal', 'lemon-o', 'level-down', 'level-up', 'lightbulb-o', 'location-arrow', 'lock', 'magic', 'magnet', 'mail-forward', 'mail-reply', 'mail-reply-all', 'male', 'map-marker', 'meh-o', 'microphone', 'microphone-slash', 'minus', 'minus-circle', 'minus-square', 'minus-square-o', 'mobile', 'mobile-phone', 'money', 'moon-o', 'music', 'pencil', 'pencil-square', 'pencil-square-o', 'phone', 'phone-square', 'picture-o', 'plane', 'plus', 'plus-circle', 'plus-square', 'plus-square-o', 'power-off', 'print', 'puzzle-piece', 'qrcode', 'question', 'question-circle', 'quote-left', 'quote-right', 'random', 'refresh', 'reply', 'reply-all', 'retweet', 'road', 'rocket', 'rss', 'rss-square', 'search', 'search-minus', 'search-plus', 'share', 'share-square', 'share-square-o', 'shield', 'shopping-cart', 'sign-in', 'sign-out', 'signal', 'sitemap', 'smile-o', 'sort', 'sort-alpha-asc', 'sort-alpha-desc', 'sort-amount-asc', 'sort-amount-desc', 'sort-asc', 'sort-desc', 'sort-down', 'sort-numeric-asc', 'sort-numeric-desc', 'sort-up', 'spinner', 'square', 'square-o', 'star', 'star-half', 'star-half-empty', 'star-half-full', 'star-half-o', 'star-o', 'subscript', 'suitcase', 'sun-o', 'superscript', 'tablet', 'tachometer', 'tag', 'tags', 'tasks', 'terminal', 'thumb-tack', 'thumbs-down', 'thumbs-o-down', 'thumbs-o-up', 'thumbs-up', 'ticket', 'times', 'times-circle', 'times-circle-o', 'tint', 'toggle-down', 'toggle-left', 'toggle-right', 'toggle-up', 'trash-o', 'trophy', 'truck', 'umbrella', 'unlock', 'unlock-alt', 'unsorted', 'upload', 'user', 'users', 'video-camera', 'volume-down', 'volume-off', 'volume-up', 'warning', 'wheelchair', 'wrench'],
          formfont: ['check-square', 'check-square-o', 'circle', 'circle-o', 'dot-circle-o', 'minus-square', 'minus-square-o', 'plus-square', 'plus-square-o', 'square', 'square-o'],
          currencyfont: ['bitcoin', 'btc', 'cny', 'dollar', 'eur', 'euro', 'gbp', 'inr', 'jpy', 'krw', 'money', 'rmb', 'rouble', 'rub', 'ruble', 'rupee', 'try', 'turkish-lira', 'usd', 'won', 'yen'],
          textfont: ['align-center', 'align-justify', 'align-left', 'align-right', 'bold', 'chain', 'chain-broken', 'clipboard', 'columns', 'copy', 'cut', 'dedent', 'eraser', 'file', 'file-o', 'file-text', 'file-text-o', 'files-o', 'floppy-o', 'font', 'indent', 'italic', 'link', 'list', 'list-alt', 'list-ol', 'list-ul', 'outdent', 'paperclip', 'paste', 'repeat', 'rotate-left', 'rotate-right', 'save', 'scissors', 'strikethrough', 'table', 'text-height', 'text-width', 'th', 'th-large', 'th-list', 'underline', 'undo', 'unlink'],
          directionalfont: ['angle-double-down', 'angle-double-left', 'angle-double-right', 'angle-double-up', 'angle-down', 'angle-left', 'angle-right', 'angle-up', 'arrow-circle-down', 'arrow-circle-left', 'arrow-circle-o-down', 'arrow-circle-o-left', 'arrow-circle-o-right', 'arrow-circle-o-up', 'arrow-circle-right', 'arrow-circle-up', 'arrow-down', 'arrow-left', 'arrow-right', 'arrow-up', 'arrows', 'arrows-alt', 'arrows-h', 'arrows-v', 'caret-down', 'caret-left', 'caret-right', 'caret-square-o-down', 'caret-square-o-left', 'caret-square-o-right', 'caret-square-o-up', 'caret-up', 'chevron-circle-down', 'chevron-circle-left', 'chevron-circle-right', 'chevron-circle-up', 'chevron-down', 'chevron-left', 'chevron-right', 'chevron-up', 'hand-o-down', 'hand-o-left', 'hand-o-right', 'hand-o-up', 'long-arrow-down', 'long-arrow-left', 'long-arrow-right', 'long-arrow-up', 'toggle-down', 'toggle-left', 'toggle-right', 'toggle-up'],
          videofont: ['arrows-alt', 'backward', 'compress', 'eject', 'expand', 'fast-backward', 'fast-forward', 'forward', 'pause', 'play', 'play-circle', 'play-circle-o', 'step-backward', 'step-forward', 'stop', 'youtube-play'],
          brandfont: ['adn', 'android', 'apple', 'bitbucket', 'bitbucket-square', 'bitcoin', 'btc', 'css3', 'dribbble', 'dropbox', 'facebook', 'facebook-square', 'flickr', 'foursquare', 'github', 'github-alt', 'github-square', 'gittip', 'google-plus', 'google-plus-square', 'html5', 'instagram', 'linkedin', 'linkedin-square', 'linux', 'maxcdn', 'pagelines', 'pinterest', 'pinterest-square', 'renren', 'skype', 'stack-exchange', 'stack-overflow', 'trello', 'tumblr', 'tumblr-square', 'twitter', 'twitter-square', 'vimeo-square', 'vk', 'weibo', 'windows', 'xing', 'xing-square', 'youtube', 'youtube-play', 'youtube-square'],
          medicalfont: ['ambulance', 'h-square', 'hospital-o', 'medkit', 'plus-square', 'stethoscope', 'user-md', 'wheelchair']
        };
      }
    };
    // </script>
    /* generated by vue-loader */

/***/ }),
/* 368 */
/***/ (function(module, exports) {

    module.exports = "<section _v-4365dbfc=\"\"><template>\n<h3 _v-4365dbfc=\"\">图标</h3>\n<div class=\"bs-docs-section\" id=\"图标\" _v-4365dbfc=\"\">\n<div class=\"bs-example\" _v-4365dbfc=\"\">\n<h3 _v-4365dbfc=\"\">FontAwesome 4.0 图标列表</h3>\n<h4 _v-4365dbfc=\"\">11 New Icons in 4.0</h4>\n<hr _v-4365dbfc=\"\">\n<n3-container _v-4365dbfc=\"\">\n  <n3-row class=\"row-ex clearfix\" _v-4365dbfc=\"\">\n    <n3-column v-for=\"font in newfont\" :col=\"3\" _v-4365dbfc=\"\"><n3-icon :type=\"font\" _v-4365dbfc=\"\"></n3-icon><span _v-4365dbfc=\"\">{{font}}</span></n3-column>\n  </n3-row>\n    <br _v-4365dbfc=\"\">\n  <h4 _v-4365dbfc=\"\">Web Application Icons</h4>\n  <hr _v-4365dbfc=\"\">\n  <n3-row class=\"row-ex clearfix\" _v-4365dbfc=\"\">\n    <n3-column v-for=\"font in webfont\" :col=\"3\" _v-4365dbfc=\"\"><n3-icon :type=\"font\" _v-4365dbfc=\"\"></n3-icon><span _v-4365dbfc=\"\">{{font}}</span></n3-column>\n  </n3-row>\n  <h4 _v-4365dbfc=\"\">Form Control Icons</h4>\n  <hr _v-4365dbfc=\"\">\n  <n3-row class=\"row-ex clearfix\" _v-4365dbfc=\"\">\n    <n3-column v-for=\"font in formfont\" :col=\"3\" _v-4365dbfc=\"\"><n3-icon :type=\"font\" _v-4365dbfc=\"\"></n3-icon><span _v-4365dbfc=\"\">{{font}}</span></n3-column>\n  </n3-row>\n  <br _v-4365dbfc=\"\">\n  <h4 _v-4365dbfc=\"\">Currency Icons</h4>\n  <hr _v-4365dbfc=\"\">\n  <n3-row class=\"row-ex clearfix\" _v-4365dbfc=\"\">\n    <n3-column v-for=\"font in currencyfont\" :col=\"3\" _v-4365dbfc=\"\"><n3-icon :type=\"font\" _v-4365dbfc=\"\"></n3-icon><span _v-4365dbfc=\"\">{{font}}</span></n3-column>\n  </n3-row>\n  <br _v-4365dbfc=\"\">\n  <h4 _v-4365dbfc=\"\">Text Edit Icons</h4>\n  <hr _v-4365dbfc=\"\">\n  <n3-row class=\"row-ex clearfix\" _v-4365dbfc=\"\">\n    <n3-column v-for=\"font in textfont\" :col=\"3\" _v-4365dbfc=\"\"><n3-icon :type=\"font\" _v-4365dbfc=\"\"></n3-icon><span _v-4365dbfc=\"\">{{font}}</span></n3-column>\n  </n3-row>\n  <br _v-4365dbfc=\"\">\n  <h4 _v-4365dbfc=\"\">Directional Icons</h4>\n  <hr _v-4365dbfc=\"\">\n  <n3-row class=\"row-ex clearfix\" _v-4365dbfc=\"\">\n    <n3-column v-for=\"font in directionalfont\" :col=\"3\" _v-4365dbfc=\"\"><n3-icon :type=\"font\" _v-4365dbfc=\"\"></n3-icon><span _v-4365dbfc=\"\">{{font}}</span></n3-column>\n  </n3-row>\n  <br _v-4365dbfc=\"\">\n  <h4 _v-4365dbfc=\"\">Video Player Icons</h4>\n  <hr _v-4365dbfc=\"\">\n  <n3-row class=\"row-ex clearfix\" _v-4365dbfc=\"\">\n    <n3-column v-for=\"font in videofont\" :col=\"3\" _v-4365dbfc=\"\"><n3-icon :type=\"font\" _v-4365dbfc=\"\"></n3-icon><span _v-4365dbfc=\"\">{{font}}</span></n3-column>\n  </n3-row>\n  <br _v-4365dbfc=\"\">\n  <h4 _v-4365dbfc=\"\">Brand Icons</h4>\n  <hr _v-4365dbfc=\"\">\n  <n3-row class=\"row-ex clearfix\" _v-4365dbfc=\"\">\n    <n3-column v-for=\"font in brandfont\" :col=\"3\" _v-4365dbfc=\"\"><n3-icon :type=\"font\" _v-4365dbfc=\"\"></n3-icon><span _v-4365dbfc=\"\">{{font}}</span></n3-column>\n  </n3-row>\n  <br _v-4365dbfc=\"\">\n  <h4 _v-4365dbfc=\"\">Medical Icons</h4>\n  <hr _v-4365dbfc=\"\">\n  <n3-row class=\"row-ex clearfix\" _v-4365dbfc=\"\">\n    <n3-column v-for=\"font in medicalfont\" :col=\"3\" _v-4365dbfc=\"\"><n3-icon :type=\"font\" _v-4365dbfc=\"\"></n3-icon><span _v-4365dbfc=\"\">{{font}}</span></n3-column>\n  </n3-row>\n</n3-container>\n</div>\n<pre _v-4365dbfc=\"\"><code class=\"language-html\" _v-4365dbfc=\"\"><span class=\"hljs-tag\" _v-4365dbfc=\"\">&lt;<span class=\"hljs-name\" _v-4365dbfc=\"\">n3-icon</span> <span class=\"hljs-attr\" _v-4365dbfc=\"\">type</span>=<span class=\"hljs-string\" _v-4365dbfc=\"\">\"rub\"</span>&gt;</span><span class=\"hljs-tag\" _v-4365dbfc=\"\">&lt;/<span class=\"hljs-name\" _v-4365dbfc=\"\">n3-icon</span>&gt;</span>\n</code></pre>\n<h3 _v-4365dbfc=\"\">参数</h3>\n<table _v-4365dbfc=\"\">\n<thead _v-4365dbfc=\"\">\n<tr _v-4365dbfc=\"\">\n<th _v-4365dbfc=\"\">参数名</th>\n<th _v-4365dbfc=\"\">类型</th>\n<th _v-4365dbfc=\"\">默认值</th>\n<th _v-4365dbfc=\"\">说明</th>\n</tr>\n</thead>\n<tbody _v-4365dbfc=\"\">\n<tr _v-4365dbfc=\"\">\n<td _v-4365dbfc=\"\">type</td>\n<td _v-4365dbfc=\"\"><code _v-4365dbfc=\"\">String</code></td>\n<td _v-4365dbfc=\"\"></td>\n<td _v-4365dbfc=\"\">图标类型名</td>\n</tr>\n<tr _v-4365dbfc=\"\">\n<td _v-4365dbfc=\"\">size</td>\n<td _v-4365dbfc=\"\"><code _v-4365dbfc=\"\">String</code></td>\n<td _v-4365dbfc=\"\"></td>\n<td _v-4365dbfc=\"\">图标尺寸</td>\n</tr>\n<tr _v-4365dbfc=\"\">\n<td _v-4365dbfc=\"\">color</td>\n<td _v-4365dbfc=\"\"><code _v-4365dbfc=\"\">String</code></td>\n<td _v-4365dbfc=\"\"></td>\n<td _v-4365dbfc=\"\">颜色</td>\n</tr>\n</tbody>\n</table>\n</div>\n</template>\n\n\n</section>";

/***/ }),
/* 369 */
/***/ (function(module, exports, __webpack_require__) {

    module.exports = __webpack_require__(370);

/***/ }),
/* 370 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(371)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] node_modules/vue-markdown-loader/_cache/n3TagsDocs-2.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(372)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-60aaea21/n3TagsDocs-2.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 371 */
/***/ (function(module, exports) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    // <template><section><template>
    // <h3>标签</h3>
    // <div class="bs-docs-section" id="标签">
    // <blockquote>
    // <p>标签</p>
    // </blockquote>
    // <div class="bs-example">
    //   <n3-label>Default</n3-label>
    //   <n3-label type="primary">primary</n3-label>
    //   <n3-label type="danger">danger</n3-label>
    //   <n3-label type="success">success</n3-label>
    //   <n3-label type="info">info</n3-label>
    //   <n3-label type="warning">warning</n3-label>
    // </div>
    // <pre><code class="language-html"><span class="hljs-tag">&lt;<span class="hljs-name">n3-label</span>&gt;</span>Default<span class="hljs-tag">&lt;/<span class="hljs-name">n3-label</span>&gt;</span>
    // <span class="hljs-tag">&lt;<span class="hljs-name">n3-label</span> <span class="hljs-attr">type</span>=<span class="hljs-string">"primary"</span>&gt;</span>primary<span class="hljs-tag">&lt;/<span class="hljs-name">n3-label</span>&gt;</span>
    // <span class="hljs-tag">&lt;<span class="hljs-name">n3-label</span> <span class="hljs-attr">type</span>=<span class="hljs-string">"danger"</span>&gt;</span>danger<span class="hljs-tag">&lt;/<span class="hljs-name">n3-label</span>&gt;</span>
    // <span class="hljs-tag">&lt;<span class="hljs-name">n3-label</span> <span class="hljs-attr">type</span>=<span class="hljs-string">"success"</span>&gt;</span>success<span class="hljs-tag">&lt;/<span class="hljs-name">n3-label</span>&gt;</span>
    // <span class="hljs-tag">&lt;<span class="hljs-name">n3-label</span> <span class="hljs-attr">type</span>=<span class="hljs-string">"info"</span>&gt;</span>info<span class="hljs-tag">&lt;/<span class="hljs-name">n3-label</span>&gt;</span>
    // <span class="hljs-tag">&lt;<span class="hljs-name">n3-label</span> <span class="hljs-attr">type</span>=<span class="hljs-string">"warning"</span>&gt;</span>warning<span class="hljs-tag">&lt;/<span class="hljs-name">n3-label</span>&gt;</span>
    // </code></pre>
    // <h3>label参数</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>参数名</th>
    // <th>类型</th>
    // <th>默认值</th>
    // <th>说明</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>type</td>
    // <td><code>String</code></td>
    // <td><code>default</code></td>
    // <td>颜色</td>
    // </tr>
    // <tr>
    // <td>hover</td>
    // <td><code>Boolean</code></td>
    // <td><code>true</code></td>
    // <td></td>
    // </tr>
    // </tbody>
    // </table>
    // <blockquote>
    // <p>标签组</p>
    // </blockquote>
    // <div class="bs-example">
    //   <n3-tags v-model="list"></n3-tags>
    //   <n3-tags v-model="list" type="primary"></n3-tags>
    //   <n3-tags v-model="list" type="success"></n3-tags>
    //   <n3-tags v-model="list" type="danger"></n3-tags>
    //   <n3-tags v-model="list" type="warning"></n3-tags>
    //   <n3-tags v-model="list" removable="" type="primary"></n3-tags>
    // </div>
    // <pre><code class="language-html"><span class="hljs-tag">&lt;<span class="hljs-name">n3-tags</span> <span class="hljs-attr">v-model</span>=<span class="hljs-string">"list"</span> &gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">n3-tags</span>&gt;</span>
    // <span class="hljs-tag">&lt;<span class="hljs-name">n3-tags</span> <span class="hljs-attr">v-model</span>=<span class="hljs-string">"list"</span> <span class="hljs-attr">type</span>=<span class="hljs-string">"primary"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">n3-tags</span>&gt;</span>
    // <span class="hljs-tag">&lt;<span class="hljs-name">n3-tags</span> <span class="hljs-attr">v-model</span>=<span class="hljs-string">"list"</span> <span class="hljs-attr">type</span>=<span class="hljs-string">"success"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">n3-tags</span>&gt;</span>
    // <span class="hljs-tag">&lt;<span class="hljs-name">n3-tags</span> <span class="hljs-attr">v-model</span>=<span class="hljs-string">"list"</span> <span class="hljs-attr">type</span>=<span class="hljs-string">"danger"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">n3-tags</span>&gt;</span>
    // <span class="hljs-tag">&lt;<span class="hljs-name">n3-tags</span> <span class="hljs-attr">v-model</span>=<span class="hljs-string">"list"</span> <span class="hljs-attr">type</span>=<span class="hljs-string">"warning"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">n3-tags</span>&gt;</span>
    // <span class="hljs-tag">&lt;<span class="hljs-name">n3-tags</span> <span class="hljs-attr">v-model</span>=<span class="hljs-string">"list"</span> <span class="hljs-attr">removable</span> <span class="hljs-attr">type</span>=<span class="hljs-string">"primary"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">n3-tags</span>&gt;</span>
    // </code></pre>
    // <pre><code class="language-javascript"><span class="hljs-keyword">export</span> <span class="hljs-keyword">default</span> {
    //   data () {
    //     <span class="hljs-keyword">return</span> {
    //       <span class="hljs-attr">list</span>: [{
    //         <span class="hljs-attr">value</span>: <span class="hljs-string">'1'</span>,
    //         <span class="hljs-attr">label</span>: <span class="hljs-string">'1'</span>
    //       }, {
    //         <span class="hljs-attr">value</span>: <span class="hljs-string">'2'</span>,
    //         <span class="hljs-attr">label</span>: <span class="hljs-string">'2'</span>
    //       }, {
    //         <span class="hljs-attr">value</span>: <span class="hljs-string">'3'</span>,
    //         <span class="hljs-attr">label</span>: <span class="hljs-string">'3'</span>
    //       }, {
    //         <span class="hljs-attr">value</span>: <span class="hljs-string">'4'</span>,
    //         <span class="hljs-attr">label</span>: <span class="hljs-string">'4'</span>,
    //         <span class="hljs-attr">disabled</span>: <span class="hljs-literal">true</span>
    //       }]
    //     }
    //   }
    // }
    // </code></pre>
    // <h3>tags参数</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>参数名</th>
    // <th>类型</th>
    // <th>默认值</th>
    // <th>说明</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>type</td>
    // <td><code>String</code></td>
    // <td><code>default</code></td>
    // <td>颜色</td>
    // </tr>
    // <tr>
    // <td>value</td>
    // <td><code>Array</code></td>
    // <td><code>[]</code></td>
    // <td>内容数组</td>
    // </tr>
    // <tr>
    // <td>size</td>
    // <td><code>String</code></td>
    // <td></td>
    // <td>大小 sm,lg,xl</td>
    // </tr>
    // <tr>
    // <td>removable</td>
    // <td><code>Boolean</code></td>
    // <td><code>false</code></td>
    // <td>是否可删除</td>
    // </tr>
    // </tbody>
    // </table>
    // </div>
    // </template>
    //
    // </section></template>
    //
    // <script>
    exports.default = {
      data: function data() {
        return {
          list: [{
            value: '1',
            label: '1'
          }, {
            value: '2',
            label: '2'
          }, {
            value: '3',
            label: '3'
          }, {
            value: '4',
            label: '4',
            disabled: true
          }]
        };
      }
    };
    // </script>
    /* generated by vue-loader */

/***/ }),
/* 372 */
/***/ (function(module, exports) {

    module.exports = "<section><template>\n<h3>标签</h3>\n<div class=\"bs-docs-section\" id=\"标签\">\n<blockquote>\n<p>标签</p>\n</blockquote>\n<div class=\"bs-example\">\n  <n3-label>Default</n3-label>\n  <n3-label type=\"primary\">primary</n3-label>\n  <n3-label type=\"danger\">danger</n3-label>\n  <n3-label type=\"success\">success</n3-label>\n  <n3-label type=\"info\">info</n3-label>\n  <n3-label type=\"warning\">warning</n3-label>\n</div>\n<pre><code class=\"language-html\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-label</span>&gt;</span>Default<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-label</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-label</span> <span class=\"hljs-attr\">type</span>=<span class=\"hljs-string\">\"primary\"</span>&gt;</span>primary<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-label</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-label</span> <span class=\"hljs-attr\">type</span>=<span class=\"hljs-string\">\"danger\"</span>&gt;</span>danger<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-label</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-label</span> <span class=\"hljs-attr\">type</span>=<span class=\"hljs-string\">\"success\"</span>&gt;</span>success<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-label</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-label</span> <span class=\"hljs-attr\">type</span>=<span class=\"hljs-string\">\"info\"</span>&gt;</span>info<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-label</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-label</span> <span class=\"hljs-attr\">type</span>=<span class=\"hljs-string\">\"warning\"</span>&gt;</span>warning<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-label</span>&gt;</span>\n</code></pre>\n<h3>label参数</h3>\n<table>\n<thead>\n<tr>\n<th>参数名</th>\n<th>类型</th>\n<th>默认值</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>type</td>\n<td><code>String</code></td>\n<td><code>default</code></td>\n<td>颜色</td>\n</tr>\n<tr>\n<td>hover</td>\n<td><code>Boolean</code></td>\n<td><code>true</code></td>\n<td></td>\n</tr>\n</tbody>\n</table>\n<blockquote>\n<p>标签组</p>\n</blockquote>\n<div class=\"bs-example\">\n  <n3-tags v-model=\"list\"></n3-tags>\n  <n3-tags v-model=\"list\" type=\"primary\"></n3-tags>\n  <n3-tags v-model=\"list\" type=\"success\"></n3-tags>\n  <n3-tags v-model=\"list\" type=\"danger\"></n3-tags>\n  <n3-tags v-model=\"list\" type=\"warning\"></n3-tags>\n  <n3-tags v-model=\"list\" removable=\"\" type=\"primary\"></n3-tags>\n</div>\n<pre><code class=\"language-html\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-tags</span> <span class=\"hljs-attr\">v-model</span>=<span class=\"hljs-string\">\"list\"</span> &gt;</span><span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-tags</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-tags</span> <span class=\"hljs-attr\">v-model</span>=<span class=\"hljs-string\">\"list\"</span> <span class=\"hljs-attr\">type</span>=<span class=\"hljs-string\">\"primary\"</span>&gt;</span><span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-tags</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-tags</span> <span class=\"hljs-attr\">v-model</span>=<span class=\"hljs-string\">\"list\"</span> <span class=\"hljs-attr\">type</span>=<span class=\"hljs-string\">\"success\"</span>&gt;</span><span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-tags</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-tags</span> <span class=\"hljs-attr\">v-model</span>=<span class=\"hljs-string\">\"list\"</span> <span class=\"hljs-attr\">type</span>=<span class=\"hljs-string\">\"danger\"</span>&gt;</span><span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-tags</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-tags</span> <span class=\"hljs-attr\">v-model</span>=<span class=\"hljs-string\">\"list\"</span> <span class=\"hljs-attr\">type</span>=<span class=\"hljs-string\">\"warning\"</span>&gt;</span><span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-tags</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-tags</span> <span class=\"hljs-attr\">v-model</span>=<span class=\"hljs-string\">\"list\"</span> <span class=\"hljs-attr\">removable</span> <span class=\"hljs-attr\">type</span>=<span class=\"hljs-string\">\"primary\"</span>&gt;</span><span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-tags</span>&gt;</span>\n</code></pre>\n<pre><code class=\"language-javascript\"><span class=\"hljs-keyword\">export</span> <span class=\"hljs-keyword\">default</span> {\n  data () {\n    <span class=\"hljs-keyword\">return</span> {\n      <span class=\"hljs-attr\">list</span>: [{\n        <span class=\"hljs-attr\">value</span>: <span class=\"hljs-string\">'1'</span>,\n        <span class=\"hljs-attr\">label</span>: <span class=\"hljs-string\">'1'</span>\n      }, {\n        <span class=\"hljs-attr\">value</span>: <span class=\"hljs-string\">'2'</span>,\n        <span class=\"hljs-attr\">label</span>: <span class=\"hljs-string\">'2'</span>\n      }, {\n        <span class=\"hljs-attr\">value</span>: <span class=\"hljs-string\">'3'</span>,\n        <span class=\"hljs-attr\">label</span>: <span class=\"hljs-string\">'3'</span>\n      }, {\n        <span class=\"hljs-attr\">value</span>: <span class=\"hljs-string\">'4'</span>,\n        <span class=\"hljs-attr\">label</span>: <span class=\"hljs-string\">'4'</span>,\n        <span class=\"hljs-attr\">disabled</span>: <span class=\"hljs-literal\">true</span>\n      }]\n    }\n  }\n}\n</code></pre>\n<h3>tags参数</h3>\n<table>\n<thead>\n<tr>\n<th>参数名</th>\n<th>类型</th>\n<th>默认值</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>type</td>\n<td><code>String</code></td>\n<td><code>default</code></td>\n<td>颜色</td>\n</tr>\n<tr>\n<td>value</td>\n<td><code>Array</code></td>\n<td><code>[]</code></td>\n<td>内容数组</td>\n</tr>\n<tr>\n<td>size</td>\n<td><code>String</code></td>\n<td></td>\n<td>大小 sm,lg,xl</td>\n</tr>\n<tr>\n<td>removable</td>\n<td><code>Boolean</code></td>\n<td><code>false</code></td>\n<td>是否可删除</td>\n</tr>\n</tbody>\n</table>\n</div>\n</template>\n\n</section>";

/***/ }),
/* 373 */
/***/ (function(module, exports, __webpack_require__) {

    module.exports = __webpack_require__(374);

/***/ }),
/* 374 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __webpack_require__(375)
    __vue_script__ = __webpack_require__(377)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] node_modules/vue-markdown-loader/_cache/n3AlertDocs-4.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(393)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-c0f1ac74/n3AlertDocs-4.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 375 */
/***/ (function(module, exports, __webpack_require__) {

    // style-loader: Adds some css to the DOM by adding a <style> tag
    
    // load the styles
    var content = __webpack_require__(376);
    if(typeof content === 'string') content = [[module.id, content, '']];
    if(content.locals) module.exports = content.locals;
    // add the styles to the DOM
    var update = __webpack_require__(351)("7661c317", content, false);
    // Hot Module Replacement
    if(false) {
     // When the styles change, update the <style> tags
     if(!content.locals) {
       module.hot.accept("!!../../css-loader/index.js?sourceMap!../../vue-loader/lib/style-rewriter.js!../../vue-loader/lib/selector.js?type=style&index=0!./n3AlertDocs-4.vue", function() {
         var newContent = require("!!../../css-loader/index.js?sourceMap!../../vue-loader/lib/style-rewriter.js!../../vue-loader/lib/selector.js?type=style&index=0!./n3AlertDocs-4.vue");
         if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];
         update(newContent);
       });
     }
     // When the module is disposed, remove the <style> tags
     module.hot.dispose(function() { update(); });
    }

/***/ }),
/* 376 */
/***/ (function(module, exports, __webpack_require__) {

    exports = module.exports = __webpack_require__(350)();
    // imports
    
    
    // module
    exports.push([module.id, "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.alert-icon-float-left {\n  font-size:32px;float:left;margin-right:5px;\n}\n", "", {"version":3,"sources":["/./node_modules/vue-markdown-loader/_cache/n3AlertDocs-4.vue?1a9185e0"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2RA;EACA,eAAA,WAAA,iBAAA;CACA","file":"n3AlertDocs-4.vue","sourcesContent":["<template><section><template>\n<h3>提示消息</h3>\n<div class=\"bs-docs-section\" id=\"提示消息\">\n<div class=\"bs-example\">\n<blockquote>\n<p>组件调用</p>\n</blockquote>\n<p><n3-button type=\"success\" @click.native=\"openRight\">\n点击出现在右边\n</n3-button>\n<n3-button type=\"danger\" @click.native=\"openTop\">\n点击出现在顶部\n</n3-button></p>\n  <hr>\n  <n3-alert dismissable=\"\" :show=\"true\" icon=\"smile-o\">\n    <strong>default style</strong>\n    This is the default style.\n  </n3-alert>\n  <br>\n  <n3-alert type=\"success\" :show=\"true\">\n    <strong>Well Done!</strong>\n    You successfully read this important alert message.\n  </n3-alert>\n  <br>\n  <n3-alert type=\"info\" :show=\"true\">\n    <strong>Heads up!</strong> This alert needs your attention, but it's not super important.\n  </n3-alert>\n  <br>\n  <n3-alert type=\"danger\" dismissable=\"\" :show=\"true\">\n    <strong>Oh snap!</strong> Change a few things up and try submitting again.\n  </n3-alert>\n  <br>\n  <n3-alert type=\"warning\" dismissable=\"\" :show=\"true\">\n    <strong>Warning!</strong> Better check yourself, you're not looking too good.\n    <hr>\n  </n3-alert>\n  <br>\n  <n3-alert :show=\"true\" type=\"success\" width=\"700px\" message=\"信息提示\" description=\"\">\n    这里是信息提示,这里是信息提示,这里是信息提示,这里是信息提示,这里是信息提示这里是信息提示这里是信息提示这里是信息提示\n  </n3-alert>\n  <br>\n  <n3-alert :show=\"true\" type=\"danger\" width=\"700px\" message=\"错误提示\" description=\"\" dismissable=\"\">\n    这里是信息提示,这里是信息提示,这里是信息提示,这里是信息提示,这里是信息提示这里是信息提示这里是信息提示这里是信息提示\n  </n3-alert>\n  <br>\n  <n3-alert :show=\"true\" type=\"info\" width=\"700px\" message=\"错误提示\" :on-close=\"close\" description=\"\" dismissable=\"\">\n    点击关闭按钮的回调函数,打开控制台看看:)\n  </n3-alert>\n  <n3-alert ref=\"alertRight\" type=\"success\" width=\"700px\" placement=\"top-right\" message=\"信息提示\" description=\"\" dismissable=\"\">\n    <p>You successfully read this important alert message.</p>\n  </n3-alert>\n  <n3-alert ref=\"alertTop\" :duration=\"3000\" type=\"danger\" placement=\"top\" message=\"警告\" description=\"\" dismissable=\"\">\n    <strong>Heads up!</strong>\n    <p>This alert needs your attention.</p>\n  </n3-alert>\n</div>\n<pre><code class=\"language-html\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-button</span> <span class=\"hljs-attr\">type</span>=<span class=\"hljs-string\">'success'</span>\n  <span class=\"hljs-attr\">@click.native</span>=<span class=\"hljs-string\">\"openRight\"</span>&gt;</span>\n  点击出现在右边\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-button</span>&gt;</span>\n\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-button</span> <span class=\"hljs-attr\">type</span>=<span class=\"hljs-string\">'danger'</span>\n  <span class=\"hljs-attr\">@click.native</span>=<span class=\"hljs-string\">\"openTop\"</span>&gt;</span>\n 点击出现在顶部\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-button</span>&gt;</span>\n\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-alert</span> <span class=\"hljs-attr\">dismissable</span> <span class=\"hljs-attr\">:show</span>=<span class=\"hljs-string\">\"true\"</span> <span class=\"hljs-attr\">icon</span>=<span class=\"hljs-string\">\"smile-o\"</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">strong</span>&gt;</span>default style<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">strong</span>&gt;</span>\n  This is the default style.\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-alert</span>&gt;</span>\n\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-alert</span> <span class=\"hljs-attr\">type</span>=<span class=\"hljs-string\">\"success\"</span> <span class=\"hljs-attr\">show</span>=<span class=\"hljs-string\">\"true\"</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">strong</span>&gt;</span>Well Done!<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">strong</span>&gt;</span>\n  You successfully read this important alert message.\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-alert</span>&gt;</span>\n\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-alert</span> <span class=\"hljs-attr\">type</span>=<span class=\"hljs-string\">\"info\"</span> <span class=\"hljs-attr\">show</span>=<span class=\"hljs-string\">\"true\"</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">strong</span>&gt;</span>Heads up!<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">strong</span>&gt;</span> This alert needs your attention, but it's not super important.\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-alert</span>&gt;</span>\n\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-alert</span> <span class=\"hljs-attr\">type</span>=<span class=\"hljs-string\">\"danger\"</span> <span class=\"hljs-attr\">dismissable</span> <span class=\"hljs-attr\">show</span>=<span class=\"hljs-string\">\"true\"</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">strong</span>&gt;</span>Oh snap!<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">strong</span>&gt;</span> Change a few things up and try submitting again.\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-alert</span>&gt;</span>\n\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-alert</span> <span class=\"hljs-attr\">type</span>=<span class=\"hljs-string\">\"warning\"</span> <span class=\"hljs-attr\">dismissable</span> <span class=\"hljs-attr\">show</span>=<span class=\"hljs-string\">\"true\"</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">strong</span>&gt;</span>Warning!<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">strong</span>&gt;</span> Better check yourself, you're not looking too good.\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">hr</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-alert</span>&gt;</span>\n\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-alert</span>\n  <span class=\"hljs-attr\">:show</span>=<span class=\"hljs-string\">\"true\"</span>\n  <span class=\"hljs-attr\">type</span>=<span class=\"hljs-string\">\"success\"</span>\n  <span class=\"hljs-attr\">width</span>=<span class=\"hljs-string\">\"700px\"</span>\n  <span class=\"hljs-attr\">message</span>=<span class=\"hljs-string\">\"信息提示\"</span>\n  <span class=\"hljs-attr\">description</span>&gt;</span>\n  这里是信息提示,这里是信息提示,这里是信息提示,这里是信息提示,这里是信息提示这里是信息提示这里是信息提示这里是信息提示\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-alert</span>&gt;</span>\n\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-alert</span>\n  <span class=\"hljs-attr\">:show</span>=<span class=\"hljs-string\">\"true\"</span>\n  <span class=\"hljs-attr\">type</span>=<span class=\"hljs-string\">\"danger\"</span>\n  <span class=\"hljs-attr\">width</span>=<span class=\"hljs-string\">\"700px\"</span>\n  <span class=\"hljs-attr\">message</span>=<span class=\"hljs-string\">\"错误提示\"</span>\n  <span class=\"hljs-attr\">description</span>\n  <span class=\"hljs-attr\">dismissable</span>&gt;</span>\n  这里是信息提示,这里是信息提示,这里是信息提示,这里是信息提示,这里是信息提示这里是信息提示这里是信息提示这里是信息提示\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-alert</span>&gt;</span>\n\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-alert</span>\n  <span class=\"hljs-attr\">show</span>=<span class=\"hljs-string\">\"true\"</span>\n  <span class=\"hljs-attr\">type</span>=<span class=\"hljs-string\">\"info\"</span>\n  <span class=\"hljs-attr\">width</span>=<span class=\"hljs-string\">\"700px\"</span>\n  <span class=\"hljs-attr\">message</span>=<span class=\"hljs-string\">\"错误提示\"</span>\n  <span class=\"hljs-attr\">:on-close</span>=<span class=\"hljs-string\">\"close\"</span>\n  <span class=\"hljs-attr\">description</span>\n  <span class=\"hljs-attr\">dismissable</span>&gt;</span>\n  点击关闭按钮的回调函数,打开控制台看看:)\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-alert</span>&gt;</span>\n\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-alert</span>\n  <span class=\"hljs-attr\">ref</span>=<span class=\"hljs-string\">\"alertRight\"</span>\n  <span class=\"hljs-attr\">type</span>=<span class=\"hljs-string\">\"success\"</span>\n  <span class=\"hljs-attr\">width</span>=<span class=\"hljs-string\">\"700px\"</span>\n  <span class=\"hljs-attr\">placement</span>=<span class=\"hljs-string\">\"top-right\"</span>\n  <span class=\"hljs-attr\">message</span>=<span class=\"hljs-string\">\"信息提示\"</span>\n  <span class=\"hljs-attr\">description</span>\n  <span class=\"hljs-attr\">dismissable</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">p</span>&gt;</span>You successfully read this important alert message.<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">p</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-alert</span>&gt;</span>\n\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-alert</span>\n  <span class=\"hljs-attr\">ref</span>=<span class=\"hljs-string\">\"alertTop\"</span>\n  <span class=\"hljs-attr\">:duration</span>=<span class=\"hljs-string\">\"3000\"</span>\n  <span class=\"hljs-attr\">type</span>=<span class=\"hljs-string\">\"danger\"</span>\n  <span class=\"hljs-attr\">placement</span>=<span class=\"hljs-string\">\"top\"</span>\n  <span class=\"hljs-attr\">message</span>=<span class=\"hljs-string\">\"警告\"</span>\n  <span class=\"hljs-attr\">description</span>\n  <span class=\"hljs-attr\">dismissable</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">strong</span>&gt;</span>Heads up!<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">strong</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">p</span>&gt;</span>This alert needs your attention.<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">p</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-alert</span>&gt;</span>\n</code></pre>\n<pre><code class=\"language-javascript\"><span class=\"hljs-keyword\">export</span> <span class=\"hljs-keyword\">default</span> {\n  <span class=\"hljs-attr\">methods</span>: {\n    openRight () {\n      <span class=\"hljs-keyword\">this</span>.$refs.alertRight.open()\n    },\n    openTop () {\n      <span class=\"hljs-keyword\">this</span>.$refs.alertTop.open()\n    },\n    close () {\n      <span class=\"hljs-built_in\">console</span>.log(<span class=\"hljs-string\">'你点击了关闭按钮'</span>)\n    }\n  }\n}\n</code></pre>\n<h3>参数</h3>\n<table>\n<thead>\n<tr>\n<th>参数名</th>\n<th>类型</th>\n<th>默认值</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>show</td>\n<td><code>Boolean</code></td>\n<td><code>false</code></td>\n<td>是否显示</td>\n</tr>\n<tr>\n<td>icon</td>\n<td><code>String</code></td>\n<td>-</td>\n<td>自定义图标</td>\n</tr>\n<tr>\n<td>dismissable</td>\n<td><code>Boolean</code></td>\n<td><code>false</code></td>\n<td>是否显示关闭按钮</td>\n</tr>\n<tr>\n<td>type</td>\n<td><code>String</code>, 如: <code>default</code> <code>success</code> <code>info</code> <code>warning</code> <code>danger</code></td>\n<td><code>success</code></td>\n<td>组件样式</td>\n</tr>\n<tr>\n<td>duration</td>\n<td><code>Number</code></td>\n<td><code>0</code></td>\n<td>自动关闭延时,设置 <code>0</code> 或者负数,表示不会自动关闭</td>\n</tr>\n<tr>\n<td>width</td>\n<td><code>String</code>例如&quot;700px&quot;</td>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>small</td>\n<td><code>Boolean</code></td>\n<td></td>\n<td>缩小</td>\n</tr>\n<tr>\n<td>placement</td>\n<td><code>String</code>. 如: <code>top</code>, <code>top-right</code>,<code>top-left</code>, <code>bottom</code>,<code>bottom-left</code>, <code>bottom-right</code></td>\n<td></td>\n<td>组件位置</td>\n</tr>\n<tr>\n<td>description</td>\n<td><code>Boolean</code></td>\n<td><code>false</code></td>\n<td>警告提示</td>\n</tr>\n<tr>\n<td>message</td>\n<td><code>String</code></td>\n<td></td>\n<td>在设置description时有效</td>\n</tr>\n</tbody>\n</table>\n<h3>Events</h3>\n<table>\n<thead>\n<tr>\n<th>事件名称</th>\n<th>说明</th>\n<th>回调参数</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>close</td>\n<td>点击关闭按钮时触发</td>\n<td></td>\n</tr>\n<tr>\n<td>show</td>\n<td>出现时触发</td>\n<td></td>\n</tr>\n<tr>\n<td>hide</td>\n<td>消失时触发</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n<blockquote>\n<p>函数调用</p>\n</blockquote>\n<p><n3-button type=\"success\" @click.native=\"open\">\n函数调用\n</n3-button></p>\n<pre><code class=\"language-javascript\">\n<span class=\"hljs-keyword\">export</span> <span class=\"hljs-keyword\">default</span> {\n  <span class=\"hljs-attr\">methods</span>: {\n    showAlert () {\n      <span class=\"hljs-keyword\">this</span>.n3Alert({\n        <span class=\"hljs-attr\">content</span>: <span class=\"hljs-string\">'success'</span>,\n          <span class=\"hljs-attr\">type</span>: <span class=\"hljs-string\">'success'</span>,\n          <span class=\"hljs-attr\">placement</span>: <span class=\"hljs-string\">'top-right'</span>,\n          <span class=\"hljs-attr\">duration</span>: <span class=\"hljs-number\">2000</span>,\n          <span class=\"hljs-attr\">width</span>:<span class=\"hljs-string\">'200px'</span> <span class=\"hljs-comment\">// 内容不确定,建议设置width</span>\n      })\n    },\n  }\n}\n</code></pre>\n</div>\n</template>\n\n\n</section></template>\n<style>\n.alert-icon-float-left {\n  font-size:32px;float:left;margin-right:5px;\n}\n</style>\n<script>\n  import n3Alert from 'src/Alert/n3Alert.vue'\n  import n3Button from 'src/Button/n3Button.vue'\n\n  export default {\n    methods: {\n      openRight () {\n        this.$refs.alertRight.open()\n      },\n      openTop () {\n        this.$refs.alertTop.open()\n      },\n      close () {\n        console.log('你点击了关闭按钮')\n      },\n      open () {\n        this.n3Alert({\n          content: 'success',\n          type: 'success',\n          placement: 'top-right',\n          duration: 2000,\n          width:'200px'\n        })\n      }\n    },\n    components: {\n      n3Alert,\n      n3Button\n    }\n  }\n</script>"],"sourceRoot":"webpack://"}]);
    
    // exports


/***/ }),
/* 377 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    
    var _n3Alert = __webpack_require__(378);
    
    var _n3Alert2 = _interopRequireDefault(_n3Alert);
    
    var _n3Button = __webpack_require__(384);
    
    var _n3Button2 = _interopRequireDefault(_n3Button);
    
    function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
    
    // <template><section><template>
    // <h3>提示消息</h3>
    // <div class="bs-docs-section" id="提示消息">
    // <div class="bs-example">
    // <blockquote>
    // <p>组件调用</p>
    // </blockquote>
    // <p><n3-button type="success" @click.native="openRight">
    // 点击出现在右边
    // </n3-button>
    // <n3-button type="danger" @click.native="openTop">
    // 点击出现在顶部
    // </n3-button></p>
    //   <hr>
    //   <n3-alert dismissable="" :show="true" icon="smile-o">
    //     <strong>default style</strong>
    //     This is the default style.
    //   </n3-alert>
    //   <br>
    //   <n3-alert type="success" :show="true">
    //     <strong>Well Done!</strong>
    //     You successfully read this important alert message.
    //   </n3-alert>
    //   <br>
    //   <n3-alert type="info" :show="true">
    //     <strong>Heads up!</strong> This alert needs your attention, but it's not super important.
    //   </n3-alert>
    //   <br>
    //   <n3-alert type="danger" dismissable="" :show="true">
    //     <strong>Oh snap!</strong> Change a few things up and try submitting again.
    //   </n3-alert>
    //   <br>
    //   <n3-alert type="warning" dismissable="" :show="true">
    //     <strong>Warning!</strong> Better check yourself, you're not looking too good.
    //     <hr>
    //   </n3-alert>
    //   <br>
    //   <n3-alert :show="true" type="success" width="700px" message="信息提示" description="">
    //     这里是信息提示,这里是信息提示,这里是信息提示,这里是信息提示,这里是信息提示这里是信息提示这里是信息提示这里是信息提示
    //   </n3-alert>
    //   <br>
    //   <n3-alert :show="true" type="danger" width="700px" message="错误提示" description="" dismissable="">
    //     这里是信息提示,这里是信息提示,这里是信息提示,这里是信息提示,这里是信息提示这里是信息提示这里是信息提示这里是信息提示
    //   </n3-alert>
    //   <br>
    //   <n3-alert :show="true" type="info" width="700px" message="错误提示" :on-close="close" description="" dismissable="">
    //     点击关闭按钮的回调函数,打开控制台看看:)
    //   </n3-alert>
    //   <n3-alert ref="alertRight" type="success" width="700px" placement="top-right" message="信息提示" description="" dismissable="">
    //     <p>You successfully read this important alert message.</p>
    //   </n3-alert>
    //   <n3-alert ref="alertTop" :duration="3000" type="danger" placement="top" message="警告" description="" dismissable="">
    //     <strong>Heads up!</strong>
    //     <p>This alert needs your attention.</p>
    //   </n3-alert>
    // </div>
    // <pre><code class="language-html"><span class="hljs-tag">&lt;<span class="hljs-name">n3-button</span> <span class="hljs-attr">type</span>=<span class="hljs-string">'success'</span>
    //   <span class="hljs-attr">@click.native</span>=<span class="hljs-string">"openRight"</span>&gt;</span>
    //   点击出现在右边
    // <span class="hljs-tag">&lt;/<span class="hljs-name">n3-button</span>&gt;</span>
    //
    // <span class="hljs-tag">&lt;<span class="hljs-name">n3-button</span> <span class="hljs-attr">type</span>=<span class="hljs-string">'danger'</span>
    //   <span class="hljs-attr">@click.native</span>=<span class="hljs-string">"openTop"</span>&gt;</span>
    //  点击出现在顶部
    // <span class="hljs-tag">&lt;/<span class="hljs-name">n3-button</span>&gt;</span>
    //
    // <span class="hljs-tag">&lt;<span class="hljs-name">n3-alert</span> <span class="hljs-attr">dismissable</span> <span class="hljs-attr">:show</span>=<span class="hljs-string">"true"</span> <span class="hljs-attr">icon</span>=<span class="hljs-string">"smile-o"</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">strong</span>&gt;</span>default style<span class="hljs-tag">&lt;/<span class="hljs-name">strong</span>&gt;</span>
    //   This is the default style.
    // <span class="hljs-tag">&lt;/<span class="hljs-name">n3-alert</span>&gt;</span>
    //
    // <span class="hljs-tag">&lt;<span class="hljs-name">n3-alert</span> <span class="hljs-attr">type</span>=<span class="hljs-string">"success"</span> <span class="hljs-attr">show</span>=<span class="hljs-string">"true"</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">strong</span>&gt;</span>Well Done!<span class="hljs-tag">&lt;/<span class="hljs-name">strong</span>&gt;</span>
    //   You successfully read this important alert message.
    // <span class="hljs-tag">&lt;/<span class="hljs-name">n3-alert</span>&gt;</span>
    //
    // <span class="hljs-tag">&lt;<span class="hljs-name">n3-alert</span> <span class="hljs-attr">type</span>=<span class="hljs-string">"info"</span> <span class="hljs-attr">show</span>=<span class="hljs-string">"true"</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">strong</span>&gt;</span>Heads up!<span class="hljs-tag">&lt;/<span class="hljs-name">strong</span>&gt;</span> This alert needs your attention, but it's not super important.
    // <span class="hljs-tag">&lt;/<span class="hljs-name">n3-alert</span>&gt;</span>
    //
    // <span class="hljs-tag">&lt;<span class="hljs-name">n3-alert</span> <span class="hljs-attr">type</span>=<span class="hljs-string">"danger"</span> <span class="hljs-attr">dismissable</span> <span class="hljs-attr">show</span>=<span class="hljs-string">"true"</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">strong</span>&gt;</span>Oh snap!<span class="hljs-tag">&lt;/<span class="hljs-name">strong</span>&gt;</span> Change a few things up and try submitting again.
    // <span class="hljs-tag">&lt;/<span class="hljs-name">n3-alert</span>&gt;</span>
    //
    // <span class="hljs-tag">&lt;<span class="hljs-name">n3-alert</span> <span class="hljs-attr">type</span>=<span class="hljs-string">"warning"</span> <span class="hljs-attr">dismissable</span> <span class="hljs-attr">show</span>=<span class="hljs-string">"true"</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">strong</span>&gt;</span>Warning!<span class="hljs-tag">&lt;/<span class="hljs-name">strong</span>&gt;</span> Better check yourself, you're not looking too good.
    //   <span class="hljs-tag">&lt;<span class="hljs-name">hr</span>&gt;</span>
    // <span class="hljs-tag">&lt;/<span class="hljs-name">n3-alert</span>&gt;</span>
    //
    // <span class="hljs-tag">&lt;<span class="hljs-name">n3-alert</span>
    //   <span class="hljs-attr">:show</span>=<span class="hljs-string">"true"</span>
    //   <span class="hljs-attr">type</span>=<span class="hljs-string">"success"</span>
    //   <span class="hljs-attr">width</span>=<span class="hljs-string">"700px"</span>
    //   <span class="hljs-attr">message</span>=<span class="hljs-string">"信息提示"</span>
    //   <span class="hljs-attr">description</span>&gt;</span>
    //   这里是信息提示,这里是信息提示,这里是信息提示,这里是信息提示,这里是信息提示这里是信息提示这里是信息提示这里是信息提示
    // <span class="hljs-tag">&lt;/<span class="hljs-name">n3-alert</span>&gt;</span>
    //
    // <span class="hljs-tag">&lt;<span class="hljs-name">n3-alert</span>
    //   <span class="hljs-attr">:show</span>=<span class="hljs-string">"true"</span>
    //   <span class="hljs-attr">type</span>=<span class="hljs-string">"danger"</span>
    //   <span class="hljs-attr">width</span>=<span class="hljs-string">"700px"</span>
    //   <span class="hljs-attr">message</span>=<span class="hljs-string">"错误提示"</span>
    //   <span class="hljs-attr">description</span>
    //   <span class="hljs-attr">dismissable</span>&gt;</span>
    //   这里是信息提示,这里是信息提示,这里是信息提示,这里是信息提示,这里是信息提示这里是信息提示这里是信息提示这里是信息提示
    // <span class="hljs-tag">&lt;/<span class="hljs-name">n3-alert</span>&gt;</span>
    //
    // <span class="hljs-tag">&lt;<span class="hljs-name">n3-alert</span>
    //   <span class="hljs-attr">show</span>=<span class="hljs-string">"true"</span>
    //   <span class="hljs-attr">type</span>=<span class="hljs-string">"info"</span>
    //   <span class="hljs-attr">width</span>=<span class="hljs-string">"700px"</span>
    //   <span class="hljs-attr">message</span>=<span class="hljs-string">"错误提示"</span>
    //   <span class="hljs-attr">:on-close</span>=<span class="hljs-string">"close"</span>
    //   <span class="hljs-attr">description</span>
    //   <span class="hljs-attr">dismissable</span>&gt;</span>
    //   点击关闭按钮的回调函数,打开控制台看看:)
    // <span class="hljs-tag">&lt;/<span class="hljs-name">n3-alert</span>&gt;</span>
    //
    // <span class="hljs-tag">&lt;<span class="hljs-name">n3-alert</span>
    //   <span class="hljs-attr">ref</span>=<span class="hljs-string">"alertRight"</span>
    //   <span class="hljs-attr">type</span>=<span class="hljs-string">"success"</span>
    //   <span class="hljs-attr">width</span>=<span class="hljs-string">"700px"</span>
    //   <span class="hljs-attr">placement</span>=<span class="hljs-string">"top-right"</span>
    //   <span class="hljs-attr">message</span>=<span class="hljs-string">"信息提示"</span>
    //   <span class="hljs-attr">description</span>
    //   <span class="hljs-attr">dismissable</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">p</span>&gt;</span>You successfully read this important alert message.<span class="hljs-tag">&lt;/<span class="hljs-name">p</span>&gt;</span>
    // <span class="hljs-tag">&lt;/<span class="hljs-name">n3-alert</span>&gt;</span>
    //
    // <span class="hljs-tag">&lt;<span class="hljs-name">n3-alert</span>
    //   <span class="hljs-attr">ref</span>=<span class="hljs-string">"alertTop"</span>
    //   <span class="hljs-attr">:duration</span>=<span class="hljs-string">"3000"</span>
    //   <span class="hljs-attr">type</span>=<span class="hljs-string">"danger"</span>
    //   <span class="hljs-attr">placement</span>=<span class="hljs-string">"top"</span>
    //   <span class="hljs-attr">message</span>=<span class="hljs-string">"警告"</span>
    //   <span class="hljs-attr">description</span>
    //   <span class="hljs-attr">dismissable</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">strong</span>&gt;</span>Heads up!<span class="hljs-tag">&lt;/<span class="hljs-name">strong</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">p</span>&gt;</span>This alert needs your attention.<span class="hljs-tag">&lt;/<span class="hljs-name">p</span>&gt;</span>
    // <span class="hljs-tag">&lt;/<span class="hljs-name">n3-alert</span>&gt;</span>
    // </code></pre>
    // <pre><code class="language-javascript"><span class="hljs-keyword">export</span> <span class="hljs-keyword">default</span> {
    //   <span class="hljs-attr">methods</span>: {
    //     openRight () {
    //       <span class="hljs-keyword">this</span>.$refs.alertRight.open()
    //     },
    //     openTop () {
    //       <span class="hljs-keyword">this</span>.$refs.alertTop.open()
    //     },
    //     close () {
    //       <span class="hljs-built_in">console</span>.log(<span class="hljs-string">'你点击了关闭按钮'</span>)
    //     }
    //   }
    // }
    // </code></pre>
    // <h3>参数</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>参数名</th>
    // <th>类型</th>
    // <th>默认值</th>
    // <th>说明</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>show</td>
    // <td><code>Boolean</code></td>
    // <td><code>false</code></td>
    // <td>是否显示</td>
    // </tr>
    // <tr>
    // <td>icon</td>
    // <td><code>String</code></td>
    // <td>-</td>
    // <td>自定义图标</td>
    // </tr>
    // <tr>
    // <td>dismissable</td>
    // <td><code>Boolean</code></td>
    // <td><code>false</code></td>
    // <td>是否显示关闭按钮</td>
    // </tr>
    // <tr>
    // <td>type</td>
    // <td><code>String</code>, 如: <code>default</code> <code>success</code> <code>info</code> <code>warning</code> <code>danger</code></td>
    // <td><code>success</code></td>
    // <td>组件样式</td>
    // </tr>
    // <tr>
    // <td>duration</td>
    // <td><code>Number</code></td>
    // <td><code>0</code></td>
    // <td>自动关闭延时,设置 <code>0</code> 或者负数,表示不会自动关闭</td>
    // </tr>
    // <tr>
    // <td>width</td>
    // <td><code>String</code>例如&quot;700px&quot;</td>
    // <td></td>
    // <td></td>
    // </tr>
    // <tr>
    // <td>small</td>
    // <td><code>Boolean</code></td>
    // <td></td>
    // <td>缩小</td>
    // </tr>
    // <tr>
    // <td>placement</td>
    // <td><code>String</code>. 如: <code>top</code>, <code>top-right</code>,<code>top-left</code>, <code>bottom</code>,<code>bottom-left</code>, <code>bottom-right</code></td>
    // <td></td>
    // <td>组件位置</td>
    // </tr>
    // <tr>
    // <td>description</td>
    // <td><code>Boolean</code></td>
    // <td><code>false</code></td>
    // <td>警告提示</td>
    // </tr>
    // <tr>
    // <td>message</td>
    // <td><code>String</code></td>
    // <td></td>
    // <td>在设置description时有效</td>
    // </tr>
    // </tbody>
    // </table>
    // <h3>Events</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>事件名称</th>
    // <th>说明</th>
    // <th>回调参数</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>close</td>
    // <td>点击关闭按钮时触发</td>
    // <td></td>
    // </tr>
    // <tr>
    // <td>show</td>
    // <td>出现时触发</td>
    // <td></td>
    // </tr>
    // <tr>
    // <td>hide</td>
    // <td>消失时触发</td>
    // <td></td>
    // </tr>
    // </tbody>
    // </table>
    // <blockquote>
    // <p>函数调用</p>
    // </blockquote>
    // <p><n3-button type="success" @click.native="open">
    // 函数调用
    // </n3-button></p>
    // <pre><code class="language-javascript">
    // <span class="hljs-keyword">export</span> <span class="hljs-keyword">default</span> {
    //   <span class="hljs-attr">methods</span>: {
    //     showAlert () {
    //       <span class="hljs-keyword">this</span>.n3Alert({
    //         <span class="hljs-attr">content</span>: <span class="hljs-string">'success'</span>,
    //           <span class="hljs-attr">type</span>: <span class="hljs-string">'success'</span>,
    //           <span class="hljs-attr">placement</span>: <span class="hljs-string">'top-right'</span>,
    //           <span class="hljs-attr">duration</span>: <span class="hljs-number">2000</span>,
    //           <span class="hljs-attr">width</span>:<span class="hljs-string">'200px'</span> <span class="hljs-comment">// 内容不确定,建议设置width</span>
    //       })
    //     },
    //   }
    // }
    // </code></pre>
    // </div>
    // </template>
    //
    //
    // </section></template>
    // <style>
    // .alert-icon-float-left {
    //   font-size:32px;float:left;margin-right:5px;
    // }
    // </style>
    // <script>
    exports.default = {
      methods: {
        openRight: function openRight() {
          this.$refs.alertRight.open();
        },
        openTop: function openTop() {
          this.$refs.alertTop.open();
        },
        close: function close() {
          console.log('你点击了关闭按钮');
        },
        open: function open() {
          this.n3Alert({
            content: 'success',
            type: 'success',
            placement: 'top-right',
            duration: 2000,
            width: '200px'
          });
        }
      },
      components: {
        n3Alert: _n3Alert2.default,
        n3Button: _n3Button2.default
      }
    };
    // </script>
    /* generated by vue-loader */

/***/ }),
/* 378 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(379)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] src/Alert/n3Alert.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(383)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-d467a530/n3Alert.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 379 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    
    var _n3Icon = __webpack_require__(380);
    
    var _n3Icon2 = _interopRequireDefault(_n3Icon);
    
    function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
    
    exports.default = {
      name: 'n3Alert',
      props: {
        show: {
          type: Boolean,
          default: false
        },
        type: {
          type: String,
          default: 'default'
        },
        dismissable: {
          type: Boolean,
          default: false
        },
        duration: {
          type: Number,
          default: 0
        },
        width: {
          type: String
        },
        small: {
          type: Boolean,
          default: false
        },
        placement: {
          type: String,
          default: ''
        },
        message: {
          type: String
        },
        description: {
          type: Boolean,
          default: false
        },
        icon: {
          type: String
        },
        method: {
          type: Boolean,
          default: false
        },
        prefixCls: {
          type: String,
          default: 'n3'
        }
      },
      data: function data() {
        var show = this.show;
        return {
          isShow: show
        };
      },
    
      methods: {
        open: function open() {
          this.isShow = true;
          this.$emit('show');
        },
        close: function close() {
          this.isShow = false;
          this.$emit('hide');
        },
        handleClose: function handleClose(e) {
          this.isShow = false;
          this.$emit('close');
        }
      },
      watch: {
        isShow: function isShow(val) {
          var _this = this;
    
          if (val) {
            this.$nextTick(function () {
              if (_this.method) {
                var parent = _this.$el.parentNode;
                parent.style.position = 'fixed';
                parent.style.zIndex = 1200;
                _this.$el.style.position = 'relative';
                _this.$el.style.marginBottom = '20px';
                if (_this.placement === 'top' || _this.placement === 'bottom') {
                  parent.style.marginLeft = -1 * (_this.$el.offsetWidth / 2) + 'px';
                } else if (_this.placement === 'center') {
                  parent.style.marginLeft = -1 * (_this.$el.offsetWidth / 2) + 'px';
                  parent.style.marginTop = -1 * (_this.$el.offsetHeight / 2) + 'px';
                }
              } else {
                if (_this.placement === 'top' || _this.placement === 'bottom') {
                  _this.$el.style.marginLeft = -1 * (_this.$el.offsetWidth / 2) + 'px';
                } else if (_this.placement === 'center') {
                  _this.$el.style.marginLeft = -1 * (_this.$el.offsetWidth / 2) + 'px';
                  _this.$el.style.marginTop = -1 * (_this.$el.offsetHeight / 2) + 'px';
                }
              }
    
              if (_this._timeout) clearTimeout(_this._timeout);
              if (val && !!_this.duration) {
                _this._timeout = setTimeout(function () {
                  _this.isShow = false;
                }, _this.duration);
              }
            });
          }
        }
      },
      computed: {
        iconType: function iconType() {
          var type = this.type;
    
          var map = {
            success: 'check-circle-o',
            danger: 'times-circle-o',
            warning: 'exclamation-circle',
            info: 'info-circle'
          };
          if (this.icon) {
            return this.icon;
          }
          return map[type];
        },
        classObj: function classObj() {
          var prefixCls = this.prefixCls,
              type = this.type,
              placement = this.placement,
              small = this.small;
    
          var klass = {};
    
          klass[prefixCls + '-alert-small'] = small;
          klass[prefixCls + '-alert'] = true;
          klass[prefixCls + '-alert-' + type] = true;
          klass[prefixCls + '-alert-' + placement] = !this.method;
    
          return klass;
        }
      },
      components: {
        n3Icon: _n3Icon2.default
      }
    };
    // </script>
    /* generated by vue-loader */
    // <template>
    //   <transition name="fade">
    //     <div
    //      v-show="isShow"
    //      :class="classObj"
    //       :style="{width:width}">
    //
    //       <n3-icon :class="`${prefixCls}-alert-icon`" :type="iconType" ></n3-icon>
    //
    //       <button v-if="dismissable" type="button" :class="`${prefixCls}-close`"
    //          @click="handleClose" >
    //         <span>&times;</span>
    //       </button>
    //
    //       <div v-if="description" :class="`${prefixCls}-alert-content`">
    //         <h4>{{message}}</h4>
    //         <p><slot></slot></p>
    //       </div>
    //       <span v-else>
    //           <slot></slot>
    //       </span>
    //     </div>
    //   </transition>
    // </template>
    //
    // <script>

/***/ }),
/* 380 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(381)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] src/Icon/n3Icon.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(382)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-75f22d38/n3Icon.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 381 */
/***/ (function(module, exports) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    // <template>
    //   <i :class="[prefixCls + '-fa',prefixCls +'-fa-'+type]" :style="{fontSize:size,color:color}">
    //     <slot></slot>
    //   </i>
    // </template>
    // <script>
    exports.default = {
      name: 'n3Icon',
      props: {
        type: {
          type: String
        },
        size: {
          type: String
        },
        color: {
          type: String
        },
        prefixCls: {
          type: String,
          default: 'n3'
        }
      }
    };
    // </script>
    /* generated by vue-loader */

/***/ }),
/* 382 */
/***/ (function(module, exports) {

    module.exports = "\n<i :class=\"[prefixCls + '-fa',prefixCls +'-fa-'+type]\" :style=\"{fontSize:size,color:color}\">\n  <slot></slot>\n</i>\n";

/***/ }),
/* 383 */
/***/ (function(module, exports) {

    module.exports = "\n<transition name=\"fade\">\n  <div\n   v-show=\"isShow\"\n   :class=\"classObj\"\n    :style=\"{width:width}\">\n\n    <n3-icon :class=\"`${prefixCls}-alert-icon`\" :type=\"iconType\" ></n3-icon>\n\n    <button v-if=\"dismissable\" type=\"button\" :class=\"`${prefixCls}-close`\"\n       @click=\"handleClose\" >\n      <span>&times;</span>\n    </button>\n\n    <div v-if=\"description\" :class=\"`${prefixCls}-alert-content`\">\n      <h4>{{message}}</h4>\n      <p><slot></slot></p>\n    </div>\n    <span v-else>\n        <slot></slot>\n    </span>\n  </div>\n</transition>\n";

/***/ }),
/* 384 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(385)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] src/Button/n3Button.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(392)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-8da656d0/n3Button.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 385 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    
    var _n3Loading = __webpack_require__(386);
    
    var _n3Loading2 = _interopRequireDefault(_n3Loading);
    
    var _n3Badge = __webpack_require__(389);
    
    var _n3Badge2 = _interopRequireDefault(_n3Badge);
    
    function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
    
    // <template>
    //   <a :class="classObj">
    //       <slot></slot>    
    //       <n3-loading v-if="loading" size="xs" style="position:relative;top:2px"></n3-loading>
    //     <n3-badge  v-if="badge">{{badge}}</n3-badge>
    //   </a>
    // </template>
    // <script>
    exports.default = {
      name: 'n3Button',
      props: {
        size: {
          type: String
        },
        type: {
          type: String,
          default: 'default'
        },
        badge: {
          type: [String, Number]
        },
        active: {
          type: Boolean,
          default: false
        },
        disabled: {
          type: Boolean,
          default: false
        },
        block: {
          type: Boolean,
          default: false
        },
        loading: {
          type: Boolean,
          default: false
        },
        prefixCls: {
          type: String,
          default: 'n3'
        }
      },
      computed: {
        classObj: function classObj() {
          var prefixCls = this.prefixCls,
              type = this.type,
              size = this.size,
              block = this.block,
              active = this.active,
              disabled = this.disabled;
    
          var klass = {};
    
          klass[prefixCls + '-btn'] = true;
          klass[prefixCls + '-btn-block'] = block;
          klass[prefixCls + '-btn-active'] = active;
          klass[prefixCls + '-btn-disabled'] = disabled;
          size ? klass[prefixCls + '-btn-' + size] = true : '';
          type ? klass[prefixCls + '-btn-' + type] = true : '';
    
          return klass;
        }
      },
      components: {
        n3Loading: _n3Loading2.default,
        n3Badge: _n3Badge2.default
      }
    };
    // </script>
    /* generated by vue-loader */

/***/ }),
/* 386 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(387)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] src/Loading/n3Loading.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(388)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-b43dc5b0/n3Loading.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 387 */
/***/ (function(module, exports) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    // <template>
    //   <span :class="classObj">
    //     <i :class="iclassObj"></i>
    //     <slot></slot>  
    //   </span>
    // </template>
    // <script>
    exports.default = {
      name: 'n3Loading',
      props: {
        type: {
          type: String
        },
        size: {
          type: String
        },
        center: {
          type: Boolean
        },
        fixed: {
          type: Boolean,
          default: false
        },
        color: {
          type: String
        },
        prefixCls: {
          type: String,
          default: 'n3'
        }
      },
      computed: {
        classObj: function classObj() {
          var prefixCls = this.prefixCls,
              center = this.center,
              fixed = this.fixed;
    
          var klass = {};
    
          klass['affix'] = fixed;
          klass[prefixCls + '-page-loading-con'] = true;
          klass[prefixCls + '-page-loading-con'] = true;
          klass[prefixCls + '-loading-center'] = center;
    
          return klass;
        },
        iclassObj: function iclassObj() {
          var prefixCls = this.prefixCls,
              type = this.type,
              size = this.size,
              color = this.color;
    
          var klass = {};
    
          klass[prefixCls + '-page-loading'] = true;
          type ? klass[prefixCls + '-loading-' + type] = true : '';
          size ? klass[prefixCls + '-loading-' + size] = true : '';
          color ? klass['text-' + color] = true : '';
    
          return klass;
        }
      }
    };
    // </script>
    /* generated by vue-loader */

/***/ }),
/* 388 */
/***/ (function(module, exports) {

    module.exports = "\n<span :class=\"classObj\">\n  <i :class=\"iclassObj\"></i>\n  <slot></slot>  \n</span>\n";

/***/ }),
/* 389 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(390)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] src/Badge/n3Badge.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(391)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-0239a3f6/n3Badge.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 390 */
/***/ (function(module, exports) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    // <template>
    //   <span :class="`${prefixCls}-badge`">
    //         <slot></slot>    
    //     </span>
    // </template>
    // <script>
    exports.default = {
      name: 'n3Badge',
      props: {
        prefixCls: {
          type: String,
          default: 'n3'
        }
      }
    };
    // </script>
    /* generated by vue-loader */

/***/ }),
/* 391 */
/***/ (function(module, exports) {

    module.exports = "\n  <span :class=\"`${prefixCls}-badge`\">\n\t\t<slot></slot>\t\n\t</span>\n";

/***/ }),
/* 392 */
/***/ (function(module, exports) {

    module.exports = "\n<a :class=\"classObj\">\n\t<slot></slot>\t\n\t<n3-loading v-if=\"loading\" size=\"xs\" style=\"position:relative;top:2px\"></n3-loading>\n  <n3-badge  v-if=\"badge\">{{badge}}</n3-badge>\n</a>\n";

/***/ }),
/* 393 */
/***/ (function(module, exports) {

    module.exports = "<section><template>\n<h3>提示消息</h3>\n<div class=\"bs-docs-section\" id=\"提示消息\">\n<div class=\"bs-example\">\n<blockquote>\n<p>组件调用</p>\n</blockquote>\n<p><n3-button type=\"success\" @click.native=\"openRight\">\n点击出现在右边\n</n3-button>\n<n3-button type=\"danger\" @click.native=\"openTop\">\n点击出现在顶部\n</n3-button></p>\n  <hr>\n  <n3-alert dismissable=\"\" :show=\"true\" icon=\"smile-o\">\n    <strong>default style</strong>\n    This is the default style.\n  </n3-alert>\n  <br>\n  <n3-alert type=\"success\" :show=\"true\">\n    <strong>Well Done!</strong>\n    You successfully read this important alert message.\n  </n3-alert>\n  <br>\n  <n3-alert type=\"info\" :show=\"true\">\n    <strong>Heads up!</strong> This alert needs your attention, but it's not super important.\n  </n3-alert>\n  <br>\n  <n3-alert type=\"danger\" dismissable=\"\" :show=\"true\">\n    <strong>Oh snap!</strong> Change a few things up and try submitting again.\n  </n3-alert>\n  <br>\n  <n3-alert type=\"warning\" dismissable=\"\" :show=\"true\">\n    <strong>Warning!</strong> Better check yourself, you're not looking too good.\n    <hr>\n  </n3-alert>\n  <br>\n  <n3-alert :show=\"true\" type=\"success\" width=\"700px\" message=\"信息提示\" description=\"\">\n    这里是信息提示,这里是信息提示,这里是信息提示,这里是信息提示,这里是信息提示这里是信息提示这里是信息提示这里是信息提示\n  </n3-alert>\n  <br>\n  <n3-alert :show=\"true\" type=\"danger\" width=\"700px\" message=\"错误提示\" description=\"\" dismissable=\"\">\n    这里是信息提示,这里是信息提示,这里是信息提示,这里是信息提示,这里是信息提示这里是信息提示这里是信息提示这里是信息提示\n  </n3-alert>\n  <br>\n  <n3-alert :show=\"true\" type=\"info\" width=\"700px\" message=\"错误提示\" :on-close=\"close\" description=\"\" dismissable=\"\">\n    点击关闭按钮的回调函数,打开控制台看看:)\n  </n3-alert>\n  <n3-alert ref=\"alertRight\" type=\"success\" width=\"700px\" placement=\"top-right\" message=\"信息提示\" description=\"\" dismissable=\"\">\n    <p>You successfully read this important alert message.</p>\n  </n3-alert>\n  <n3-alert ref=\"alertTop\" :duration=\"3000\" type=\"danger\" placement=\"top\" message=\"警告\" description=\"\" dismissable=\"\">\n    <strong>Heads up!</strong>\n    <p>This alert needs your attention.</p>\n  </n3-alert>\n</div>\n<pre><code class=\"language-html\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-button</span> <span class=\"hljs-attr\">type</span>=<span class=\"hljs-string\">'success'</span>\n  <span class=\"hljs-attr\">@click.native</span>=<span class=\"hljs-string\">\"openRight\"</span>&gt;</span>\n  点击出现在右边\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-button</span>&gt;</span>\n\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-button</span> <span class=\"hljs-attr\">type</span>=<span class=\"hljs-string\">'danger'</span>\n  <span class=\"hljs-attr\">@click.native</span>=<span class=\"hljs-string\">\"openTop\"</span>&gt;</span>\n 点击出现在顶部\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-button</span>&gt;</span>\n\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-alert</span> <span class=\"hljs-attr\">dismissable</span> <span class=\"hljs-attr\">:show</span>=<span class=\"hljs-string\">\"true\"</span> <span class=\"hljs-attr\">icon</span>=<span class=\"hljs-string\">\"smile-o\"</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">strong</span>&gt;</span>default style<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">strong</span>&gt;</span>\n  This is the default style.\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-alert</span>&gt;</span>\n\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-alert</span> <span class=\"hljs-attr\">type</span>=<span class=\"hljs-string\">\"success\"</span> <span class=\"hljs-attr\">show</span>=<span class=\"hljs-string\">\"true\"</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">strong</span>&gt;</span>Well Done!<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">strong</span>&gt;</span>\n  You successfully read this important alert message.\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-alert</span>&gt;</span>\n\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-alert</span> <span class=\"hljs-attr\">type</span>=<span class=\"hljs-string\">\"info\"</span> <span class=\"hljs-attr\">show</span>=<span class=\"hljs-string\">\"true\"</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">strong</span>&gt;</span>Heads up!<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">strong</span>&gt;</span> This alert needs your attention, but it's not super important.\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-alert</span>&gt;</span>\n\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-alert</span> <span class=\"hljs-attr\">type</span>=<span class=\"hljs-string\">\"danger\"</span> <span class=\"hljs-attr\">dismissable</span> <span class=\"hljs-attr\">show</span>=<span class=\"hljs-string\">\"true\"</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">strong</span>&gt;</span>Oh snap!<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">strong</span>&gt;</span> Change a few things up and try submitting again.\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-alert</span>&gt;</span>\n\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-alert</span> <span class=\"hljs-attr\">type</span>=<span class=\"hljs-string\">\"warning\"</span> <span class=\"hljs-attr\">dismissable</span> <span class=\"hljs-attr\">show</span>=<span class=\"hljs-string\">\"true\"</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">strong</span>&gt;</span>Warning!<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">strong</span>&gt;</span> Better check yourself, you're not looking too good.\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">hr</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-alert</span>&gt;</span>\n\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-alert</span>\n  <span class=\"hljs-attr\">:show</span>=<span class=\"hljs-string\">\"true\"</span>\n  <span class=\"hljs-attr\">type</span>=<span class=\"hljs-string\">\"success\"</span>\n  <span class=\"hljs-attr\">width</span>=<span class=\"hljs-string\">\"700px\"</span>\n  <span class=\"hljs-attr\">message</span>=<span class=\"hljs-string\">\"信息提示\"</span>\n  <span class=\"hljs-attr\">description</span>&gt;</span>\n  这里是信息提示,这里是信息提示,这里是信息提示,这里是信息提示,这里是信息提示这里是信息提示这里是信息提示这里是信息提示\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-alert</span>&gt;</span>\n\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-alert</span>\n  <span class=\"hljs-attr\">:show</span>=<span class=\"hljs-string\">\"true\"</span>\n  <span class=\"hljs-attr\">type</span>=<span class=\"hljs-string\">\"danger\"</span>\n  <span class=\"hljs-attr\">width</span>=<span class=\"hljs-string\">\"700px\"</span>\n  <span class=\"hljs-attr\">message</span>=<span class=\"hljs-string\">\"错误提示\"</span>\n  <span class=\"hljs-attr\">description</span>\n  <span class=\"hljs-attr\">dismissable</span>&gt;</span>\n  这里是信息提示,这里是信息提示,这里是信息提示,这里是信息提示,这里是信息提示这里是信息提示这里是信息提示这里是信息提示\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-alert</span>&gt;</span>\n\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-alert</span>\n  <span class=\"hljs-attr\">show</span>=<span class=\"hljs-string\">\"true\"</span>\n  <span class=\"hljs-attr\">type</span>=<span class=\"hljs-string\">\"info\"</span>\n  <span class=\"hljs-attr\">width</span>=<span class=\"hljs-string\">\"700px\"</span>\n  <span class=\"hljs-attr\">message</span>=<span class=\"hljs-string\">\"错误提示\"</span>\n  <span class=\"hljs-attr\">:on-close</span>=<span class=\"hljs-string\">\"close\"</span>\n  <span class=\"hljs-attr\">description</span>\n  <span class=\"hljs-attr\">dismissable</span>&gt;</span>\n  点击关闭按钮的回调函数,打开控制台看看:)\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-alert</span>&gt;</span>\n\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-alert</span>\n  <span class=\"hljs-attr\">ref</span>=<span class=\"hljs-string\">\"alertRight\"</span>\n  <span class=\"hljs-attr\">type</span>=<span class=\"hljs-string\">\"success\"</span>\n  <span class=\"hljs-attr\">width</span>=<span class=\"hljs-string\">\"700px\"</span>\n  <span class=\"hljs-attr\">placement</span>=<span class=\"hljs-string\">\"top-right\"</span>\n  <span class=\"hljs-attr\">message</span>=<span class=\"hljs-string\">\"信息提示\"</span>\n  <span class=\"hljs-attr\">description</span>\n  <span class=\"hljs-attr\">dismissable</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">p</span>&gt;</span>You successfully read this important alert message.<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">p</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-alert</span>&gt;</span>\n\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-alert</span>\n  <span class=\"hljs-attr\">ref</span>=<span class=\"hljs-string\">\"alertTop\"</span>\n  <span class=\"hljs-attr\">:duration</span>=<span class=\"hljs-string\">\"3000\"</span>\n  <span class=\"hljs-attr\">type</span>=<span class=\"hljs-string\">\"danger\"</span>\n  <span class=\"hljs-attr\">placement</span>=<span class=\"hljs-string\">\"top\"</span>\n  <span class=\"hljs-attr\">message</span>=<span class=\"hljs-string\">\"警告\"</span>\n  <span class=\"hljs-attr\">description</span>\n  <span class=\"hljs-attr\">dismissable</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">strong</span>&gt;</span>Heads up!<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">strong</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">p</span>&gt;</span>This alert needs your attention.<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">p</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-alert</span>&gt;</span>\n</code></pre>\n<pre><code class=\"language-javascript\"><span class=\"hljs-keyword\">export</span> <span class=\"hljs-keyword\">default</span> {\n  <span class=\"hljs-attr\">methods</span>: {\n    openRight () {\n      <span class=\"hljs-keyword\">this</span>.$refs.alertRight.open()\n    },\n    openTop () {\n      <span class=\"hljs-keyword\">this</span>.$refs.alertTop.open()\n    },\n    close () {\n      <span class=\"hljs-built_in\">console</span>.log(<span class=\"hljs-string\">'你点击了关闭按钮'</span>)\n    }\n  }\n}\n</code></pre>\n<h3>参数</h3>\n<table>\n<thead>\n<tr>\n<th>参数名</th>\n<th>类型</th>\n<th>默认值</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>show</td>\n<td><code>Boolean</code></td>\n<td><code>false</code></td>\n<td>是否显示</td>\n</tr>\n<tr>\n<td>icon</td>\n<td><code>String</code></td>\n<td>-</td>\n<td>自定义图标</td>\n</tr>\n<tr>\n<td>dismissable</td>\n<td><code>Boolean</code></td>\n<td><code>false</code></td>\n<td>是否显示关闭按钮</td>\n</tr>\n<tr>\n<td>type</td>\n<td><code>String</code>, 如: <code>default</code> <code>success</code> <code>info</code> <code>warning</code> <code>danger</code></td>\n<td><code>success</code></td>\n<td>组件样式</td>\n</tr>\n<tr>\n<td>duration</td>\n<td><code>Number</code></td>\n<td><code>0</code></td>\n<td>自动关闭延时,设置 <code>0</code> 或者负数,表示不会自动关闭</td>\n</tr>\n<tr>\n<td>width</td>\n<td><code>String</code>例如&quot;700px&quot;</td>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>small</td>\n<td><code>Boolean</code></td>\n<td></td>\n<td>缩小</td>\n</tr>\n<tr>\n<td>placement</td>\n<td><code>String</code>. 如: <code>top</code>, <code>top-right</code>,<code>top-left</code>, <code>bottom</code>,<code>bottom-left</code>, <code>bottom-right</code></td>\n<td></td>\n<td>组件位置</td>\n</tr>\n<tr>\n<td>description</td>\n<td><code>Boolean</code></td>\n<td><code>false</code></td>\n<td>警告提示</td>\n</tr>\n<tr>\n<td>message</td>\n<td><code>String</code></td>\n<td></td>\n<td>在设置description时有效</td>\n</tr>\n</tbody>\n</table>\n<h3>Events</h3>\n<table>\n<thead>\n<tr>\n<th>事件名称</th>\n<th>说明</th>\n<th>回调参数</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>close</td>\n<td>点击关闭按钮时触发</td>\n<td></td>\n</tr>\n<tr>\n<td>show</td>\n<td>出现时触发</td>\n<td></td>\n</tr>\n<tr>\n<td>hide</td>\n<td>消失时触发</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n<blockquote>\n<p>函数调用</p>\n</blockquote>\n<p><n3-button type=\"success\" @click.native=\"open\">\n函数调用\n</n3-button></p>\n<pre><code class=\"language-javascript\">\n<span class=\"hljs-keyword\">export</span> <span class=\"hljs-keyword\">default</span> {\n  <span class=\"hljs-attr\">methods</span>: {\n    showAlert () {\n      <span class=\"hljs-keyword\">this</span>.n3Alert({\n        <span class=\"hljs-attr\">content</span>: <span class=\"hljs-string\">'success'</span>,\n          <span class=\"hljs-attr\">type</span>: <span class=\"hljs-string\">'success'</span>,\n          <span class=\"hljs-attr\">placement</span>: <span class=\"hljs-string\">'top-right'</span>,\n          <span class=\"hljs-attr\">duration</span>: <span class=\"hljs-number\">2000</span>,\n          <span class=\"hljs-attr\">width</span>:<span class=\"hljs-string\">'200px'</span> <span class=\"hljs-comment\">// 内容不确定,建议设置width</span>\n      })\n    },\n  }\n}\n</code></pre>\n</div>\n</template>\n\n\n</section>";

/***/ }),
/* 394 */
/***/ (function(module, exports, __webpack_require__) {

    module.exports = __webpack_require__(395);

/***/ }),
/* 395 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(396)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] node_modules/vue-markdown-loader/_cache/n3AccordionDocs-5.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(397)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-eb9a839a/n3AccordionDocs-5.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 396 */
/***/ (function(module, exports) {

    "use strict";
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    // <template><section><template>
    // <h3>折叠面板</h3>
    // <div class="bs-docs-section">
    // <div class="bs-example">
    //   <p>
    //     <input type="checkbox" v-model="checked">
    //     一次只打开一个
    //   </p>
    //   <n3-accordion :one-at-time="checked" @change="change">
    //     <n3-panel :is-open="true" index="1" @change="change">
    //       <div slot="header">Panel #1</div>
    //       <p>...</p>
    //       <p>...</p>
    //       <p>...</p>
    //     </n3-panel>
    //     <n3-panel header="Panel #2" index="2">
    //       <p>...</p>
    //       <p>...</p>
    //       <p>...</p>
    //       </n3-panel>
    //     <n3-panel header="Panel #3" index="3">
    //       <p>...</p>
    //       <p>...</p>
    //       <p>...</p>
    //     </n3-panel>
    //     <n3-panel header="Panel #4" index="4">
    //       <p>...</p>
    //       <p>...</p>
    //       <p>...</p>
    //     </n3-panel>
    //   </n3-accordion>
    // </div>
    // <pre><code class="language-html"><span class="hljs-tag">&lt;<span class="hljs-name">n3-accordion</span> <span class="hljs-attr">:one-at-time</span>=<span class="hljs-string">"checked"</span> <span class="hljs-attr">@change</span>=<span class="hljs-string">"change"</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-panel</span> <span class="hljs-attr">:is-open</span>=<span class="hljs-string">"true"</span> <span class="hljs-attr">index</span>=<span class="hljs-string">"1"</span> <span class="hljs-attr">@change</span>=<span class="hljs-string">"change"</span>&gt;</span>
    //     <span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">slot</span>=<span class="hljs-string">"header"</span>&gt;</span>Panel #1<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
    //     <span class="hljs-tag">&lt;<span class="hljs-name">p</span>&gt;</span>...<span class="hljs-tag">&lt;/<span class="hljs-name">p</span>&gt;</span>
    //     <span class="hljs-tag">&lt;<span class="hljs-name">p</span>&gt;</span>...<span class="hljs-tag">&lt;/<span class="hljs-name">p</span>&gt;</span>
    //     <span class="hljs-tag">&lt;<span class="hljs-name">p</span>&gt;</span>...<span class="hljs-tag">&lt;/<span class="hljs-name">p</span>&gt;</span>
    //   <span class="hljs-tag">&lt;/<span class="hljs-name">n3-panel</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-panel</span> <span class="hljs-attr">header</span>=<span class="hljs-string">"Panel #2"</span> <span class="hljs-attr">index</span>=<span class="hljs-string">"2"</span>&gt;</span>
    //     <span class="hljs-tag">&lt;<span class="hljs-name">p</span>&gt;</span>...<span class="hljs-tag">&lt;/<span class="hljs-name">p</span>&gt;</span>
    //     <span class="hljs-tag">&lt;<span class="hljs-name">p</span>&gt;</span>...<span class="hljs-tag">&lt;/<span class="hljs-name">p</span>&gt;</span>
    //     <span class="hljs-tag">&lt;<span class="hljs-name">p</span>&gt;</span>...<span class="hljs-tag">&lt;/<span class="hljs-name">p</span>&gt;</span>
    //     <span class="hljs-tag">&lt;/<span class="hljs-name">n3-panel</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-panel</span> <span class="hljs-attr">header</span>=<span class="hljs-string">"Panel #3"</span> <span class="hljs-attr">index</span>=<span class="hljs-string">"3"</span>&gt;</span>
    //     <span class="hljs-tag">&lt;<span class="hljs-name">p</span>&gt;</span>...<span class="hljs-tag">&lt;/<span class="hljs-name">p</span>&gt;</span>
    //     <span class="hljs-tag">&lt;<span class="hljs-name">p</span>&gt;</span>...<span class="hljs-tag">&lt;/<span class="hljs-name">p</span>&gt;</span>
    //     <span class="hljs-tag">&lt;<span class="hljs-name">p</span>&gt;</span>...<span class="hljs-tag">&lt;/<span class="hljs-name">p</span>&gt;</span>
    //   <span class="hljs-tag">&lt;/<span class="hljs-name">n3-panel</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-panel</span> <span class="hljs-attr">header</span>=<span class="hljs-string">"Panel #4"</span> <span class="hljs-attr">index</span>=<span class="hljs-string">"4"</span>&gt;</span>
    //     <span class="hljs-tag">&lt;<span class="hljs-name">p</span>&gt;</span>...<span class="hljs-tag">&lt;/<span class="hljs-name">p</span>&gt;</span>
    //     <span class="hljs-tag">&lt;<span class="hljs-name">p</span>&gt;</span>...<span class="hljs-tag">&lt;/<span class="hljs-name">p</span>&gt;</span>
    //     <span class="hljs-tag">&lt;<span class="hljs-name">p</span>&gt;</span>...<span class="hljs-tag">&lt;/<span class="hljs-name">p</span>&gt;</span>
    //   <span class="hljs-tag">&lt;/<span class="hljs-name">n3-panel</span>&gt;</span>
    // <span class="hljs-tag">&lt;/<span class="hljs-name">n3-accordion</span>&gt;</span>
    // </code></pre>
    // <pre><code class="language-javascript"><span class="hljs-keyword">export</span> <span class="hljs-keyword">default</span> {
    //   data () {
    //     <span class="hljs-keyword">return</span> {
    //       <span class="hljs-attr">checked</span>: <span class="hljs-literal">true</span>
    //     }
    //   },
    //   <span class="hljs-attr">methods</span>: {
    //     change (show) {
    //       <span class="hljs-built_in">console</span>.log(show)
    //     }
    //   }
    // }
    // </code></pre>
    // <h3>According参数</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>参数名</th>
    // <th>类型</th>
    // <th>默认值</th>
    // <th>说明</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>one-at-time</td>
    // <td><code>Boolean</code></td>
    // <td><code>false</code></td>
    // <td>控制当一个面板被打开时,其他面板是否关闭</td>
    // </tr>
    // <tr>
    // <td>effect</td>
    // <td><code>String</code></td>
    // <td><code>collapse</code></td>
    // <td>切换动画</td>
    // </tr>
    // </tbody>
    // </table>
    // <h3>According Events</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>事件名称</th>
    // <th>说明</th>
    // <th>回调参数</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>change</td>
    // <td>改变时的回调函数,参数为panel的状态数组</td>
    // <td></td>
    // </tr>
    // </tbody>
    // </table>
    // <h3>Panel参数</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>参数名</th>
    // <th>类型</th>
    // <th>默认值</th>
    // <th>说明</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>is-open</td>
    // <td><code>Boolean</code></td>
    // <td><code>false</code></td>
    // <td>面板打开还是关闭</td>
    // </tr>
    // <tr>
    // <td>header</td>
    // <td><code>String</code></td>
    // <td></td>
    // <td>面板头部显示的内容,点击该内容进行面板的打开收缩</td>
    // </tr>
    // </tbody>
    // </table>
    // <h3>Panel Events</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>事件名称</th>
    // <th>说明</th>
    // <th>回调参数</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>change</td>
    // <td>改变时的回调函数,参数为panel的状态</td>
    // <td></td>
    // </tr>
    // </tbody>
    // </table>
    // </div>
    // </template>
    //
    // </section></template>
    //
    // <script>
    exports.default = {
      data: function data() {
        return {
          checked: true
        };
      },
    
      methods: {
        change: function change(show) {
          console.log(show);
        }
      }
    };
    // </script>
    /* generated by vue-loader */

/***/ }),
/* 397 */
/***/ (function(module, exports) {

    module.exports = "<section><template>\n<h3>折叠面板</h3>\n<div class=\"bs-docs-section\">\n<div class=\"bs-example\">\n  <p>\n    <input type=\"checkbox\" v-model=\"checked\">\n    一次只打开一个\n  </p>\n  <n3-accordion :one-at-time=\"checked\" @change=\"change\">\n    <n3-panel :is-open=\"true\" index=\"1\" @change=\"change\">\n      <div slot=\"header\">Panel #1</div>\n      <p>...</p>\n      <p>...</p>\n      <p>...</p>\n    </n3-panel>\n    <n3-panel header=\"Panel #2\" index=\"2\">\n      <p>...</p>\n      <p>...</p>\n      <p>...</p>\n      </n3-panel>\n    <n3-panel header=\"Panel #3\" index=\"3\">\n      <p>...</p>\n      <p>...</p>\n      <p>...</p>\n    </n3-panel>\n    <n3-panel header=\"Panel #4\" index=\"4\">\n      <p>...</p>\n      <p>...</p>\n      <p>...</p>\n    </n3-panel>\n  </n3-accordion>\n</div>\n<pre><code class=\"language-html\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-accordion</span> <span class=\"hljs-attr\">:one-at-time</span>=<span class=\"hljs-string\">\"checked\"</span> <span class=\"hljs-attr\">@change</span>=<span class=\"hljs-string\">\"change\"</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-panel</span> <span class=\"hljs-attr\">:is-open</span>=<span class=\"hljs-string\">\"true\"</span> <span class=\"hljs-attr\">index</span>=<span class=\"hljs-string\">\"1\"</span> <span class=\"hljs-attr\">@change</span>=<span class=\"hljs-string\">\"change\"</span>&gt;</span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">div</span> <span class=\"hljs-attr\">slot</span>=<span class=\"hljs-string\">\"header\"</span>&gt;</span>Panel #1<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">div</span>&gt;</span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">p</span>&gt;</span>...<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">p</span>&gt;</span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">p</span>&gt;</span>...<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">p</span>&gt;</span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">p</span>&gt;</span>...<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">p</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-panel</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-panel</span> <span class=\"hljs-attr\">header</span>=<span class=\"hljs-string\">\"Panel #2\"</span> <span class=\"hljs-attr\">index</span>=<span class=\"hljs-string\">\"2\"</span>&gt;</span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">p</span>&gt;</span>...<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">p</span>&gt;</span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">p</span>&gt;</span>...<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">p</span>&gt;</span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">p</span>&gt;</span>...<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">p</span>&gt;</span>\n    <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-panel</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-panel</span> <span class=\"hljs-attr\">header</span>=<span class=\"hljs-string\">\"Panel #3\"</span> <span class=\"hljs-attr\">index</span>=<span class=\"hljs-string\">\"3\"</span>&gt;</span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">p</span>&gt;</span>...<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">p</span>&gt;</span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">p</span>&gt;</span>...<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">p</span>&gt;</span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">p</span>&gt;</span>...<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">p</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-panel</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-panel</span> <span class=\"hljs-attr\">header</span>=<span class=\"hljs-string\">\"Panel #4\"</span> <span class=\"hljs-attr\">index</span>=<span class=\"hljs-string\">\"4\"</span>&gt;</span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">p</span>&gt;</span>...<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">p</span>&gt;</span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">p</span>&gt;</span>...<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">p</span>&gt;</span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">p</span>&gt;</span>...<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">p</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-panel</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-accordion</span>&gt;</span>\n</code></pre>\n<pre><code class=\"language-javascript\"><span class=\"hljs-keyword\">export</span> <span class=\"hljs-keyword\">default</span> {\n  data () {\n    <span class=\"hljs-keyword\">return</span> {\n      <span class=\"hljs-attr\">checked</span>: <span class=\"hljs-literal\">true</span>\n    }\n  },\n  <span class=\"hljs-attr\">methods</span>: {\n    change (show) {\n      <span class=\"hljs-built_in\">console</span>.log(show)\n    }\n  }\n}\n</code></pre>\n<h3>According参数</h3>\n<table>\n<thead>\n<tr>\n<th>参数名</th>\n<th>类型</th>\n<th>默认值</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>one-at-time</td>\n<td><code>Boolean</code></td>\n<td><code>false</code></td>\n<td>控制当一个面板被打开时,其他面板是否关闭</td>\n</tr>\n<tr>\n<td>effect</td>\n<td><code>String</code></td>\n<td><code>collapse</code></td>\n<td>切换动画</td>\n</tr>\n</tbody>\n</table>\n<h3>According Events</h3>\n<table>\n<thead>\n<tr>\n<th>事件名称</th>\n<th>说明</th>\n<th>回调参数</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>change</td>\n<td>改变时的回调函数,参数为panel的状态数组</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n<h3>Panel参数</h3>\n<table>\n<thead>\n<tr>\n<th>参数名</th>\n<th>类型</th>\n<th>默认值</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>is-open</td>\n<td><code>Boolean</code></td>\n<td><code>false</code></td>\n<td>面板打开还是关闭</td>\n</tr>\n<tr>\n<td>header</td>\n<td><code>String</code></td>\n<td></td>\n<td>面板头部显示的内容,点击该内容进行面板的打开收缩</td>\n</tr>\n</tbody>\n</table>\n<h3>Panel Events</h3>\n<table>\n<thead>\n<tr>\n<th>事件名称</th>\n<th>说明</th>\n<th>回调参数</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>change</td>\n<td>改变时的回调函数,参数为panel的状态</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>\n</template>\n\n</section>";

/***/ }),
/* 398 */
/***/ (function(module, exports, __webpack_require__) {

    module.exports = __webpack_require__(399);

/***/ }),
/* 399 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(400)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] node_modules/vue-markdown-loader/_cache/n3CascaderDocs-6.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(401)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-43da820a/n3CascaderDocs-6.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 400 */
/***/ (function(module, exports) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    // <template><section><template>
    // <h3>级联选择</h3>
    // <div class="bs-docs-section">
    //   <div class="bs-example">
    //     <n3-cascader :options="options" :on-change="selectChange" v-model="value" :select-change="true"></n3-cascader>
    //   </div>
    // <pre><code class="language-html"><span class="hljs-tag">&lt;<span class="hljs-name">n3-cascader</span> <span class="hljs-attr">:options</span>=<span class="hljs-string">"options"</span> <span class="hljs-attr">@change</span>=<span class="hljs-string">"selectChange"</span> <span class="hljs-attr">v-model</span>=<span class="hljs-string">"value"</span> <span class="hljs-attr">:select-change</span>=<span class="hljs-string">"true"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">n3-cascader</span>&gt;</span>
    // </code></pre>
    // <pre><code class="language-javascript">  [{
    //     <span class="hljs-attr">value</span>: <span class="hljs-string">'zhejiang'</span>,
    //     <span class="hljs-attr">label</span>: <span class="hljs-string">'浙江'</span>,
    //     <span class="hljs-attr">children</span>: [{
    //       <span class="hljs-attr">value</span>: <span class="hljs-string">'hangzhou'</span>,
    //       <span class="hljs-attr">label</span>: <span class="hljs-string">'杭州'</span>,
    //       <span class="hljs-attr">children</span>: [{
    //         <span class="hljs-attr">value</span>: <span class="hljs-string">'xihu'</span>,
    //         <span class="hljs-attr">label</span>: <span class="hljs-string">'西湖'</span>,
    //       }],
    //     }],
    //   }, {
    //     <span class="hljs-attr">value</span>: <span class="hljs-string">'jiangsu'</span>,
    //     <span class="hljs-attr">label</span>: <span class="hljs-string">'江苏'</span>,
    //     <span class="hljs-attr">disabled</span>:<span class="hljs-literal">true</span>,
    //     <span class="hljs-attr">children</span>: [{
    //       <span class="hljs-attr">value</span>: <span class="hljs-string">'nanjing'</span>,
    //       <span class="hljs-attr">label</span>: <span class="hljs-string">'南京'</span>,
    //       <span class="hljs-attr">children</span>: [{
    //         <span class="hljs-attr">value</span>: <span class="hljs-string">'zhonghuamen'</span>,
    //         <span class="hljs-attr">label</span>: <span class="hljs-string">'中华门'</span>,
    //       }],
    //     }],
    //   }]
    // </code></pre>
    // <h3>参数</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>参数</th>
    // <th>类型</th>
    // <th>默认值</th>
    // <th>说明</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>options</td>
    // <td>Array</td>
    // <td>-</td>
    // <td></td>
    // </tr>
    // <tr>
    // <td>width</td>
    // <td><code>String</code></td>
    // <td><code>200px</code></td>
    // <td>宽度</td>
    // </tr>
    // <tr>
    // <td>disabled</td>
    // <td><code>Boolean</code></td>
    // <td><code>false</code></td>
    // <td>禁用</td>
    // </tr>
    // <tr>
    // <td>placeholder</td>
    // <td><code>String</code></td>
    // <td>-</td>
    // <td></td>
    // </tr>
    // <tr>
    // <td>display-render</td>
    // <td><code>Function</code></td>
    // <td>-</td>
    // <td></td>
    // </tr>
    // <tr>
    // <td>select-change</td>
    // <td><code>Boolean</code></td>
    // <td>-</td>
    // <td>选择值就改变</td>
    // </tr>
    // </tbody>
    // </table>
    // <h3>Events</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>事件名称</th>
    // <th>说明</th>
    // <th>回调参数</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>change</td>
    // <td>值变化时</td>
    // <td>(currentValue)</td>
    // </tr>
    // </tbody>
    // </table>
    // <p>其他表单相关参数,请移步 <a href="#n3FormDocs">表单验证</a> 待验证组件参数</p>
    // </div>
    // </template>
    //
    // </section></template>
    //
    // <script>
    var options = [{
      value: 'zhejiang',
      label: '浙江',
      children: [{
        value: 'hangzhou',
        label: '杭州',
        children: [{
          value: 'xihu',
          label: '西湖'
        }]
      }]
    }, {
      value: 'jiangsu',
      label: '江苏',
      disabled: true,
      children: [{
        value: 'nanjing',
        label: '南京',
        children: [{
          value: 'zhonghuamen',
          label: '中华门'
        }]
      }]
    }];
    
    var value = ['zhejiang', 'hangzhou'];
    
    exports.default = {
      data: function data() {
        return {
          options: options,
          value: value
        };
      },
    
      methods: {
        selectChange: function selectChange(selectedValue) {
          console.log(this.value);
        }
      }
    };
    // </script>
    /* generated by vue-loader */

/***/ }),
/* 401 */
/***/ (function(module, exports) {

    module.exports = "<section><template>\n<h3>级联选择</h3>\n<div class=\"bs-docs-section\">\n  <div class=\"bs-example\">\n    <n3-cascader :options=\"options\" :on-change=\"selectChange\" v-model=\"value\" :select-change=\"true\"></n3-cascader>\n  </div>\n<pre><code class=\"language-html\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-cascader</span> <span class=\"hljs-attr\">:options</span>=<span class=\"hljs-string\">\"options\"</span> <span class=\"hljs-attr\">@change</span>=<span class=\"hljs-string\">\"selectChange\"</span> <span class=\"hljs-attr\">v-model</span>=<span class=\"hljs-string\">\"value\"</span> <span class=\"hljs-attr\">:select-change</span>=<span class=\"hljs-string\">\"true\"</span>&gt;</span><span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-cascader</span>&gt;</span>\n</code></pre>\n<pre><code class=\"language-javascript\">  [{\n    <span class=\"hljs-attr\">value</span>: <span class=\"hljs-string\">'zhejiang'</span>,\n    <span class=\"hljs-attr\">label</span>: <span class=\"hljs-string\">'浙江'</span>,\n    <span class=\"hljs-attr\">children</span>: [{\n      <span class=\"hljs-attr\">value</span>: <span class=\"hljs-string\">'hangzhou'</span>,\n      <span class=\"hljs-attr\">label</span>: <span class=\"hljs-string\">'杭州'</span>,\n      <span class=\"hljs-attr\">children</span>: [{\n        <span class=\"hljs-attr\">value</span>: <span class=\"hljs-string\">'xihu'</span>,\n        <span class=\"hljs-attr\">label</span>: <span class=\"hljs-string\">'西湖'</span>,\n      }],\n    }],\n  }, {\n    <span class=\"hljs-attr\">value</span>: <span class=\"hljs-string\">'jiangsu'</span>,\n    <span class=\"hljs-attr\">label</span>: <span class=\"hljs-string\">'江苏'</span>,\n    <span class=\"hljs-attr\">disabled</span>:<span class=\"hljs-literal\">true</span>,\n    <span class=\"hljs-attr\">children</span>: [{\n      <span class=\"hljs-attr\">value</span>: <span class=\"hljs-string\">'nanjing'</span>,\n      <span class=\"hljs-attr\">label</span>: <span class=\"hljs-string\">'南京'</span>,\n      <span class=\"hljs-attr\">children</span>: [{\n        <span class=\"hljs-attr\">value</span>: <span class=\"hljs-string\">'zhonghuamen'</span>,\n        <span class=\"hljs-attr\">label</span>: <span class=\"hljs-string\">'中华门'</span>,\n      }],\n    }],\n  }]\n</code></pre>\n<h3>参数</h3>\n<table>\n<thead>\n<tr>\n<th>参数</th>\n<th>类型</th>\n<th>默认值</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>options</td>\n<td>Array</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>width</td>\n<td><code>String</code></td>\n<td><code>200px</code></td>\n<td>宽度</td>\n</tr>\n<tr>\n<td>disabled</td>\n<td><code>Boolean</code></td>\n<td><code>false</code></td>\n<td>禁用</td>\n</tr>\n<tr>\n<td>placeholder</td>\n<td><code>String</code></td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>display-render</td>\n<td><code>Function</code></td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>select-change</td>\n<td><code>Boolean</code></td>\n<td>-</td>\n<td>选择值就改变</td>\n</tr>\n</tbody>\n</table>\n<h3>Events</h3>\n<table>\n<thead>\n<tr>\n<th>事件名称</th>\n<th>说明</th>\n<th>回调参数</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>change</td>\n<td>值变化时</td>\n<td>(currentValue)</td>\n</tr>\n</tbody>\n</table>\n<p>其他表单相关参数,请移步 <a href=\"#n3FormDocs\">表单验证</a> 待验证组件参数</p>\n</div>\n</template>\n\n</section>";

/***/ }),
/* 402 */
/***/ (function(module, exports, __webpack_require__) {

    module.exports = __webpack_require__(403);

/***/ }),
/* 403 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __webpack_require__(404)
    __vue_script__ = __webpack_require__(406)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] node_modules/vue-markdown-loader/_cache/n3AffixDocs-8.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(407)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-5163cf3e/n3AffixDocs-8.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 404 */
/***/ (function(module, exports, __webpack_require__) {

    // style-loader: Adds some css to the DOM by adding a <style> tag
    
    // load the styles
    var content = __webpack_require__(405);
    if(typeof content === 'string') content = [[module.id, content, '']];
    if(content.locals) module.exports = content.locals;
    // add the styles to the DOM
    var update = __webpack_require__(351)("1ab52186", content, false);
    // Hot Module Replacement
    if(false) {
     // When the styles change, update the <style> tags
     if(!content.locals) {
       module.hot.accept("!!../../css-loader/index.js?sourceMap!../../vue-loader/lib/style-rewriter.js?id=_v-5163cf3e&scoped=true!../../vue-loader/lib/selector.js?type=style&index=0!./n3AffixDocs-8.vue", function() {
         var newContent = require("!!../../css-loader/index.js?sourceMap!../../vue-loader/lib/style-rewriter.js?id=_v-5163cf3e&scoped=true!../../vue-loader/lib/selector.js?type=style&index=0!./n3AffixDocs-8.vue");
         if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];
         update(newContent);
       });
     }
     // When the module is disposed, remove the <style> tags
     module.hot.dispose(function() { update(); });
    }

/***/ }),
/* 405 */
/***/ (function(module, exports, __webpack_require__) {

    exports = module.exports = __webpack_require__(350)();
    // imports
    
    
    // module
    exports.push([module.id, "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.sidebar[_v-5163cf3e]{\n  background-color: #fff;\n  box-shadow: 1px 1px 10px #ddd;\n  z-index: 10000;\n  padding:10px;\n}\npre[class*='language-'][_v-5163cf3e]{\n  position: static;\n}\n", "", {"version":3,"sources":["/./node_modules/vue-markdown-loader/_cache/n3AffixDocs-8.vue?83a6e582"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmDA;EACA,uBAAA;EACA,8BAAA;EACA,eAAA;EACA,aAAA;CACA;AACA;EACA,iBAAA;CACA","file":"n3AffixDocs-8.vue","sourcesContent":["<template><section><template>\n<h3>固钉</h3>\n<div class=\"bs-docs-section\">\n  <div class=\"bs-example\">\n    <h3>\n      <n3-affix :offset=\"0\">\n        <nav class=\"sidebar\">\n          <ul>\n            <li>...</li>\n            <li>...</li>\n            <li>...</li>\n          </ul>\n        </nav>\n      </n3-affix>\n    </h3>\n  </div>\n<pre><code class=\"language-html\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-affix</span> <span class=\"hljs-attr\">:offset</span>=<span class=\"hljs-string\">\"0\"</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">nav</span> <span class=\"hljs-attr\">class</span>=<span class=\"hljs-string\">\"sidebar\"</span>&gt;</span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">ul</span>&gt;</span>\n      <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">li</span>&gt;</span>...<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">li</span>&gt;</span>\n      <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">li</span>&gt;</span>...<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">li</span>&gt;</span>\n      <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">li</span>&gt;</span>...<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">li</span>&gt;</span>\n    <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">ul</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">nav</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-affix</span>&gt;</span>\n</code></pre>\n<h3>参数</h3>\n<table>\n<thead>\n<tr>\n<th>参数名</th>\n<th>类型</th>\n<th>默认值</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>offset</td>\n<td><code>Number</code></td>\n<td><code>0</code></td>\n<td>离屏幕顶部的像素值</td>\n</tr>\n</tbody>\n</table>\n</div>\n</template>\n\n\n</section></template>\n<style scoped>\n.sidebar{\n  background-color: #fff;\n  box-shadow: 1px 1px 10px #ddd;\n  z-index: 10000;\n  padding:10px;\n}\npre[class*='language-']{\n  position: static;\n}\n</style>\n<script>\nexport default {\n\n}\n</script>"],"sourceRoot":"webpack://"}]);
    
    // exports


/***/ }),
/* 406 */
/***/ (function(module, exports) {

    "use strict";
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    // <template><section><template>
    // <h3>固钉</h3>
    // <div class="bs-docs-section">
    //   <div class="bs-example">
    //     <h3>
    //       <n3-affix :offset="0">
    //         <nav class="sidebar">
    //           <ul>
    //             <li>...</li>
    //             <li>...</li>
    //             <li>...</li>
    //           </ul>
    //         </nav>
    //       </n3-affix>
    //     </h3>
    //   </div>
    // <pre><code class="language-html"><span class="hljs-tag">&lt;<span class="hljs-name">n3-affix</span> <span class="hljs-attr">:offset</span>=<span class="hljs-string">"0"</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">nav</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"sidebar"</span>&gt;</span>
    //     <span class="hljs-tag">&lt;<span class="hljs-name">ul</span>&gt;</span>
    //       <span class="hljs-tag">&lt;<span class="hljs-name">li</span>&gt;</span>...<span class="hljs-tag">&lt;/<span class="hljs-name">li</span>&gt;</span>
    //       <span class="hljs-tag">&lt;<span class="hljs-name">li</span>&gt;</span>...<span class="hljs-tag">&lt;/<span class="hljs-name">li</span>&gt;</span>
    //       <span class="hljs-tag">&lt;<span class="hljs-name">li</span>&gt;</span>...<span class="hljs-tag">&lt;/<span class="hljs-name">li</span>&gt;</span>
    //     <span class="hljs-tag">&lt;/<span class="hljs-name">ul</span>&gt;</span>
    //   <span class="hljs-tag">&lt;/<span class="hljs-name">nav</span>&gt;</span>
    // <span class="hljs-tag">&lt;/<span class="hljs-name">n3-affix</span>&gt;</span>
    // </code></pre>
    // <h3>参数</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>参数名</th>
    // <th>类型</th>
    // <th>默认值</th>
    // <th>说明</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>offset</td>
    // <td><code>Number</code></td>
    // <td><code>0</code></td>
    // <td>离屏幕顶部的像素值</td>
    // </tr>
    // </tbody>
    // </table>
    // </div>
    // </template>
    //
    //
    // </section></template>
    // <style scoped>
    // .sidebar{
    //   background-color: #fff;
    //   box-shadow: 1px 1px 10px #ddd;
    //   z-index: 10000;
    //   padding:10px;
    // }
    // pre[class*='language-']{
    //   position: static;
    // }
    // </style>
    // <script>
    exports.default = {};
    // </script>
    /* generated by vue-loader */

/***/ }),
/* 407 */
/***/ (function(module, exports) {

    module.exports = "<section _v-5163cf3e=\"\"><template>\n<h3 _v-5163cf3e=\"\">固钉</h3>\n<div class=\"bs-docs-section\" _v-5163cf3e=\"\">\n  <div class=\"bs-example\" _v-5163cf3e=\"\">\n    <h3 _v-5163cf3e=\"\">\n      <n3-affix :offset=\"0\" _v-5163cf3e=\"\">\n        <nav class=\"sidebar\" _v-5163cf3e=\"\">\n          <ul _v-5163cf3e=\"\">\n            <li _v-5163cf3e=\"\">...</li>\n            <li _v-5163cf3e=\"\">...</li>\n            <li _v-5163cf3e=\"\">...</li>\n          </ul>\n        </nav>\n      </n3-affix>\n    </h3>\n  </div>\n<pre _v-5163cf3e=\"\"><code class=\"language-html\" _v-5163cf3e=\"\"><span class=\"hljs-tag\" _v-5163cf3e=\"\">&lt;<span class=\"hljs-name\" _v-5163cf3e=\"\">n3-affix</span> <span class=\"hljs-attr\" _v-5163cf3e=\"\">:offset</span>=<span class=\"hljs-string\" _v-5163cf3e=\"\">\"0\"</span>&gt;</span>\n  <span class=\"hljs-tag\" _v-5163cf3e=\"\">&lt;<span class=\"hljs-name\" _v-5163cf3e=\"\">nav</span> <span class=\"hljs-attr\" _v-5163cf3e=\"\">class</span>=<span class=\"hljs-string\" _v-5163cf3e=\"\">\"sidebar\"</span>&gt;</span>\n    <span class=\"hljs-tag\" _v-5163cf3e=\"\">&lt;<span class=\"hljs-name\" _v-5163cf3e=\"\">ul</span>&gt;</span>\n      <span class=\"hljs-tag\" _v-5163cf3e=\"\">&lt;<span class=\"hljs-name\" _v-5163cf3e=\"\">li</span>&gt;</span>...<span class=\"hljs-tag\" _v-5163cf3e=\"\">&lt;/<span class=\"hljs-name\" _v-5163cf3e=\"\">li</span>&gt;</span>\n      <span class=\"hljs-tag\" _v-5163cf3e=\"\">&lt;<span class=\"hljs-name\" _v-5163cf3e=\"\">li</span>&gt;</span>...<span class=\"hljs-tag\" _v-5163cf3e=\"\">&lt;/<span class=\"hljs-name\" _v-5163cf3e=\"\">li</span>&gt;</span>\n      <span class=\"hljs-tag\" _v-5163cf3e=\"\">&lt;<span class=\"hljs-name\" _v-5163cf3e=\"\">li</span>&gt;</span>...<span class=\"hljs-tag\" _v-5163cf3e=\"\">&lt;/<span class=\"hljs-name\" _v-5163cf3e=\"\">li</span>&gt;</span>\n    <span class=\"hljs-tag\" _v-5163cf3e=\"\">&lt;/<span class=\"hljs-name\" _v-5163cf3e=\"\">ul</span>&gt;</span>\n  <span class=\"hljs-tag\" _v-5163cf3e=\"\">&lt;/<span class=\"hljs-name\" _v-5163cf3e=\"\">nav</span>&gt;</span>\n<span class=\"hljs-tag\" _v-5163cf3e=\"\">&lt;/<span class=\"hljs-name\" _v-5163cf3e=\"\">n3-affix</span>&gt;</span>\n</code></pre>\n<h3 _v-5163cf3e=\"\">参数</h3>\n<table _v-5163cf3e=\"\">\n<thead _v-5163cf3e=\"\">\n<tr _v-5163cf3e=\"\">\n<th _v-5163cf3e=\"\">参数名</th>\n<th _v-5163cf3e=\"\">类型</th>\n<th _v-5163cf3e=\"\">默认值</th>\n<th _v-5163cf3e=\"\">说明</th>\n</tr>\n</thead>\n<tbody _v-5163cf3e=\"\">\n<tr _v-5163cf3e=\"\">\n<td _v-5163cf3e=\"\">offset</td>\n<td _v-5163cf3e=\"\"><code _v-5163cf3e=\"\">Number</code></td>\n<td _v-5163cf3e=\"\"><code _v-5163cf3e=\"\">0</code></td>\n<td _v-5163cf3e=\"\">离屏幕顶部的像素值</td>\n</tr>\n</tbody>\n</table>\n</div>\n</template>\n\n\n</section>";

/***/ }),
/* 408 */
/***/ (function(module, exports, __webpack_require__) {

    module.exports = __webpack_require__(409);

/***/ }),
/* 409 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(410)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] node_modules/vue-markdown-loader/_cache/n3AsideDocs-7.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(411)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-61b08925/n3AsideDocs-7.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 410 */
/***/ (function(module, exports) {

    "use strict";
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    // <template><section><template>
    // <h3>侧边栏</h3>
    // <div class="bs-docs-section">
    // <div class="bs-example">
    //   <n3-button @click.native="openLeft">左侧栏</n3-button>
    //   <n3-button @click.native="openRight">右侧栏</n3-button>
    //   <n3-aside placement="left" title="Title" width="350px" ref="asideLeft">
    //     <h4>左侧侧边栏</h4>
    //     <p height="10000px">...</p>
    //     <p>...</p>
    //     <p>...</p>
    //     <n3-button @click.native="closeLeft">关闭</n3-button>
    //   </n3-aside>
    //   <n3-aside placement="right" title="Title" width="350px" ref="asideRight" :header="false">
    //     <h4>右侧侧边栏</h4>
    //     <p>...</p>
    //     <p>...</p>
    //     <p>...</p>
    //     <n3-button @click.native="closeRight">关闭</n3-button>
    //   </n3-aside>
    // </div>
    // <pre><code class="language-html"><span class="hljs-comment">&lt;!-- 左侧栏 --&gt;</span>
    // <span class="hljs-tag">&lt;<span class="hljs-name">n3-aside</span>  <span class="hljs-attr">placement</span>=<span class="hljs-string">"left"</span> <span class="hljs-attr">title</span>=<span class="hljs-string">"Title"</span> <span class="hljs-attr">width</span>=<span class="hljs-string">"350px"</span> <span class="hljs-attr">ref</span>=<span class="hljs-string">"asideLeft"</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">h4</span>&gt;</span>左侧侧边栏<span class="hljs-tag">&lt;/<span class="hljs-name">h4</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">p</span>&gt;</span>...<span class="hljs-tag">&lt;/<span class="hljs-name">p</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">p</span>&gt;</span>...<span class="hljs-tag">&lt;/<span class="hljs-name">p</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">p</span>&gt;</span>...<span class="hljs-tag">&lt;/<span class="hljs-name">p</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-button</span> <span class="hljs-attr">@click.native</span>=<span class="hljs-string">"closeLeft"</span>&gt;</span>关闭<span class="hljs-tag">&lt;/<span class="hljs-name">n3-button</span>&gt;</span>
    // <span class="hljs-tag">&lt;/<span class="hljs-name">n3-aside</span>&gt;</span>
    //
    // <span class="hljs-comment">&lt;!-- 右侧栏 --&gt;</span>
    // <span class="hljs-tag">&lt;<span class="hljs-name">n3-aside</span>  <span class="hljs-attr">placement</span>=<span class="hljs-string">"right"</span> <span class="hljs-attr">title</span>=<span class="hljs-string">"Title"</span> <span class="hljs-attr">width</span>=<span class="hljs-string">"350px"</span> <span class="hljs-attr">ref</span>=<span class="hljs-string">"asideRight"</span> <span class="hljs-attr">:header</span>=<span class="hljs-string">"false"</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">h4</span>&gt;</span>右侧侧边栏<span class="hljs-tag">&lt;/<span class="hljs-name">h4</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">p</span>&gt;</span>...<span class="hljs-tag">&lt;/<span class="hljs-name">p</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">p</span>&gt;</span>...<span class="hljs-tag">&lt;/<span class="hljs-name">p</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">p</span>&gt;</span>...<span class="hljs-tag">&lt;/<span class="hljs-name">p</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-button</span> <span class="hljs-attr">@click.native</span>=<span class="hljs-string">"closeRight"</span>&gt;</span>关闭<span class="hljs-tag">&lt;/<span class="hljs-name">n3-button</span>&gt;</span>
    // <span class="hljs-tag">&lt;/<span class="hljs-name">n3-aside</span>&gt;</span>
    // </code></pre>
    // <pre><code class="language-javascript"><span class="hljs-keyword">export</span> <span class="hljs-keyword">default</span> {
    //   <span class="hljs-attr">methods</span>: {
    //     openLeft () {
    //       <span class="hljs-keyword">this</span>.$refs.asideLeft.open()
    //     },
    //     openRight () {
    //       <span class="hljs-keyword">this</span>.$refs.asideRight.open()
    //     },
    //     closeLeft () {
    //       <span class="hljs-keyword">this</span>.$refs.asideLeft.close()
    //     },
    //     closeRight () {
    //       <span class="hljs-keyword">this</span>.$refs.asideRight.close()
    //     }
    //   }
    // }
    // </code></pre>
    // <h3>参数</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>参数名</th>
    // <th>类型</th>
    // <th>默认值</th>
    // <th>说明</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>placement</td>
    // <td><code>String</code>, 如: <code>left</code>, <code>right</code></td>
    // <td><code>right</code></td>
    // <td>组件位置</td>
    // </tr>
    // <tr>
    // <td>title</td>
    // <td><code>String</code></td>
    // <td></td>
    // <td>组件头部文本</td>
    // </tr>
    // <tr>
    // <td>header</td>
    // <td><code>Boolean</code></td>
    // <td></td>
    // <td>是否需要头部</td>
    // </tr>
    // <tr>
    // <td>width</td>
    // <td><code>String</code></td>
    // <td></td>
    // <td></td>
    // </tr>
    // </tbody>
    // </table>
    // <h3>Events</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>名称</th>
    // <th>说明</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>show</td>
    // <td>显示</td>
    // </tr>
    // <tr>
    // <td>hide</td>
    // <td>隐藏</td>
    // </tr>
    // </tbody>
    // </table>
    // </div>
    // </template>
    // </section></template>
    //
    // <script>
    exports.default = {
      methods: {
        openLeft: function openLeft() {
          this.$refs.asideLeft.open();
        },
        openRight: function openRight() {
          this.$refs.asideRight.open();
        },
        closeLeft: function closeLeft() {
          this.$refs.asideLeft.close();
        },
        closeRight: function closeRight() {
          this.$refs.asideRight.close();
        }
      }
    };
    // </script>
    /* generated by vue-loader */

/***/ }),
/* 411 */
/***/ (function(module, exports) {

    module.exports = "<section><template>\n<h3>侧边栏</h3>\n<div class=\"bs-docs-section\">\n<div class=\"bs-example\">\n  <n3-button @click.native=\"openLeft\">左侧栏</n3-button>\n  <n3-button @click.native=\"openRight\">右侧栏</n3-button>\n  <n3-aside placement=\"left\" title=\"Title\" width=\"350px\" ref=\"asideLeft\">\n    <h4>左侧侧边栏</h4>\n    <p height=\"10000px\">...</p>\n    <p>...</p>\n    <p>...</p>\n    <n3-button @click.native=\"closeLeft\">关闭</n3-button>\n  </n3-aside>\n  <n3-aside placement=\"right\" title=\"Title\" width=\"350px\" ref=\"asideRight\" :header=\"false\">\n    <h4>右侧侧边栏</h4>\n    <p>...</p>\n    <p>...</p>\n    <p>...</p>\n    <n3-button @click.native=\"closeRight\">关闭</n3-button>\n  </n3-aside>\n</div>\n<pre><code class=\"language-html\"><span class=\"hljs-comment\">&lt;!-- 左侧栏 --&gt;</span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-aside</span>  <span class=\"hljs-attr\">placement</span>=<span class=\"hljs-string\">\"left\"</span> <span class=\"hljs-attr\">title</span>=<span class=\"hljs-string\">\"Title\"</span> <span class=\"hljs-attr\">width</span>=<span class=\"hljs-string\">\"350px\"</span> <span class=\"hljs-attr\">ref</span>=<span class=\"hljs-string\">\"asideLeft\"</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">h4</span>&gt;</span>左侧侧边栏<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">h4</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">p</span>&gt;</span>...<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">p</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">p</span>&gt;</span>...<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">p</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">p</span>&gt;</span>...<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">p</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-button</span> <span class=\"hljs-attr\">@click.native</span>=<span class=\"hljs-string\">\"closeLeft\"</span>&gt;</span>关闭<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-button</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-aside</span>&gt;</span>\n\n<span class=\"hljs-comment\">&lt;!-- 右侧栏 --&gt;</span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-aside</span>  <span class=\"hljs-attr\">placement</span>=<span class=\"hljs-string\">\"right\"</span> <span class=\"hljs-attr\">title</span>=<span class=\"hljs-string\">\"Title\"</span> <span class=\"hljs-attr\">width</span>=<span class=\"hljs-string\">\"350px\"</span> <span class=\"hljs-attr\">ref</span>=<span class=\"hljs-string\">\"asideRight\"</span> <span class=\"hljs-attr\">:header</span>=<span class=\"hljs-string\">\"false\"</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">h4</span>&gt;</span>右侧侧边栏<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">h4</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">p</span>&gt;</span>...<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">p</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">p</span>&gt;</span>...<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">p</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">p</span>&gt;</span>...<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">p</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-button</span> <span class=\"hljs-attr\">@click.native</span>=<span class=\"hljs-string\">\"closeRight\"</span>&gt;</span>关闭<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-button</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-aside</span>&gt;</span>\n</code></pre>\n<pre><code class=\"language-javascript\"><span class=\"hljs-keyword\">export</span> <span class=\"hljs-keyword\">default</span> {\n  <span class=\"hljs-attr\">methods</span>: {\n    openLeft () {\n      <span class=\"hljs-keyword\">this</span>.$refs.asideLeft.open()\n    },\n    openRight () {\n      <span class=\"hljs-keyword\">this</span>.$refs.asideRight.open()\n    },\n    closeLeft () {\n      <span class=\"hljs-keyword\">this</span>.$refs.asideLeft.close()\n    },\n    closeRight () {\n      <span class=\"hljs-keyword\">this</span>.$refs.asideRight.close()\n    }\n  }\n}\n</code></pre>\n<h3>参数</h3>\n<table>\n<thead>\n<tr>\n<th>参数名</th>\n<th>类型</th>\n<th>默认值</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>placement</td>\n<td><code>String</code>, 如: <code>left</code>, <code>right</code></td>\n<td><code>right</code></td>\n<td>组件位置</td>\n</tr>\n<tr>\n<td>title</td>\n<td><code>String</code></td>\n<td></td>\n<td>组件头部文本</td>\n</tr>\n<tr>\n<td>header</td>\n<td><code>Boolean</code></td>\n<td></td>\n<td>是否需要头部</td>\n</tr>\n<tr>\n<td>width</td>\n<td><code>String</code></td>\n<td></td>\n<td></td>\n</tr>\n</tbody>\n</table>\n<h3>Events</h3>\n<table>\n<thead>\n<tr>\n<th>名称</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>show</td>\n<td>显示</td>\n</tr>\n<tr>\n<td>hide</td>\n<td>隐藏</td>\n</tr>\n</tbody>\n</table>\n</div>\n</template>\n</section>";

/***/ }),
/* 412 */
/***/ (function(module, exports, __webpack_require__) {

    module.exports = __webpack_require__(413);

/***/ }),
/* 413 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __webpack_require__(414)
    __vue_template__ = __webpack_require__(416)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-f7c648cc/n3CarouselDocs-11.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 414 */
/***/ (function(module, exports, __webpack_require__) {

    // style-loader: Adds some css to the DOM by adding a <style> tag
    
    // load the styles
    var content = __webpack_require__(415);
    if(typeof content === 'string') content = [[module.id, content, '']];
    if(content.locals) module.exports = content.locals;
    // add the styles to the DOM
    var update = __webpack_require__(351)("1948b2c7", content, false);
    // Hot Module Replacement
    if(false) {
     // When the styles change, update the <style> tags
     if(!content.locals) {
       module.hot.accept("!!../../css-loader/index.js?sourceMap!../../vue-loader/lib/style-rewriter.js?id=_v-f7c648cc&scoped=true!../../vue-loader/lib/selector.js?type=style&index=0!./n3CarouselDocs-11.vue", function() {
         var newContent = require("!!../../css-loader/index.js?sourceMap!../../vue-loader/lib/style-rewriter.js?id=_v-f7c648cc&scoped=true!../../vue-loader/lib/selector.js?type=style&index=0!./n3CarouselDocs-11.vue");
         if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];
         update(newContent);
       });
     }
     // When the module is disposed, remove the <style> tags
     module.hot.dispose(function() { update(); });
    }

/***/ }),
/* 415 */
/***/ (function(module, exports, __webpack_require__) {

    exports = module.exports = __webpack_require__(350)();
    // imports
    
    
    // module
    exports.push([module.id, "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.slide-img[_v-f7c648cc]{\n  height:400px!important;\n}\n.carousel-caption[_v-f7c648cc] {\n  position: absolute;\n  right: 15%;\n  bottom: 20px;\n  left: 15%;\n  z-index: 10;\n  padding-top: 20px;\n  padding-bottom: 20px;\n  color: #fff;\n  text-align: center;\n  text-shadow: 0 1px 2px rgba(0, 0, 0, .6);\n}\n@media screen and (min-width: 768px) {\n  .carousel-caption[_v-f7c648cc] {\n    right: 20%;\n    left: 20%;\n    padding-bottom: 30px;\n  }\n}\n", "", {"version":3,"sources":["/./node_modules/vue-markdown-loader/_cache/n3CarouselDocs-11.vue?923b9f46"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuFA;EACA,uBAAA;CACA;AACA;EACA,mBAAA;EACA,WAAA;EACA,aAAA;EACA,UAAA;EACA,YAAA;EACA,kBAAA;EACA,qBAAA;EACA,YAAA;EACA,mBAAA;EACA,yCAAA;CACA;AACA;EACA;IACA,WAAA;IACA,UAAA;IACA,qBAAA;GACA;CACA","file":"n3CarouselDocs-11.vue","sourcesContent":["<template><section><template>\n<h3>幻灯片</h3>\n<div class=\"bs-docs-section\" id=\"幻灯片\">\n<div class=\"bs-example\">\n  <n3-carousel>\n    <n3-slide>\n      <img class=\"slide-img\" src=\"http://www.photops.com/Photo/UpPhoto2010/201106/2011060409214653.jpg\">\n      <div class=\"carousel-caption\">\n        <h3>Slide #1</h3>\n        <p>xxxxxxxxxxxx</p>\n      </div>\n    </n3-slide>\n    <n3-slide>\n      <img class=\"slide-img\" src=\"http://www.photops.com/Photo/UpPhoto2010/201106/2011060409214653.jpg\">\n      <div class=\"carousel-caption\">\n        <h3>Slide #2</h3>\n        <p>xxxxxxxxxxxx</p>\n      </div>\n    </n3-slide>\n    <n3-slide>\n      <img class=\"slide-img\" src=\"http://www.photops.com/Photo/UpPhoto2010/201106/2011060409214653.jpg\">\n      <div class=\"carousel-caption\">\n        <h3>Slide #3</h3>\n        <p>xxxxxxxxxxxx</p>\n      </div>\n    </n3-slide>\n  </n3-carousel>\n</div>\n<pre><code class=\"language-html\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-carousel</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-slide</span>&gt;</span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">img</span> <span class=\"hljs-attr\">class</span>=<span class=\"hljs-string\">\"slide-img\"</span> <span class=\"hljs-attr\">src</span>=<span class=\"hljs-string\">\"http://www.photops.com/Photo/UpPhoto2010/201106/2011060409214653.jpg\"</span>&gt;</span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">div</span> <span class=\"hljs-attr\">class</span>=<span class=\"hljs-string\">\"carousel-caption\"</span>&gt;</span>\n      <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">h3</span>&gt;</span>Slide #1<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">h3</span>&gt;</span>\n      <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">p</span>&gt;</span>xxxxxxxxxxxx<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">p</span>&gt;</span>\n    <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">div</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-slide</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-slide</span>&gt;</span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">img</span> <span class=\"hljs-attr\">class</span>=<span class=\"hljs-string\">\"slide-img\"</span> <span class=\"hljs-attr\">src</span>=<span class=\"hljs-string\">\"http://www.photops.com/Photo/UpPhoto2010/201106/2011060409214653.jpg\"</span>&gt;</span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">div</span> <span class=\"hljs-attr\">class</span>=<span class=\"hljs-string\">\"carousel-caption\"</span>&gt;</span>\n      <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">h3</span>&gt;</span>Slide #2<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">h3</span>&gt;</span>\n      <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">p</span>&gt;</span>xxxxxxxxxxxx<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">p</span>&gt;</span>\n    <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">div</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-slide</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-slide</span>&gt;</span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">img</span> <span class=\"hljs-attr\">class</span>=<span class=\"hljs-string\">\"slide-img\"</span> <span class=\"hljs-attr\">src</span>=<span class=\"hljs-string\">\"http://www.photops.com/Photo/UpPhoto2010/201106/2011060409214653.jpg\"</span>&gt;</span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">div</span> <span class=\"hljs-attr\">class</span>=<span class=\"hljs-string\">\"carousel-caption\"</span>&gt;</span>\n      <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">h3</span>&gt;</span>Slide #3<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">h3</span>&gt;</span>\n      <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">p</span>&gt;</span>xxxxxxxxxxxx<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">p</span>&gt;</span>\n    <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">div</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-slide</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-carousel</span>&gt;</span>\n</code></pre>\n<h3>参数</h3>\n<table>\n<thead>\n<tr>\n<th>参数名</th>\n<th>类型</th>\n<th>默认值</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>indicators</td>\n<td><code>Boolean</code></td>\n<td><code>true</code></td>\n<td>是否显示控制点</td>\n</tr>\n<tr>\n<td>controls</td>\n<td><code>Boolean</code></td>\n<td><code>true</code></td>\n<td>是否显示箭头</td>\n</tr>\n<tr>\n<td>interval</td>\n<td><code>Number</code></td>\n<td><code>5000</code></td>\n<td>自动切换时间(小于等于0时不自动切换)</td>\n</tr>\n</tbody>\n</table>\n</div>\n</template>\n</section></template>\n<style scoped>\n.slide-img{\n  height:400px!important;\n}\n.carousel-caption {\n  position: absolute;\n  right: 15%;\n  bottom: 20px;\n  left: 15%;\n  z-index: 10;\n  padding-top: 20px;\n  padding-bottom: 20px;\n  color: #fff;\n  text-align: center;\n  text-shadow: 0 1px 2px rgba(0, 0, 0, .6);\n}\n@media screen and (min-width: 768px) {\n  .carousel-caption {\n    right: 20%;\n    left: 20%;\n    padding-bottom: 30px;\n  }\n}\n</style>\n"],"sourceRoot":"webpack://"}]);
    
    // exports


/***/ }),
/* 416 */
/***/ (function(module, exports) {

    module.exports = "<section _v-f7c648cc=\"\"><template>\n<h3 _v-f7c648cc=\"\">幻灯片</h3>\n<div class=\"bs-docs-section\" id=\"幻灯片\" _v-f7c648cc=\"\">\n<div class=\"bs-example\" _v-f7c648cc=\"\">\n  <n3-carousel _v-f7c648cc=\"\">\n    <n3-slide _v-f7c648cc=\"\">\n      <img class=\"slide-img\" src=\"http://www.photops.com/Photo/UpPhoto2010/201106/2011060409214653.jpg\" _v-f7c648cc=\"\">\n      <div class=\"carousel-caption\" _v-f7c648cc=\"\">\n        <h3 _v-f7c648cc=\"\">Slide #1</h3>\n        <p _v-f7c648cc=\"\">xxxxxxxxxxxx</p>\n      </div>\n    </n3-slide>\n    <n3-slide _v-f7c648cc=\"\">\n      <img class=\"slide-img\" src=\"http://www.photops.com/Photo/UpPhoto2010/201106/2011060409214653.jpg\" _v-f7c648cc=\"\">\n      <div class=\"carousel-caption\" _v-f7c648cc=\"\">\n        <h3 _v-f7c648cc=\"\">Slide #2</h3>\n        <p _v-f7c648cc=\"\">xxxxxxxxxxxx</p>\n      </div>\n    </n3-slide>\n    <n3-slide _v-f7c648cc=\"\">\n      <img class=\"slide-img\" src=\"http://www.photops.com/Photo/UpPhoto2010/201106/2011060409214653.jpg\" _v-f7c648cc=\"\">\n      <div class=\"carousel-caption\" _v-f7c648cc=\"\">\n        <h3 _v-f7c648cc=\"\">Slide #3</h3>\n        <p _v-f7c648cc=\"\">xxxxxxxxxxxx</p>\n      </div>\n    </n3-slide>\n  </n3-carousel>\n</div>\n<pre _v-f7c648cc=\"\"><code class=\"language-html\" _v-f7c648cc=\"\"><span class=\"hljs-tag\" _v-f7c648cc=\"\">&lt;<span class=\"hljs-name\" _v-f7c648cc=\"\">n3-carousel</span>&gt;</span>\n  <span class=\"hljs-tag\" _v-f7c648cc=\"\">&lt;<span class=\"hljs-name\" _v-f7c648cc=\"\">n3-slide</span>&gt;</span>\n    <span class=\"hljs-tag\" _v-f7c648cc=\"\">&lt;<span class=\"hljs-name\" _v-f7c648cc=\"\">img</span> <span class=\"hljs-attr\" _v-f7c648cc=\"\">class</span>=<span class=\"hljs-string\" _v-f7c648cc=\"\">\"slide-img\"</span> <span class=\"hljs-attr\" _v-f7c648cc=\"\">src</span>=<span class=\"hljs-string\" _v-f7c648cc=\"\">\"http://www.photops.com/Photo/UpPhoto2010/201106/2011060409214653.jpg\"</span>&gt;</span>\n    <span class=\"hljs-tag\" _v-f7c648cc=\"\">&lt;<span class=\"hljs-name\" _v-f7c648cc=\"\">div</span> <span class=\"hljs-attr\" _v-f7c648cc=\"\">class</span>=<span class=\"hljs-string\" _v-f7c648cc=\"\">\"carousel-caption\"</span>&gt;</span>\n      <span class=\"hljs-tag\" _v-f7c648cc=\"\">&lt;<span class=\"hljs-name\" _v-f7c648cc=\"\">h3</span>&gt;</span>Slide #1<span class=\"hljs-tag\" _v-f7c648cc=\"\">&lt;/<span class=\"hljs-name\" _v-f7c648cc=\"\">h3</span>&gt;</span>\n      <span class=\"hljs-tag\" _v-f7c648cc=\"\">&lt;<span class=\"hljs-name\" _v-f7c648cc=\"\">p</span>&gt;</span>xxxxxxxxxxxx<span class=\"hljs-tag\" _v-f7c648cc=\"\">&lt;/<span class=\"hljs-name\" _v-f7c648cc=\"\">p</span>&gt;</span>\n    <span class=\"hljs-tag\" _v-f7c648cc=\"\">&lt;/<span class=\"hljs-name\" _v-f7c648cc=\"\">div</span>&gt;</span>\n  <span class=\"hljs-tag\" _v-f7c648cc=\"\">&lt;/<span class=\"hljs-name\" _v-f7c648cc=\"\">n3-slide</span>&gt;</span>\n  <span class=\"hljs-tag\" _v-f7c648cc=\"\">&lt;<span class=\"hljs-name\" _v-f7c648cc=\"\">n3-slide</span>&gt;</span>\n    <span class=\"hljs-tag\" _v-f7c648cc=\"\">&lt;<span class=\"hljs-name\" _v-f7c648cc=\"\">img</span> <span class=\"hljs-attr\" _v-f7c648cc=\"\">class</span>=<span class=\"hljs-string\" _v-f7c648cc=\"\">\"slide-img\"</span> <span class=\"hljs-attr\" _v-f7c648cc=\"\">src</span>=<span class=\"hljs-string\" _v-f7c648cc=\"\">\"http://www.photops.com/Photo/UpPhoto2010/201106/2011060409214653.jpg\"</span>&gt;</span>\n    <span class=\"hljs-tag\" _v-f7c648cc=\"\">&lt;<span class=\"hljs-name\" _v-f7c648cc=\"\">div</span> <span class=\"hljs-attr\" _v-f7c648cc=\"\">class</span>=<span class=\"hljs-string\" _v-f7c648cc=\"\">\"carousel-caption\"</span>&gt;</span>\n      <span class=\"hljs-tag\" _v-f7c648cc=\"\">&lt;<span class=\"hljs-name\" _v-f7c648cc=\"\">h3</span>&gt;</span>Slide #2<span class=\"hljs-tag\" _v-f7c648cc=\"\">&lt;/<span class=\"hljs-name\" _v-f7c648cc=\"\">h3</span>&gt;</span>\n      <span class=\"hljs-tag\" _v-f7c648cc=\"\">&lt;<span class=\"hljs-name\" _v-f7c648cc=\"\">p</span>&gt;</span>xxxxxxxxxxxx<span class=\"hljs-tag\" _v-f7c648cc=\"\">&lt;/<span class=\"hljs-name\" _v-f7c648cc=\"\">p</span>&gt;</span>\n    <span class=\"hljs-tag\" _v-f7c648cc=\"\">&lt;/<span class=\"hljs-name\" _v-f7c648cc=\"\">div</span>&gt;</span>\n  <span class=\"hljs-tag\" _v-f7c648cc=\"\">&lt;/<span class=\"hljs-name\" _v-f7c648cc=\"\">n3-slide</span>&gt;</span>\n  <span class=\"hljs-tag\" _v-f7c648cc=\"\">&lt;<span class=\"hljs-name\" _v-f7c648cc=\"\">n3-slide</span>&gt;</span>\n    <span class=\"hljs-tag\" _v-f7c648cc=\"\">&lt;<span class=\"hljs-name\" _v-f7c648cc=\"\">img</span> <span class=\"hljs-attr\" _v-f7c648cc=\"\">class</span>=<span class=\"hljs-string\" _v-f7c648cc=\"\">\"slide-img\"</span> <span class=\"hljs-attr\" _v-f7c648cc=\"\">src</span>=<span class=\"hljs-string\" _v-f7c648cc=\"\">\"http://www.photops.com/Photo/UpPhoto2010/201106/2011060409214653.jpg\"</span>&gt;</span>\n    <span class=\"hljs-tag\" _v-f7c648cc=\"\">&lt;<span class=\"hljs-name\" _v-f7c648cc=\"\">div</span> <span class=\"hljs-attr\" _v-f7c648cc=\"\">class</span>=<span class=\"hljs-string\" _v-f7c648cc=\"\">\"carousel-caption\"</span>&gt;</span>\n      <span class=\"hljs-tag\" _v-f7c648cc=\"\">&lt;<span class=\"hljs-name\" _v-f7c648cc=\"\">h3</span>&gt;</span>Slide #3<span class=\"hljs-tag\" _v-f7c648cc=\"\">&lt;/<span class=\"hljs-name\" _v-f7c648cc=\"\">h3</span>&gt;</span>\n      <span class=\"hljs-tag\" _v-f7c648cc=\"\">&lt;<span class=\"hljs-name\" _v-f7c648cc=\"\">p</span>&gt;</span>xxxxxxxxxxxx<span class=\"hljs-tag\" _v-f7c648cc=\"\">&lt;/<span class=\"hljs-name\" _v-f7c648cc=\"\">p</span>&gt;</span>\n    <span class=\"hljs-tag\" _v-f7c648cc=\"\">&lt;/<span class=\"hljs-name\" _v-f7c648cc=\"\">div</span>&gt;</span>\n  <span class=\"hljs-tag\" _v-f7c648cc=\"\">&lt;/<span class=\"hljs-name\" _v-f7c648cc=\"\">n3-slide</span>&gt;</span>\n<span class=\"hljs-tag\" _v-f7c648cc=\"\">&lt;/<span class=\"hljs-name\" _v-f7c648cc=\"\">n3-carousel</span>&gt;</span>\n</code></pre>\n<h3 _v-f7c648cc=\"\">参数</h3>\n<table _v-f7c648cc=\"\">\n<thead _v-f7c648cc=\"\">\n<tr _v-f7c648cc=\"\">\n<th _v-f7c648cc=\"\">参数名</th>\n<th _v-f7c648cc=\"\">类型</th>\n<th _v-f7c648cc=\"\">默认值</th>\n<th _v-f7c648cc=\"\">说明</th>\n</tr>\n</thead>\n<tbody _v-f7c648cc=\"\">\n<tr _v-f7c648cc=\"\">\n<td _v-f7c648cc=\"\">indicators</td>\n<td _v-f7c648cc=\"\"><code _v-f7c648cc=\"\">Boolean</code></td>\n<td _v-f7c648cc=\"\"><code _v-f7c648cc=\"\">true</code></td>\n<td _v-f7c648cc=\"\">是否显示控制点</td>\n</tr>\n<tr _v-f7c648cc=\"\">\n<td _v-f7c648cc=\"\">controls</td>\n<td _v-f7c648cc=\"\"><code _v-f7c648cc=\"\">Boolean</code></td>\n<td _v-f7c648cc=\"\"><code _v-f7c648cc=\"\">true</code></td>\n<td _v-f7c648cc=\"\">是否显示箭头</td>\n</tr>\n<tr _v-f7c648cc=\"\">\n<td _v-f7c648cc=\"\">interval</td>\n<td _v-f7c648cc=\"\"><code _v-f7c648cc=\"\">Number</code></td>\n<td _v-f7c648cc=\"\"><code _v-f7c648cc=\"\">5000</code></td>\n<td _v-f7c648cc=\"\">自动切换时间(小于等于0时不自动切换)</td>\n</tr>\n</tbody>\n</table>\n</div>\n</template>\n</section>";

/***/ }),
/* 417 */
/***/ (function(module, exports, __webpack_require__) {

    module.exports = __webpack_require__(418);

/***/ }),
/* 418 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_template__ = __webpack_require__(419)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-1e4e5438/n3ButtonsDocs-10.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 419 */
/***/ (function(module, exports) {

    module.exports = "<section><template>\n<h3>按钮</h3>\n<div class=\"bs-docs-section\" id=\"按钮\">\n<div class=\"bs-example\">\n<p><n3-button loading=\"\">default</n3-button>\n<n3-button badge=\"2\">badge</n3-button>\n<n3-button disabled>default</n3-button>\n<n3-button active=\"\" type=\"primary\" loading=\"\">primary</n3-button>\n<n3-button type=\"success\">success</n3-button>\n<n3-button type=\"info\">info</n3-button>\n<n3-button type=\"warning\">warning</n3-button>\n<n3-button type=\"danger\">danger</n3-button></p>\n<pre><code class=\"language-html\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-button</span> <span class=\"hljs-attr\">loading</span> &gt;</span>default<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-button</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-button</span> <span class=\"hljs-attr\">badge</span>=<span class=\"hljs-string\">\"2\"</span> &gt;</span>badge<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-button</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-button</span> <span class=\"hljs-attr\">disabled</span>&gt;</span>default<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-button</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-button</span> <span class=\"hljs-attr\">type</span>=<span class=\"hljs-string\">\"primary\"</span> <span class=\"hljs-attr\">loading</span>&gt;</span>primary<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-button</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-button</span> <span class=\"hljs-attr\">type</span>=<span class=\"hljs-string\">\"success\"</span>&gt;</span>success<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-button</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-button</span> <span class=\"hljs-attr\">type</span>=<span class=\"hljs-string\">\"info\"</span>&gt;</span>info<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-button</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-button</span> <span class=\"hljs-attr\">type</span>=<span class=\"hljs-string\">\"warning\"</span>&gt;</span>warning<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-button</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-button</span> <span class=\"hljs-attr\">type</span>=<span class=\"hljs-string\">\"danger\"</span>&gt;</span>danger<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-button</span>&gt;</span>\n</code></pre>\n<p><n3-button type=\"primary\" size=\"lg\">primary lg</n3-button>\n<n3-button type=\"primary\">primary default</n3-button>\n<n3-button type=\"primary\" size=\"sm\">primary sm</n3-button>\n<n3-button type=\"primary\" size=\"xs\">primary xs</n3-button></p>\n<pre><code class=\"language-html\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-button</span> <span class=\"hljs-attr\">type</span>=<span class=\"hljs-string\">\"primary\"</span> <span class=\"hljs-attr\">size</span>=<span class=\"hljs-string\">\"lg\"</span>&gt;</span>lg<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-button</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-button</span> <span class=\"hljs-attr\">type</span>=<span class=\"hljs-string\">\"primary\"</span>&gt;</span>default<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-button</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-button</span> <span class=\"hljs-attr\">type</span>=<span class=\"hljs-string\">\"primary\"</span> <span class=\"hljs-attr\">size</span>=<span class=\"hljs-string\">\"sm\"</span>&gt;</span>sm<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-button</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-button</span> <span class=\"hljs-attr\">type</span>=<span class=\"hljs-string\">\"primary\"</span> <span class=\"hljs-attr\">size</span>=<span class=\"hljs-string\">\"xs\"</span>&gt;</span>xs<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-button</span>&gt;</span>\n</code></pre>\n<n3-button-group>\n  <n3-button>default</n3-button>\n  <n3-button>default</n3-button>\n  <n3-button type=\"primary\">primary</n3-button>\n  <n3-button>default</n3-button>\n</n3-button-group>\n<pre><code class=\"language-html\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-button-group</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-button</span> &gt;</span>default<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-button</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-button</span> &gt;</span>default<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-button</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-button</span> <span class=\"hljs-attr\">type</span>=<span class=\"hljs-string\">\"primary\"</span>&gt;</span>primary<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-button</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-button</span> &gt;</span>default<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-button</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-button-group</span>&gt;</span>\n</code></pre>\n</div>\n<h3>Button参数</h3>\n<table>\n<thead>\n<tr>\n<th>参数名</th>\n<th>类型</th>\n<th>默认值</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>size</td>\n<td><code>String</code></td>\n<td></td>\n<td><code>lg</code> <code>sm</code> <code>xs</code></td>\n</tr>\n<tr>\n<td>loading</td>\n<td><code>Boolean</code></td>\n<td></td>\n<td><code>加载状态</code></td>\n</tr>\n<tr>\n<td>disabled</td>\n<td><code>Boolean</code></td>\n<td></td>\n<td>禁用状态</td>\n</tr>\n<tr>\n<td>active</td>\n<td><code>Boolean</code></td>\n<td><code>false</code></td>\n<td>激活状态</td>\n</tr>\n<tr>\n<td>badge</td>\n<td><code>String</code> <code>Number</code></td>\n<td></td>\n<td>徽标</td>\n</tr>\n<tr>\n<td>block</td>\n<td><code>Boolean</code></td>\n<td><code>false</code></td>\n<td>是否块级元素</td>\n</tr>\n<tr>\n<td>type</td>\n<td><code>String</code>, 如: <code>default</code> <code>primary</code> <code>danger</code> <code>info</code> <code>warning</code> <code>success</code></td>\n<td><code>default</code></td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>\n</template>\n</section>";

/***/ }),
/* 420 */
/***/ (function(module, exports, __webpack_require__) {

    module.exports = __webpack_require__(421);

/***/ }),
/* 421 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(422)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] node_modules/vue-markdown-loader/_cache/n3ToastDocs-13.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(423)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-7ed6dc55/n3ToastDocs-13.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 422 */
/***/ (function(module, exports) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    // <template><section><template>
    // <h3>页面提示</h3>
    // <div class="bs-docs-section" id="页面提示">
    // <div class="bs-example">
    //   <n3-button @click.native="showToast">点击</n3-button>
    // <div>
    // <pre><code class="language-html"><span class="hljs-tag">&lt;<span class="hljs-name">n3-button</span> <span class="hljs-attr">@click.native</span>=<span class="hljs-string">"showToast"</span>&gt;</span>点击<span class="hljs-tag">&lt;/<span class="hljs-name">n3-button</span>&gt;</span>
    // </code></pre>
    // <pre><code class="language-javascript"><span class="hljs-keyword">export</span> <span class="hljs-keyword">default</span> {
    //   <span class="hljs-attr">methods</span>: {
    //     showToast () {
    //       <span class="hljs-keyword">this</span>.n3Toast({
    //         <span class="hljs-attr">text</span>: <span class="hljs-string">'成功'</span>,
    //         <span class="hljs-attr">type</span>: <span class="hljs-string">'success'</span>,
    //         <span class="hljs-attr">placement</span>: <span class="hljs-string">'top'</span>
    //       })
    //     }
    //   }
    // }
    // </code></pre>
    // <h3>参数</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>参数名</th>
    // <th>类型</th>
    // <th>默认值</th>
    // <th>说明</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>placement</td>
    // <td><code>String</code></td>
    // <td><code>String</code>. 如: <code>top</code>, <code>top-right</code>,<code>top-left</code>, <code>bottom</code>,<code>bottom-left</code>, <code>bottom-right</code>默认在页面中间</td>
    // <td>位置</td>
    // </tr>
    // <tr>
    // <td>type</td>
    // <td><code>String</code></td>
    // <td>default</td>
    // <td>颜色</td>
    // </tr>
    // <tr>
    // <td>duration</td>
    // <td><code>Number</code></td>
    // <td><code>3000</code></td>
    // <td><code>0</code>为不消失</td>
    // </tr>
    // <tr>
    // <td>close-on-click</td>
    // <td><code>Boolean</code></td>
    // <td><code>true</code></td>
    // <td>点击消失</td>
    // </tr>
    // </tbody>
    // </table>
    // </div>
    // </div></div></template>
    //
    // </section></template>
    //
    // <script>
    exports.default = {
      methods: {
        showToast: function showToast() {
          this.n3Toast({
            text: '成功',
            type: 'success',
            placement: 'top'
          });
        }
      }
    };
    // </script>
    /* generated by vue-loader */

/***/ }),
/* 423 */
/***/ (function(module, exports) {

    module.exports = "<section><template>\n<h3>页面提示</h3>\n<div class=\"bs-docs-section\" id=\"页面提示\">\n<div class=\"bs-example\">\n  <n3-button @click.native=\"showToast\">点击</n3-button>\n<div>\n<pre><code class=\"language-html\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-button</span> <span class=\"hljs-attr\">@click.native</span>=<span class=\"hljs-string\">\"showToast\"</span>&gt;</span>点击<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-button</span>&gt;</span>\n</code></pre>\n<pre><code class=\"language-javascript\"><span class=\"hljs-keyword\">export</span> <span class=\"hljs-keyword\">default</span> {\n  <span class=\"hljs-attr\">methods</span>: {\n    showToast () {\n      <span class=\"hljs-keyword\">this</span>.n3Toast({\n        <span class=\"hljs-attr\">text</span>: <span class=\"hljs-string\">'成功'</span>,\n        <span class=\"hljs-attr\">type</span>: <span class=\"hljs-string\">'success'</span>,\n        <span class=\"hljs-attr\">placement</span>: <span class=\"hljs-string\">'top'</span>\n      })\n    }\n  }\n}\n</code></pre>\n<h3>参数</h3>\n<table>\n<thead>\n<tr>\n<th>参数名</th>\n<th>类型</th>\n<th>默认值</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>placement</td>\n<td><code>String</code></td>\n<td><code>String</code>. 如: <code>top</code>, <code>top-right</code>,<code>top-left</code>, <code>bottom</code>,<code>bottom-left</code>, <code>bottom-right</code>默认在页面中间</td>\n<td>位置</td>\n</tr>\n<tr>\n<td>type</td>\n<td><code>String</code></td>\n<td>default</td>\n<td>颜色</td>\n</tr>\n<tr>\n<td>duration</td>\n<td><code>Number</code></td>\n<td><code>3000</code></td>\n<td><code>0</code>为不消失</td>\n</tr>\n<tr>\n<td>close-on-click</td>\n<td><code>Boolean</code></td>\n<td><code>true</code></td>\n<td>点击消失</td>\n</tr>\n</tbody>\n</table>\n</div>\n</div></div></template>\n\n</section>";

/***/ }),
/* 424 */
/***/ (function(module, exports, __webpack_require__) {

    module.exports = __webpack_require__(425);

/***/ }),
/* 425 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(426)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] node_modules/vue-markdown-loader/_cache/n3DatepickerDocs-9.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(427)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-0a17148b/n3DatepickerDocs-9.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 426 */
/***/ (function(module, exports) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    // <template><section><template>
    // <h3>日期选择器</h3>
    // <div class="bs-docs-section">
    // <div class="bs-example">
    // <p>
    // <pre>
    // Selected date is: {{new Date(value).toString().slice(0, -23)}}
    // </pre>
    // </p>
    // <n3-datepicker v-model="value" format="yyyy-MM-dd">
    // </n3-datepicker>
    // </div>
    // <pre><code class="language-html"><span class="hljs-tag">&lt;<span class="hljs-name">n3-datepicker</span>
    //   <span class="hljs-attr">v-model</span>=<span class="hljs-string">"value"</span>
    //   <span class="hljs-attr">format</span>=<span class="hljs-string">"yyyy-MM-dd"</span>&gt;</span>
    // <span class="hljs-tag">&lt;/<span class="hljs-name">n3-datepicker</span>&gt;</span>
    //
    // <span class="hljs-tag">&lt;<span class="hljs-name">n3-select</span> <span class="hljs-attr">multiple</span> <span class="hljs-attr">v-model</span>=<span class="hljs-string">"disabled"</span> &gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-option</span> <span class="hljs-attr">value</span>=<span class="hljs-string">"0"</span>&gt;</span>0<span class="hljs-tag">&lt;/<span class="hljs-name">n3-option</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-option</span> <span class="hljs-attr">value</span>=<span class="hljs-string">"1"</span>&gt;</span>1<span class="hljs-tag">&lt;/<span class="hljs-name">n3-option</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-option</span> <span class="hljs-attr">value</span>=<span class="hljs-string">"2"</span>&gt;</span>2<span class="hljs-tag">&lt;/<span class="hljs-name">n3-option</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-option</span> <span class="hljs-attr">value</span>=<span class="hljs-string">"3"</span>&gt;</span>3<span class="hljs-tag">&lt;/<span class="hljs-name">n3-option</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-option</span> <span class="hljs-attr">value</span>=<span class="hljs-string">"4"</span>&gt;</span>4<span class="hljs-tag">&lt;/<span class="hljs-name">n3-option</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-option</span> <span class="hljs-attr">value</span>=<span class="hljs-string">"5"</span>&gt;</span>5<span class="hljs-tag">&lt;/<span class="hljs-name">n3-option</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-option</span> <span class="hljs-attr">value</span>=<span class="hljs-string">"6"</span>&gt;</span>6<span class="hljs-tag">&lt;/<span class="hljs-name">n3-option</span>&gt;</span>
    // <span class="hljs-tag">&lt;/<span class="hljs-name">n3-select</span>&gt;</span>
    // </code></pre>
    // <h3>参数</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>参数</th>
    // <th>类型</th>
    // <th>默认值</th>
    // <th>说明</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>width</td>
    // <td><code>String</code></td>
    // <td><code>200px</code></td>
    // <td>输入框宽度</td>
    // </tr>
    // <tr>
    // <td>format</td>
    // <td><code>String</code></td>
    // <td><code>yyyy-MM-dd</code></td>
    // <td>日期格式, 如 d, dd, M, MM ,MMM , MMMM, yyyy.</td>
    // </tr>
    // </tbody>
    // </table>
    // <h3>事件</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>名称</th>
    // <th>说明</th>
    // <th>参数</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>change</td>
    // <td>值变化</td>
    // <td>(currentValue)</td>
    // </tr>
    // </tbody>
    // </table>
    // <p>其他表单相关参数,请移步 <a href="#n3FormDocs">表单验证</a> 待验证组件参数</p>
    // </div>
    // </template>
    //
    // </section></template>
    //
    // <script>
    
    exports.default = {
      data: function data() {
        return {
          value: '2016-03-25'
        };
      },
    
      methods: {
        change: function change(val) {}
      }
    };
    // </script>
    /* generated by vue-loader */

/***/ }),
/* 427 */
/***/ (function(module, exports) {

    module.exports = "<section><template>\n<h3>日期选择器</h3>\n<div class=\"bs-docs-section\">\n<div class=\"bs-example\">\n<p>\n<pre>\nSelected date is: {{new Date(value).toString().slice(0, -23)}}\n</pre>\n</p>\n<n3-datepicker v-model=\"value\" format=\"yyyy-MM-dd\">\n</n3-datepicker>\n</div>\n<pre><code class=\"language-html\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-datepicker</span>\n  <span class=\"hljs-attr\">v-model</span>=<span class=\"hljs-string\">\"value\"</span>\n  <span class=\"hljs-attr\">format</span>=<span class=\"hljs-string\">\"yyyy-MM-dd\"</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-datepicker</span>&gt;</span>\n\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-select</span> <span class=\"hljs-attr\">multiple</span> <span class=\"hljs-attr\">v-model</span>=<span class=\"hljs-string\">\"disabled\"</span> &gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-option</span> <span class=\"hljs-attr\">value</span>=<span class=\"hljs-string\">\"0\"</span>&gt;</span>0<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-option</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-option</span> <span class=\"hljs-attr\">value</span>=<span class=\"hljs-string\">\"1\"</span>&gt;</span>1<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-option</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-option</span> <span class=\"hljs-attr\">value</span>=<span class=\"hljs-string\">\"2\"</span>&gt;</span>2<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-option</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-option</span> <span class=\"hljs-attr\">value</span>=<span class=\"hljs-string\">\"3\"</span>&gt;</span>3<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-option</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-option</span> <span class=\"hljs-attr\">value</span>=<span class=\"hljs-string\">\"4\"</span>&gt;</span>4<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-option</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-option</span> <span class=\"hljs-attr\">value</span>=<span class=\"hljs-string\">\"5\"</span>&gt;</span>5<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-option</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-option</span> <span class=\"hljs-attr\">value</span>=<span class=\"hljs-string\">\"6\"</span>&gt;</span>6<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-option</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-select</span>&gt;</span>\n</code></pre>\n<h3>参数</h3>\n<table>\n<thead>\n<tr>\n<th>参数</th>\n<th>类型</th>\n<th>默认值</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>width</td>\n<td><code>String</code></td>\n<td><code>200px</code></td>\n<td>输入框宽度</td>\n</tr>\n<tr>\n<td>format</td>\n<td><code>String</code></td>\n<td><code>yyyy-MM-dd</code></td>\n<td>日期格式, 如 d, dd, M, MM ,MMM , MMMM, yyyy.</td>\n</tr>\n</tbody>\n</table>\n<h3>事件</h3>\n<table>\n<thead>\n<tr>\n<th>名称</th>\n<th>说明</th>\n<th>参数</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>change</td>\n<td>值变化</td>\n<td>(currentValue)</td>\n</tr>\n</tbody>\n</table>\n<p>其他表单相关参数,请移步 <a href=\"#n3FormDocs\">表单验证</a> 待验证组件参数</p>\n</div>\n</template>\n\n</section>";

/***/ }),
/* 428 */
/***/ (function(module, exports, __webpack_require__) {

    module.exports = __webpack_require__(429);

/***/ }),
/* 429 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(430)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] node_modules/vue-markdown-loader/_cache/n3TimepickerDocs-14.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(431)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-db6421fc/n3TimepickerDocs-14.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 430 */
/***/ (function(module, exports) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    // <template><section><template>
    // <h3>时间选择器</h3>
    // <div class="bs-docs-section">
    // <div class="bs-example">
    // <n3-timepicker v-model="value" format="hh:mm:ss"></n3-timepicker>
    // </div>
    // <pre><code class="language-html"><span class="hljs-tag">&lt;<span class="hljs-name">n3-timepicker</span> <span class="hljs-attr">v-model</span>=<span class="hljs-string">"value"</span>  <span class="hljs-attr">format</span>=<span class="hljs-string">"hh:mm:ss"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">n3-timepicker</span>&gt;</span>
    // </code></pre>
    // <h3>参数</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>参数</th>
    // <th>类型</th>
    // <th>默认值</th>
    // <th>说明</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>format</td>
    // <td><code>String</code></td>
    // <td><code>hh:mm:ss</code></td>
    // <td>格式</td>
    // </tr>
    // <tr>
    // <td>hour-range</td>
    // <td><code>String</code></td>
    // <td><code>[0,60]</code></td>
    // <td>小时范围</td>
    // </tr>
    // <tr>
    // <td>minute-range</td>
    // <td><code>String</code></td>
    // <td><code>[0,60]</code></td>
    // <td>分钟范围</td>
    // </tr>
    // <tr>
    // <td>second-range</td>
    // <td><code>String</code></td>
    // <td><code>[0,60]</code></td>
    // <td>秒范围</td>
    // </tr>
    // </tbody>
    // </table>
    // <h3>事件</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>名称</th>
    // <th>说明</th>
    // <th>参数</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>hide</td>
    // <td>隐藏</td>
    // <td>(currentValue)</td>
    // </tr>
    // <tr>
    // <td>change</td>
    // <td>改变</td>
    // <td>(currentValue)</td>
    // </tr>
    // </tbody>
    // </table>
    // </div>
    // </template>
    //
    // </section></template>
    //
    // <script>
    
    exports.default = {
      methods: {
        hide: function hide(val) {
          console.log(val);
        }
      },
      data: function data() {
        return {
          value: '',
          value1: ''
        };
      }
    };
    // </script>
    /* generated by vue-loader */

/***/ }),
/* 431 */
/***/ (function(module, exports) {

    module.exports = "<section><template>\n<h3>时间选择器</h3>\n<div class=\"bs-docs-section\">\n<div class=\"bs-example\">\n<n3-timepicker v-model=\"value\" format=\"hh:mm:ss\"></n3-timepicker>\n</div>\n<pre><code class=\"language-html\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-timepicker</span> <span class=\"hljs-attr\">v-model</span>=<span class=\"hljs-string\">\"value\"</span>  <span class=\"hljs-attr\">format</span>=<span class=\"hljs-string\">\"hh:mm:ss\"</span>&gt;</span><span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-timepicker</span>&gt;</span>\n</code></pre>\n<h3>参数</h3>\n<table>\n<thead>\n<tr>\n<th>参数</th>\n<th>类型</th>\n<th>默认值</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>format</td>\n<td><code>String</code></td>\n<td><code>hh:mm:ss</code></td>\n<td>格式</td>\n</tr>\n<tr>\n<td>hour-range</td>\n<td><code>String</code></td>\n<td><code>[0,60]</code></td>\n<td>小时范围</td>\n</tr>\n<tr>\n<td>minute-range</td>\n<td><code>String</code></td>\n<td><code>[0,60]</code></td>\n<td>分钟范围</td>\n</tr>\n<tr>\n<td>second-range</td>\n<td><code>String</code></td>\n<td><code>[0,60]</code></td>\n<td>秒范围</td>\n</tr>\n</tbody>\n</table>\n<h3>事件</h3>\n<table>\n<thead>\n<tr>\n<th>名称</th>\n<th>说明</th>\n<th>参数</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>hide</td>\n<td>隐藏</td>\n<td>(currentValue)</td>\n</tr>\n<tr>\n<td>change</td>\n<td>改变</td>\n<td>(currentValue)</td>\n</tr>\n</tbody>\n</table>\n</div>\n</template>\n\n</section>";

/***/ }),
/* 432 */
/***/ (function(module, exports, __webpack_require__) {

    module.exports = __webpack_require__(433);

/***/ }),
/* 433 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(434)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] node_modules/vue-markdown-loader/_cache/n3DatetimepickerDocs-12.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(435)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-3e8e4112/n3DatetimepickerDocs-12.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 434 */
/***/ (function(module, exports) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    // <template><section><template>
    // <h3>日期时间选择器</h3>
    // <div class="bs-docs-section">
    // <div class="bs-example">
    // <n3-datetimepicker v-model="value" format="yyyy-MM-dd hh:mm:ss"></n3-datetimepicker>
    // </div>
    // <pre><code class="language-html"><span class="hljs-tag">&lt;<span class="hljs-name">n3-datetimepicker</span> <span class="hljs-attr">v-model</span>=<span class="hljs-string">"value"</span> <span class="hljs-attr">format</span>=<span class="hljs-string">"yyyy-MM-dd hh:mm"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">n3-datetimepicker</span>&gt;</span>
    // </code></pre>
    // <h3>参数</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>参数</th>
    // <th>类型</th>
    // <th>默认值</th>
    // <th>说明</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>width</td>
    // <td><code>String</code></td>
    // <td><code>200px</code></td>
    // <td>输入框宽度</td>
    // </tr>
    // <tr>
    // <td>format</td>
    // <td><code>String</code></td>
    // <td><code>yyyy-MM-dd hh:mm:ss</code></td>
    // <td>日期格式</td>
    // </tr>
    // </tbody>
    // </table>
    // <h3>事件</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>名称</th>
    // <th>说明</th>
    // <th>回调参数</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>hide</td>
    // <td>隐藏</td>
    // <td>(currentValue)</td>
    // </tr>
    // <tr>
    // <td>change</td>
    // <td>改变</td>
    // <td>(currentValue)</td>
    // </tr>
    // </tbody>
    // </table>
    // <p>其他表单相关参数,请移步 <a href="#n3FormDocs">表单验证</a> 待验证组件参数</p>
    // </div>
    // </template>
    //
    // </section></template>
    //
    // <script>
    
    exports.default = {
      methods: {
        hide: function hide(val) {
          console.log(val);
        }
      },
      data: function data() {
        return {
          value: '2016-03-25 06:00:00',
          value1: ''
        };
      }
    };
    // </script>
    /* generated by vue-loader */

/***/ }),
/* 435 */
/***/ (function(module, exports) {

    module.exports = "<section><template>\n<h3>日期时间选择器</h3>\n<div class=\"bs-docs-section\">\n<div class=\"bs-example\">\n<n3-datetimepicker v-model=\"value\" format=\"yyyy-MM-dd hh:mm:ss\"></n3-datetimepicker>\n</div>\n<pre><code class=\"language-html\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-datetimepicker</span> <span class=\"hljs-attr\">v-model</span>=<span class=\"hljs-string\">\"value\"</span> <span class=\"hljs-attr\">format</span>=<span class=\"hljs-string\">\"yyyy-MM-dd hh:mm\"</span>&gt;</span><span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-datetimepicker</span>&gt;</span>\n</code></pre>\n<h3>参数</h3>\n<table>\n<thead>\n<tr>\n<th>参数</th>\n<th>类型</th>\n<th>默认值</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>width</td>\n<td><code>String</code></td>\n<td><code>200px</code></td>\n<td>输入框宽度</td>\n</tr>\n<tr>\n<td>format</td>\n<td><code>String</code></td>\n<td><code>yyyy-MM-dd hh:mm:ss</code></td>\n<td>日期格式</td>\n</tr>\n</tbody>\n</table>\n<h3>事件</h3>\n<table>\n<thead>\n<tr>\n<th>名称</th>\n<th>说明</th>\n<th>回调参数</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>hide</td>\n<td>隐藏</td>\n<td>(currentValue)</td>\n</tr>\n<tr>\n<td>change</td>\n<td>改变</td>\n<td>(currentValue)</td>\n</tr>\n</tbody>\n</table>\n<p>其他表单相关参数,请移步 <a href=\"#n3FormDocs\">表单验证</a> 待验证组件参数</p>\n</div>\n</template>\n\n</section>";

/***/ }),
/* 436 */
/***/ (function(module, exports, __webpack_require__) {

    module.exports = __webpack_require__(437);

/***/ }),
/* 437 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(438)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] node_modules/vue-markdown-loader/_cache/n3DropdownDocs-16.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(439)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-b63af464/n3DropdownDocs-16.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 438 */
/***/ (function(module, exports) {

    "use strict";
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    // <template><section><template>
    // <h3>下拉框</h3>
    // <div class="bs-docs-section" id="下拉框">
    // <div class="bs-example">
    //   <n3-dropdown>
    //     <div slot="trigger">
    //       <n3-button>
    //         点击
    //         <n3-icon :type="show?'angle-up' : 'angle-down'"></n3-icon>
    //       </n3-button>
    //     </div>
    //     <li><a href="#">Action</a></li>
    //     <li><a href="#">Another action</a></li>
    //     <li><a href="#">Something else here</a></li>
    //   </n3-dropdown>
    // </div>
    // <pre><code class="language-html"><span class="hljs-tag">&lt;<span class="hljs-name">n3-dropdown</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">slot</span>=<span class="hljs-string">"trigger"</span>&gt;</span>
    //     <span class="hljs-tag">&lt;<span class="hljs-name">n3-button</span>&gt;</span>
    //       点击
    //       <span class="hljs-tag">&lt;<span class="hljs-name">n3-icon</span> <span class="hljs-attr">:type</span>=<span class="hljs-string">"show?'angle-up' : 'angle-down'"</span> &gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">n3-icon</span>&gt;</span>
    //     <span class="hljs-tag">&lt;/<span class="hljs-name">n3-button</span>&gt;</span>
    //   <span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">li</span>&gt;</span><span class="hljs-tag">&lt;<span class="hljs-name">a</span> <span class="hljs-attr">href</span>=<span class="hljs-string">"#"</span>&gt;</span>Action<span class="hljs-tag">&lt;/<span class="hljs-name">a</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">li</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">li</span>&gt;</span><span class="hljs-tag">&lt;<span class="hljs-name">a</span> <span class="hljs-attr">href</span>=<span class="hljs-string">"#"</span>&gt;</span>Another action<span class="hljs-tag">&lt;/<span class="hljs-name">a</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">li</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">li</span>&gt;</span><span class="hljs-tag">&lt;<span class="hljs-name">a</span> <span class="hljs-attr">href</span>=<span class="hljs-string">"#"</span>&gt;</span>Something else here<span class="hljs-tag">&lt;/<span class="hljs-name">a</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">li</span>&gt;</span>
    // <span class="hljs-tag">&lt;/<span class="hljs-name">n3-dropdown</span>&gt;</span>
    // </code></pre>
    // <pre><code class="language-javascript"><span class="hljs-keyword">export</span> <span class="hljs-keyword">default</span> {
    //   data () {
    //     <span class="hljs-keyword">return</span> {
    //       <span class="hljs-attr">show</span>: <span class="hljs-literal">false</span>
    //     }
    //   }
    // }
    // </code></pre>
    // <h3>参数</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>参数名</th>
    // <th>类型</th>
    // <th>默认值</th>
    // <th>说明</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>show</td>
    // <td><code>Boolean</code></td>
    // <td><code>false</code></td>
    // <td>是否显示</td>
    // </tr>
    // <tr>
    // <td>trigger</td>
    // <td><code>String</code> 如: <code>click``hover</code></td>
    // <td>click</td>
    // <td>触发方式</td>
    // </tr>
    // <tr>
    // <td>click-close</td>
    // <td><code>Boolean</code></td>
    // <td><code>false</code></td>
    // <td>点击关闭</td>
    // </tr>
    // </tbody>
    // </table>
    // </div>
    // </template>
    //
    // </section></template>
    //
    // <script>
    exports.default = {
      data: function data() {
        return {
          show: false
        };
      }
    };
    // </script>
    /* generated by vue-loader */

/***/ }),
/* 439 */
/***/ (function(module, exports) {

    module.exports = "<section><template>\n<h3>下拉框</h3>\n<div class=\"bs-docs-section\" id=\"下拉框\">\n<div class=\"bs-example\">\n  <n3-dropdown>\n    <div slot=\"trigger\">\n      <n3-button>\n        点击\n        <n3-icon :type=\"show?'angle-up' : 'angle-down'\"></n3-icon>\n      </n3-button>\n    </div>\n    <li><a href=\"#\">Action</a></li>\n    <li><a href=\"#\">Another action</a></li>\n    <li><a href=\"#\">Something else here</a></li>\n  </n3-dropdown>\n</div>\n<pre><code class=\"language-html\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-dropdown</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">div</span> <span class=\"hljs-attr\">slot</span>=<span class=\"hljs-string\">\"trigger\"</span>&gt;</span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-button</span>&gt;</span>\n      点击\n      <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-icon</span> <span class=\"hljs-attr\">:type</span>=<span class=\"hljs-string\">\"show?'angle-up' : 'angle-down'\"</span> &gt;</span><span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-icon</span>&gt;</span>\n    <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-button</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">div</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">li</span>&gt;</span><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">a</span> <span class=\"hljs-attr\">href</span>=<span class=\"hljs-string\">\"#\"</span>&gt;</span>Action<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">a</span>&gt;</span><span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">li</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">li</span>&gt;</span><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">a</span> <span class=\"hljs-attr\">href</span>=<span class=\"hljs-string\">\"#\"</span>&gt;</span>Another action<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">a</span>&gt;</span><span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">li</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">li</span>&gt;</span><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">a</span> <span class=\"hljs-attr\">href</span>=<span class=\"hljs-string\">\"#\"</span>&gt;</span>Something else here<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">a</span>&gt;</span><span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">li</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-dropdown</span>&gt;</span>\n</code></pre>\n<pre><code class=\"language-javascript\"><span class=\"hljs-keyword\">export</span> <span class=\"hljs-keyword\">default</span> {\n  data () {\n    <span class=\"hljs-keyword\">return</span> {\n      <span class=\"hljs-attr\">show</span>: <span class=\"hljs-literal\">false</span>\n    }\n  }\n}\n</code></pre>\n<h3>参数</h3>\n<table>\n<thead>\n<tr>\n<th>参数名</th>\n<th>类型</th>\n<th>默认值</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>show</td>\n<td><code>Boolean</code></td>\n<td><code>false</code></td>\n<td>是否显示</td>\n</tr>\n<tr>\n<td>trigger</td>\n<td><code>String</code> 如: <code>click``hover</code></td>\n<td>click</td>\n<td>触发方式</td>\n</tr>\n<tr>\n<td>click-close</td>\n<td><code>Boolean</code></td>\n<td><code>false</code></td>\n<td>点击关闭</td>\n</tr>\n</tbody>\n</table>\n</div>\n</template>\n\n</section>";

/***/ }),
/* 440 */
/***/ (function(module, exports, __webpack_require__) {

    module.exports = __webpack_require__(441);

/***/ }),
/* 441 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(442)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] node_modules/vue-markdown-loader/_cache/n3ModalDocs-17.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(443)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-123033da/n3ModalDocs-17.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 442 */
/***/ (function(module, exports) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    // <template><section><template>
    // <h3>弹出框</h3>
    // <div class="bs-docs-section" id="弹出框">
    // <div class="bs-example">
    // <blockquote>
    // <p>组件调用</p>
    // </blockquote>
    // <p><n3-button @click.native="showModal">Show modal</n3-button>
    // <n3-modal title="Modal title" effect="fade" width="400px" ref="modal"></n3-modal></p>
    //   <div slot="body">
    //     What's in a name? That which we call a rose
    //     By any other name would smell as sweet.
    //   </div>
    //
    // <n3-button class="btn btn-success" @click.native="showBigModal">Big modal</n3-button>
    // <n3-modal title="Big Modal" effect="fade" width="800px" ref="bigModal">
    //   <div slot="body">
    //     What's in a name? That which we call a rose
    //     By any other name would smell as sweet.
    //   </div>
    // </n3-modal>
    // <n3-button class="btn btn-primary" @click.native="showZoomModal">Zoom modal</n3-button>
    // <n3-modal title="Zoom Modal" effect="zoom" width="400px" ref="zoomModal">
    //   <div slot="body">
    //     What's in a name? That which we call a rose
    //     By any other name would smell as sweet.
    //   </div>
    // </n3-modal>
    // <n3-button @click.native="showCustomModal">Show custom modal</n3-button>
    // <n3-modal effect="fade" width="400px" ref="customModal">
    //   <div slot="header">
    //   </div>
    //   <div slot="body">
    //     What's in a name? That which we call a rose
    //     By any other name would smell as sweet.
    //   </div>
    //   <div slot="footer">
    //   </div>
    // </n3-modal>
    // <n3-button @click.native="showConfirm">Show confirm</n3-button>
    // <n3-button @click.native="showAlert">Show alert</n3-button>
    // </div>
    // <hr>
    // <pre><code class="language-html"><span class="hljs-tag">&lt;<span class="hljs-name">n3-button</span> <span class="hljs-attr">@click.native</span>=<span class="hljs-string">"showModal"</span>&gt;</span>Show modal<span class="hljs-tag">&lt;/<span class="hljs-name">n3-button</span>&gt;</span>
    // <span class="hljs-tag">&lt;<span class="hljs-name">n3-modal</span> <span class="hljs-attr">title</span>=<span class="hljs-string">"Modal title"</span> <span class="hljs-attr">effect</span>=<span class="hljs-string">"fade"</span> <span class="hljs-attr">width</span>=<span class="hljs-string">"400px"</span> <span class="hljs-attr">ref</span>=<span class="hljs-string">"modal"</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">slot</span>=<span class="hljs-string">"body"</span>&gt;</span>
    //     What's in a name? That which we call a rose
    //     By any other name would smell as sweet.
    //   <span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
    // <span class="hljs-tag">&lt;/<span class="hljs-name">n3-modal</span>&gt;</span>
    // <span class="hljs-tag">&lt;<span class="hljs-name">n3-button</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"btn btn-success"</span> <span class="hljs-attr">@click.native</span>=<span class="hljs-string">"showBigModal"</span>&gt;</span>Big modal<span class="hljs-tag">&lt;/<span class="hljs-name">n3-button</span>&gt;</span>
    // <span class="hljs-tag">&lt;<span class="hljs-name">n3-modal</span> <span class="hljs-attr">title</span>=<span class="hljs-string">"Big Modal"</span>  <span class="hljs-attr">effect</span>=<span class="hljs-string">"fade"</span> <span class="hljs-attr">width</span>=<span class="hljs-string">"800px"</span> <span class="hljs-attr">ref</span>=<span class="hljs-string">"bigModal"</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">slot</span>=<span class="hljs-string">"body"</span>&gt;</span>
    //     What's in a name? That which we call a rose
    //     By any other name would smell as sweet.
    //   <span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
    // <span class="hljs-tag">&lt;/<span class="hljs-name">n3-modal</span>&gt;</span>
    // <span class="hljs-tag">&lt;<span class="hljs-name">n3-button</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"btn btn-primary"</span> <span class="hljs-attr">@click.native</span>=<span class="hljs-string">"showZoomModal"</span>&gt;</span>Zoom modal<span class="hljs-tag">&lt;/<span class="hljs-name">n3-button</span>&gt;</span>
    // <span class="hljs-tag">&lt;<span class="hljs-name">n3-modal</span> <span class="hljs-attr">title</span>=<span class="hljs-string">"Zoom Modal"</span> <span class="hljs-attr">effect</span>=<span class="hljs-string">"zoom"</span> <span class="hljs-attr">width</span>=<span class="hljs-string">"400px"</span> <span class="hljs-attr">ref</span>=<span class="hljs-string">"zoomModal"</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">slot</span>=<span class="hljs-string">"body"</span>&gt;</span>
    //     What's in a name? That which we call a rose
    //     By any other name would smell as sweet.
    //   <span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
    // <span class="hljs-tag">&lt;/<span class="hljs-name">n3-modal</span>&gt;</span>
    // <span class="hljs-tag">&lt;<span class="hljs-name">n3-button</span> <span class="hljs-attr">@click.native</span>=<span class="hljs-string">"showCustomModal"</span>&gt;</span>Show custom modal<span class="hljs-tag">&lt;/<span class="hljs-name">n3-button</span>&gt;</span>
    // <span class="hljs-tag">&lt;<span class="hljs-name">n3-modal</span>  <span class="hljs-attr">effect</span>=<span class="hljs-string">"fade"</span> <span class="hljs-attr">width</span>=<span class="hljs-string">"400px"</span> <span class="hljs-attr">ref</span>=<span class="hljs-string">"customModal"</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">slot</span>=<span class="hljs-string">"header"</span>&gt;</span>
    //   <span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">slot</span>=<span class="hljs-string">"body"</span>&gt;</span>
    //     What's in a name? That which we call a rose
    //     By any other name would smell as sweet.
    //   <span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">slot</span>=<span class="hljs-string">"footer"</span>&gt;</span>
    //   <span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
    // <span class="hljs-tag">&lt;/<span class="hljs-name">n3-modal</span>&gt;</span>
    // </code></pre>
    // <pre><code class="language-javascript"><span class="hljs-keyword">export</span> <span class="hljs-keyword">default</span> {
    //   data () {
    //     <span class="hljs-keyword">return</span> {
    //     }
    //   },
    //   <span class="hljs-attr">methods</span>: {
    //     showModal () {
    //       <span class="hljs-keyword">this</span>.$refs.modal.open()
    //     },
    //     showBigModal () {
    //       <span class="hljs-keyword">this</span>.$refs.bigModal.open()
    //     },
    //     showZoomModal () {
    //       <span class="hljs-keyword">this</span>.$refs.zoomModal.open()
    //     },
    //     showCustomModal () {
    //       <span class="hljs-keyword">this</span>.$refs.customModal.open()
    //     }
    //   }
    // }
    // </code></pre>
    // <hr>
    // <blockquote>
    // <p>函数调用</p>
    // </blockquote>
    // <pre><code class="language-javascript"><span class="hljs-keyword">export</span> <span class="hljs-keyword">default</span> {
    //   <span class="hljs-attr">methods</span>: {
    //     showAlert () {
    //       <span class="hljs-keyword">this</span>.n3Modal.alert({
    //         <span class="hljs-attr">title</span>: <span class="hljs-string">'消息框'</span>
    //         message: <span class="hljs-string">'这是一个消息框。'</span>,
    //         <span class="hljs-attr">effect</span>: <span class="hljs-string">'fade'</span>,
    //         <span class="hljs-attr">type</span>: <span class="hljs-string">'info'</span>,
    //         onShow () {
    //           <span class="hljs-built_in">console</span>.log(<span class="hljs-string">'打开对话框时触发'</span>)
    //         },
    //         onHide () {
    //           <span class="hljs-built_in">console</span>.log(<span class="hljs-string">'关闭对话框时触发'</span>)
    //         }
    //       })
    //     },
    //     showConfirm () {
    //       <span class="hljs-keyword">this</span>.n3Modal.confirm({
    //         <span class="hljs-attr">title</span>: <span class="hljs-string">'对话框'</span>,
    //         <span class="hljs-attr">message</span>: <span class="hljs-string">'这是一个提供选择的对话框。'</span>,
    //         <span class="hljs-attr">effect</span>: <span class="hljs-string">'zoom'</span>,
    //         <span class="hljs-attr">type</span>: <span class="hljs-string">'success'</span>,
    //         onShow () {
    //           <span class="hljs-built_in">console</span>.log(<span class="hljs-string">'打开对话框时触发'</span>)
    //         },
    //         onConfirm () {
    //           <span class="hljs-built_in">console</span>.log(<span class="hljs-string">'点击确定按钮时触发'</span>)
    //         },
    //         onHide () {
    //           <span class="hljs-built_in">console</span>.log(<span class="hljs-string">'关闭对话框时触发'</span>)
    //         }
    //       })
    //     }
    //   }
    // }
    // </code></pre>
    // <hr>
    // <h3>组件调用</h3>
    // <h4>组件参数</h4>
    // <table>
    // <thead>
    // <tr>
    // <th>参数名</th>
    // <th>类型</th>
    // <th>默认值</th>
    // <th>说明</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>title</td>
    // <td><code>String</code></td>
    // <td></td>
    // <td>弹出框标题</td>
    // </tr>
    // <tr>
    // <td>effect</td>
    // <td><code>String</code></td>
    // <td>'fade'</td>
    // <td><code>fade``zoom</code></td>
    // </tr>
    // <tr>
    // <td>width</td>
    // <td><code>String</code></td>
    // <td><code>600px</code></td>
    // <td></td>
    // </tr>
    // <tr>
    // <td>backdrop</td>
    // <td><code>Boolean</code></td>
    // <td><code>true</code></td>
    // <td>点击遮罩层是否关闭弹出框</td>
    // </tr>
    // </tbody>
    // </table>
    // <h4>Events</h4>
    // <table>
    // <thead>
    // <tr>
    // <th>事件名称</th>
    // <th>说明</th>
    // <th>回调参数</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>show</td>
    // <td>显示模态框时</td>
    // <td></td>
    // </tr>
    // <tr>
    // <td>hide</td>
    // <td>隐藏模态框时</td>
    // <td></td>
    // </tr>
    // <tr>
    // <td>confirm</td>
    // <td>按下确认时</td>
    // <td></td>
    // </tr>
    // </tbody>
    // </table>
    // <h4>组件方法</h4>
    // <table>
    // <thead>
    // <tr>
    // <th>方法名称</th>
    // <th>说明</th>
    // <th>备注</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>open</td>
    // <td>显示模态框</td>
    // <td></td>
    // </tr>
    // <tr>
    // <td>close</td>
    // <td>隐藏模态框</td>
    // <td></td>
    // </tr>
    // <tr>
    // <td>confirm</td>
    // <td>触发确认事件</td>
    // <td></td>
    // </tr>
    // </tbody>
    // </table>
    // <hr>
    // <h3>函数调用</h3>
    // <blockquote>
    // <p>直接在实例中调用this.n3Mode进行modal的创建和操作</p>
    // </blockquote>
    // <h4>函数参数</h4>
    // <table>
    // <thead>
    // <tr>
    // <th>参数名</th>
    // <th>类型</th>
    // <th>默认值</th>
    // <th>说明</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>title</td>
    // <td><code>String</code></td>
    // <td></td>
    // <td>弹出框标题,如果为空则不渲染 header</td>
    // </tr>
    // <tr>
    // <td>message</td>
    // <td><code>String</code></td>
    // <td></td>
    // <td>弹出框内容</td>
    // </tr>
    // <tr>
    // <td>effect</td>
    // <td><code>String</code></td>
    // <td>'fade'</td>
    // <td><code>fade``zoom</code></td>
    // </tr>
    // <tr>
    // <td>type</td>
    // <td><code>String</code></td>
    // <td><code>600px</code></td>
    // <td>弹出框类型,用于决定弹出框提示图标。</td>
    // </tr>
    // <tr>
    // <td>width</td>
    // <td><code>String</code></td>
    // <td><code>600px</code></td>
    // <td>弹出框宽度</td>
    // </tr>
    // <tr>
    // <td>onShow</td>
    // <td><code>Function</code></td>
    // <td></td>
    // <td>打开弹出框时的回调函数</td>
    // </tr>
    // <tr>
    // <td>onHide</td>
    // <td><code>Function</code></td>
    // <td></td>
    // <td>关闭弹出框时的回调函数</td>
    // </tr>
    // <tr>
    // <td>onConfirm</td>
    // <td><code>Function</code></td>
    // <td></td>
    // <td>点击弹出框确定按钮时的回调函数</td>
    // </tr>
    // </tbody>
    // </table>
    // <h3>用法说明</h3>
    // <h4>组件驱动</h4>
    // <p>如果你只需要一个简单的弹出框 ,你只需要传递 <code>title</code> 参数 ,将默认带上footer.</p>
    // <p>但是如果你需要自己定制弹出框内容,你可以实现</p>
    // <pre><code class="language-html"><span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">slot</span>=<span class="hljs-string">"header"</span>&gt;</span>...<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
    // <span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">slot</span>=<span class="hljs-string">"body"</span>&gt;</span>...<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
    // <span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">slot</span>=<span class="hljs-string">"footer"</span>&gt;</span>...<span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
    // </code></pre>
    // <h4>函数驱动</h4>
    // <p>N3 提供函数驱动的一次性模态框,通过实例属性 n3Modal.alert 及 n3Modal.confirm 调用,它会在使用时动态绑定到 DOM 树中,并在关闭后自动销毁。</p>
    // <p>为了还原原生对话框操作体验,函数驱动的弹出框将不能通过点击背景进行关闭。</p>
    // <pre><code class="language-javascript"><span class="hljs-keyword">const</span> options = {...}
    //
    // <span class="hljs-keyword">export</span> <span class="hljs-keyword">default</span> {
    //   <span class="hljs-attr">methods</span>: {
    //     showAlert () {
    //       <span class="hljs-keyword">this</span>.n3Modal.alert(options)
    //     },
    //     showConfirm () {
    //       <span class="hljs-keyword">this</span>.n3Modal.confirm(options)
    //     }
    //   }
    // }
    //
    // </code></pre>
    // </div>
    // </template>
    // </section></template>
    //
    // <script>
    exports.default = {
      data: function data() {
        return {};
      },
    
      methods: {
        showModal: function showModal() {
          this.$refs.modal.open();
        },
        showBigModal: function showBigModal() {
          this.$refs.bigModal.open();
        },
        showZoomModal: function showZoomModal() {
          this.$refs.zoomModal.open();
        },
        showCustomModal: function showCustomModal() {
          this.$refs.customModal.open();
        },
        show: function show() {
          console.log('show');
        },
        showConfirm: function showConfirm() {
          this.n3Modal.confirm({
            title: '对话框',
            message: '这是一个提供选择的对话框。',
            effect: 'zoom',
            type: 'info',
            onShow: function onShow() {
              console.log('打开对话框时触发');
            },
            onConfirm: function onConfirm() {
              console.log('点击确定按钮时触发');
            },
            onHide: function onHide() {
              console.log('关闭对话框时触发');
            }
          });
        },
        showAlert: function showAlert() {
          this.n3Modal.alert({
            title: '消息框',
            message: '这是一个消息框。',
            effect: 'fade',
            type: 'success',
            onShow: function onShow() {
              console.log('打开对话框时触发');
            },
            onHide: function onHide() {
              console.log('关闭对话框时触发');
            }
          });
        }
      }
    };
    // </script>
    /* generated by vue-loader */

/***/ }),
/* 443 */
/***/ (function(module, exports) {

    module.exports = "<section><template>\n<h3>弹出框</h3>\n<div class=\"bs-docs-section\" id=\"弹出框\">\n<div class=\"bs-example\">\n<blockquote>\n<p>组件调用</p>\n</blockquote>\n<p><n3-button @click.native=\"showModal\">Show modal</n3-button>\n<n3-modal title=\"Modal title\" effect=\"fade\" width=\"400px\" ref=\"modal\"></n3-modal></p>\n  <div slot=\"body\">\n    What's in a name? That which we call a rose\n    By any other name would smell as sweet.\n  </div>\n\n<n3-button class=\"btn btn-success\" @click.native=\"showBigModal\">Big modal</n3-button>\n<n3-modal title=\"Big Modal\" effect=\"fade\" width=\"800px\" ref=\"bigModal\">\n  <div slot=\"body\">\n    What's in a name? That which we call a rose\n    By any other name would smell as sweet.\n  </div>\n</n3-modal>\n<n3-button class=\"btn btn-primary\" @click.native=\"showZoomModal\">Zoom modal</n3-button>\n<n3-modal title=\"Zoom Modal\" effect=\"zoom\" width=\"400px\" ref=\"zoomModal\">\n  <div slot=\"body\">\n    What's in a name? That which we call a rose\n    By any other name would smell as sweet.\n  </div>\n</n3-modal>\n<n3-button @click.native=\"showCustomModal\">Show custom modal</n3-button>\n<n3-modal effect=\"fade\" width=\"400px\" ref=\"customModal\">\n  <div slot=\"header\">\n  </div>\n  <div slot=\"body\">\n    What's in a name? That which we call a rose\n    By any other name would smell as sweet.\n  </div>\n  <div slot=\"footer\">\n  </div>\n</n3-modal>\n<n3-button @click.native=\"showConfirm\">Show confirm</n3-button>\n<n3-button @click.native=\"showAlert\">Show alert</n3-button>\n</div>\n<hr>\n<pre><code class=\"language-html\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-button</span> <span class=\"hljs-attr\">@click.native</span>=<span class=\"hljs-string\">\"showModal\"</span>&gt;</span>Show modal<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-button</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-modal</span> <span class=\"hljs-attr\">title</span>=<span class=\"hljs-string\">\"Modal title\"</span> <span class=\"hljs-attr\">effect</span>=<span class=\"hljs-string\">\"fade\"</span> <span class=\"hljs-attr\">width</span>=<span class=\"hljs-string\">\"400px\"</span> <span class=\"hljs-attr\">ref</span>=<span class=\"hljs-string\">\"modal\"</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">div</span> <span class=\"hljs-attr\">slot</span>=<span class=\"hljs-string\">\"body\"</span>&gt;</span>\n    What's in a name? That which we call a rose\n    By any other name would smell as sweet.\n  <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">div</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-modal</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-button</span> <span class=\"hljs-attr\">class</span>=<span class=\"hljs-string\">\"btn btn-success\"</span> <span class=\"hljs-attr\">@click.native</span>=<span class=\"hljs-string\">\"showBigModal\"</span>&gt;</span>Big modal<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-button</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-modal</span> <span class=\"hljs-attr\">title</span>=<span class=\"hljs-string\">\"Big Modal\"</span>  <span class=\"hljs-attr\">effect</span>=<span class=\"hljs-string\">\"fade\"</span> <span class=\"hljs-attr\">width</span>=<span class=\"hljs-string\">\"800px\"</span> <span class=\"hljs-attr\">ref</span>=<span class=\"hljs-string\">\"bigModal\"</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">div</span> <span class=\"hljs-attr\">slot</span>=<span class=\"hljs-string\">\"body\"</span>&gt;</span>\n    What's in a name? That which we call a rose\n    By any other name would smell as sweet.\n  <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">div</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-modal</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-button</span> <span class=\"hljs-attr\">class</span>=<span class=\"hljs-string\">\"btn btn-primary\"</span> <span class=\"hljs-attr\">@click.native</span>=<span class=\"hljs-string\">\"showZoomModal\"</span>&gt;</span>Zoom modal<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-button</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-modal</span> <span class=\"hljs-attr\">title</span>=<span class=\"hljs-string\">\"Zoom Modal\"</span> <span class=\"hljs-attr\">effect</span>=<span class=\"hljs-string\">\"zoom\"</span> <span class=\"hljs-attr\">width</span>=<span class=\"hljs-string\">\"400px\"</span> <span class=\"hljs-attr\">ref</span>=<span class=\"hljs-string\">\"zoomModal\"</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">div</span> <span class=\"hljs-attr\">slot</span>=<span class=\"hljs-string\">\"body\"</span>&gt;</span>\n    What's in a name? That which we call a rose\n    By any other name would smell as sweet.\n  <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">div</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-modal</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-button</span> <span class=\"hljs-attr\">@click.native</span>=<span class=\"hljs-string\">\"showCustomModal\"</span>&gt;</span>Show custom modal<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-button</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-modal</span>  <span class=\"hljs-attr\">effect</span>=<span class=\"hljs-string\">\"fade\"</span> <span class=\"hljs-attr\">width</span>=<span class=\"hljs-string\">\"400px\"</span> <span class=\"hljs-attr\">ref</span>=<span class=\"hljs-string\">\"customModal\"</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">div</span> <span class=\"hljs-attr\">slot</span>=<span class=\"hljs-string\">\"header\"</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">div</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">div</span> <span class=\"hljs-attr\">slot</span>=<span class=\"hljs-string\">\"body\"</span>&gt;</span>\n    What's in a name? That which we call a rose\n    By any other name would smell as sweet.\n  <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">div</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">div</span> <span class=\"hljs-attr\">slot</span>=<span class=\"hljs-string\">\"footer\"</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">div</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-modal</span>&gt;</span>\n</code></pre>\n<pre><code class=\"language-javascript\"><span class=\"hljs-keyword\">export</span> <span class=\"hljs-keyword\">default</span> {\n  data () {\n    <span class=\"hljs-keyword\">return</span> {\n    }\n  },\n  <span class=\"hljs-attr\">methods</span>: {\n    showModal () {\n      <span class=\"hljs-keyword\">this</span>.$refs.modal.open()\n    },\n    showBigModal () {\n      <span class=\"hljs-keyword\">this</span>.$refs.bigModal.open()\n    },\n    showZoomModal () {\n      <span class=\"hljs-keyword\">this</span>.$refs.zoomModal.open()\n    },\n    showCustomModal () {\n      <span class=\"hljs-keyword\">this</span>.$refs.customModal.open()\n    }\n  }\n}\n</code></pre>\n<hr>\n<blockquote>\n<p>函数调用</p>\n</blockquote>\n<pre><code class=\"language-javascript\"><span class=\"hljs-keyword\">export</span> <span class=\"hljs-keyword\">default</span> {\n  <span class=\"hljs-attr\">methods</span>: {\n    showAlert () {\n      <span class=\"hljs-keyword\">this</span>.n3Modal.alert({\n        <span class=\"hljs-attr\">title</span>: <span class=\"hljs-string\">'消息框'</span>\n        message: <span class=\"hljs-string\">'这是一个消息框。'</span>,\n        <span class=\"hljs-attr\">effect</span>: <span class=\"hljs-string\">'fade'</span>,\n        <span class=\"hljs-attr\">type</span>: <span class=\"hljs-string\">'info'</span>,\n        onShow () {\n          <span class=\"hljs-built_in\">console</span>.log(<span class=\"hljs-string\">'打开对话框时触发'</span>)\n        },\n        onHide () {\n          <span class=\"hljs-built_in\">console</span>.log(<span class=\"hljs-string\">'关闭对话框时触发'</span>)\n        }\n      })\n    },\n    showConfirm () {\n      <span class=\"hljs-keyword\">this</span>.n3Modal.confirm({\n        <span class=\"hljs-attr\">title</span>: <span class=\"hljs-string\">'对话框'</span>,\n        <span class=\"hljs-attr\">message</span>: <span class=\"hljs-string\">'这是一个提供选择的对话框。'</span>,\n        <span class=\"hljs-attr\">effect</span>: <span class=\"hljs-string\">'zoom'</span>,\n        <span class=\"hljs-attr\">type</span>: <span class=\"hljs-string\">'success'</span>,\n        onShow () {\n          <span class=\"hljs-built_in\">console</span>.log(<span class=\"hljs-string\">'打开对话框时触发'</span>)\n        },\n        onConfirm () {\n          <span class=\"hljs-built_in\">console</span>.log(<span class=\"hljs-string\">'点击确定按钮时触发'</span>)\n        },\n        onHide () {\n          <span class=\"hljs-built_in\">console</span>.log(<span class=\"hljs-string\">'关闭对话框时触发'</span>)\n        }\n      })\n    }\n  }\n}\n</code></pre>\n<hr>\n<h3>组件调用</h3>\n<h4>组件参数</h4>\n<table>\n<thead>\n<tr>\n<th>参数名</th>\n<th>类型</th>\n<th>默认值</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>title</td>\n<td><code>String</code></td>\n<td></td>\n<td>弹出框标题</td>\n</tr>\n<tr>\n<td>effect</td>\n<td><code>String</code></td>\n<td>'fade'</td>\n<td><code>fade``zoom</code></td>\n</tr>\n<tr>\n<td>width</td>\n<td><code>String</code></td>\n<td><code>600px</code></td>\n<td></td>\n</tr>\n<tr>\n<td>backdrop</td>\n<td><code>Boolean</code></td>\n<td><code>true</code></td>\n<td>点击遮罩层是否关闭弹出框</td>\n</tr>\n</tbody>\n</table>\n<h4>Events</h4>\n<table>\n<thead>\n<tr>\n<th>事件名称</th>\n<th>说明</th>\n<th>回调参数</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>show</td>\n<td>显示模态框时</td>\n<td></td>\n</tr>\n<tr>\n<td>hide</td>\n<td>隐藏模态框时</td>\n<td></td>\n</tr>\n<tr>\n<td>confirm</td>\n<td>按下确认时</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n<h4>组件方法</h4>\n<table>\n<thead>\n<tr>\n<th>方法名称</th>\n<th>说明</th>\n<th>备注</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>open</td>\n<td>显示模态框</td>\n<td></td>\n</tr>\n<tr>\n<td>close</td>\n<td>隐藏模态框</td>\n<td></td>\n</tr>\n<tr>\n<td>confirm</td>\n<td>触发确认事件</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n<hr>\n<h3>函数调用</h3>\n<blockquote>\n<p>直接在实例中调用this.n3Mode进行modal的创建和操作</p>\n</blockquote>\n<h4>函数参数</h4>\n<table>\n<thead>\n<tr>\n<th>参数名</th>\n<th>类型</th>\n<th>默认值</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>title</td>\n<td><code>String</code></td>\n<td></td>\n<td>弹出框标题,如果为空则不渲染 header</td>\n</tr>\n<tr>\n<td>message</td>\n<td><code>String</code></td>\n<td></td>\n<td>弹出框内容</td>\n</tr>\n<tr>\n<td>effect</td>\n<td><code>String</code></td>\n<td>'fade'</td>\n<td><code>fade``zoom</code></td>\n</tr>\n<tr>\n<td>type</td>\n<td><code>String</code></td>\n<td><code>600px</code></td>\n<td>弹出框类型,用于决定弹出框提示图标。</td>\n</tr>\n<tr>\n<td>width</td>\n<td><code>String</code></td>\n<td><code>600px</code></td>\n<td>弹出框宽度</td>\n</tr>\n<tr>\n<td>onShow</td>\n<td><code>Function</code></td>\n<td></td>\n<td>打开弹出框时的回调函数</td>\n</tr>\n<tr>\n<td>onHide</td>\n<td><code>Function</code></td>\n<td></td>\n<td>关闭弹出框时的回调函数</td>\n</tr>\n<tr>\n<td>onConfirm</td>\n<td><code>Function</code></td>\n<td></td>\n<td>点击弹出框确定按钮时的回调函数</td>\n</tr>\n</tbody>\n</table>\n<h3>用法说明</h3>\n<h4>组件驱动</h4>\n<p>如果你只需要一个简单的弹出框 ,你只需要传递 <code>title</code> 参数 ,将默认带上footer.</p>\n<p>但是如果你需要自己定制弹出框内容,你可以实现</p>\n<pre><code class=\"language-html\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">div</span> <span class=\"hljs-attr\">slot</span>=<span class=\"hljs-string\">\"header\"</span>&gt;</span>...<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">div</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">div</span> <span class=\"hljs-attr\">slot</span>=<span class=\"hljs-string\">\"body\"</span>&gt;</span>...<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">div</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">div</span> <span class=\"hljs-attr\">slot</span>=<span class=\"hljs-string\">\"footer\"</span>&gt;</span>...<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">div</span>&gt;</span>\n</code></pre>\n<h4>函数驱动</h4>\n<p>N3 提供函数驱动的一次性模态框,通过实例属性 n3Modal.alert 及 n3Modal.confirm 调用,它会在使用时动态绑定到 DOM 树中,并在关闭后自动销毁。</p>\n<p>为了还原原生对话框操作体验,函数驱动的弹出框将不能通过点击背景进行关闭。</p>\n<pre><code class=\"language-javascript\"><span class=\"hljs-keyword\">const</span> options = {...}\n\n<span class=\"hljs-keyword\">export</span> <span class=\"hljs-keyword\">default</span> {\n  <span class=\"hljs-attr\">methods</span>: {\n    showAlert () {\n      <span class=\"hljs-keyword\">this</span>.n3Modal.alert(options)\n    },\n    showConfirm () {\n      <span class=\"hljs-keyword\">this</span>.n3Modal.confirm(options)\n    }\n  }\n}\n\n</code></pre>\n</div>\n</template>\n</section>";

/***/ }),
/* 444 */
/***/ (function(module, exports, __webpack_require__) {

    module.exports = __webpack_require__(445);

/***/ }),
/* 445 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(446)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] node_modules/vue-markdown-loader/_cache/n3InputDocs-15.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(447)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-e6501458/n3InputDocs-15.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 446 */
/***/ (function(module, exports) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    // <template><section><template>
    // <h3>普通输入框</h3>
    // <div class="bs-docs-section">
    // <div class="bs-example">
    // <p><n3-input v-model="value" ref="input" show-clean=""></n3-input>
    // <n3-button @click.native="$refs.input.focus()">聚焦</n3-button></p>
    // </div>
    // <pre><code class="language-html"><span class="hljs-tag">&lt;<span class="hljs-name">n3-input</span> <span class="hljs-attr">v-model</span>=<span class="hljs-string">"value"</span> <span class="hljs-attr">ref</span>=<span class="hljs-string">"input"</span> <span class="hljs-attr">icon</span>=<span class="hljs-string">"archive"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">n3-input</span>&gt;</span>
    // <span class="hljs-tag">&lt;<span class="hljs-name">n3-button</span> <span class="hljs-attr">@click.native</span>=<span class="hljs-string">"$refs.input.focus()"</span>&gt;</span>聚焦<span class="hljs-tag">&lt;/<span class="hljs-name">n3-button</span>&gt;</span>
    // </code></pre>
    // <h3>密码输入框</h3>
    // <p><n3-input v-model="value2" type="password" ref="input2" show-clean=""></n3-input>
    // <n3-button @click.native="$refs.input2.focus()">聚焦</n3-button></p>
    // <pre><code class="language-html"><span class="hljs-tag">&lt;<span class="hljs-name">n3-input</span> <span class="hljs-attr">v-model</span>=<span class="hljs-string">"value2"</span> <span class="hljs-attr">ref</span>=<span class="hljs-string">"password"</span> <span class="hljs-attr">icon</span>=<span class="hljs-string">"archive"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">n3-input</span>&gt;</span>
    // <span class="hljs-tag">&lt;<span class="hljs-name">n3-button</span> <span class="hljs-attr">@click.native</span>=<span class="hljs-string">"$refs.input2.focus()"</span>&gt;</span>聚焦<span class="hljs-tag">&lt;/<span class="hljs-name">n3-button</span>&gt;</span>
    // </code></pre>
    // <h3>参数</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>参数</th>
    // <th>类型</th>
    // <th>默认值</th>
    // <th>说明</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>name</td>
    // <td><code>String</code></td>
    // <td>-</td>
    // <td></td>
    // </tr>
    // <tr>
    // <td>readonly</td>
    // <td><code>Boolean</code></td>
    // <td><code>false</code></td>
    // <td>只读</td>
    // </tr>
    // <tr>
    // <td>disabled</td>
    // <td><code>Boolean</code></td>
    // <td><code>false</code></td>
    // <td>禁止改变值</td>
    // </tr>
    // <tr>
    // <td>width</td>
    // <td><code>String</code></td>
    // <td><code>220px</code></td>
    // <td>宽度</td>
    // </tr>
    // <tr>
    // <td>placeholder</td>
    // <td><code>String</code></td>
    // <td>-</td>
    // <td>placeholder</td>
    // </tr>
    // <tr>
    // <td>type</td>
    // <td><code>String</code></td>
    // <td><code>text</code></td>
    // <td>输入框类型</td>
    // </tr>
    // <tr>
    // <td>icon</td>
    // <td><code>String</code></td>
    // <td>-</td>
    // <td>icon</td>
    // </tr>
    // <tr>
    // <td>show-clean</td>
    // <td><code>Boolean</code></td>
    // <td><code>false</code></td>
    // <td>显示清除icon</td>
    // </tr>
    // </tbody>
    // </table>
    // <h3>组件方法</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>方法名称</th>
    // <th>说明</th>
    // <th>备注</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>clean</td>
    // <td>清空内容</td>
    // <td></td>
    // </tr>
    // <tr>
    // <td>focus</td>
    // <td>聚焦</td>
    // <td></td>
    // </tr>
    // <tr>
    // <td>blur</td>
    // <td>失焦</td>
    // <td></td>
    // </tr>
    // </tbody>
    // </table>
    // <h3>Events</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>名称</th>
    // <th>说明</th>
    // <th>参数</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>blur</td>
    // <td>失焦</td>
    // <td>-</td>
    // </tr>
    // <tr>
    // <td>focus</td>
    // <td>聚焦</td>
    // <td>-</td>
    // </tr>
    // <tr>
    // <td>change</td>
    // <td>值变化</td>
    // <td>(currentValue)</td>
    // </tr>
    // </tbody>
    // </table>
    //  <p>其他表单相关参数,请移步 <a href="#n3FormDocs">表单验证</a> 待验证组件参数</p>
    // </div>
    // </template>
    //
    // </section></template>
    //
    // <script>
    exports.default = {
      data: function data() {
        return {
          value: '',
          value2: ''
        };
      },
      mounted: function mounted() {
        this.value = 100;
      }
    };
    // </script>
    /* generated by vue-loader */

/***/ }),
/* 447 */
/***/ (function(module, exports) {

    module.exports = "<section><template>\n<h3>普通输入框</h3>\n<div class=\"bs-docs-section\">\n<div class=\"bs-example\">\n<p><n3-input v-model=\"value\" ref=\"input\" show-clean=\"\"></n3-input>\n<n3-button @click.native=\"$refs.input.focus()\">聚焦</n3-button></p>\n</div>\n<pre><code class=\"language-html\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-input</span> <span class=\"hljs-attr\">v-model</span>=<span class=\"hljs-string\">\"value\"</span> <span class=\"hljs-attr\">ref</span>=<span class=\"hljs-string\">\"input\"</span> <span class=\"hljs-attr\">icon</span>=<span class=\"hljs-string\">\"archive\"</span>&gt;</span><span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-input</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-button</span> <span class=\"hljs-attr\">@click.native</span>=<span class=\"hljs-string\">\"$refs.input.focus()\"</span>&gt;</span>聚焦<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-button</span>&gt;</span>\n</code></pre>\n<h3>密码输入框</h3>\n<p><n3-input v-model=\"value2\" type=\"password\" ref=\"input2\" show-clean=\"\"></n3-input>\n<n3-button @click.native=\"$refs.input2.focus()\">聚焦</n3-button></p>\n<pre><code class=\"language-html\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-input</span> <span class=\"hljs-attr\">v-model</span>=<span class=\"hljs-string\">\"value2\"</span> <span class=\"hljs-attr\">ref</span>=<span class=\"hljs-string\">\"password\"</span> <span class=\"hljs-attr\">icon</span>=<span class=\"hljs-string\">\"archive\"</span>&gt;</span><span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-input</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-button</span> <span class=\"hljs-attr\">@click.native</span>=<span class=\"hljs-string\">\"$refs.input2.focus()\"</span>&gt;</span>聚焦<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-button</span>&gt;</span>\n</code></pre>\n<h3>参数</h3>\n<table>\n<thead>\n<tr>\n<th>参数</th>\n<th>类型</th>\n<th>默认值</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>name</td>\n<td><code>String</code></td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>readonly</td>\n<td><code>Boolean</code></td>\n<td><code>false</code></td>\n<td>只读</td>\n</tr>\n<tr>\n<td>disabled</td>\n<td><code>Boolean</code></td>\n<td><code>false</code></td>\n<td>禁止改变值</td>\n</tr>\n<tr>\n<td>width</td>\n<td><code>String</code></td>\n<td><code>220px</code></td>\n<td>宽度</td>\n</tr>\n<tr>\n<td>placeholder</td>\n<td><code>String</code></td>\n<td>-</td>\n<td>placeholder</td>\n</tr>\n<tr>\n<td>type</td>\n<td><code>String</code></td>\n<td><code>text</code></td>\n<td>输入框类型</td>\n</tr>\n<tr>\n<td>icon</td>\n<td><code>String</code></td>\n<td>-</td>\n<td>icon</td>\n</tr>\n<tr>\n<td>show-clean</td>\n<td><code>Boolean</code></td>\n<td><code>false</code></td>\n<td>显示清除icon</td>\n</tr>\n</tbody>\n</table>\n<h3>组件方法</h3>\n<table>\n<thead>\n<tr>\n<th>方法名称</th>\n<th>说明</th>\n<th>备注</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>clean</td>\n<td>清空内容</td>\n<td></td>\n</tr>\n<tr>\n<td>focus</td>\n<td>聚焦</td>\n<td></td>\n</tr>\n<tr>\n<td>blur</td>\n<td>失焦</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n<h3>Events</h3>\n<table>\n<thead>\n<tr>\n<th>名称</th>\n<th>说明</th>\n<th>参数</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>blur</td>\n<td>失焦</td>\n<td>-</td>\n</tr>\n<tr>\n<td>focus</td>\n<td>聚焦</td>\n<td>-</td>\n</tr>\n<tr>\n<td>change</td>\n<td>值变化</td>\n<td>(currentValue)</td>\n</tr>\n</tbody>\n</table>\n <p>其他表单相关参数,请移步 <a href=\"#n3FormDocs\">表单验证</a> 待验证组件参数</p>\n</div>\n</template>\n\n</section>";

/***/ }),
/* 448 */
/***/ (function(module, exports, __webpack_require__) {

    module.exports = __webpack_require__(449);

/***/ }),
/* 449 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(450)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] node_modules/vue-markdown-loader/_cache/n3InputNumberDocs-18.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(451)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-3c4144ce/n3InputNumberDocs-18.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 450 */
/***/ (function(module, exports) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    // <template><section><template>
    // <h3>数字输入框</h3>
    // <div class="bs-docs-section">
    // <div class="bs-example">
    //   <n3-input-number v-model="value"></n3-input-number>
    // </div>
    // <pre><code class="language-html"><span class="hljs-tag">&lt;<span class="hljs-name">n3-input-number</span> <span class="hljs-attr">v-model</span>=<span class="hljs-string">"value"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">n3-input-number</span>&gt;</span>
    // </code></pre>
    // <h3>参数</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>参数</th>
    // <th>类型</th>
    // <th>默认值</th>
    // <th>说明</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>name</td>
    // <td><code>String</code></td>
    // <td>-</td>
    // <td></td>
    // </tr>
    // <tr>
    // <td>readonly</td>
    // <td><code>Boolean</code></td>
    // <td><code>false</code></td>
    // <td>只读</td>
    // </tr>
    // <tr>
    // <td>disabled</td>
    // <td><code>Boolean</code></td>
    // <td><code>false</code></td>
    // <td>禁止改变值</td>
    // </tr>
    // <tr>
    // <td>width</td>
    // <td><code>String</code></td>
    // <td><code>220px</code></td>
    // <td>宽度</td>
    // </tr>
    // <tr>
    // <td>placeholder</td>
    // <td><code>String</code></td>
    // <td>-</td>
    // <td>placeholder</td>
    // </tr>
    // <tr>
    // <td>max</td>
    // <td><code>Number</code></td>
    // <td>-</td>
    // <td>最大值</td>
    // </tr>
    // <tr>
    // <td>min</td>
    // <td><code>Number</code></td>
    // <td>-</td>
    // <td>最小值</td>
    // </tr>
    // <tr>
    // <td>step</td>
    // <td><code>Number</code></td>
    // <td><code>1</code></td>
    // <td>增减量值</td>
    // </tr>
    // </tbody>
    // </table>
    // <h3>事件</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>名称</th>
    // <th>说明</th>
    // <th>参数</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>blur</td>
    // <td>失焦</td>
    // <td>-</td>
    // </tr>
    // <tr>
    // <td>focus</td>
    // <td>聚焦</td>
    // <td>-</td>
    // </tr>
    // <tr>
    // <td>change</td>
    // <td>值变化</td>
    // <td>(currentValue)</td>
    // </tr>
    // </tbody>
    // </table>
    // <p>其他表单相关参数,请移步 <a href="#n3FormDocs">表单验证</a> 待验证组件参数</p>
    // </div>
    // </template>
    //
    // </section></template>
    //
    // <script>
    
    exports.default = {
      data: function data() {
        return {
          value: ''
        };
      }
    };
    // </script>
    /* generated by vue-loader */

/***/ }),
/* 451 */
/***/ (function(module, exports) {

    module.exports = "<section><template>\n<h3>数字输入框</h3>\n<div class=\"bs-docs-section\">\n<div class=\"bs-example\">\n  <n3-input-number v-model=\"value\"></n3-input-number>\n</div>\n<pre><code class=\"language-html\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-input-number</span> <span class=\"hljs-attr\">v-model</span>=<span class=\"hljs-string\">\"value\"</span>&gt;</span><span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-input-number</span>&gt;</span>\n</code></pre>\n<h3>参数</h3>\n<table>\n<thead>\n<tr>\n<th>参数</th>\n<th>类型</th>\n<th>默认值</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>name</td>\n<td><code>String</code></td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>readonly</td>\n<td><code>Boolean</code></td>\n<td><code>false</code></td>\n<td>只读</td>\n</tr>\n<tr>\n<td>disabled</td>\n<td><code>Boolean</code></td>\n<td><code>false</code></td>\n<td>禁止改变值</td>\n</tr>\n<tr>\n<td>width</td>\n<td><code>String</code></td>\n<td><code>220px</code></td>\n<td>宽度</td>\n</tr>\n<tr>\n<td>placeholder</td>\n<td><code>String</code></td>\n<td>-</td>\n<td>placeholder</td>\n</tr>\n<tr>\n<td>max</td>\n<td><code>Number</code></td>\n<td>-</td>\n<td>最大值</td>\n</tr>\n<tr>\n<td>min</td>\n<td><code>Number</code></td>\n<td>-</td>\n<td>最小值</td>\n</tr>\n<tr>\n<td>step</td>\n<td><code>Number</code></td>\n<td><code>1</code></td>\n<td>增减量值</td>\n</tr>\n</tbody>\n</table>\n<h3>事件</h3>\n<table>\n<thead>\n<tr>\n<th>名称</th>\n<th>说明</th>\n<th>参数</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>blur</td>\n<td>失焦</td>\n<td>-</td>\n</tr>\n<tr>\n<td>focus</td>\n<td>聚焦</td>\n<td>-</td>\n</tr>\n<tr>\n<td>change</td>\n<td>值变化</td>\n<td>(currentValue)</td>\n</tr>\n</tbody>\n</table>\n<p>其他表单相关参数,请移步 <a href=\"#n3FormDocs\">表单验证</a> 待验证组件参数</p>\n</div>\n</template>\n\n</section>";

/***/ }),
/* 452 */
/***/ (function(module, exports, __webpack_require__) {

    module.exports = __webpack_require__(453);

/***/ }),
/* 453 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(454)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] node_modules/vue-markdown-loader/_cache/n3TextareaDocs-20.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(455)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-508bfa9e/n3TextareaDocs-20.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 454 */
/***/ (function(module, exports) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    // <template><section><template>
    // <h2>文本框</h2>
    // <div class="bs-docs-section">
    //   <div class="bs-example">
    //    <n3-textarea v-model="value"></n3-textarea>
    //   </div>
    // <pre><code class="language-html"><span class="hljs-tag">&lt;<span class="hljs-name">n3-textarea</span> <span class="hljs-attr">v-model</span>=<span class="hljs-string">"value"</span> &gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">n3-textarea</span>&gt;</span>
    // </code></pre>
    // <h3>参数</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>参数</th>
    // <th>类型</th>
    // <th>默认值</th>
    // <th>说明</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>resize</td>
    // <td><code>boolean</code></td>
    // <td><code>false</code></td>
    // <td>是否支持拖动</td>
    // </tr>
    // <tr>
    // <td>max-length</td>
    // <td><code>Number</code></td>
    // <td>-</td>
    // <td>字符数限制</td>
    // </tr>
    // <tr>
    // <td>max-height</td>
    // <td><code>String</code></td>
    // <td>-</td>
    // <td>最大高度</td>
    // </tr>
    // <tr>
    // <td>min-height</td>
    // <td><code>String</code></td>
    // <td>-</td>
    // <td>最小高度</td>
    // </tr>
    // </tbody>
    // </table>
    // <h3>事件</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>名称</th>
    // <th>说明</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>blur</td>
    // <td>失焦</td>
    // </tr>
    // <tr>
    // <td>focus</td>
    // <td>聚焦</td>
    // </tr>
    // <tr>
    // <td>change</td>
    // <td>值变化</td>
    // </tr>
    // </tbody>
    // </table>
    // <p>其他表单相关参数,请移步 <a href="#n3FormDocs">表单验证</a> 待验证组件参数</p>
    // </div>
    // </template>
    //
    // </section></template>
    //
    // <script>
    
    exports.default = {
      data: function data() {
        return {
          value: ''
        };
      }
    };
    // </script>
    /* generated by vue-loader */

/***/ }),
/* 455 */
/***/ (function(module, exports) {

    module.exports = "<section><template>\n<h2>文本框</h2>\n<div class=\"bs-docs-section\">\n  <div class=\"bs-example\">\n   <n3-textarea v-model=\"value\"></n3-textarea>\n  </div>\n<pre><code class=\"language-html\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-textarea</span> <span class=\"hljs-attr\">v-model</span>=<span class=\"hljs-string\">\"value\"</span> &gt;</span><span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-textarea</span>&gt;</span>\n</code></pre>\n<h3>参数</h3>\n<table>\n<thead>\n<tr>\n<th>参数</th>\n<th>类型</th>\n<th>默认值</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>resize</td>\n<td><code>boolean</code></td>\n<td><code>false</code></td>\n<td>是否支持拖动</td>\n</tr>\n<tr>\n<td>max-length</td>\n<td><code>Number</code></td>\n<td>-</td>\n<td>字符数限制</td>\n</tr>\n<tr>\n<td>max-height</td>\n<td><code>String</code></td>\n<td>-</td>\n<td>最大高度</td>\n</tr>\n<tr>\n<td>min-height</td>\n<td><code>String</code></td>\n<td>-</td>\n<td>最小高度</td>\n</tr>\n</tbody>\n</table>\n<h3>事件</h3>\n<table>\n<thead>\n<tr>\n<th>名称</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>blur</td>\n<td>失焦</td>\n</tr>\n<tr>\n<td>focus</td>\n<td>聚焦</td>\n</tr>\n<tr>\n<td>change</td>\n<td>值变化</td>\n</tr>\n</tbody>\n</table>\n<p>其他表单相关参数,请移步 <a href=\"#n3FormDocs\">表单验证</a> 待验证组件参数</p>\n</div>\n</template>\n\n</section>";

/***/ }),
/* 456 */
/***/ (function(module, exports, __webpack_require__) {

    module.exports = __webpack_require__(457);

/***/ }),
/* 457 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(458)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] node_modules/vue-markdown-loader/_cache/n3NavDocs-19.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(459)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-56597cdf/n3NavDocs-19.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 458 */
/***/ (function(module, exports) {

    "use strict";
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    // <template><section><template>
    // <h3>导航</h3>
    // <div class="bs-docs-section">
    // <div class="bs-example">
    // <n3-nav :default-active="activeIndex" mode="horizontal" @select="handleSelect">
    // <n3-nav-item index="1">处理中心</n3-nav-item>
    // <n3-sub-nav index="2">
    // <template slot="title">我的工作台</template>
    // <n3-nav-item index="2-1">选项1</n3-nav-item>
    // <n3-nav-item index="2-2">选项2</n3-nav-item>
    // <n3-nav-item index="2-3">选项3</n3-nav-item>
    // </n3-sub-nav>
    // <n3-nav-item index="3"><a href="#" target="_blank">订单管理</a></n3-nav-item>
    // </n3-nav>
    // <pre><code class="language-html"><span class="hljs-tag">&lt;<span class="hljs-name">n3-nav</span>  <span class="hljs-attr">:default-active</span>=<span class="hljs-string">"activeIndex"</span>  <span class="hljs-attr">mode</span>=<span class="hljs-string">"horizontal"</span> <span class="hljs-attr">@select</span>=<span class="hljs-string">"handleSelect"</span>&gt;</span>
    // <span class="hljs-tag">&lt;<span class="hljs-name">n3-nav-item</span> <span class="hljs-attr">index</span>=<span class="hljs-string">"1"</span>&gt;</span>处理中心<span class="hljs-tag">&lt;/<span class="hljs-name">n3-nav-item</span>&gt;</span>
    // <span class="hljs-tag">&lt;<span class="hljs-name">n3-sub-nav</span> <span class="hljs-attr">index</span>=<span class="hljs-string">"2"</span>&gt;</span>
    // <span class="hljs-tag">&lt;<span class="hljs-name">template</span> <span class="hljs-attr">slot</span>=<span class="hljs-string">"title"</span>&gt;</span>我的工作台<span class="hljs-tag">&lt;/<span class="hljs-name">template</span>&gt;</span>
    // <span class="hljs-tag">&lt;<span class="hljs-name">n3-nav-item</span> <span class="hljs-attr">index</span>=<span class="hljs-string">"2-1"</span>&gt;</span>选项1<span class="hljs-tag">&lt;/<span class="hljs-name">n3-nav-item</span>&gt;</span>
    // <span class="hljs-tag">&lt;<span class="hljs-name">n3-nav-item</span> <span class="hljs-attr">index</span>=<span class="hljs-string">"2-2"</span>&gt;</span>选项2<span class="hljs-tag">&lt;/<span class="hljs-name">n3-nav-item</span>&gt;</span>
    // <span class="hljs-tag">&lt;<span class="hljs-name">n3-nav-item</span> <span class="hljs-attr">index</span>=<span class="hljs-string">"2-3"</span>&gt;</span>选项3<span class="hljs-tag">&lt;/<span class="hljs-name">n3-nav-item</span>&gt;</span>
    // <span class="hljs-tag">&lt;/<span class="hljs-name">n3-sub-nav</span>&gt;</span>
    // <span class="hljs-tag">&lt;<span class="hljs-name">n3-nav-item</span> <span class="hljs-attr">index</span>=<span class="hljs-string">"3"</span>&gt;</span><span class="hljs-tag">&lt;<span class="hljs-name">a</span> <span class="hljs-attr">href</span>=<span class="hljs-string">"#"</span> <span class="hljs-attr">target</span>=<span class="hljs-string">"_blank"</span>&gt;</span>订单管理<span class="hljs-tag">&lt;/<span class="hljs-name">a</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">n3-nav-item</span>&gt;</span>
    // <span class="hljs-tag">&lt;/<span class="hljs-name">n3-nav</span>&gt;</span>
    // </code></pre>
    // <n3-nav default-active="2" theme="dark" @open="handleOpen" @close="handleClose" :style="{width:'180px'}">
    // <n3-sub-nav index="1">
    // <template slot="title"><n3-icon type="bars"></n3-icon>导航一</template>
    // <n3-nav-group key="1">
    // <template slot="title">分组一</template>
    // <n3-nav-item index="1-1" key="1-1">选项1</n3-nav-item>
    // <n3-nav-item index="1-2" key="1-2">选项2</n3-nav-item>
    // </n3-nav-group>
    // <n3-nav-group title="分组2" key="2">
    // <n3-nav-item index="1-3" key="1-2">选项3</n3-nav-item>
    // </n3-nav-group>
    // <n3-sub-nav index="1-4">
    // <template slot="title">选项4</template>
    // <n3-nav-item index="1-4-1">选项1</n3-nav-item>
    // </n3-sub-nav>
    // </n3-sub-nav>
    // <n3-nav-item index="2"><n3-icon type="eye"></n3-icon>导航二</n3-nav-item>
    // <n3-nav-item index="3"><n3-icon type="cloud"></n3-icon>导航三</n3-nav-item>
    // </n3-nav>
    // </div>
    // <h3>n3-nav参数</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>参数</th>
    // <th>类型</th>
    // <th>默认值</th>
    // <th>说明</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>mode</td>
    // <td>String</td>
    // <td>horizontal,vertical</td>
    // <td>vertical</td>
    // </tr>
    // <tr>
    // <td>theme</td>
    // <td>String</td>
    // <td>light,dark</td>
    // <td>light</td>
    // </tr>
    // <tr>
    // <td>default-active</td>
    // <td>String</td>
    // <td>-</td>
    // <td>当前激活菜单的index</td>
    // </tr>
    // <tr>
    // <td>default-openeds</td>
    // <td>Array</td>
    // <td>—</td>
    // <td>当前打开的submenu的 key 数组    Array</td>
    // </tr>
    // <tr>
    // <td>unique-opened</td>
    // <td>Boolean</td>
    // <td>—</td>
    // <td>false</td>
    // </tr>
    // <tr>
    // <td>menu-trigger</td>
    // <td>String</td>
    // <td>hover</td>
    // <td>子菜单打开的触发方式(只在 mode 为 horizontal 时有效)</td>
    // </tr>
    // <tr>
    // <td>router</td>
    // <td>Boolean</td>
    // <td>false</td>
    // <td>vue-router 的模式,启用该模式会在激活导航时以 index 作为 path 进行路由跳转</td>
    // </tr>
    // </tbody>
    // </table>
    // <h3>Events</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>事件</th>
    // <th>说明类</th>
    // <th>回调参数</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>select</td>
    // <td>菜单激活回调    index: 选中菜单项的</td>
    // <td>indexPath: 选中菜单项的 index path</td>
    // </tr>
    // <tr>
    // <td>open</td>
    // <td>SubMenu 展开的回调</td>
    // <td>index: 打开的 subMenu 的 index, indexPath: 打开的 subMenu 的 index path</td>
    // </tr>
    // <tr>
    // <td>close</td>
    // <td>SubMenu 收起的回调</td>
    // <td>index: 收起的 subMenu 的 index, indexPath: 收起的 subMenu 的 index path</td>
    // </tr>
    // </tbody>
    // </table>
    // <h3>n3-sub-nav参数</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>参数</th>
    // <th>类型</th>
    // <th>默认值</th>
    // <th>说明</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>index</td>
    // <td>String</td>
    // <td>-</td>
    // <td></td>
    // </tr>
    // </tbody>
    // </table>
    // <h3>n3-nav-item参数</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>参数</th>
    // <th>类型</th>
    // <th>默认值</th>
    // <th>说明</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>index</td>
    // <td>String</td>
    // <td>-</td>
    // <td></td>
    // </tr>
    // <tr>
    // <td>route</td>
    // <td>Object</td>
    // <td>-</td>
    // <td>Vue Router 路径对象</td>
    // </tr>
    // </tbody>
    // </table>
    // <h3>n3-nav-group参数</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>参数</th>
    // <th>类型</th>
    // <th>默认值</th>
    // <th>说明</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>title</td>
    // <td>String</td>
    // <td>-</td>
    // <td>分组</td>
    // </tr>
    // </tbody>
    // </table>
    // </div>
    // </template>
    //
    // </section></template>
    //
    // <script>
    exports.default = {
      data: function data() {
        return {
          activeIndex: 1,
          show2: false
        };
      },
    
      methods: {
        handleSelect: function handleSelect() {},
        handleOpen: function handleOpen() {},
        handleClose: function handleClose() {}
      }
    };
    // </script>
    /* generated by vue-loader */

/***/ }),
/* 459 */
/***/ (function(module, exports) {

    module.exports = "<section><template>\n<h3>导航</h3>\n<div class=\"bs-docs-section\">\n<div class=\"bs-example\">\n<n3-nav :default-active=\"activeIndex\" mode=\"horizontal\" @select=\"handleSelect\">\n<n3-nav-item index=\"1\">处理中心</n3-nav-item>\n<n3-sub-nav index=\"2\">\n<template slot=\"title\">我的工作台</template>\n<n3-nav-item index=\"2-1\">选项1</n3-nav-item>\n<n3-nav-item index=\"2-2\">选项2</n3-nav-item>\n<n3-nav-item index=\"2-3\">选项3</n3-nav-item>\n</n3-sub-nav>\n<n3-nav-item index=\"3\"><a href=\"#\" target=\"_blank\">订单管理</a></n3-nav-item>\n</n3-nav>\n<pre><code class=\"language-html\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-nav</span>  <span class=\"hljs-attr\">:default-active</span>=<span class=\"hljs-string\">\"activeIndex\"</span>  <span class=\"hljs-attr\">mode</span>=<span class=\"hljs-string\">\"horizontal\"</span> <span class=\"hljs-attr\">@select</span>=<span class=\"hljs-string\">\"handleSelect\"</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-nav-item</span> <span class=\"hljs-attr\">index</span>=<span class=\"hljs-string\">\"1\"</span>&gt;</span>处理中心<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-nav-item</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-sub-nav</span> <span class=\"hljs-attr\">index</span>=<span class=\"hljs-string\">\"2\"</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">template</span> <span class=\"hljs-attr\">slot</span>=<span class=\"hljs-string\">\"title\"</span>&gt;</span>我的工作台<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">template</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-nav-item</span> <span class=\"hljs-attr\">index</span>=<span class=\"hljs-string\">\"2-1\"</span>&gt;</span>选项1<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-nav-item</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-nav-item</span> <span class=\"hljs-attr\">index</span>=<span class=\"hljs-string\">\"2-2\"</span>&gt;</span>选项2<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-nav-item</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-nav-item</span> <span class=\"hljs-attr\">index</span>=<span class=\"hljs-string\">\"2-3\"</span>&gt;</span>选项3<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-nav-item</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-sub-nav</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-nav-item</span> <span class=\"hljs-attr\">index</span>=<span class=\"hljs-string\">\"3\"</span>&gt;</span><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">a</span> <span class=\"hljs-attr\">href</span>=<span class=\"hljs-string\">\"#\"</span> <span class=\"hljs-attr\">target</span>=<span class=\"hljs-string\">\"_blank\"</span>&gt;</span>订单管理<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">a</span>&gt;</span><span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-nav-item</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-nav</span>&gt;</span>\n</code></pre>\n<n3-nav default-active=\"2\" theme=\"dark\" @open=\"handleOpen\" @close=\"handleClose\" :style=\"{width:'180px'}\">\n<n3-sub-nav index=\"1\">\n<template slot=\"title\"><n3-icon type=\"bars\"></n3-icon>导航一</template>\n<n3-nav-group key=\"1\">\n<template slot=\"title\">分组一</template>\n<n3-nav-item index=\"1-1\" key=\"1-1\">选项1</n3-nav-item>\n<n3-nav-item index=\"1-2\" key=\"1-2\">选项2</n3-nav-item>\n</n3-nav-group>\n<n3-nav-group title=\"分组2\" key=\"2\">\n<n3-nav-item index=\"1-3\" key=\"1-2\">选项3</n3-nav-item>\n</n3-nav-group>\n<n3-sub-nav index=\"1-4\">\n<template slot=\"title\">选项4</template>\n<n3-nav-item index=\"1-4-1\">选项1</n3-nav-item>\n</n3-sub-nav>\n</n3-sub-nav>\n<n3-nav-item index=\"2\"><n3-icon type=\"eye\"></n3-icon>导航二</n3-nav-item>\n<n3-nav-item index=\"3\"><n3-icon type=\"cloud\"></n3-icon>导航三</n3-nav-item>\n</n3-nav>\n</div>\n<h3>n3-nav参数</h3>\n<table>\n<thead>\n<tr>\n<th>参数</th>\n<th>类型</th>\n<th>默认值</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>mode</td>\n<td>String</td>\n<td>horizontal,vertical</td>\n<td>vertical</td>\n</tr>\n<tr>\n<td>theme</td>\n<td>String</td>\n<td>light,dark</td>\n<td>light</td>\n</tr>\n<tr>\n<td>default-active</td>\n<td>String</td>\n<td>-</td>\n<td>当前激活菜单的index</td>\n</tr>\n<tr>\n<td>default-openeds</td>\n<td>Array</td>\n<td>—</td>\n<td>当前打开的submenu的 key 数组\tArray</td>\n</tr>\n<tr>\n<td>unique-opened</td>\n<td>Boolean</td>\n<td>—</td>\n<td>false</td>\n</tr>\n<tr>\n<td>menu-trigger</td>\n<td>String</td>\n<td>hover</td>\n<td>子菜单打开的触发方式(只在 mode 为 horizontal 时有效)</td>\n</tr>\n<tr>\n<td>router</td>\n<td>Boolean</td>\n<td>false</td>\n<td>vue-router 的模式,启用该模式会在激活导航时以 index 作为 path 进行路由跳转</td>\n</tr>\n</tbody>\n</table>\n<h3>Events</h3>\n<table>\n<thead>\n<tr>\n<th>事件</th>\n<th>说明类</th>\n<th>回调参数</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>select</td>\n<td>菜单激活回调\tindex: 选中菜单项的</td>\n<td>indexPath: 选中菜单项的 index path</td>\n</tr>\n<tr>\n<td>open</td>\n<td>SubMenu 展开的回调</td>\n<td>index: 打开的 subMenu 的 index, indexPath: 打开的 subMenu 的 index path</td>\n</tr>\n<tr>\n<td>close</td>\n<td>SubMenu 收起的回调</td>\n<td>index: 收起的 subMenu 的 index, indexPath: 收起的 subMenu 的 index path</td>\n</tr>\n</tbody>\n</table>\n<h3>n3-sub-nav参数</h3>\n<table>\n<thead>\n<tr>\n<th>参数</th>\n<th>类型</th>\n<th>默认值</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>index</td>\n<td>String</td>\n<td>-</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n<h3>n3-nav-item参数</h3>\n<table>\n<thead>\n<tr>\n<th>参数</th>\n<th>类型</th>\n<th>默认值</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>index</td>\n<td>String</td>\n<td>-</td>\n<td></td>\n</tr>\n<tr>\n<td>route</td>\n<td>Object</td>\n<td>-</td>\n<td>Vue Router 路径对象</td>\n</tr>\n</tbody>\n</table>\n<h3>n3-nav-group参数</h3>\n<table>\n<thead>\n<tr>\n<th>参数</th>\n<th>类型</th>\n<th>默认值</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>title</td>\n<td>String</td>\n<td>-</td>\n<td>分组</td>\n</tr>\n</tbody>\n</table>\n</div>\n</template>\n\n</section>";

/***/ }),
/* 460 */
/***/ (function(module, exports, __webpack_require__) {

    module.exports = __webpack_require__(461);

/***/ }),
/* 461 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(462)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] node_modules/vue-markdown-loader/_cache/n3PopoverDocs-21.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(463)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-774386b4/n3PopoverDocs-21.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 462 */
/***/ (function(module, exports) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    // <template><section><template>
    // <h3>气泡框</h3>
    // <div class="bs-docs-section" id="气泡框">
    // <div class="bs-example">
    //   <n3-popover effect="fade" :header="true" title="Title" placement="top">
    //     <div slot="content">
    //         从前有座山
    //     </div>
    //     <n3-button>Popover on top</n3-button>
    //   </n3-popover>
    //   <n3-popover effect="fade" :header="true" title="Title" placement="left">
    //       <div slot="content">
    //         山里有座庙
    //     </div>
    //     <n3-button>Popover on left</n3-button>
    //   </n3-popover>
    //   <n3-popover effect="fade" :header="true" title="Title" placement="right">
    //       <div slot="content">
    //         庙里有个老和尚
    //     </div>
    //     <n3-button>Popover on right</n3-button>
    //   </n3-popover>
    //   <n3-popover effect="fade" placement="bottom" :header="true" title="Title">
    //       <div slot="content">
    //         老和尚说从前有座山
    //     </div>
    //     <n3-button>Popover on bottom</n3-button>
    //   </n3-popover>
    //   <hr>
    //   <h4>No title</h4>
    //   <n3-popover effect="fade" :header="false" title="Title" placement="top">
    //       <div slot="content">
    //         山里有座庙
    //       </div>
    //       <n3-button>Popover on top</n3-button>
    //   </n3-popover>
    //   <n3-popover effect="fade" :header="false" title="Title" placement="left">
    //     <div slot="content">
    //         庙里有个老和尚
    //     </div>
    //     <n3-button>Popover on left</n3-button>
    //   </n3-popover>
    //   <n3-popover effect="fade" :header="false" title="Title" placement="right">
    //     <div slot="content">
    //         老和尚说从前有座山
    //     </div>
    //     <n3-button>Popover on right</n3-button>
    //   </n3-popover>
    //   <n3-popover effect="fade" :header="false" placement="bottom" title="Title">
    //     <div slot="content">
    //         山里有座庙
    //       </div>
    //     <n3-button>Popover on bottom</n3-button>
    //   </n3-popover>
    //   <hr>
    //   <h4>Triger</h4>
    //     <n3-popover effect="scale" title="Title" placement="top" trigger="hover">
    //         <div slot="content">
    //           庙里有个老和尚
    //         </div>
    //         <n3-button>Mouseenter</n3-button>
    //     </n3-popover>
    //     <hr>
    //   <h4>Focus</h4>
    //   <n3-popover effect="scale" title="Title" placement="bottom" trigger="focus">
    //     <div slot="content">
    //         老和尚很无聊
    //     </div>
    //     <n3-input placeholder="Focus"></n3-input>
    //   </n3-popover>
    //   <h4>气泡确认</h4>
    //   <n3-pop-confirm content="确定删除么?" :on-confirm="del(item)">
    //       <n3-button>删除</n3-button>
    //   </n3-pop-confirm>
    // </div>
    // <pre><code class="language-html"><span class="hljs-tag">&lt;<span class="hljs-name">n3-popover</span> <span class="hljs-attr">effect</span>=<span class="hljs-string">"fade"</span> <span class="hljs-attr">:header</span>=<span class="hljs-string">"true"</span> <span class="hljs-attr">title</span>=<span class="hljs-string">"Title"</span> <span class="hljs-attr">placement</span>=<span class="hljs-string">"top"</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">slot</span>=<span class="hljs-string">"content"</span> &gt;</span>
    //      从前有座山
    //   <span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-button</span>&gt;</span>Popover on top<span class="hljs-tag">&lt;/<span class="hljs-name">n3-button</span>&gt;</span>
    // <span class="hljs-tag">&lt;/<span class="hljs-name">n3-popover</span>&gt;</span>
    //
    // <span class="hljs-tag">&lt;<span class="hljs-name">n3-popover</span> <span class="hljs-attr">effect</span>=<span class="hljs-string">"fade"</span> <span class="hljs-attr">:header</span>=<span class="hljs-string">"true"</span> <span class="hljs-attr">title</span>=<span class="hljs-string">"Title"</span> <span class="hljs-attr">placement</span>=<span class="hljs-string">"left"</span>&gt;</span>
    //    <span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">slot</span>=<span class="hljs-string">"content"</span>&gt;</span>
    //       山里有座庙
    //   <span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-button</span>&gt;</span>Popover on left<span class="hljs-tag">&lt;/<span class="hljs-name">n3-button</span>&gt;</span>
    // <span class="hljs-tag">&lt;/<span class="hljs-name">n3-popover</span>&gt;</span>
    //
    // <span class="hljs-tag">&lt;<span class="hljs-name">n3-popover</span> <span class="hljs-attr">effect</span>=<span class="hljs-string">"fade"</span> <span class="hljs-attr">:header</span>=<span class="hljs-string">"true"</span> <span class="hljs-attr">title</span>=<span class="hljs-string">"Title"</span> <span class="hljs-attr">placement</span>=<span class="hljs-string">"right"</span>&gt;</span>
    //    <span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">slot</span>=<span class="hljs-string">"content"</span>&gt;</span>
    //       庙里有个老和尚
    //   <span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-button</span>&gt;</span>Popover on right<span class="hljs-tag">&lt;/<span class="hljs-name">n3-button</span>&gt;</span>
    // <span class="hljs-tag">&lt;/<span class="hljs-name">n3-popover</span>&gt;</span>
    //
    // <span class="hljs-tag">&lt;<span class="hljs-name">n3-popover</span> <span class="hljs-attr">effect</span>=<span class="hljs-string">"fade"</span> <span class="hljs-attr">placement</span>=<span class="hljs-string">"bottom"</span> <span class="hljs-attr">:header</span>=<span class="hljs-string">"true"</span> <span class="hljs-attr">title</span>=<span class="hljs-string">"Title"</span> &gt;</span>
    //    <span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">slot</span>=<span class="hljs-string">"content"</span> &gt;</span>
    //       老和尚说从前有座山
    //   <span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-button</span>&gt;</span>Popover on bottom<span class="hljs-tag">&lt;/<span class="hljs-name">n3-button</span>&gt;</span>
    // <span class="hljs-tag">&lt;/<span class="hljs-name">n3-popover</span>&gt;</span>
    //
    // <span class="hljs-comment">&lt;!-- No title  --&gt;</span>
    // <span class="hljs-tag">&lt;<span class="hljs-name">n3-popover</span> <span class="hljs-attr">effect</span>=<span class="hljs-string">"fade"</span> <span class="hljs-attr">:header</span> =<span class="hljs-string">"false"</span> <span class="hljs-attr">title</span>=<span class="hljs-string">"Title"</span> <span class="hljs-attr">placement</span>=<span class="hljs-string">"top"</span>&gt;</span>
    //    <span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">slot</span>=<span class="hljs-string">"content"</span>&gt;</span>
    //       山里有座庙
    //     <span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
    //     <span class="hljs-tag">&lt;<span class="hljs-name">n3-button</span>&gt;</span>Popover on top<span class="hljs-tag">&lt;/<span class="hljs-name">n3-button</span>&gt;</span>
    // <span class="hljs-tag">&lt;/<span class="hljs-name">n3-popover</span>&gt;</span>
    //
    // <span class="hljs-tag">&lt;<span class="hljs-name">n3-popover</span> <span class="hljs-attr">effect</span>=<span class="hljs-string">"fade"</span> <span class="hljs-attr">:header</span> =<span class="hljs-string">"false"</span> <span class="hljs-attr">title</span>=<span class="hljs-string">"Title"</span> <span class="hljs-attr">placement</span>=<span class="hljs-string">"left"</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">slot</span>=<span class="hljs-string">"content"</span>&gt;</span>
    //       庙里有个老和尚
    //   <span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-button</span>&gt;</span>Popover on left<span class="hljs-tag">&lt;/<span class="hljs-name">n3-button</span>&gt;</span>
    // <span class="hljs-tag">&lt;/<span class="hljs-name">n3-popover</span>&gt;</span>
    //
    // <span class="hljs-tag">&lt;<span class="hljs-name">n3-popover</span> <span class="hljs-attr">effect</span>=<span class="hljs-string">"fade"</span> <span class="hljs-attr">:header</span> =<span class="hljs-string">"false"</span> <span class="hljs-attr">title</span>=<span class="hljs-string">"Title"</span> <span class="hljs-attr">placement</span>=<span class="hljs-string">"right"</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">slot</span>=<span class="hljs-string">"content"</span>&gt;</span>
    //       老和尚说从前有座山
    //   <span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-button</span>&gt;</span>Popover on right<span class="hljs-tag">&lt;/<span class="hljs-name">n3-button</span>&gt;</span>
    // <span class="hljs-tag">&lt;/<span class="hljs-name">n3-popover</span>&gt;</span>
    //
    // <span class="hljs-tag">&lt;<span class="hljs-name">n3-popover</span> <span class="hljs-attr">effect</span>=<span class="hljs-string">"fade"</span> <span class="hljs-attr">:header</span> =<span class="hljs-string">"false"</span> <span class="hljs-attr">placement</span>=<span class="hljs-string">"bottom"</span> <span class="hljs-attr">title</span>=<span class="hljs-string">"Title"</span> &gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">slot</span>=<span class="hljs-string">"content"</span>&gt;</span>
    //       山里有座庙
    //     <span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-button</span>&gt;</span>Popover on bottom<span class="hljs-tag">&lt;/<span class="hljs-name">n3-button</span>&gt;</span>
    // <span class="hljs-tag">&lt;/<span class="hljs-name">n3-popover</span>&gt;</span>
    //
    // <span class="hljs-comment">&lt;!-- Trigger  --&gt;</span>
    // <span class="hljs-tag">&lt;<span class="hljs-name">n3-popover</span> <span class="hljs-attr">effect</span>=<span class="hljs-string">"scale"</span> <span class="hljs-attr">title</span>=<span class="hljs-string">"Title"</span> <span class="hljs-attr">placement</span>=<span class="hljs-string">"top"</span> <span class="hljs-attr">trigger</span>=<span class="hljs-string">"hover"</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">slot</span>=<span class="hljs-string">"content"</span>&gt;</span>
    //     庙里有个老和尚
    //   <span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-button</span> &gt;</span>Mouseenter<span class="hljs-tag">&lt;/<span class="hljs-name">n3-button</span>&gt;</span>
    // <span class="hljs-tag">&lt;/<span class="hljs-name">n3-popover</span>&gt;</span>
    //
    // <span class="hljs-comment">&lt;!-- Focus  --&gt;</span>
    // <span class="hljs-tag">&lt;<span class="hljs-name">n3-popover</span> <span class="hljs-attr">effect</span>=<span class="hljs-string">"scale"</span> <span class="hljs-attr">title</span>=<span class="hljs-string">"Title"</span> <span class="hljs-attr">placement</span>=<span class="hljs-string">"bottom"</span> <span class="hljs-attr">trigger</span>=<span class="hljs-string">"focus"</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">slot</span>=<span class="hljs-string">"content"</span>&gt;</span>
    //       老和尚很无聊
    //   <span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-input</span> <span class="hljs-attr">placeholder</span>=<span class="hljs-string">"Focus"</span> &gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">n3-input</span>&gt;</span>
    // <span class="hljs-tag">&lt;/<span class="hljs-name">n3-popover</span>&gt;</span>
    //
    // <span class="hljs-comment">&lt;!-- 气泡确认  --&gt;</span>
    // <span class="hljs-tag">&lt;<span class="hljs-name">n3-pop-confirm</span>
    //     <span class="hljs-attr">content</span>=<span class="hljs-string">"确定删除么?"</span>
    //     <span class="hljs-attr">:on-confirm</span>=<span class="hljs-string">"del(item)"</span>&gt;</span>
    //     <span class="hljs-tag">&lt;<span class="hljs-name">n3-button</span> &gt;</span>删除<span class="hljs-tag">&lt;/<span class="hljs-name">n3-button</span>&gt;</span>
    // <span class="hljs-tag">&lt;/<span class="hljs-name">n3-pop-confirm</span>&gt;</span>
    // </code></pre>
    // <pre><code class="language-javascript">del(item){
    //   <span class="hljs-keyword">return</span> <span class="hljs-keyword">new</span> <span class="hljs-built_in">Promise</span>(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">resolve, reject</span>) </span>{
    //     setTimeout(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params"></span>) </span>{
    //       alert(<span class="hljs-string">'删除了'</span> +  item)
    //       resolve()
    //     },<span class="hljs-number">500</span>);
    //   });
    // }
    // </code></pre>
    // <h3>popover参数</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>参数名</th>
    // <th>类型</th>
    // <th>默认值</th>
    // <th>说明</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>trigger</td>
    // <td><code>String</code>, 如: <code>click</code> <code>focus</code> <code>hover</code></td>
    // <td><code>click</code></td>
    // <td>触发方式</td>
    // </tr>
    // <tr>
    // <td>effect</td>
    // <td><code>String</code>, 如: <code>scale</code> <code>fade</code></td>
    // <td><code>scale</code></td>
    // <td></td>
    // </tr>
    // <tr>
    // <td>title</td>
    // <td><code>String</code></td>
    // <td></td>
    // <td></td>
    // </tr>
    // <tr>
    // <td>header</td>
    // <td><code>Boolean</code></td>
    // <td><code>true</code></td>
    // <td>是否显示头部</td>
    // </tr>
    // <tr>
    // <td>placement</td>
    // <td><code>String</code>, 如: <code>top</code> <code>left</code> <code>right</code> <code>bottom</code></td>
    // <td></td>
    // <td>定位</td>
    // </tr>
    // </tbody>
    // </table>
    // <h3>popconfirm参数</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>参数名</th>
    // <th>类型</th>
    // <th>默认值</th>
    // <th>说明</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>effect</td>
    // <td><code>String</code>, 如: <code>scale</code> <code>fade</code></td>
    // <td><code>fade</code></td>
    // <td></td>
    // </tr>
    // <tr>
    // <td>content</td>
    // <td><code>String</code></td>
    // <td></td>
    // <td></td>
    // </tr>
    // <tr>
    // <td>placement</td>
    // <td><code>String</code>, 如: <code>top</code> <code>left</code> <code>right</code> <code>bottom</code></td>
    // <td></td>
    // <td>定位</td>
    // </tr>
    // <tr>
    // <td>on-confirm</td>
    // <td><code>Function</code></td>
    // <td></td>
    // <td>点击确定的回调函数</td>
    // </tr>
    // <tr>
    // <td>ok-text</td>
    // <td><code>String</code></td>
    // <td>确定</td>
    // <td>确定按钮的文案</td>
    // </tr>
    // <tr>
    // <td>cancel-text</td>
    // <td><code>String</code></td>
    // <td></td>
    // <td>取消按钮的文案</td>
    // </tr>
    // </tbody>
    // </table>
    // </div>
    // </template>
    //
    // </section></template>
    //
    // <script>
    exports.default = {
      data: function data() {
        return {
          title: 'Title',
          text: 'Lorem ipsum dolor sit amet',
          item: '1'
        };
      },
    
      methods: {
        del: function del(item) {
          return function () {
            return new Promise(function (resolve, reject) {
              setTimeout(function () {
                alert('删除了' + item);
                resolve();
              }, 500);
            });
          };
        }
      }
    };
    // </script>
    /* generated by vue-loader */

/***/ }),
/* 463 */
/***/ (function(module, exports) {

    module.exports = "<section><template>\n<h3>气泡框</h3>\n<div class=\"bs-docs-section\" id=\"气泡框\">\n<div class=\"bs-example\">\n  <n3-popover effect=\"fade\" :header=\"true\" title=\"Title\" placement=\"top\">\n    <div slot=\"content\">\n        从前有座山\n    </div>\n    <n3-button>Popover on top</n3-button>\n  </n3-popover>\n  <n3-popover effect=\"fade\" :header=\"true\" title=\"Title\" placement=\"left\">\n      <div slot=\"content\">\n        山里有座庙\n    </div>\n    <n3-button>Popover on left</n3-button>\n  </n3-popover>\n  <n3-popover effect=\"fade\" :header=\"true\" title=\"Title\" placement=\"right\">\n      <div slot=\"content\">\n        庙里有个老和尚\n    </div>\n    <n3-button>Popover on right</n3-button>\n  </n3-popover>\n  <n3-popover effect=\"fade\" placement=\"bottom\" :header=\"true\" title=\"Title\">\n      <div slot=\"content\">\n        老和尚说从前有座山\n    </div>\n    <n3-button>Popover on bottom</n3-button>\n  </n3-popover>\n  <hr>\n  <h4>No title</h4>\n  <n3-popover effect=\"fade\" :header=\"false\" title=\"Title\" placement=\"top\">\n      <div slot=\"content\">\n        山里有座庙\n      </div>\n      <n3-button>Popover on top</n3-button>\n  </n3-popover>\n  <n3-popover effect=\"fade\" :header=\"false\" title=\"Title\" placement=\"left\">\n    <div slot=\"content\">\n        庙里有个老和尚\n    </div>\n    <n3-button>Popover on left</n3-button>\n  </n3-popover>\n  <n3-popover effect=\"fade\" :header=\"false\" title=\"Title\" placement=\"right\">\n    <div slot=\"content\">\n        老和尚说从前有座山\n    </div>\n    <n3-button>Popover on right</n3-button>\n  </n3-popover>\n  <n3-popover effect=\"fade\" :header=\"false\" placement=\"bottom\" title=\"Title\">\n    <div slot=\"content\">\n        山里有座庙\n      </div>\n    <n3-button>Popover on bottom</n3-button>\n  </n3-popover>\n  <hr>\n  <h4>Triger</h4>\n    <n3-popover effect=\"scale\" title=\"Title\" placement=\"top\" trigger=\"hover\">\n        <div slot=\"content\">\n          庙里有个老和尚\n        </div>\n        <n3-button>Mouseenter</n3-button>\n    </n3-popover>\n    <hr>\n  <h4>Focus</h4>\n  <n3-popover effect=\"scale\" title=\"Title\" placement=\"bottom\" trigger=\"focus\">\n    <div slot=\"content\">\n        老和尚很无聊\n    </div>\n    <n3-input placeholder=\"Focus\"></n3-input>\n  </n3-popover>\n  <h4>气泡确认</h4>\n  <n3-pop-confirm content=\"确定删除么?\" :on-confirm=\"del(item)\">\n      <n3-button>删除</n3-button>\n  </n3-pop-confirm>\n</div>\n<pre><code class=\"language-html\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-popover</span> <span class=\"hljs-attr\">effect</span>=<span class=\"hljs-string\">\"fade\"</span> <span class=\"hljs-attr\">:header</span>=<span class=\"hljs-string\">\"true\"</span> <span class=\"hljs-attr\">title</span>=<span class=\"hljs-string\">\"Title\"</span> <span class=\"hljs-attr\">placement</span>=<span class=\"hljs-string\">\"top\"</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">div</span> <span class=\"hljs-attr\">slot</span>=<span class=\"hljs-string\">\"content\"</span> &gt;</span>\n     从前有座山\n  <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">div</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-button</span>&gt;</span>Popover on top<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-button</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-popover</span>&gt;</span>\n\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-popover</span> <span class=\"hljs-attr\">effect</span>=<span class=\"hljs-string\">\"fade\"</span> <span class=\"hljs-attr\">:header</span>=<span class=\"hljs-string\">\"true\"</span> <span class=\"hljs-attr\">title</span>=<span class=\"hljs-string\">\"Title\"</span> <span class=\"hljs-attr\">placement</span>=<span class=\"hljs-string\">\"left\"</span>&gt;</span>\n   <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">div</span> <span class=\"hljs-attr\">slot</span>=<span class=\"hljs-string\">\"content\"</span>&gt;</span>\n      山里有座庙\n  <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">div</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-button</span>&gt;</span>Popover on left<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-button</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-popover</span>&gt;</span>\n\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-popover</span> <span class=\"hljs-attr\">effect</span>=<span class=\"hljs-string\">\"fade\"</span> <span class=\"hljs-attr\">:header</span>=<span class=\"hljs-string\">\"true\"</span> <span class=\"hljs-attr\">title</span>=<span class=\"hljs-string\">\"Title\"</span> <span class=\"hljs-attr\">placement</span>=<span class=\"hljs-string\">\"right\"</span>&gt;</span>\n   <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">div</span> <span class=\"hljs-attr\">slot</span>=<span class=\"hljs-string\">\"content\"</span>&gt;</span>\n      庙里有个老和尚\n  <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">div</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-button</span>&gt;</span>Popover on right<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-button</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-popover</span>&gt;</span>\n\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-popover</span> <span class=\"hljs-attr\">effect</span>=<span class=\"hljs-string\">\"fade\"</span> <span class=\"hljs-attr\">placement</span>=<span class=\"hljs-string\">\"bottom\"</span> <span class=\"hljs-attr\">:header</span>=<span class=\"hljs-string\">\"true\"</span> <span class=\"hljs-attr\">title</span>=<span class=\"hljs-string\">\"Title\"</span> &gt;</span>\n   <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">div</span> <span class=\"hljs-attr\">slot</span>=<span class=\"hljs-string\">\"content\"</span> &gt;</span>\n      老和尚说从前有座山\n  <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">div</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-button</span>&gt;</span>Popover on bottom<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-button</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-popover</span>&gt;</span>\n\n<span class=\"hljs-comment\">&lt;!-- No title  --&gt;</span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-popover</span> <span class=\"hljs-attr\">effect</span>=<span class=\"hljs-string\">\"fade\"</span> <span class=\"hljs-attr\">:header</span> =<span class=\"hljs-string\">\"false\"</span> <span class=\"hljs-attr\">title</span>=<span class=\"hljs-string\">\"Title\"</span> <span class=\"hljs-attr\">placement</span>=<span class=\"hljs-string\">\"top\"</span>&gt;</span>\n   <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">div</span> <span class=\"hljs-attr\">slot</span>=<span class=\"hljs-string\">\"content\"</span>&gt;</span>\n      山里有座庙\n    <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">div</span>&gt;</span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-button</span>&gt;</span>Popover on top<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-button</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-popover</span>&gt;</span>\n\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-popover</span> <span class=\"hljs-attr\">effect</span>=<span class=\"hljs-string\">\"fade\"</span> <span class=\"hljs-attr\">:header</span> =<span class=\"hljs-string\">\"false\"</span> <span class=\"hljs-attr\">title</span>=<span class=\"hljs-string\">\"Title\"</span> <span class=\"hljs-attr\">placement</span>=<span class=\"hljs-string\">\"left\"</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">div</span> <span class=\"hljs-attr\">slot</span>=<span class=\"hljs-string\">\"content\"</span>&gt;</span>\n      庙里有个老和尚\n  <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">div</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-button</span>&gt;</span>Popover on left<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-button</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-popover</span>&gt;</span>\n\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-popover</span> <span class=\"hljs-attr\">effect</span>=<span class=\"hljs-string\">\"fade\"</span> <span class=\"hljs-attr\">:header</span> =<span class=\"hljs-string\">\"false\"</span> <span class=\"hljs-attr\">title</span>=<span class=\"hljs-string\">\"Title\"</span> <span class=\"hljs-attr\">placement</span>=<span class=\"hljs-string\">\"right\"</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">div</span> <span class=\"hljs-attr\">slot</span>=<span class=\"hljs-string\">\"content\"</span>&gt;</span>\n      老和尚说从前有座山\n  <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">div</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-button</span>&gt;</span>Popover on right<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-button</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-popover</span>&gt;</span>\n\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-popover</span> <span class=\"hljs-attr\">effect</span>=<span class=\"hljs-string\">\"fade\"</span> <span class=\"hljs-attr\">:header</span> =<span class=\"hljs-string\">\"false\"</span> <span class=\"hljs-attr\">placement</span>=<span class=\"hljs-string\">\"bottom\"</span> <span class=\"hljs-attr\">title</span>=<span class=\"hljs-string\">\"Title\"</span> &gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">div</span> <span class=\"hljs-attr\">slot</span>=<span class=\"hljs-string\">\"content\"</span>&gt;</span>\n      山里有座庙\n    <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">div</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-button</span>&gt;</span>Popover on bottom<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-button</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-popover</span>&gt;</span>\n\n<span class=\"hljs-comment\">&lt;!-- Trigger  --&gt;</span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-popover</span> <span class=\"hljs-attr\">effect</span>=<span class=\"hljs-string\">\"scale\"</span> <span class=\"hljs-attr\">title</span>=<span class=\"hljs-string\">\"Title\"</span> <span class=\"hljs-attr\">placement</span>=<span class=\"hljs-string\">\"top\"</span> <span class=\"hljs-attr\">trigger</span>=<span class=\"hljs-string\">\"hover\"</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">div</span> <span class=\"hljs-attr\">slot</span>=<span class=\"hljs-string\">\"content\"</span>&gt;</span>\n    庙里有个老和尚\n  <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">div</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-button</span> &gt;</span>Mouseenter<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-button</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-popover</span>&gt;</span>\n\n<span class=\"hljs-comment\">&lt;!-- Focus  --&gt;</span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-popover</span> <span class=\"hljs-attr\">effect</span>=<span class=\"hljs-string\">\"scale\"</span> <span class=\"hljs-attr\">title</span>=<span class=\"hljs-string\">\"Title\"</span> <span class=\"hljs-attr\">placement</span>=<span class=\"hljs-string\">\"bottom\"</span> <span class=\"hljs-attr\">trigger</span>=<span class=\"hljs-string\">\"focus\"</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">div</span> <span class=\"hljs-attr\">slot</span>=<span class=\"hljs-string\">\"content\"</span>&gt;</span>\n      老和尚很无聊\n  <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">div</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-input</span> <span class=\"hljs-attr\">placeholder</span>=<span class=\"hljs-string\">\"Focus\"</span> &gt;</span><span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-input</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-popover</span>&gt;</span>\n\n<span class=\"hljs-comment\">&lt;!-- 气泡确认  --&gt;</span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-pop-confirm</span>\n    <span class=\"hljs-attr\">content</span>=<span class=\"hljs-string\">\"确定删除么?\"</span>\n    <span class=\"hljs-attr\">:on-confirm</span>=<span class=\"hljs-string\">\"del(item)\"</span>&gt;</span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-button</span> &gt;</span>删除<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-button</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-pop-confirm</span>&gt;</span>\n</code></pre>\n<pre><code class=\"language-javascript\">del(item){\n  <span class=\"hljs-keyword\">return</span> <span class=\"hljs-keyword\">new</span> <span class=\"hljs-built_in\">Promise</span>(<span class=\"hljs-function\"><span class=\"hljs-keyword\">function</span>(<span class=\"hljs-params\">resolve, reject</span>) </span>{\n    setTimeout(<span class=\"hljs-function\"><span class=\"hljs-keyword\">function</span>(<span class=\"hljs-params\"></span>) </span>{\n      alert(<span class=\"hljs-string\">'删除了'</span> +  item)\n      resolve()\n    },<span class=\"hljs-number\">500</span>);\n  });\n}\n</code></pre>\n<h3>popover参数</h3>\n<table>\n<thead>\n<tr>\n<th>参数名</th>\n<th>类型</th>\n<th>默认值</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>trigger</td>\n<td><code>String</code>, 如: <code>click</code> <code>focus</code> <code>hover</code></td>\n<td><code>click</code></td>\n<td>触发方式</td>\n</tr>\n<tr>\n<td>effect</td>\n<td><code>String</code>, 如: <code>scale</code> <code>fade</code></td>\n<td><code>scale</code></td>\n<td></td>\n</tr>\n<tr>\n<td>title</td>\n<td><code>String</code></td>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>header</td>\n<td><code>Boolean</code></td>\n<td><code>true</code></td>\n<td>是否显示头部</td>\n</tr>\n<tr>\n<td>placement</td>\n<td><code>String</code>, 如: <code>top</code> <code>left</code> <code>right</code> <code>bottom</code></td>\n<td></td>\n<td>定位</td>\n</tr>\n</tbody>\n</table>\n<h3>popconfirm参数</h3>\n<table>\n<thead>\n<tr>\n<th>参数名</th>\n<th>类型</th>\n<th>默认值</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>effect</td>\n<td><code>String</code>, 如: <code>scale</code> <code>fade</code></td>\n<td><code>fade</code></td>\n<td></td>\n</tr>\n<tr>\n<td>content</td>\n<td><code>String</code></td>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>placement</td>\n<td><code>String</code>, 如: <code>top</code> <code>left</code> <code>right</code> <code>bottom</code></td>\n<td></td>\n<td>定位</td>\n</tr>\n<tr>\n<td>on-confirm</td>\n<td><code>Function</code></td>\n<td></td>\n<td>点击确定的回调函数</td>\n</tr>\n<tr>\n<td>ok-text</td>\n<td><code>String</code></td>\n<td>确定</td>\n<td>确定按钮的文案</td>\n</tr>\n<tr>\n<td>cancel-text</td>\n<td><code>String</code></td>\n<td></td>\n<td>取消按钮的文案</td>\n</tr>\n</tbody>\n</table>\n</div>\n</template>\n\n</section>";

/***/ }),
/* 464 */
/***/ (function(module, exports, __webpack_require__) {

    module.exports = __webpack_require__(465);

/***/ }),
/* 465 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __webpack_require__(466)
    __vue_script__ = __webpack_require__(468)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] node_modules/vue-markdown-loader/_cache/n3ProgressbarDocs-23.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(469)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-4adc3ef5/n3ProgressbarDocs-23.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 466 */
/***/ (function(module, exports, __webpack_require__) {

    // style-loader: Adds some css to the DOM by adding a <style> tag
    
    // load the styles
    var content = __webpack_require__(467);
    if(typeof content === 'string') content = [[module.id, content, '']];
    if(content.locals) module.exports = content.locals;
    // add the styles to the DOM
    var update = __webpack_require__(351)("82b099da", content, false);
    // Hot Module Replacement
    if(false) {
     // When the styles change, update the <style> tags
     if(!content.locals) {
       module.hot.accept("!!../../css-loader/index.js?sourceMap!../../vue-loader/lib/style-rewriter.js?id=_v-4adc3ef5&scoped=true!../../vue-loader/lib/selector.js?type=style&index=0!./n3ProgressbarDocs-23.vue", function() {
         var newContent = require("!!../../css-loader/index.js?sourceMap!../../vue-loader/lib/style-rewriter.js?id=_v-4adc3ef5&scoped=true!../../vue-loader/lib/selector.js?type=style&index=0!./n3ProgressbarDocs-23.vue");
         if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];
         update(newContent);
       });
     }
     // When the module is disposed, remove the <style> tags
     module.hot.dispose(function() { update(); });
    }

/***/ }),
/* 467 */
/***/ (function(module, exports, __webpack_require__) {

    exports = module.exports = __webpack_require__(350)();
    // imports
    
    
    // module
    exports.push([module.id, "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.margin[_v-4adc3ef5]{\n  margin-bottom:20px;\n}\n\n", "", {"version":3,"sources":["/./node_modules/vue-markdown-loader/_cache/n3ProgressbarDocs-23.vue?52e529da"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoKA;EACA,mBAAA;CACA","file":"n3ProgressbarDocs-23.vue","sourcesContent":["<template><section><template>\n<h3>进度条</h3>\n<div class=\"bs-docs-section\" id=\"进度条\">\n<blockquote>\n<p>高度</p>\n</blockquote>\n<div class=\"bs-example\">\n  <div class=\"row\">\n    <div class=\"col-md-4\">\n      <n3-progress class=\"margin\">\n        <n3-progressbar :now=\"20\" type=\"success\" height=\"10px\"></n3-progressbar>\n      </n3-progress>\n    </div>\n    <div class=\"col-md-4\">\n      <n3-progress class=\"margin\">\n        <n3-progressbar :now=\"40\" type=\"success\"></n3-progressbar>\n      </n3-progress>\n    </div>\n  </div>\n</div>\n<pre><code class=\"language-html\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-progress</span> <span class=\"hljs-attr\">class</span>=<span class=\"hljs-string\">\"margin\"</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-progressbar</span> <span class=\"hljs-attr\">:now</span>=<span class=\"hljs-string\">\"20\"</span> <span class=\"hljs-attr\">type</span>=<span class=\"hljs-string\">\"success\"</span> <span class=\"hljs-attr\">height</span>=<span class=\"hljs-string\">\"10px\"</span>&gt;</span><span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-progressbar</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-progress</span>&gt;</span>\n\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-progress</span> <span class=\"hljs-attr\">class</span>=<span class=\"hljs-string\">\"margin\"</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-progressbar</span> <span class=\"hljs-attr\">:now</span>=<span class=\"hljs-string\">\"40\"</span> <span class=\"hljs-attr\">type</span>=<span class=\"hljs-string\">\"success\"</span>&gt;</span><span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-progressbar</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-progress</span>&gt;</span>\n</code></pre>\n<blockquote>\n<p>动态变化 <n3-button @click.native=\"dynamicClick\">随机变化</n3-button></p>\n</blockquote>\n<div class=\"bs-example\">\n  <n3-progress class=\"margin\">\n    <n3-progressbar :now=\"dynamicData[0] * 2\" type=\"info\"></n3-progressbar>\n    </n3-progress>\n    <n3-progress class=\"margin\">\n    <n3-progressbar :now=\"dynamicData[1] * 2\" type=\"warning\"></n3-progressbar>\n    </n3-progress>\n    <n3-progress class=\"margin\">\n    <n3-progressbar :now=\"dynamicData[2] * 2\" type=\"danger\"></n3-progressbar>\n    </n3-progress>\n    <n3-progress>\n    <n3-progressbar :now=\"dynamicData[3] * 2\" type=\"success\" striped=\"\"></n3-progressbar>\n  </n3-progress>\n</div>\n<pre><code class=\"language-html\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-progress</span> <span class=\"hljs-attr\">class</span>=<span class=\"hljs-string\">\"margin\"</span> &gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-progressbar</span> <span class=\"hljs-attr\">:now</span>=<span class=\"hljs-string\">\"dynamicData[0] * 2\"</span> <span class=\"hljs-attr\">type</span>=<span class=\"hljs-string\">\"info\"</span> &gt;</span><span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-progressbar</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-progress</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-progress</span> <span class=\"hljs-attr\">class</span>=<span class=\"hljs-string\">\"margin\"</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-progressbar</span> <span class=\"hljs-attr\">:now</span>=<span class=\"hljs-string\">\"dynamicData[1] * 2\"</span> <span class=\"hljs-attr\">type</span>=<span class=\"hljs-string\">\"warning\"</span>&gt;</span><span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-progressbar</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-progress</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-progress</span> <span class=\"hljs-attr\">class</span>=<span class=\"hljs-string\">\"margin\"</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-progressbar</span> <span class=\"hljs-attr\">:now</span>=<span class=\"hljs-string\">\"dynamicData[2] * 2\"</span> <span class=\"hljs-attr\">type</span>=<span class=\"hljs-string\">\"danger\"</span>&gt;</span><span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-progressbar</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-progress</span> <span class=\"hljs-attr\">class</span>=<span class=\"hljs-string\">\"margin\"</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-progress</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-progressbar</span> <span class=\"hljs-attr\">:now</span>=<span class=\"hljs-string\">\"dynamicData[3] * 2\"</span> <span class=\"hljs-attr\">type</span>=<span class=\"hljs-string\">\"success\"</span> <span class=\"hljs-attr\">striped</span>&gt;</span><span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-progressbar</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-progress</span>&gt;</span>\n</code></pre>\n<pre><code class=\"language-javascript\"><span class=\"hljs-keyword\">export</span> <span class=\"hljs-keyword\">default</span> {\n  data () {\n    <span class=\"hljs-keyword\">return</span> {\n      <span class=\"hljs-attr\">dynamicData</span>: [<span class=\"hljs-number\">5</span>, <span class=\"hljs-number\">15</span>, <span class=\"hljs-number\">25</span>, <span class=\"hljs-number\">35</span>, <span class=\"hljs-number\">45</span>]\n    }\n  },\n  <span class=\"hljs-attr\">methods</span>: {\n    dynamicClick () {\n      <span class=\"hljs-keyword\">this</span>.dynamicData = <span class=\"hljs-keyword\">this</span>.dynamicData.map(<span class=\"hljs-function\"><span class=\"hljs-params\">()</span> =&gt;</span> {\n        <span class=\"hljs-keyword\">return</span> <span class=\"hljs-built_in\">Math</span>.floor(<span class=\"hljs-built_in\">Math</span>.random() * <span class=\"hljs-number\">50</span>)\n      })\n    }\n  }\n}\n</code></pre>\n<blockquote>\n<p>叠加 <n3-button @click.native=\"stackedClick\">随机变化</n3-button></p>\n</blockquote>\n<div class=\"bs-example\">\n  <n3-progress>\n    <n3-progressbar :now=\"stackedData[0]\" label=\"\" type=\"warning\" striped=\"\"></n3-progressbar>\n    <n3-progressbar :now=\"stackedData[1]\" label=\"\" type=\"success\"></n3-progressbar>\n    <n3-progressbar :now=\"stackedData[2]\" label=\"\" type=\"danger\"></n3-progressbar>\n    <n3-progressbar :now=\"stackedData[3]\" label=\"\" type=\"primary\" striped=\"\">\n  </n3-progressbar>\n</n3-progress></div>\n<pre><code class=\"language-html\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-progress</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-progressbar</span> <span class=\"hljs-attr\">:now</span>=<span class=\"hljs-string\">\"stackedData[0]\"</span> <span class=\"hljs-attr\">label</span> <span class=\"hljs-attr\">type</span>=<span class=\"hljs-string\">\"warning\"</span> <span class=\"hljs-attr\">striped</span>&gt;</span><span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-progressbar</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-progressbar</span> <span class=\"hljs-attr\">:now</span>=<span class=\"hljs-string\">\"stackedData[1]\"</span> <span class=\"hljs-attr\">label</span> <span class=\"hljs-attr\">type</span>=<span class=\"hljs-string\">\"success\"</span> &gt;</span><span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-progressbar</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-progressbar</span> <span class=\"hljs-attr\">:now</span>=<span class=\"hljs-string\">\"stackedData[2]\"</span> <span class=\"hljs-attr\">label</span> <span class=\"hljs-attr\">type</span>=<span class=\"hljs-string\">\"danger\"</span>&gt;</span><span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-progressbar</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-progressbar</span> <span class=\"hljs-attr\">:now</span>=<span class=\"hljs-string\">\"stackedData[3]\"</span> <span class=\"hljs-attr\">label</span> <span class=\"hljs-attr\">type</span>=<span class=\"hljs-string\">\"primary\"</span> <span class=\"hljs-attr\">striped</span> &gt;</span>\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-progressbar</span>&gt;</span>\n</code></pre>\n<pre><code class=\"language-javascript\"><span class=\"hljs-keyword\">export</span> <span class=\"hljs-keyword\">default</span> {\n  data () {\n    <span class=\"hljs-keyword\">return</span> {\n      <span class=\"hljs-attr\">stackedData</span>: [<span class=\"hljs-number\">10</span>, <span class=\"hljs-number\">20</span>, <span class=\"hljs-number\">30</span>, <span class=\"hljs-number\">40</span>]\n    }\n  },\n  <span class=\"hljs-attr\">methods</span>: {\n    stackedClick () {\n      <span class=\"hljs-keyword\">let</span> i = <span class=\"hljs-number\">100</span>\n      <span class=\"hljs-keyword\">this</span>.stackedData = <span class=\"hljs-keyword\">this</span>.stackedData.map(<span class=\"hljs-function\"><span class=\"hljs-params\">()</span> =&gt;</span> {\n        <span class=\"hljs-keyword\">const</span> random = <span class=\"hljs-built_in\">Math</span>.floor(<span class=\"hljs-built_in\">Math</span>.random() * i)\n        i = i - random\n        <span class=\"hljs-keyword\">return</span> random\n      })\n    }\n  }\n}\n</code></pre>\n<h3>参数</h3>\n<table>\n<thead>\n<tr>\n<th>参数名</th>\n<th>类型</th>\n<th>默认值</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>now</td>\n<td><code>Number</code></td>\n<td></td>\n<td>当前进度</td>\n</tr>\n<tr>\n<td>height</td>\n<td><code>String</code></td>\n<td>20px</td>\n<td>高度</td>\n</tr>\n<tr>\n<td>type</td>\n<td><code>String</code></td>\n<td></td>\n<td>样式</td>\n</tr>\n<tr>\n<td>label</td>\n<td><code>Boolean</code></td>\n<td><code>false</code></td>\n<td>是否显示进度提示</td>\n</tr>\n<tr>\n<td>striped</td>\n<td><code>Boolean</code></td>\n<td><code>false</code></td>\n<td>是否显示条纹</td>\n</tr>\n<tr>\n<td>animated</td>\n<td><code>Boolean</code></td>\n<td><code>false</code></td>\n<td>动画效果</td>\n</tr>\n</tbody>\n</table>\n</div>\n</template>\n\n\n</section></template>\n<style scoped>\n.margin{\n  margin-bottom:20px;\n}\n\n</style>\n<script>\nexport default {\n  data () {\n    return {\n      dynamicData: [5, 15, 25, 35, 45],\n      stackedData: [10, 20, 30, 40]\n    }\n  },\n  methods: {\n    dynamicClick () {\n      this.dynamicData = this.dynamicData.map(() => {\n        return Math.floor(Math.random() * 50)\n      })\n    },\n    stackedClick () {\n      let i = 100\n      this.stackedData = this.stackedData.map(() => {\n        const random = Math.floor(Math.random() * i)\n        i = i - random\n        return random\n      })\n    }\n  }\n}\n</script>"],"sourceRoot":"webpack://"}]);
    
    // exports


/***/ }),
/* 468 */
/***/ (function(module, exports) {

    "use strict";
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    // <template><section><template>
    // <h3>进度条</h3>
    // <div class="bs-docs-section" id="进度条">
    // <blockquote>
    // <p>高度</p>
    // </blockquote>
    // <div class="bs-example">
    //   <div class="row">
    //     <div class="col-md-4">
    //       <n3-progress class="margin">
    //         <n3-progressbar :now="20" type="success" height="10px"></n3-progressbar>
    //       </n3-progress>
    //     </div>
    //     <div class="col-md-4">
    //       <n3-progress class="margin">
    //         <n3-progressbar :now="40" type="success"></n3-progressbar>
    //       </n3-progress>
    //     </div>
    //   </div>
    // </div>
    // <pre><code class="language-html"><span class="hljs-tag">&lt;<span class="hljs-name">n3-progress</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"margin"</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-progressbar</span> <span class="hljs-attr">:now</span>=<span class="hljs-string">"20"</span> <span class="hljs-attr">type</span>=<span class="hljs-string">"success"</span> <span class="hljs-attr">height</span>=<span class="hljs-string">"10px"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">n3-progressbar</span>&gt;</span>
    // <span class="hljs-tag">&lt;/<span class="hljs-name">n3-progress</span>&gt;</span>
    //
    // <span class="hljs-tag">&lt;<span class="hljs-name">n3-progress</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"margin"</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-progressbar</span> <span class="hljs-attr">:now</span>=<span class="hljs-string">"40"</span> <span class="hljs-attr">type</span>=<span class="hljs-string">"success"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">n3-progressbar</span>&gt;</span>
    // <span class="hljs-tag">&lt;/<span class="hljs-name">n3-progress</span>&gt;</span>
    // </code></pre>
    // <blockquote>
    // <p>动态变化 <n3-button @click.native="dynamicClick">随机变化</n3-button></p>
    // </blockquote>
    // <div class="bs-example">
    //   <n3-progress class="margin">
    //     <n3-progressbar :now="dynamicData[0] * 2" type="info"></n3-progressbar>
    //     </n3-progress>
    //     <n3-progress class="margin">
    //     <n3-progressbar :now="dynamicData[1] * 2" type="warning"></n3-progressbar>
    //     </n3-progress>
    //     <n3-progress class="margin">
    //     <n3-progressbar :now="dynamicData[2] * 2" type="danger"></n3-progressbar>
    //     </n3-progress>
    //     <n3-progress>
    //     <n3-progressbar :now="dynamicData[3] * 2" type="success" striped=""></n3-progressbar>
    //   </n3-progress>
    // </div>
    // <pre><code class="language-html"><span class="hljs-tag">&lt;<span class="hljs-name">n3-progress</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"margin"</span> &gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-progressbar</span> <span class="hljs-attr">:now</span>=<span class="hljs-string">"dynamicData[0] * 2"</span> <span class="hljs-attr">type</span>=<span class="hljs-string">"info"</span> &gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">n3-progressbar</span>&gt;</span>
    //   <span class="hljs-tag">&lt;/<span class="hljs-name">n3-progress</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-progress</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"margin"</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-progressbar</span> <span class="hljs-attr">:now</span>=<span class="hljs-string">"dynamicData[1] * 2"</span> <span class="hljs-attr">type</span>=<span class="hljs-string">"warning"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">n3-progressbar</span>&gt;</span>
    //   <span class="hljs-tag">&lt;/<span class="hljs-name">n3-progress</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-progress</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"margin"</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-progressbar</span> <span class="hljs-attr">:now</span>=<span class="hljs-string">"dynamicData[2] * 2"</span> <span class="hljs-attr">type</span>=<span class="hljs-string">"danger"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">n3-progressbar</span>&gt;</span>
    //   <span class="hljs-tag">&lt;/<span class="hljs-name">n3-progress</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"margin"</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-progress</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-progressbar</span> <span class="hljs-attr">:now</span>=<span class="hljs-string">"dynamicData[3] * 2"</span> <span class="hljs-attr">type</span>=<span class="hljs-string">"success"</span> <span class="hljs-attr">striped</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">n3-progressbar</span>&gt;</span>
    // <span class="hljs-tag">&lt;/<span class="hljs-name">n3-progress</span>&gt;</span>
    // </code></pre>
    // <pre><code class="language-javascript"><span class="hljs-keyword">export</span> <span class="hljs-keyword">default</span> {
    //   data () {
    //     <span class="hljs-keyword">return</span> {
    //       <span class="hljs-attr">dynamicData</span>: [<span class="hljs-number">5</span>, <span class="hljs-number">15</span>, <span class="hljs-number">25</span>, <span class="hljs-number">35</span>, <span class="hljs-number">45</span>]
    //     }
    //   },
    //   <span class="hljs-attr">methods</span>: {
    //     dynamicClick () {
    //       <span class="hljs-keyword">this</span>.dynamicData = <span class="hljs-keyword">this</span>.dynamicData.map(<span class="hljs-function"><span class="hljs-params">()</span> =&gt;</span> {
    //         <span class="hljs-keyword">return</span> <span class="hljs-built_in">Math</span>.floor(<span class="hljs-built_in">Math</span>.random() * <span class="hljs-number">50</span>)
    //       })
    //     }
    //   }
    // }
    // </code></pre>
    // <blockquote>
    // <p>叠加 <n3-button @click.native="stackedClick">随机变化</n3-button></p>
    // </blockquote>
    // <div class="bs-example">
    //   <n3-progress>
    //     <n3-progressbar :now="stackedData[0]" label="" type="warning" striped=""></n3-progressbar>
    //     <n3-progressbar :now="stackedData[1]" label="" type="success"></n3-progressbar>
    //     <n3-progressbar :now="stackedData[2]" label="" type="danger"></n3-progressbar>
    //     <n3-progressbar :now="stackedData[3]" label="" type="primary" striped="">
    //   </n3-progressbar>
    // </n3-progress></div>
    // <pre><code class="language-html"><span class="hljs-tag">&lt;<span class="hljs-name">n3-progress</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-progressbar</span> <span class="hljs-attr">:now</span>=<span class="hljs-string">"stackedData[0]"</span> <span class="hljs-attr">label</span> <span class="hljs-attr">type</span>=<span class="hljs-string">"warning"</span> <span class="hljs-attr">striped</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">n3-progressbar</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-progressbar</span> <span class="hljs-attr">:now</span>=<span class="hljs-string">"stackedData[1]"</span> <span class="hljs-attr">label</span> <span class="hljs-attr">type</span>=<span class="hljs-string">"success"</span> &gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">n3-progressbar</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-progressbar</span> <span class="hljs-attr">:now</span>=<span class="hljs-string">"stackedData[2]"</span> <span class="hljs-attr">label</span> <span class="hljs-attr">type</span>=<span class="hljs-string">"danger"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">n3-progressbar</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-progressbar</span> <span class="hljs-attr">:now</span>=<span class="hljs-string">"stackedData[3]"</span> <span class="hljs-attr">label</span> <span class="hljs-attr">type</span>=<span class="hljs-string">"primary"</span> <span class="hljs-attr">striped</span> &gt;</span>
    // <span class="hljs-tag">&lt;/<span class="hljs-name">n3-progressbar</span>&gt;</span>
    // </code></pre>
    // <pre><code class="language-javascript"><span class="hljs-keyword">export</span> <span class="hljs-keyword">default</span> {
    //   data () {
    //     <span class="hljs-keyword">return</span> {
    //       <span class="hljs-attr">stackedData</span>: [<span class="hljs-number">10</span>, <span class="hljs-number">20</span>, <span class="hljs-number">30</span>, <span class="hljs-number">40</span>]
    //     }
    //   },
    //   <span class="hljs-attr">methods</span>: {
    //     stackedClick () {
    //       <span class="hljs-keyword">let</span> i = <span class="hljs-number">100</span>
    //       <span class="hljs-keyword">this</span>.stackedData = <span class="hljs-keyword">this</span>.stackedData.map(<span class="hljs-function"><span class="hljs-params">()</span> =&gt;</span> {
    //         <span class="hljs-keyword">const</span> random = <span class="hljs-built_in">Math</span>.floor(<span class="hljs-built_in">Math</span>.random() * i)
    //         i = i - random
    //         <span class="hljs-keyword">return</span> random
    //       })
    //     }
    //   }
    // }
    // </code></pre>
    // <h3>参数</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>参数名</th>
    // <th>类型</th>
    // <th>默认值</th>
    // <th>说明</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>now</td>
    // <td><code>Number</code></td>
    // <td></td>
    // <td>当前进度</td>
    // </tr>
    // <tr>
    // <td>height</td>
    // <td><code>String</code></td>
    // <td>20px</td>
    // <td>高度</td>
    // </tr>
    // <tr>
    // <td>type</td>
    // <td><code>String</code></td>
    // <td></td>
    // <td>样式</td>
    // </tr>
    // <tr>
    // <td>label</td>
    // <td><code>Boolean</code></td>
    // <td><code>false</code></td>
    // <td>是否显示进度提示</td>
    // </tr>
    // <tr>
    // <td>striped</td>
    // <td><code>Boolean</code></td>
    // <td><code>false</code></td>
    // <td>是否显示条纹</td>
    // </tr>
    // <tr>
    // <td>animated</td>
    // <td><code>Boolean</code></td>
    // <td><code>false</code></td>
    // <td>动画效果</td>
    // </tr>
    // </tbody>
    // </table>
    // </div>
    // </template>
    //
    //
    // </section></template>
    // <style scoped>
    // .margin{
    //   margin-bottom:20px;
    // }
    //
    // </style>
    // <script>
    exports.default = {
      data: function data() {
        return {
          dynamicData: [5, 15, 25, 35, 45],
          stackedData: [10, 20, 30, 40]
        };
      },
    
      methods: {
        dynamicClick: function dynamicClick() {
          this.dynamicData = this.dynamicData.map(function () {
            return Math.floor(Math.random() * 50);
          });
        },
        stackedClick: function stackedClick() {
          var i = 100;
          this.stackedData = this.stackedData.map(function () {
            var random = Math.floor(Math.random() * i);
            i = i - random;
            return random;
          });
        }
      }
    };
    // </script>
    /* generated by vue-loader */

/***/ }),
/* 469 */
/***/ (function(module, exports) {

    module.exports = "<section _v-4adc3ef5=\"\"><template>\n<h3 _v-4adc3ef5=\"\">进度条</h3>\n<div class=\"bs-docs-section\" id=\"进度条\" _v-4adc3ef5=\"\">\n<blockquote _v-4adc3ef5=\"\">\n<p _v-4adc3ef5=\"\">高度</p>\n</blockquote>\n<div class=\"bs-example\" _v-4adc3ef5=\"\">\n  <div class=\"row\" _v-4adc3ef5=\"\">\n    <div class=\"col-md-4\" _v-4adc3ef5=\"\">\n      <n3-progress class=\"margin\" _v-4adc3ef5=\"\">\n        <n3-progressbar :now=\"20\" type=\"success\" height=\"10px\" _v-4adc3ef5=\"\"></n3-progressbar>\n      </n3-progress>\n    </div>\n    <div class=\"col-md-4\" _v-4adc3ef5=\"\">\n      <n3-progress class=\"margin\" _v-4adc3ef5=\"\">\n        <n3-progressbar :now=\"40\" type=\"success\" _v-4adc3ef5=\"\"></n3-progressbar>\n      </n3-progress>\n    </div>\n  </div>\n</div>\n<pre _v-4adc3ef5=\"\"><code class=\"language-html\" _v-4adc3ef5=\"\"><span class=\"hljs-tag\" _v-4adc3ef5=\"\">&lt;<span class=\"hljs-name\" _v-4adc3ef5=\"\">n3-progress</span> <span class=\"hljs-attr\" _v-4adc3ef5=\"\">class</span>=<span class=\"hljs-string\" _v-4adc3ef5=\"\">\"margin\"</span>&gt;</span>\n  <span class=\"hljs-tag\" _v-4adc3ef5=\"\">&lt;<span class=\"hljs-name\" _v-4adc3ef5=\"\">n3-progressbar</span> <span class=\"hljs-attr\" _v-4adc3ef5=\"\">:now</span>=<span class=\"hljs-string\" _v-4adc3ef5=\"\">\"20\"</span> <span class=\"hljs-attr\" _v-4adc3ef5=\"\">type</span>=<span class=\"hljs-string\" _v-4adc3ef5=\"\">\"success\"</span> <span class=\"hljs-attr\" _v-4adc3ef5=\"\">height</span>=<span class=\"hljs-string\" _v-4adc3ef5=\"\">\"10px\"</span>&gt;</span><span class=\"hljs-tag\" _v-4adc3ef5=\"\">&lt;/<span class=\"hljs-name\" _v-4adc3ef5=\"\">n3-progressbar</span>&gt;</span>\n<span class=\"hljs-tag\" _v-4adc3ef5=\"\">&lt;/<span class=\"hljs-name\" _v-4adc3ef5=\"\">n3-progress</span>&gt;</span>\n\n<span class=\"hljs-tag\" _v-4adc3ef5=\"\">&lt;<span class=\"hljs-name\" _v-4adc3ef5=\"\">n3-progress</span> <span class=\"hljs-attr\" _v-4adc3ef5=\"\">class</span>=<span class=\"hljs-string\" _v-4adc3ef5=\"\">\"margin\"</span>&gt;</span>\n  <span class=\"hljs-tag\" _v-4adc3ef5=\"\">&lt;<span class=\"hljs-name\" _v-4adc3ef5=\"\">n3-progressbar</span> <span class=\"hljs-attr\" _v-4adc3ef5=\"\">:now</span>=<span class=\"hljs-string\" _v-4adc3ef5=\"\">\"40\"</span> <span class=\"hljs-attr\" _v-4adc3ef5=\"\">type</span>=<span class=\"hljs-string\" _v-4adc3ef5=\"\">\"success\"</span>&gt;</span><span class=\"hljs-tag\" _v-4adc3ef5=\"\">&lt;/<span class=\"hljs-name\" _v-4adc3ef5=\"\">n3-progressbar</span>&gt;</span>\n<span class=\"hljs-tag\" _v-4adc3ef5=\"\">&lt;/<span class=\"hljs-name\" _v-4adc3ef5=\"\">n3-progress</span>&gt;</span>\n</code></pre>\n<blockquote _v-4adc3ef5=\"\">\n<p _v-4adc3ef5=\"\">动态变化 <n3-button @click.native=\"dynamicClick\" _v-4adc3ef5=\"\">随机变化</n3-button></p>\n</blockquote>\n<div class=\"bs-example\" _v-4adc3ef5=\"\">\n  <n3-progress class=\"margin\" _v-4adc3ef5=\"\">\n    <n3-progressbar :now=\"dynamicData[0] * 2\" type=\"info\" _v-4adc3ef5=\"\"></n3-progressbar>\n    </n3-progress>\n    <n3-progress class=\"margin\" _v-4adc3ef5=\"\">\n    <n3-progressbar :now=\"dynamicData[1] * 2\" type=\"warning\" _v-4adc3ef5=\"\"></n3-progressbar>\n    </n3-progress>\n    <n3-progress class=\"margin\" _v-4adc3ef5=\"\">\n    <n3-progressbar :now=\"dynamicData[2] * 2\" type=\"danger\" _v-4adc3ef5=\"\"></n3-progressbar>\n    </n3-progress>\n    <n3-progress _v-4adc3ef5=\"\">\n    <n3-progressbar :now=\"dynamicData[3] * 2\" type=\"success\" striped=\"\" _v-4adc3ef5=\"\"></n3-progressbar>\n  </n3-progress>\n</div>\n<pre _v-4adc3ef5=\"\"><code class=\"language-html\" _v-4adc3ef5=\"\"><span class=\"hljs-tag\" _v-4adc3ef5=\"\">&lt;<span class=\"hljs-name\" _v-4adc3ef5=\"\">n3-progress</span> <span class=\"hljs-attr\" _v-4adc3ef5=\"\">class</span>=<span class=\"hljs-string\" _v-4adc3ef5=\"\">\"margin\"</span> &gt;</span>\n  <span class=\"hljs-tag\" _v-4adc3ef5=\"\">&lt;<span class=\"hljs-name\" _v-4adc3ef5=\"\">n3-progressbar</span> <span class=\"hljs-attr\" _v-4adc3ef5=\"\">:now</span>=<span class=\"hljs-string\" _v-4adc3ef5=\"\">\"dynamicData[0] * 2\"</span> <span class=\"hljs-attr\" _v-4adc3ef5=\"\">type</span>=<span class=\"hljs-string\" _v-4adc3ef5=\"\">\"info\"</span> &gt;</span><span class=\"hljs-tag\" _v-4adc3ef5=\"\">&lt;/<span class=\"hljs-name\" _v-4adc3ef5=\"\">n3-progressbar</span>&gt;</span>\n  <span class=\"hljs-tag\" _v-4adc3ef5=\"\">&lt;/<span class=\"hljs-name\" _v-4adc3ef5=\"\">n3-progress</span>&gt;</span>\n  <span class=\"hljs-tag\" _v-4adc3ef5=\"\">&lt;<span class=\"hljs-name\" _v-4adc3ef5=\"\">n3-progress</span> <span class=\"hljs-attr\" _v-4adc3ef5=\"\">class</span>=<span class=\"hljs-string\" _v-4adc3ef5=\"\">\"margin\"</span>&gt;</span>\n  <span class=\"hljs-tag\" _v-4adc3ef5=\"\">&lt;<span class=\"hljs-name\" _v-4adc3ef5=\"\">n3-progressbar</span> <span class=\"hljs-attr\" _v-4adc3ef5=\"\">:now</span>=<span class=\"hljs-string\" _v-4adc3ef5=\"\">\"dynamicData[1] * 2\"</span> <span class=\"hljs-attr\" _v-4adc3ef5=\"\">type</span>=<span class=\"hljs-string\" _v-4adc3ef5=\"\">\"warning\"</span>&gt;</span><span class=\"hljs-tag\" _v-4adc3ef5=\"\">&lt;/<span class=\"hljs-name\" _v-4adc3ef5=\"\">n3-progressbar</span>&gt;</span>\n  <span class=\"hljs-tag\" _v-4adc3ef5=\"\">&lt;/<span class=\"hljs-name\" _v-4adc3ef5=\"\">n3-progress</span>&gt;</span>\n  <span class=\"hljs-tag\" _v-4adc3ef5=\"\">&lt;<span class=\"hljs-name\" _v-4adc3ef5=\"\">n3-progress</span> <span class=\"hljs-attr\" _v-4adc3ef5=\"\">class</span>=<span class=\"hljs-string\" _v-4adc3ef5=\"\">\"margin\"</span>&gt;</span>\n  <span class=\"hljs-tag\" _v-4adc3ef5=\"\">&lt;<span class=\"hljs-name\" _v-4adc3ef5=\"\">n3-progressbar</span> <span class=\"hljs-attr\" _v-4adc3ef5=\"\">:now</span>=<span class=\"hljs-string\" _v-4adc3ef5=\"\">\"dynamicData[2] * 2\"</span> <span class=\"hljs-attr\" _v-4adc3ef5=\"\">type</span>=<span class=\"hljs-string\" _v-4adc3ef5=\"\">\"danger\"</span>&gt;</span><span class=\"hljs-tag\" _v-4adc3ef5=\"\">&lt;/<span class=\"hljs-name\" _v-4adc3ef5=\"\">n3-progressbar</span>&gt;</span>\n  <span class=\"hljs-tag\" _v-4adc3ef5=\"\">&lt;/<span class=\"hljs-name\" _v-4adc3ef5=\"\">n3-progress</span> <span class=\"hljs-attr\" _v-4adc3ef5=\"\">class</span>=<span class=\"hljs-string\" _v-4adc3ef5=\"\">\"margin\"</span>&gt;</span>\n  <span class=\"hljs-tag\" _v-4adc3ef5=\"\">&lt;<span class=\"hljs-name\" _v-4adc3ef5=\"\">n3-progress</span>&gt;</span>\n  <span class=\"hljs-tag\" _v-4adc3ef5=\"\">&lt;<span class=\"hljs-name\" _v-4adc3ef5=\"\">n3-progressbar</span> <span class=\"hljs-attr\" _v-4adc3ef5=\"\">:now</span>=<span class=\"hljs-string\" _v-4adc3ef5=\"\">\"dynamicData[3] * 2\"</span> <span class=\"hljs-attr\" _v-4adc3ef5=\"\">type</span>=<span class=\"hljs-string\" _v-4adc3ef5=\"\">\"success\"</span> <span class=\"hljs-attr\" _v-4adc3ef5=\"\">striped</span>&gt;</span><span class=\"hljs-tag\" _v-4adc3ef5=\"\">&lt;/<span class=\"hljs-name\" _v-4adc3ef5=\"\">n3-progressbar</span>&gt;</span>\n<span class=\"hljs-tag\" _v-4adc3ef5=\"\">&lt;/<span class=\"hljs-name\" _v-4adc3ef5=\"\">n3-progress</span>&gt;</span>\n</code></pre>\n<pre _v-4adc3ef5=\"\"><code class=\"language-javascript\" _v-4adc3ef5=\"\"><span class=\"hljs-keyword\" _v-4adc3ef5=\"\">export</span> <span class=\"hljs-keyword\" _v-4adc3ef5=\"\">default</span> {\n  data () {\n    <span class=\"hljs-keyword\" _v-4adc3ef5=\"\">return</span> {\n      <span class=\"hljs-attr\" _v-4adc3ef5=\"\">dynamicData</span>: [<span class=\"hljs-number\" _v-4adc3ef5=\"\">5</span>, <span class=\"hljs-number\" _v-4adc3ef5=\"\">15</span>, <span class=\"hljs-number\" _v-4adc3ef5=\"\">25</span>, <span class=\"hljs-number\" _v-4adc3ef5=\"\">35</span>, <span class=\"hljs-number\" _v-4adc3ef5=\"\">45</span>]\n    }\n  },\n  <span class=\"hljs-attr\" _v-4adc3ef5=\"\">methods</span>: {\n    dynamicClick () {\n      <span class=\"hljs-keyword\" _v-4adc3ef5=\"\">this</span>.dynamicData = <span class=\"hljs-keyword\" _v-4adc3ef5=\"\">this</span>.dynamicData.map(<span class=\"hljs-function\" _v-4adc3ef5=\"\"><span class=\"hljs-params\" _v-4adc3ef5=\"\">()</span> =&gt;</span> {\n        <span class=\"hljs-keyword\" _v-4adc3ef5=\"\">return</span> <span class=\"hljs-built_in\" _v-4adc3ef5=\"\">Math</span>.floor(<span class=\"hljs-built_in\" _v-4adc3ef5=\"\">Math</span>.random() * <span class=\"hljs-number\" _v-4adc3ef5=\"\">50</span>)\n      })\n    }\n  }\n}\n</code></pre>\n<blockquote _v-4adc3ef5=\"\">\n<p _v-4adc3ef5=\"\">叠加 <n3-button @click.native=\"stackedClick\" _v-4adc3ef5=\"\">随机变化</n3-button></p>\n</blockquote>\n<div class=\"bs-example\" _v-4adc3ef5=\"\">\n  <n3-progress _v-4adc3ef5=\"\">\n    <n3-progressbar :now=\"stackedData[0]\" label=\"\" type=\"warning\" striped=\"\" _v-4adc3ef5=\"\"></n3-progressbar>\n    <n3-progressbar :now=\"stackedData[1]\" label=\"\" type=\"success\" _v-4adc3ef5=\"\"></n3-progressbar>\n    <n3-progressbar :now=\"stackedData[2]\" label=\"\" type=\"danger\" _v-4adc3ef5=\"\"></n3-progressbar>\n    <n3-progressbar :now=\"stackedData[3]\" label=\"\" type=\"primary\" striped=\"\" _v-4adc3ef5=\"\">\n  </n3-progressbar>\n</n3-progress></div>\n<pre _v-4adc3ef5=\"\"><code class=\"language-html\" _v-4adc3ef5=\"\"><span class=\"hljs-tag\" _v-4adc3ef5=\"\">&lt;<span class=\"hljs-name\" _v-4adc3ef5=\"\">n3-progress</span>&gt;</span>\n  <span class=\"hljs-tag\" _v-4adc3ef5=\"\">&lt;<span class=\"hljs-name\" _v-4adc3ef5=\"\">n3-progressbar</span> <span class=\"hljs-attr\" _v-4adc3ef5=\"\">:now</span>=<span class=\"hljs-string\" _v-4adc3ef5=\"\">\"stackedData[0]\"</span> <span class=\"hljs-attr\" _v-4adc3ef5=\"\">label</span> <span class=\"hljs-attr\" _v-4adc3ef5=\"\">type</span>=<span class=\"hljs-string\" _v-4adc3ef5=\"\">\"warning\"</span> <span class=\"hljs-attr\" _v-4adc3ef5=\"\">striped</span>&gt;</span><span class=\"hljs-tag\" _v-4adc3ef5=\"\">&lt;/<span class=\"hljs-name\" _v-4adc3ef5=\"\">n3-progressbar</span>&gt;</span>\n  <span class=\"hljs-tag\" _v-4adc3ef5=\"\">&lt;<span class=\"hljs-name\" _v-4adc3ef5=\"\">n3-progressbar</span> <span class=\"hljs-attr\" _v-4adc3ef5=\"\">:now</span>=<span class=\"hljs-string\" _v-4adc3ef5=\"\">\"stackedData[1]\"</span> <span class=\"hljs-attr\" _v-4adc3ef5=\"\">label</span> <span class=\"hljs-attr\" _v-4adc3ef5=\"\">type</span>=<span class=\"hljs-string\" _v-4adc3ef5=\"\">\"success\"</span> &gt;</span><span class=\"hljs-tag\" _v-4adc3ef5=\"\">&lt;/<span class=\"hljs-name\" _v-4adc3ef5=\"\">n3-progressbar</span>&gt;</span>\n  <span class=\"hljs-tag\" _v-4adc3ef5=\"\">&lt;<span class=\"hljs-name\" _v-4adc3ef5=\"\">n3-progressbar</span> <span class=\"hljs-attr\" _v-4adc3ef5=\"\">:now</span>=<span class=\"hljs-string\" _v-4adc3ef5=\"\">\"stackedData[2]\"</span> <span class=\"hljs-attr\" _v-4adc3ef5=\"\">label</span> <span class=\"hljs-attr\" _v-4adc3ef5=\"\">type</span>=<span class=\"hljs-string\" _v-4adc3ef5=\"\">\"danger\"</span>&gt;</span><span class=\"hljs-tag\" _v-4adc3ef5=\"\">&lt;/<span class=\"hljs-name\" _v-4adc3ef5=\"\">n3-progressbar</span>&gt;</span>\n  <span class=\"hljs-tag\" _v-4adc3ef5=\"\">&lt;<span class=\"hljs-name\" _v-4adc3ef5=\"\">n3-progressbar</span> <span class=\"hljs-attr\" _v-4adc3ef5=\"\">:now</span>=<span class=\"hljs-string\" _v-4adc3ef5=\"\">\"stackedData[3]\"</span> <span class=\"hljs-attr\" _v-4adc3ef5=\"\">label</span> <span class=\"hljs-attr\" _v-4adc3ef5=\"\">type</span>=<span class=\"hljs-string\" _v-4adc3ef5=\"\">\"primary\"</span> <span class=\"hljs-attr\" _v-4adc3ef5=\"\">striped</span> &gt;</span>\n<span class=\"hljs-tag\" _v-4adc3ef5=\"\">&lt;/<span class=\"hljs-name\" _v-4adc3ef5=\"\">n3-progressbar</span>&gt;</span>\n</code></pre>\n<pre _v-4adc3ef5=\"\"><code class=\"language-javascript\" _v-4adc3ef5=\"\"><span class=\"hljs-keyword\" _v-4adc3ef5=\"\">export</span> <span class=\"hljs-keyword\" _v-4adc3ef5=\"\">default</span> {\n  data () {\n    <span class=\"hljs-keyword\" _v-4adc3ef5=\"\">return</span> {\n      <span class=\"hljs-attr\" _v-4adc3ef5=\"\">stackedData</span>: [<span class=\"hljs-number\" _v-4adc3ef5=\"\">10</span>, <span class=\"hljs-number\" _v-4adc3ef5=\"\">20</span>, <span class=\"hljs-number\" _v-4adc3ef5=\"\">30</span>, <span class=\"hljs-number\" _v-4adc3ef5=\"\">40</span>]\n    }\n  },\n  <span class=\"hljs-attr\" _v-4adc3ef5=\"\">methods</span>: {\n    stackedClick () {\n      <span class=\"hljs-keyword\" _v-4adc3ef5=\"\">let</span> i = <span class=\"hljs-number\" _v-4adc3ef5=\"\">100</span>\n      <span class=\"hljs-keyword\" _v-4adc3ef5=\"\">this</span>.stackedData = <span class=\"hljs-keyword\" _v-4adc3ef5=\"\">this</span>.stackedData.map(<span class=\"hljs-function\" _v-4adc3ef5=\"\"><span class=\"hljs-params\" _v-4adc3ef5=\"\">()</span> =&gt;</span> {\n        <span class=\"hljs-keyword\" _v-4adc3ef5=\"\">const</span> random = <span class=\"hljs-built_in\" _v-4adc3ef5=\"\">Math</span>.floor(<span class=\"hljs-built_in\" _v-4adc3ef5=\"\">Math</span>.random() * i)\n        i = i - random\n        <span class=\"hljs-keyword\" _v-4adc3ef5=\"\">return</span> random\n      })\n    }\n  }\n}\n</code></pre>\n<h3 _v-4adc3ef5=\"\">参数</h3>\n<table _v-4adc3ef5=\"\">\n<thead _v-4adc3ef5=\"\">\n<tr _v-4adc3ef5=\"\">\n<th _v-4adc3ef5=\"\">参数名</th>\n<th _v-4adc3ef5=\"\">类型</th>\n<th _v-4adc3ef5=\"\">默认值</th>\n<th _v-4adc3ef5=\"\">说明</th>\n</tr>\n</thead>\n<tbody _v-4adc3ef5=\"\">\n<tr _v-4adc3ef5=\"\">\n<td _v-4adc3ef5=\"\">now</td>\n<td _v-4adc3ef5=\"\"><code _v-4adc3ef5=\"\">Number</code></td>\n<td _v-4adc3ef5=\"\"></td>\n<td _v-4adc3ef5=\"\">当前进度</td>\n</tr>\n<tr _v-4adc3ef5=\"\">\n<td _v-4adc3ef5=\"\">height</td>\n<td _v-4adc3ef5=\"\"><code _v-4adc3ef5=\"\">String</code></td>\n<td _v-4adc3ef5=\"\">20px</td>\n<td _v-4adc3ef5=\"\">高度</td>\n</tr>\n<tr _v-4adc3ef5=\"\">\n<td _v-4adc3ef5=\"\">type</td>\n<td _v-4adc3ef5=\"\"><code _v-4adc3ef5=\"\">String</code></td>\n<td _v-4adc3ef5=\"\"></td>\n<td _v-4adc3ef5=\"\">样式</td>\n</tr>\n<tr _v-4adc3ef5=\"\">\n<td _v-4adc3ef5=\"\">label</td>\n<td _v-4adc3ef5=\"\"><code _v-4adc3ef5=\"\">Boolean</code></td>\n<td _v-4adc3ef5=\"\"><code _v-4adc3ef5=\"\">false</code></td>\n<td _v-4adc3ef5=\"\">是否显示进度提示</td>\n</tr>\n<tr _v-4adc3ef5=\"\">\n<td _v-4adc3ef5=\"\">striped</td>\n<td _v-4adc3ef5=\"\"><code _v-4adc3ef5=\"\">Boolean</code></td>\n<td _v-4adc3ef5=\"\"><code _v-4adc3ef5=\"\">false</code></td>\n<td _v-4adc3ef5=\"\">是否显示条纹</td>\n</tr>\n<tr _v-4adc3ef5=\"\">\n<td _v-4adc3ef5=\"\">animated</td>\n<td _v-4adc3ef5=\"\"><code _v-4adc3ef5=\"\">Boolean</code></td>\n<td _v-4adc3ef5=\"\"><code _v-4adc3ef5=\"\">false</code></td>\n<td _v-4adc3ef5=\"\">动画效果</td>\n</tr>\n</tbody>\n</table>\n</div>\n</template>\n\n\n</section>";

/***/ }),
/* 470 */
/***/ (function(module, exports, __webpack_require__) {

    module.exports = __webpack_require__(471);

/***/ }),
/* 471 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(472)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] node_modules/vue-markdown-loader/_cache/n3SelectDocs-24.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(473)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-17c8f1a0/n3SelectDocs-24.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 472 */
/***/ (function(module, exports) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    // <template><section><template>
    // <h3>选择框</h3>
    // <div class="bs-docs-section" id="选择框">
    // <div class="bs-example">
    // <blockquote>
    // <p>单选</p>
    // </blockquote>
    //   <p>
    //     <pre>
    // Select data : {{single}}
    //     </pre>
    //   </p>
    //   <n3-select v-model="single">
    //     <n3-option value="Apple">Apple</n3-option>
    //     <n3-option value="Banana">Banana</n3-option>
    //     <n3-option value="Cherry">Cherry</n3-option>
    //     <n3-option value="Orange">Orange</n3-option>
    //     <n3-option value="Grape">Grape</n3-option>
    //   </n3-select>
    //   <hr>
    // <blockquote>
    // <p>多选</p>
    // </blockquote>
    //   <p>
    //     <pre>
    // Select data : {{multiple.join(', ')}}
    //     </pre>
    //   </p>
    //   <n3-select multiple v-model="multiple" search="">
    //     <n3-option value="Apple">Apple</n3-option>
    //     <n3-option value="Banana">Banana</n3-option>
    //     <n3-option value="Cherry">Cherry</n3-option>
    //     <n3-option value="Orange">Orange</n3-option>
    //     <n3-option value="Grape">Grape</n3-option>
    //   </n3-select>
    //   <hr>
    // <blockquote>
    // <p>多选限制</p>
    // </blockquote>
    //   <p>
    //     <pre>
    // Select data : {{multipleLimit.join(', ')}}
    //     </pre>
    //   </p>
    //   <n3-select multiple :limit="2" v-model="multipleLimit" search="" extra="">
    //     <n3-option value="Apple">Apple</n3-option>
    //     <n3-option value="Banana">Banana</n3-option>
    //     <n3-option value="Cherry">Cherry</n3-option>
    //     <n3-option value="Orange">Orange</n3-option>
    //     <n3-option value="Grape">Grape</n3-option>
    //   </n3-select>
    //   <hr>
    // <blockquote>
    // <p>自定义内容</p>
    // </blockquote>
    //   <p>
    //     <pre>
    // Select data : {{custom.join(', ')}}
    //     </pre>
    //   </p>
    //   <n3-select multiple v-model="custom">
    //     <n3-option value="Star"><span class="n3-fa n3-fa-star"></span> Star</n3-option>
    //     <n3-option value="Heart"><span class="n3-fa n3-fa-heart"></span> Heart</n3-option>
    //     <n3-option value="Film"><span class="n3-fa n3-fa-film"></span> Film</n3-option>
    //     <n3-option value="Inbox"><span class="n3-fa n3-fa-inbox"></span> Inbox</n3-option>
    //   </n3-select>
    //   <hr>
    // <blockquote>
    // <p>传递数组,支持搜索</p>
    // </blockquote>
    //   <p>
    //     支持只传递接json数组,可以支持搜索
    //     <pre>
    // Select data : {{arr}}
    //     </pre>
    //   </p>
    //   <n3-select v-model="arr" :options="fruitOptions" :search="true" multiple extra="" width="200px">
    //   </n3-select>
    // </div>
    // <pre><code class="language-html"><span class="hljs-comment">&lt;!-- 单选框 --&gt;</span>
    // <span class="hljs-tag">&lt;<span class="hljs-name">n3-select</span> <span class="hljs-attr">v-model</span>=<span class="hljs-string">"single"</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-option</span> <span class="hljs-attr">value</span>=<span class="hljs-string">"Apple"</span>&gt;</span>Apple<span class="hljs-tag">&lt;/<span class="hljs-name">n3-option</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-option</span> <span class="hljs-attr">value</span>=<span class="hljs-string">"Banana"</span>&gt;</span>Banana<span class="hljs-tag">&lt;/<span class="hljs-name">n3-option</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-option</span> <span class="hljs-attr">value</span>=<span class="hljs-string">"Cherry"</span>&gt;</span>Cherry<span class="hljs-tag">&lt;/<span class="hljs-name">n3-option</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-option</span> <span class="hljs-attr">value</span>=<span class="hljs-string">"Orange"</span>&gt;</span>Orange<span class="hljs-tag">&lt;/<span class="hljs-name">n3-option</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-option</span> <span class="hljs-attr">value</span>=<span class="hljs-string">"Grape"</span>&gt;</span>Grape<span class="hljs-tag">&lt;/<span class="hljs-name">n3-option</span>&gt;</span>
    // <span class="hljs-tag">&lt;/<span class="hljs-name">n3-select</span>&gt;</span>
    //
    // <span class="hljs-comment">&lt;!-- 多选框 --&gt;</span>
    // <span class="hljs-tag">&lt;<span class="hljs-name">n3-select</span> <span class="hljs-attr">multiple</span> <span class="hljs-attr">v-model</span>=<span class="hljs-string">"multiple"</span> <span class="hljs-attr">search</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-option</span> <span class="hljs-attr">value</span>=<span class="hljs-string">"Apple"</span>&gt;</span>Apple<span class="hljs-tag">&lt;/<span class="hljs-name">n3-option</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-option</span> <span class="hljs-attr">value</span>=<span class="hljs-string">"Banana"</span>&gt;</span>Banana<span class="hljs-tag">&lt;/<span class="hljs-name">n3-option</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-option</span> <span class="hljs-attr">value</span>=<span class="hljs-string">"Cherry"</span>&gt;</span>Cherry<span class="hljs-tag">&lt;/<span class="hljs-name">n3-option</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-option</span> <span class="hljs-attr">value</span>=<span class="hljs-string">"Orange"</span>&gt;</span>Orange<span class="hljs-tag">&lt;/<span class="hljs-name">n3-option</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-option</span> <span class="hljs-attr">value</span>=<span class="hljs-string">"Grape"</span>&gt;</span>Grape<span class="hljs-tag">&lt;/<span class="hljs-name">n3-option</span>&gt;</span>
    // <span class="hljs-tag">&lt;/<span class="hljs-name">n3-select</span>&gt;</span>
    //
    // <span class="hljs-comment">&lt;!-- 多选限制 --&gt;</span>
    // <span class="hljs-tag">&lt;<span class="hljs-name">n3-select</span> <span class="hljs-attr">multiple</span> <span class="hljs-attr">:limit</span>=<span class="hljs-string">"2"</span> <span class="hljs-attr">v-model</span>=<span class="hljs-string">"multipleLimit"</span> <span class="hljs-attr">search</span> <span class="hljs-attr">extra</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-option</span> <span class="hljs-attr">value</span>=<span class="hljs-string">"Apple"</span>&gt;</span>Apple<span class="hljs-tag">&lt;/<span class="hljs-name">n3-option</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-option</span> <span class="hljs-attr">value</span>=<span class="hljs-string">"Banana"</span>&gt;</span>Banana<span class="hljs-tag">&lt;/<span class="hljs-name">n3-option</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-option</span> <span class="hljs-attr">value</span>=<span class="hljs-string">"Cherry"</span>&gt;</span>Cherry<span class="hljs-tag">&lt;/<span class="hljs-name">n3-option</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-option</span> <span class="hljs-attr">value</span>=<span class="hljs-string">"Orange"</span>&gt;</span>Orange<span class="hljs-tag">&lt;/<span class="hljs-name">n3-option</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-option</span> <span class="hljs-attr">value</span>=<span class="hljs-string">"Grape"</span>&gt;</span>Grape<span class="hljs-tag">&lt;/<span class="hljs-name">n3-option</span>&gt;</span>
    // <span class="hljs-tag">&lt;/<span class="hljs-name">n3-select</span>&gt;</span>
    //
    // <span class="hljs-comment">&lt;!-- 自定义内容 --&gt;</span>
    // <span class="hljs-tag">&lt;<span class="hljs-name">n3-select</span> <span class="hljs-attr">multiple</span> <span class="hljs-attr">v-model</span>=<span class="hljs-string">"custom"</span> &gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-option</span> <span class="hljs-attr">value</span>=<span class="hljs-string">"Star"</span>&gt;</span><span class="hljs-tag">&lt;<span class="hljs-name">span</span>  <span class="hljs-attr">class</span>=<span class="hljs-string">"n3-fa n3-fa-star"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">span</span>&gt;</span> Star<span class="hljs-tag">&lt;/<span class="hljs-name">n3-option</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-option</span> <span class="hljs-attr">value</span>=<span class="hljs-string">"Heart"</span>&gt;</span><span class="hljs-tag">&lt;<span class="hljs-name">span</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"n3-fa n3-fa-heart"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">span</span>&gt;</span> Heart<span class="hljs-tag">&lt;/<span class="hljs-name">n3-option</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-option</span> <span class="hljs-attr">value</span>=<span class="hljs-string">"Film"</span>&gt;</span><span class="hljs-tag">&lt;<span class="hljs-name">span</span>  <span class="hljs-attr">class</span>=<span class="hljs-string">"n3-fa n3-fa-film"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">span</span>&gt;</span> Film<span class="hljs-tag">&lt;/<span class="hljs-name">n3-option</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-option</span> <span class="hljs-attr">value</span>=<span class="hljs-string">"Inbox"</span>&gt;</span><span class="hljs-tag">&lt;<span class="hljs-name">span</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"n3-fa n3-fa-inbox"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">span</span>&gt;</span> Inbox<span class="hljs-tag">&lt;/<span class="hljs-name">n3-option</span>&gt;</span>
    // <span class="hljs-tag">&lt;/<span class="hljs-name">n3-select</span>&gt;</span>
    //
    // <span class="hljs-comment">&lt;!-- 传递数组,支持搜索 --&gt;</span>
    // <span class="hljs-tag">&lt;<span class="hljs-name">n3-select</span> <span class="hljs-attr">v-model</span>=<span class="hljs-string">"arr"</span> <span class="hljs-attr">:options</span>=<span class="hljs-string">"fruitOptions"</span> <span class="hljs-attr">:search</span>=<span class="hljs-string">"true"</span> <span class="hljs-attr">multiple</span> <span class="hljs-attr">extra</span> <span class="hljs-attr">width</span>=<span class="hljs-string">"400px"</span>&gt;</span>
    // <span class="hljs-tag">&lt;/<span class="hljs-name">n3-select</span>&gt;</span>
    //
    // </code></pre>
    // <pre><code class="language-javascript"><span class="hljs-keyword">export</span> <span class="hljs-keyword">default</span> {
    //   data () {
    //     <span class="hljs-keyword">return</span> {
    //       <span class="hljs-attr">fruitOptions</span>: [
    //         {<span class="hljs-attr">value</span>: <span class="hljs-string">'apple'</span>, <span class="hljs-attr">label</span>: <span class="hljs-string">'Apple'</span>},
    //         {<span class="hljs-attr">value</span>: <span class="hljs-string">'banana'</span>, <span class="hljs-attr">label</span>: <span class="hljs-string">'Banana'</span>},
    //         {<span class="hljs-attr">value</span>: <span class="hljs-string">'cherry'</span>, <span class="hljs-attr">label</span>: <span class="hljs-string">'Cherry'</span>},
    //         {<span class="hljs-attr">value</span>: <span class="hljs-string">'orange'</span>, <span class="hljs-attr">label</span>: <span class="hljs-string">'Orange'</span>},
    //         {<span class="hljs-attr">value</span>: <span class="hljs-string">'grape'</span>, <span class="hljs-attr">label</span>: <span class="hljs-string">'Grape'</span>}
    //       ],
    //       <span class="hljs-attr">arr</span>: [<span class="hljs-string">'apple'</span>, <span class="hljs-string">'banana'</span>],
    //       <span class="hljs-attr">single</span>: <span class="hljs-string">'Apple'</span>,
    //       <span class="hljs-attr">multiple</span>: [],
    //       <span class="hljs-attr">multipleLimit</span>: [],
    //       <span class="hljs-attr">custom</span>: []
    //     }
    //   }
    // }
    // </code></pre>
    // <h3>参数</h3>
    // <p>样式的参数和 <a href="#n3ButtonsDocs">按钮</a> 相同</p>
    // <table>
    // <thead>
    // <tr>
    // <th>参数名</th>
    // <th>类型</th>
    // <th>默认值</th>
    // <th>说明</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>value</td>
    // <td></td>
    // <td></td>
    // <td>多选为数组,单选为单个数字或者字符串</td>
    // </tr>
    // <tr>
    // <td>options</td>
    // <td><code>Array</code></td>
    // <td><code>[]</code></td>
    // <td></td>
    // </tr>
    // <tr>
    // <td>placeholder</td>
    // <td><code>String</code></td>
    // <td>'请选择'</td>
    // <td></td>
    // </tr>
    // <tr>
    // <td>multiple</td>
    // <td><code>Boolean</code></td>
    // <td><code>false</code></td>
    // <td>支持多选</td>
    // </tr>
    // <tr>
    // <td>limit</td>
    // <td><code>Number</code></td>
    // <td><code>1024</code></td>
    // <td>多选限制</td>
    // </tr>
    // <tr>
    // <td>search</td>
    // <td><code>Boolean</code></td>
    // <td><code>false</code></td>
    // <td>是否支持搜索</td>
    // </tr>
    // <tr>
    // <td>extra</td>
    // <td><code>Boolean</code></td>
    // <td><code>false</code></td>
    // <td>可支持在输入款内添加新的选项(需要search支持)</td>
    // </tr>
    // <tr>
    // <td>input-placeholder</td>
    // <td><code>String</code></td>
    // <td><code>请输入</code></td>
    // <td>输入框的placeholder</td>
    // </tr>
    // <tr>
    // <td>width</td>
    // <td><code>String</code></td>
    // <td></td>
    // <td>选择框大小</td>
    // </tr>
    // <tr>
    // <td>menu-max-height</td>
    // <td><code>String</code></td>
    // <td>300px</td>
    // <td>下拉框最大高度</td>
    // </tr>
    // <tr>
    // <td>menu-width</td>
    // <td><code>String</code></td>
    // <td></td>
    // <td>下拉框宽度</td>
    // </tr>
    // <tr>
    // <td>format</td>
    // <td><code>Function</code></td>
    // <td><code>function(item){ return item.label }</code></td>
    // <td>选中内容的格式化显示</td>
    // </tr>
    // <tr>
    // <td>on-change</td>
    // <td><code>Function</code></td>
    // <td></td>
    // <td>value改变回调函数</td>
    // </tr>
    // <tr>
    // <td>disabled</td>
    // <td><code>Boolean</code></td>
    // <td><code>false</code></td>
    // <td></td>
    // </tr>
    // <tr>
    // <td>readonly</td>
    // <td><code>Boolean</code></td>
    // <td><code>false</code></td>
    // <td></td>
    // </tr>
    // <tr>
    // <td>cancelled</td>
    // <td><code>Boolean</code></td>
    // <td></td>
    // <td>单选时,是否可撤销</td>
    // </tr>
    // </tbody>
    // </table>
    // <p>其他表单相关参数,请移步 <a href="#n3FormDocs">表单验证</a> 待验证组件参数</p>
    // </div>
    // </template>
    //
    // </section></template>
    //
    // <script>
    exports.default = {
      data: function data() {
        return {
          fruitOptions: [{ value: 'apple', label: 'Apple' }, { value: 'banana', label: 'Banana' }, { value: 'cherry', label: 'Cherry' }, { value: 'orange', label: 'Orange' }, { value: 'grape', label: 'Grape' }],
          arr: ['apple', 'banana'],
          single: 'Apple',
          multiple: [],
          multipleLimit: [],
          custom: []
        };
      }
    };
    // </script>
    /* generated by vue-loader */

/***/ }),
/* 473 */
/***/ (function(module, exports) {

    module.exports = "<section><template>\n<h3>选择框</h3>\n<div class=\"bs-docs-section\" id=\"选择框\">\n<div class=\"bs-example\">\n<blockquote>\n<p>单选</p>\n</blockquote>\n  <p>\n    <pre>\nSelect data : {{single}}\n    </pre>\n  </p>\n  <n3-select v-model=\"single\">\n    <n3-option value=\"Apple\">Apple</n3-option>\n    <n3-option value=\"Banana\">Banana</n3-option>\n    <n3-option value=\"Cherry\">Cherry</n3-option>\n    <n3-option value=\"Orange\">Orange</n3-option>\n    <n3-option value=\"Grape\">Grape</n3-option>\n  </n3-select>\n  <hr>\n<blockquote>\n<p>多选</p>\n</blockquote>\n  <p>\n    <pre>\nSelect data : {{multiple.join(', ')}}\n    </pre>\n  </p>\n  <n3-select multiple v-model=\"multiple\" search=\"\">\n    <n3-option value=\"Apple\">Apple</n3-option>\n    <n3-option value=\"Banana\">Banana</n3-option>\n    <n3-option value=\"Cherry\">Cherry</n3-option>\n    <n3-option value=\"Orange\">Orange</n3-option>\n    <n3-option value=\"Grape\">Grape</n3-option>\n  </n3-select>\n  <hr>\n<blockquote>\n<p>多选限制</p>\n</blockquote>\n  <p>\n    <pre>\nSelect data : {{multipleLimit.join(', ')}}\n    </pre>\n  </p>\n  <n3-select multiple :limit=\"2\" v-model=\"multipleLimit\" search=\"\" extra=\"\">\n    <n3-option value=\"Apple\">Apple</n3-option>\n    <n3-option value=\"Banana\">Banana</n3-option>\n    <n3-option value=\"Cherry\">Cherry</n3-option>\n    <n3-option value=\"Orange\">Orange</n3-option>\n    <n3-option value=\"Grape\">Grape</n3-option>\n  </n3-select>\n  <hr>\n<blockquote>\n<p>自定义内容</p>\n</blockquote>\n  <p>\n    <pre>\nSelect data : {{custom.join(', ')}}\n    </pre>\n  </p>\n  <n3-select multiple v-model=\"custom\">\n    <n3-option value=\"Star\"><span class=\"n3-fa n3-fa-star\"></span> Star</n3-option>\n    <n3-option value=\"Heart\"><span class=\"n3-fa n3-fa-heart\"></span> Heart</n3-option>\n    <n3-option value=\"Film\"><span class=\"n3-fa n3-fa-film\"></span> Film</n3-option>\n    <n3-option value=\"Inbox\"><span class=\"n3-fa n3-fa-inbox\"></span> Inbox</n3-option>\n  </n3-select>\n  <hr>\n<blockquote>\n<p>传递数组,支持搜索</p>\n</blockquote>\n  <p>\n    支持只传递接json数组,可以支持搜索\n    <pre>\nSelect data : {{arr}}\n    </pre>\n  </p>\n  <n3-select v-model=\"arr\" :options=\"fruitOptions\" :search=\"true\" multiple extra=\"\" width=\"200px\">\n  </n3-select>\n</div>\n<pre><code class=\"language-html\"><span class=\"hljs-comment\">&lt;!-- 单选框 --&gt;</span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-select</span> <span class=\"hljs-attr\">v-model</span>=<span class=\"hljs-string\">\"single\"</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-option</span> <span class=\"hljs-attr\">value</span>=<span class=\"hljs-string\">\"Apple\"</span>&gt;</span>Apple<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-option</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-option</span> <span class=\"hljs-attr\">value</span>=<span class=\"hljs-string\">\"Banana\"</span>&gt;</span>Banana<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-option</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-option</span> <span class=\"hljs-attr\">value</span>=<span class=\"hljs-string\">\"Cherry\"</span>&gt;</span>Cherry<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-option</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-option</span> <span class=\"hljs-attr\">value</span>=<span class=\"hljs-string\">\"Orange\"</span>&gt;</span>Orange<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-option</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-option</span> <span class=\"hljs-attr\">value</span>=<span class=\"hljs-string\">\"Grape\"</span>&gt;</span>Grape<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-option</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-select</span>&gt;</span>\n\n<span class=\"hljs-comment\">&lt;!-- 多选框 --&gt;</span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-select</span> <span class=\"hljs-attr\">multiple</span> <span class=\"hljs-attr\">v-model</span>=<span class=\"hljs-string\">\"multiple\"</span> <span class=\"hljs-attr\">search</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-option</span> <span class=\"hljs-attr\">value</span>=<span class=\"hljs-string\">\"Apple\"</span>&gt;</span>Apple<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-option</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-option</span> <span class=\"hljs-attr\">value</span>=<span class=\"hljs-string\">\"Banana\"</span>&gt;</span>Banana<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-option</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-option</span> <span class=\"hljs-attr\">value</span>=<span class=\"hljs-string\">\"Cherry\"</span>&gt;</span>Cherry<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-option</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-option</span> <span class=\"hljs-attr\">value</span>=<span class=\"hljs-string\">\"Orange\"</span>&gt;</span>Orange<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-option</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-option</span> <span class=\"hljs-attr\">value</span>=<span class=\"hljs-string\">\"Grape\"</span>&gt;</span>Grape<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-option</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-select</span>&gt;</span>\n\n<span class=\"hljs-comment\">&lt;!-- 多选限制 --&gt;</span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-select</span> <span class=\"hljs-attr\">multiple</span> <span class=\"hljs-attr\">:limit</span>=<span class=\"hljs-string\">\"2\"</span> <span class=\"hljs-attr\">v-model</span>=<span class=\"hljs-string\">\"multipleLimit\"</span> <span class=\"hljs-attr\">search</span> <span class=\"hljs-attr\">extra</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-option</span> <span class=\"hljs-attr\">value</span>=<span class=\"hljs-string\">\"Apple\"</span>&gt;</span>Apple<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-option</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-option</span> <span class=\"hljs-attr\">value</span>=<span class=\"hljs-string\">\"Banana\"</span>&gt;</span>Banana<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-option</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-option</span> <span class=\"hljs-attr\">value</span>=<span class=\"hljs-string\">\"Cherry\"</span>&gt;</span>Cherry<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-option</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-option</span> <span class=\"hljs-attr\">value</span>=<span class=\"hljs-string\">\"Orange\"</span>&gt;</span>Orange<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-option</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-option</span> <span class=\"hljs-attr\">value</span>=<span class=\"hljs-string\">\"Grape\"</span>&gt;</span>Grape<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-option</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-select</span>&gt;</span>\n\n<span class=\"hljs-comment\">&lt;!-- 自定义内容 --&gt;</span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-select</span> <span class=\"hljs-attr\">multiple</span> <span class=\"hljs-attr\">v-model</span>=<span class=\"hljs-string\">\"custom\"</span> &gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-option</span> <span class=\"hljs-attr\">value</span>=<span class=\"hljs-string\">\"Star\"</span>&gt;</span><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">span</span>  <span class=\"hljs-attr\">class</span>=<span class=\"hljs-string\">\"n3-fa n3-fa-star\"</span>&gt;</span><span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">span</span>&gt;</span> Star<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-option</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-option</span> <span class=\"hljs-attr\">value</span>=<span class=\"hljs-string\">\"Heart\"</span>&gt;</span><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">span</span> <span class=\"hljs-attr\">class</span>=<span class=\"hljs-string\">\"n3-fa n3-fa-heart\"</span>&gt;</span><span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">span</span>&gt;</span> Heart<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-option</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-option</span> <span class=\"hljs-attr\">value</span>=<span class=\"hljs-string\">\"Film\"</span>&gt;</span><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">span</span>  <span class=\"hljs-attr\">class</span>=<span class=\"hljs-string\">\"n3-fa n3-fa-film\"</span>&gt;</span><span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">span</span>&gt;</span> Film<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-option</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-option</span> <span class=\"hljs-attr\">value</span>=<span class=\"hljs-string\">\"Inbox\"</span>&gt;</span><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">span</span> <span class=\"hljs-attr\">class</span>=<span class=\"hljs-string\">\"n3-fa n3-fa-inbox\"</span>&gt;</span><span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">span</span>&gt;</span> Inbox<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-option</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-select</span>&gt;</span>\n\n<span class=\"hljs-comment\">&lt;!-- 传递数组,支持搜索 --&gt;</span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-select</span> <span class=\"hljs-attr\">v-model</span>=<span class=\"hljs-string\">\"arr\"</span> <span class=\"hljs-attr\">:options</span>=<span class=\"hljs-string\">\"fruitOptions\"</span> <span class=\"hljs-attr\">:search</span>=<span class=\"hljs-string\">\"true\"</span> <span class=\"hljs-attr\">multiple</span> <span class=\"hljs-attr\">extra</span> <span class=\"hljs-attr\">width</span>=<span class=\"hljs-string\">\"400px\"</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-select</span>&gt;</span>\n\n</code></pre>\n<pre><code class=\"language-javascript\"><span class=\"hljs-keyword\">export</span> <span class=\"hljs-keyword\">default</span> {\n  data () {\n    <span class=\"hljs-keyword\">return</span> {\n      <span class=\"hljs-attr\">fruitOptions</span>: [\n        {<span class=\"hljs-attr\">value</span>: <span class=\"hljs-string\">'apple'</span>, <span class=\"hljs-attr\">label</span>: <span class=\"hljs-string\">'Apple'</span>},\n        {<span class=\"hljs-attr\">value</span>: <span class=\"hljs-string\">'banana'</span>, <span class=\"hljs-attr\">label</span>: <span class=\"hljs-string\">'Banana'</span>},\n        {<span class=\"hljs-attr\">value</span>: <span class=\"hljs-string\">'cherry'</span>, <span class=\"hljs-attr\">label</span>: <span class=\"hljs-string\">'Cherry'</span>},\n        {<span class=\"hljs-attr\">value</span>: <span class=\"hljs-string\">'orange'</span>, <span class=\"hljs-attr\">label</span>: <span class=\"hljs-string\">'Orange'</span>},\n        {<span class=\"hljs-attr\">value</span>: <span class=\"hljs-string\">'grape'</span>, <span class=\"hljs-attr\">label</span>: <span class=\"hljs-string\">'Grape'</span>}\n      ],\n      <span class=\"hljs-attr\">arr</span>: [<span class=\"hljs-string\">'apple'</span>, <span class=\"hljs-string\">'banana'</span>],\n      <span class=\"hljs-attr\">single</span>: <span class=\"hljs-string\">'Apple'</span>,\n      <span class=\"hljs-attr\">multiple</span>: [],\n      <span class=\"hljs-attr\">multipleLimit</span>: [],\n      <span class=\"hljs-attr\">custom</span>: []\n    }\n  }\n}\n</code></pre>\n<h3>参数</h3>\n<p>样式的参数和 <a href=\"#n3ButtonsDocs\">按钮</a> 相同</p>\n<table>\n<thead>\n<tr>\n<th>参数名</th>\n<th>类型</th>\n<th>默认值</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>value</td>\n<td></td>\n<td></td>\n<td>多选为数组,单选为单个数字或者字符串</td>\n</tr>\n<tr>\n<td>options</td>\n<td><code>Array</code></td>\n<td><code>[]</code></td>\n<td></td>\n</tr>\n<tr>\n<td>placeholder</td>\n<td><code>String</code></td>\n<td>'请选择'</td>\n<td></td>\n</tr>\n<tr>\n<td>multiple</td>\n<td><code>Boolean</code></td>\n<td><code>false</code></td>\n<td>支持多选</td>\n</tr>\n<tr>\n<td>limit</td>\n<td><code>Number</code></td>\n<td><code>1024</code></td>\n<td>多选限制</td>\n</tr>\n<tr>\n<td>search</td>\n<td><code>Boolean</code></td>\n<td><code>false</code></td>\n<td>是否支持搜索</td>\n</tr>\n<tr>\n<td>extra</td>\n<td><code>Boolean</code></td>\n<td><code>false</code></td>\n<td>可支持在输入款内添加新的选项(需要search支持)</td>\n</tr>\n<tr>\n<td>input-placeholder</td>\n<td><code>String</code></td>\n<td><code>请输入</code></td>\n<td>输入框的placeholder</td>\n</tr>\n<tr>\n<td>width</td>\n<td><code>String</code></td>\n<td></td>\n<td>选择框大小</td>\n</tr>\n<tr>\n<td>menu-max-height</td>\n<td><code>String</code></td>\n<td>300px</td>\n<td>下拉框最大高度</td>\n</tr>\n<tr>\n<td>menu-width</td>\n<td><code>String</code></td>\n<td></td>\n<td>下拉框宽度</td>\n</tr>\n<tr>\n<td>format</td>\n<td><code>Function</code></td>\n<td><code>function(item){ return item.label }</code></td>\n<td>选中内容的格式化显示</td>\n</tr>\n<tr>\n<td>on-change</td>\n<td><code>Function</code></td>\n<td></td>\n<td>value改变回调函数</td>\n</tr>\n<tr>\n<td>disabled</td>\n<td><code>Boolean</code></td>\n<td><code>false</code></td>\n<td></td>\n</tr>\n<tr>\n<td>readonly</td>\n<td><code>Boolean</code></td>\n<td><code>false</code></td>\n<td></td>\n</tr>\n<tr>\n<td>cancelled</td>\n<td><code>Boolean</code></td>\n<td></td>\n<td>单选时,是否可撤销</td>\n</tr>\n</tbody>\n</table>\n<p>其他表单相关参数,请移步 <a href=\"#n3FormDocs\">表单验证</a> 待验证组件参数</p>\n</div>\n</template>\n\n</section>";

/***/ }),
/* 474 */
/***/ (function(module, exports, __webpack_require__) {

    module.exports = __webpack_require__(475);

/***/ }),
/* 475 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(476)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] node_modules/vue-markdown-loader/_cache/n3SwitchDocs-22.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(477)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-73f1a534/n3SwitchDocs-22.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 476 */
/***/ (function(module, exports) {

    "use strict";
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    // <template><section><template>
    // <h3>开关</h3>
    // <div class="bs-docs-section" id="开关">
    // <div class="bs-example">
    // <p></p><h3><n3-switch v-model="value"></n3-switch></h3><p></p>
    // <p></p><h3><n3-switch ontext="开" offtext="关" @change="toggle" v-model="value"></n3-switch></h3><p></p>
    // <p></p><h3><n3-switch ontext="开" offtext="关" @change="toggle" :disabled="true"></n3-switch></h3><p></p>
    // </div>
    // <pre><code class="language-html"><span class="hljs-tag">&lt;<span class="hljs-name">n3-switch</span> <span class="hljs-attr">v-model</span>=<span class="hljs-string">"value"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">n3-switch</span>&gt;</span>
    //
    // <span class="hljs-tag">&lt;<span class="hljs-name">n3-switch</span> <span class="hljs-attr">ontext</span>=<span class="hljs-string">"开"</span> <span class="hljs-attr">offtext</span>=<span class="hljs-string">"关"</span> <span class="hljs-attr">@change</span>=<span class="hljs-string">"toggle"</span> <span class="hljs-attr">v-model</span>=<span class="hljs-string">"value"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">n3-switch</span>&gt;</span>
    //
    // <span class="hljs-tag">&lt;<span class="hljs-name">n3-switch</span> <span class="hljs-attr">ontext</span>=<span class="hljs-string">"开"</span> <span class="hljs-attr">offtext</span>=<span class="hljs-string">"关"</span> <span class="hljs-attr">@change</span>=<span class="hljs-string">"toggle"</span> <span class="hljs-attr">:disabled</span>=<span class="hljs-string">"true"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">n3-switch</span>&gt;</span>
    // </code></pre>
    // <h3>参数</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>参数</th>
    // <th>类型</th>
    // <th>默认值</th>
    // <th>说明</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>disabled</td>
    // <td><code>boolean</code></td>
    // <td><code>false</code></td>
    // <td>禁用</td>
    // </tr>
    // <tr>
    // <td>ontext</td>
    // <td><code>String</code></td>
    // <td><code>ON</code></td>
    // <td>开文案</td>
    // </tr>
    // <tr>
    // <td>offtext</td>
    // <td><code>String</code></td>
    // <td><code>OFF</code></td>
    // <td>关文案</td>
    // </tr>
    // <tr>
    // <td>disabled</td>
    // <td><code>boolean</code></td>
    // <td><code>false</code></td>
    // <td>禁用</td>
    // </tr>
    // </tbody>
    // </table>
    // <h3>Events</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>名称</th>
    // <th>说明</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>change</td>
    // <td>值变化</td>
    // </tr>
    // </tbody>
    // </table>
    // <p>其他表单相关参数,请移步 <a href="#n3FormDocs">表单验证</a> 待验证组件参数</p>
    // </div>
    // </template>
    //
    // </section></template>
    //
    // <script>
    exports.default = {
      data: function data() {
        return {
          value: false
        };
      },
    
      methods: {
        toggle: function toggle(state) {
          console.log(state);
        }
      }
    };
    // </script>
    /* generated by vue-loader */

/***/ }),
/* 477 */
/***/ (function(module, exports) {

    module.exports = "<section><template>\n<h3>开关</h3>\n<div class=\"bs-docs-section\" id=\"开关\">\n<div class=\"bs-example\">\n<p></p><h3><n3-switch v-model=\"value\"></n3-switch></h3><p></p>\n<p></p><h3><n3-switch ontext=\"开\" offtext=\"关\" @change=\"toggle\" v-model=\"value\"></n3-switch></h3><p></p>\n<p></p><h3><n3-switch ontext=\"开\" offtext=\"关\" @change=\"toggle\" :disabled=\"true\"></n3-switch></h3><p></p>\n</div>\n<pre><code class=\"language-html\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-switch</span> <span class=\"hljs-attr\">v-model</span>=<span class=\"hljs-string\">\"value\"</span>&gt;</span><span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-switch</span>&gt;</span>\n\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-switch</span> <span class=\"hljs-attr\">ontext</span>=<span class=\"hljs-string\">\"开\"</span> <span class=\"hljs-attr\">offtext</span>=<span class=\"hljs-string\">\"关\"</span> <span class=\"hljs-attr\">@change</span>=<span class=\"hljs-string\">\"toggle\"</span> <span class=\"hljs-attr\">v-model</span>=<span class=\"hljs-string\">\"value\"</span>&gt;</span><span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-switch</span>&gt;</span>\n\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-switch</span> <span class=\"hljs-attr\">ontext</span>=<span class=\"hljs-string\">\"开\"</span> <span class=\"hljs-attr\">offtext</span>=<span class=\"hljs-string\">\"关\"</span> <span class=\"hljs-attr\">@change</span>=<span class=\"hljs-string\">\"toggle\"</span> <span class=\"hljs-attr\">:disabled</span>=<span class=\"hljs-string\">\"true\"</span>&gt;</span><span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-switch</span>&gt;</span>\n</code></pre>\n<h3>参数</h3>\n<table>\n<thead>\n<tr>\n<th>参数</th>\n<th>类型</th>\n<th>默认值</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>disabled</td>\n<td><code>boolean</code></td>\n<td><code>false</code></td>\n<td>禁用</td>\n</tr>\n<tr>\n<td>ontext</td>\n<td><code>String</code></td>\n<td><code>ON</code></td>\n<td>开文案</td>\n</tr>\n<tr>\n<td>offtext</td>\n<td><code>String</code></td>\n<td><code>OFF</code></td>\n<td>关文案</td>\n</tr>\n<tr>\n<td>disabled</td>\n<td><code>boolean</code></td>\n<td><code>false</code></td>\n<td>禁用</td>\n</tr>\n</tbody>\n</table>\n<h3>Events</h3>\n<table>\n<thead>\n<tr>\n<th>名称</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>change</td>\n<td>值变化</td>\n</tr>\n</tbody>\n</table>\n<p>其他表单相关参数,请移步 <a href=\"#n3FormDocs\">表单验证</a> 待验证组件参数</p>\n</div>\n</template>\n\n</section>";

/***/ }),
/* 478 */
/***/ (function(module, exports, __webpack_require__) {

    module.exports = __webpack_require__(479);

/***/ }),
/* 479 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(480)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] node_modules/vue-markdown-loader/_cache/n3TimelineDocs-25.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(481)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-2144b8bc/n3TimelineDocs-25.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 480 */
/***/ (function(module, exports) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    // <template><section><template>
    // <h3>时间轴</h3>
    // <div class="bs-docs-section" id="时间轴">
    // <blockquote>
    // <p>时间轴(静态)</p>
    // </blockquote>
    // <div class="bs-example">
    // <n3-timeline>
    // <n3-timeline-item color="#2ecc71" icon="check-circle-o">创建成功</n3-timeline-item>
    // <n3-timeline-item color="#3498db">通过审核</n3-timeline-item>
    // <n3-timeline-item color="#e74c3c" icon="times-circle-o">出现异常</n3-timeline-item>
    // </n3-timeline>
    // </div>
    // <pre><code class="language-html"><span class="hljs-tag">&lt;<span class="hljs-name">n3-timeline</span> &gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-timeline-item</span> <span class="hljs-attr">color</span>=<span class="hljs-string">'#2ecc71'</span> <span class="hljs-attr">icon</span>=<span class="hljs-string">"check-circle-o"</span>&gt;</span>创建成功<span class="hljs-tag">&lt;/<span class="hljs-name">n3-timeline-item</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-timeline-item</span> <span class="hljs-attr">color</span>=<span class="hljs-string">'#3498db'</span>&gt;</span>通过审核<span class="hljs-tag">&lt;/<span class="hljs-name">n3-timeline-item</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-timeline-item</span> <span class="hljs-attr">color</span>=<span class="hljs-string">'#e74c3c'</span> <span class="hljs-attr">icon</span>=<span class="hljs-string">"times-circle-o"</span>&gt;</span>出现异常<span class="hljs-tag">&lt;/<span class="hljs-name">n3-timeline-item</span>&gt;</span>
    // <span class="hljs-tag">&lt;/<span class="hljs-name">n3-timeline</span>&gt;</span>
    // </code></pre>
    // <blockquote>
    // <p>时间轴(数据绑定)</p>
    // </blockquote>
    // <div class="bs-example">
    // <n3-timeline :value="value">
    // </n3-timeline>
    // </div>
    // <pre><code class="language-html"><span class="hljs-tag">&lt;<span class="hljs-name">n3-timeline</span>
    //   <span class="hljs-attr">:value</span>=<span class="hljs-string">"value"</span>&gt;</span>
    // <span class="hljs-tag">&lt;/<span class="hljs-name">n3-timeline</span>&gt;</span>
    // </code></pre>
    // <pre><code class="language-javascript"><span class="hljs-keyword">export</span> <span class="hljs-keyword">default</span> {
    //   data () {
    //     <span class="hljs-keyword">return</span> {
    //       <span class="hljs-attr">value</span>: [{
    //         <span class="hljs-attr">icon</span>: <span class="hljs-string">'check-circle-o'</span>,
    //         <span class="hljs-attr">color</span>: <span class="hljs-string">'green'</span>,
    //         <span class="hljs-attr">content</span>: <span class="hljs-string">`&lt;a @click="del"&gt;创建成功&lt;/a&gt;`</span>
    //       }, {
    //         <span class="hljs-attr">content</span>: <span class="hljs-string">'&lt;span&gt;通过审核&lt;/span&gt;'</span>
    //       }, {
    //         <span class="hljs-attr">content</span>: <span class="hljs-string">'&lt;span&gt;出现异常&lt;/span&gt;'</span>
    //       }]
    //     }
    //   },
    //   <span class="hljs-attr">methods</span>: {
    //     del () {
    //       alert(<span class="hljs-number">2</span>)
    //     }
    //   }
    // }
    // </code></pre>
    // <h3>Timeline参数</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>参数名</th>
    // <th>类型</th>
    // <th>默认值</th>
    // <th>说明</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>value</td>
    // <td><code>Array</code></td>
    // <td></td>
    // <td>内容数组</td>
    // </tr>
    // </tbody>
    // </table>
    // <h3>TimelineItem参数</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>参数名</th>
    // <th>类型</th>
    // <th>默认值</th>
    // <th>说明</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>color</td>
    // <td><code>String</code></td>
    // <td>#2db7f5</td>
    // <td>颜色</td>
    // </tr>
    // <tr>
    // <td>content</td>
    // <td><code>String</code></td>
    // <td></td>
    // <td>内容</td>
    // </tr>
    // <tr>
    // <td>icon</td>
    // <td><code>String</code></td>
    // <td></td>
    // <td>自定义图标</td>
    // </tr>
    // </tbody>
    // </table>
    // </div>
    // </template>
    //
    // </section></template>
    //
    // <script>
    exports.default = {
      data: function data() {
        return {
          value: [{
            icon: 'check-circle-o',
            color: 'green',
            content: '<a @click="del">\u521B\u5EFA\u6210\u529F</a>'
          }, {
            content: '<span>通过审核</span>'
          }, {
            content: '<span>出现异常</span>'
          }]
        };
      },
    
      methods: {
        del: function del() {
          alert(2);
        }
      }
    };
    // </script>
    /* generated by vue-loader */

/***/ }),
/* 481 */
/***/ (function(module, exports) {

    module.exports = "<section><template>\n<h3>时间轴</h3>\n<div class=\"bs-docs-section\" id=\"时间轴\">\n<blockquote>\n<p>时间轴(静态)</p>\n</blockquote>\n<div class=\"bs-example\">\n<n3-timeline>\n<n3-timeline-item color=\"#2ecc71\" icon=\"check-circle-o\">创建成功</n3-timeline-item>\n<n3-timeline-item color=\"#3498db\">通过审核</n3-timeline-item>\n<n3-timeline-item color=\"#e74c3c\" icon=\"times-circle-o\">出现异常</n3-timeline-item>\n</n3-timeline>\n</div>\n<pre><code class=\"language-html\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-timeline</span> &gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-timeline-item</span> <span class=\"hljs-attr\">color</span>=<span class=\"hljs-string\">'#2ecc71'</span> <span class=\"hljs-attr\">icon</span>=<span class=\"hljs-string\">\"check-circle-o\"</span>&gt;</span>创建成功<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-timeline-item</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-timeline-item</span> <span class=\"hljs-attr\">color</span>=<span class=\"hljs-string\">'#3498db'</span>&gt;</span>通过审核<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-timeline-item</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-timeline-item</span> <span class=\"hljs-attr\">color</span>=<span class=\"hljs-string\">'#e74c3c'</span> <span class=\"hljs-attr\">icon</span>=<span class=\"hljs-string\">\"times-circle-o\"</span>&gt;</span>出现异常<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-timeline-item</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-timeline</span>&gt;</span>\n</code></pre>\n<blockquote>\n<p>时间轴(数据绑定)</p>\n</blockquote>\n<div class=\"bs-example\">\n<n3-timeline :value=\"value\">\n</n3-timeline>\n</div>\n<pre><code class=\"language-html\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-timeline</span>\n  <span class=\"hljs-attr\">:value</span>=<span class=\"hljs-string\">\"value\"</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-timeline</span>&gt;</span>\n</code></pre>\n<pre><code class=\"language-javascript\"><span class=\"hljs-keyword\">export</span> <span class=\"hljs-keyword\">default</span> {\n  data () {\n    <span class=\"hljs-keyword\">return</span> {\n      <span class=\"hljs-attr\">value</span>: [{\n        <span class=\"hljs-attr\">icon</span>: <span class=\"hljs-string\">'check-circle-o'</span>,\n        <span class=\"hljs-attr\">color</span>: <span class=\"hljs-string\">'green'</span>,\n        <span class=\"hljs-attr\">content</span>: <span class=\"hljs-string\">`&lt;a @click=\"del\"&gt;创建成功&lt;/a&gt;`</span>\n      }, {\n        <span class=\"hljs-attr\">content</span>: <span class=\"hljs-string\">'&lt;span&gt;通过审核&lt;/span&gt;'</span>\n      }, {\n        <span class=\"hljs-attr\">content</span>: <span class=\"hljs-string\">'&lt;span&gt;出现异常&lt;/span&gt;'</span>\n      }]\n    }\n  },\n  <span class=\"hljs-attr\">methods</span>: {\n    del () {\n      alert(<span class=\"hljs-number\">2</span>)\n    }\n  }\n}\n</code></pre>\n<h3>Timeline参数</h3>\n<table>\n<thead>\n<tr>\n<th>参数名</th>\n<th>类型</th>\n<th>默认值</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>value</td>\n<td><code>Array</code></td>\n<td></td>\n<td>内容数组</td>\n</tr>\n</tbody>\n</table>\n<h3>TimelineItem参数</h3>\n<table>\n<thead>\n<tr>\n<th>参数名</th>\n<th>类型</th>\n<th>默认值</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>color</td>\n<td><code>String</code></td>\n<td>#2db7f5</td>\n<td>颜色</td>\n</tr>\n<tr>\n<td>content</td>\n<td><code>String</code></td>\n<td></td>\n<td>内容</td>\n</tr>\n<tr>\n<td>icon</td>\n<td><code>String</code></td>\n<td></td>\n<td>自定义图标</td>\n</tr>\n</tbody>\n</table>\n</div>\n</template>\n\n</section>";

/***/ }),
/* 482 */
/***/ (function(module, exports, __webpack_require__) {

    module.exports = __webpack_require__(483);

/***/ }),
/* 483 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(484)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] node_modules/vue-markdown-loader/_cache/n3TabsDocs-26.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(485)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-0c7340e0/n3TabsDocs-26.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 484 */
/***/ (function(module, exports) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    // <template><section><template>
    // <h3>标签页</h3>
    // <div class="bs-docs-section">
    // <div class="bs-example">
    // <blockquote>
    // <p>使用list</p>
    // </blockquote>
    // <p><n3-tabs @change="change" :list="list"></n3-tabs></p>
    // <pre><code class="language-html"><span class="hljs-tag">&lt;<span class="hljs-name">n3-tabs</span> <span class="hljs-attr">@change</span>=<span class="hljs-string">"change"</span> <span class="hljs-attr">:list</span>=<span class="hljs-string">"list"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">n3-tabs</span>&gt;</span>
    // </code></pre>
    // <pre><code class="language-javascript">data () {
    //   <span class="hljs-keyword">return</span> {
    //     <span class="hljs-attr">list</span>: [{
    //       <span class="hljs-attr">header</span>: <span class="hljs-string">'first'</span>,
    //       <span class="hljs-attr">badge</span>: <span class="hljs-number">12</span>,
    //       <span class="hljs-attr">content</span>: <span class="hljs-string">'first的内容'</span>
    //     }, {
    //       <span class="hljs-attr">header</span>: <span class="hljs-string">'seacond'</span>,
    //       <span class="hljs-attr">badge</span>: <span class="hljs-number">12</span>,
    //       <span class="hljs-attr">content</span>: <span class="hljs-string">'seacond的内容'</span>
    //     }]
    //   }
    // }
    // </code></pre>
    // <hr>
    // <blockquote>
    // <p>使用tab</p>
    // </blockquote>
    // <n3-tabs @change="change" :value="1">
    //   <n3-tab header="one" badge="1">
    //     <p>.......</p>
    //     <p>.......</p>
    //     <p>.......</p>
    //   </n3-tab>
    //   <n3-tab header="two">
    //     <p>*********</p>
    //     <p>*********</p>
    //     <p>*********</p>
    //   </n3-tab>
    //   <n3-tab header="three" disabled>
    //     ...
    //   </n3-tab>
    // </n3-tabs>
    // <pre><code class="language-html"><span class="hljs-tag">&lt;<span class="hljs-name">n3-tabs</span> <span class="hljs-attr">@change</span>=<span class="hljs-string">"change"</span> <span class="hljs-attr">:value</span>=<span class="hljs-string">"1"</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-tab</span> <span class="hljs-attr">header</span>=<span class="hljs-string">"one"</span> <span class="hljs-attr">badge</span>=<span class="hljs-string">"1"</span>&gt;</span>
    //     <span class="hljs-tag">&lt;<span class="hljs-name">p</span>&gt;</span>.......<span class="hljs-tag">&lt;/<span class="hljs-name">p</span>&gt;</span>
    //     <span class="hljs-tag">&lt;<span class="hljs-name">p</span>&gt;</span>.......<span class="hljs-tag">&lt;/<span class="hljs-name">p</span>&gt;</span>
    //     <span class="hljs-tag">&lt;<span class="hljs-name">p</span>&gt;</span>.......<span class="hljs-tag">&lt;/<span class="hljs-name">p</span>&gt;</span>
    //   <span class="hljs-tag">&lt;/<span class="hljs-name">n3-tab</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-tab</span> <span class="hljs-attr">header</span>=<span class="hljs-string">"two"</span>&gt;</span>
    //     <span class="hljs-tag">&lt;<span class="hljs-name">p</span>&gt;</span>*********<span class="hljs-tag">&lt;/<span class="hljs-name">p</span>&gt;</span>
    //     <span class="hljs-tag">&lt;<span class="hljs-name">p</span>&gt;</span>*********<span class="hljs-tag">&lt;/<span class="hljs-name">p</span>&gt;</span>
    //     <span class="hljs-tag">&lt;<span class="hljs-name">p</span>&gt;</span>*********<span class="hljs-tag">&lt;/<span class="hljs-name">p</span>&gt;</span>
    //   <span class="hljs-tag">&lt;/<span class="hljs-name">n3-tab</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-tab</span> <span class="hljs-attr">header</span>=<span class="hljs-string">"three"</span> <span class="hljs-attr">disabled</span>&gt;</span>
    //     ...
    //   <span class="hljs-tag">&lt;/<span class="hljs-name">n3-tab</span>&gt;</span>
    // <span class="hljs-tag">&lt;/<span class="hljs-name">n3-tabs</span>&gt;</span>
    // </code></pre>
    // <hr>
    // <blockquote>
    // <p>胶囊样式 pills</p>
    // </blockquote>
    // <n3-tabs pills="">
    //   <n3-tab header="one">
    //   </n3-tab>
    //   <n3-tab header="two">
    //   </n3-tab>
    // </n3-tabs>
    // <hr>
    // <blockquote>
    // <p>垂直样式 stacked</p>
    // </blockquote>
    // <n3-tabs pills="" stacked="" style="max-width: 300px;" @change="change">
    //   <n3-tab header="one">
    //   </n3-tab>
    //   <n3-tab header="two">
    //   </n3-tab>
    // </n3-tabs>
    // <hr>
    // <blockquote>
    // <p>垂直样式 stacked</p>
    // </blockquote>
    // <n3-tabs primary="" pills="" stacked="" style="max-width: 300px;">
    //   <n3-tab header="one">
    //   </n3-tab>
    //   <n3-tab header="two">
    //   </n3-tab>
    // </n3-tabs>
    // <hr>
    // <blockquote>
    // <p>自适应 justified</p>
    // </blockquote>
    // <n3-tabs pills="" justified="">
    //   <n3-tab header="one">
    //   </n3-tab>
    //   <n3-tab header="two">
    //   </n3-tab>
    // </n3-tabs>
    // </div>
    // <pre><code class="language-javascript"><span class="hljs-keyword">export</span> <span class="hljs-keyword">default</span> {
    //   data () {
    //     <span class="hljs-keyword">return</span> {
    //       <span class="hljs-attr">list</span>: [{
    //         <span class="hljs-attr">header</span>: <span class="hljs-string">'first'</span>,
    //         <span class="hljs-attr">badge</span>: <span class="hljs-number">12</span>,
    //         <span class="hljs-attr">content</span>: <span class="hljs-string">'first的内容'</span>
    //       }, {
    //         <span class="hljs-attr">header</span>: <span class="hljs-string">'seacond'</span>,
    //         <span class="hljs-attr">badge</span>: <span class="hljs-number">12</span>,
    //         <span class="hljs-attr">content</span>: <span class="hljs-string">'seacond的内容'</span>
    //       }]
    //     }
    //   },
    //   <span class="hljs-attr">methods</span>: {
    //     change (index, el) {
    //       <span class="hljs-built_in">console</span>.log(index, el)
    //     }
    //   }
    // }
    // </code></pre>
    // <h3>Tabs参数</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>参数名</th>
    // <th>类型</th>
    // <th>默认值</th>
    // <th>说明</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>active-index</td>
    // <td><code>Number</code></td>
    // <td></td>
    // <td></td>
    // </tr>
    // <tr>
    // <td>list</td>
    // <td><code>Array</code></td>
    // <td></td>
    // <td></td>
    // </tr>
    // <tr>
    // <td>pills</td>
    // <td><code>Boolean</code></td>
    // <td></td>
    // <td>胶囊样式</td>
    // </tr>
    // <tr>
    // <td>stacked</td>
    // <td><code>Boolean</code></td>
    // <td>false</td>
    // <td>竖直状态</td>
    // </tr>
    // <tr>
    // <td>primary</td>
    // <td><code>Boolean</code></td>
    // <td>false</td>
    // <td></td>
    // </tr>
    // <tr>
    // <td>justified</td>
    // <td><code>Boolean</code></td>
    // <td>false</td>
    // <td>是否自适应</td>
    // </tr>
    // <tr>
    // <td>size</td>
    // <td><code>String</code></td>
    // <td></td>
    // <td>尺寸</td>
    // </tr>
    // </tbody>
    // </table>
    // <h3>Tabs Events</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>事件名称</th>
    // <th>说明</th>
    // <th>回调参数</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>change</td>
    // <td>切换tab时</td>
    // <td></td>
    // </tr>
    // </tbody>
    // </table>
    // <h3>tab 参数</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>参数名</th>
    // <th>类型</th>
    // <th>默认值</th>
    // <th>说明</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>header</td>
    // <td><code>String</code></td>
    // <td></td>
    // <td>标签头文字</td>
    // </tr>
    // <tr>
    // <td>badge</td>
    // <td><code>String``Number</code></td>
    // <td></td>
    // <td>徽标</td>
    // </tr>
    // <tr>
    // <td>disabled</td>
    // <td><code>Boolean</code></td>
    // <td>false</td>
    // <td>是否能被激活</td>
    // </tr>
    // </tbody>
    // </table>
    // </div>
    // </template>
    //
    // </section></template>
    //
    // <script>
    exports.default = {
      data: function data() {
        return {
          list: [{
            header: 'first',
            badge: 12,
            content: 'first的内容'
          }, {
            header: 'seacond',
            badge: 12,
            content: 'seacond的内容'
          }]
        };
      },
    
      methods: {
        change: function change(index, el) {
          console.log(index, el);
        }
      }
    };
    // </script>
    /* generated by vue-loader */

/***/ }),
/* 485 */
/***/ (function(module, exports) {

    module.exports = "<section><template>\n<h3>标签页</h3>\n<div class=\"bs-docs-section\">\n<div class=\"bs-example\">\n<blockquote>\n<p>使用list</p>\n</blockquote>\n<p><n3-tabs @change=\"change\" :list=\"list\"></n3-tabs></p>\n<pre><code class=\"language-html\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-tabs</span> <span class=\"hljs-attr\">@change</span>=<span class=\"hljs-string\">\"change\"</span> <span class=\"hljs-attr\">:list</span>=<span class=\"hljs-string\">\"list\"</span>&gt;</span><span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-tabs</span>&gt;</span>\n</code></pre>\n<pre><code class=\"language-javascript\">data () {\n  <span class=\"hljs-keyword\">return</span> {\n    <span class=\"hljs-attr\">list</span>: [{\n      <span class=\"hljs-attr\">header</span>: <span class=\"hljs-string\">'first'</span>,\n      <span class=\"hljs-attr\">badge</span>: <span class=\"hljs-number\">12</span>,\n      <span class=\"hljs-attr\">content</span>: <span class=\"hljs-string\">'first的内容'</span>\n    }, {\n      <span class=\"hljs-attr\">header</span>: <span class=\"hljs-string\">'seacond'</span>,\n      <span class=\"hljs-attr\">badge</span>: <span class=\"hljs-number\">12</span>,\n      <span class=\"hljs-attr\">content</span>: <span class=\"hljs-string\">'seacond的内容'</span>\n    }]\n  }\n}\n</code></pre>\n<hr>\n<blockquote>\n<p>使用tab</p>\n</blockquote>\n<n3-tabs @change=\"change\" :value=\"1\">\n  <n3-tab header=\"one\" badge=\"1\">\n    <p>.......</p>\n    <p>.......</p>\n    <p>.......</p>\n  </n3-tab>\n  <n3-tab header=\"two\">\n    <p>*********</p>\n    <p>*********</p>\n    <p>*********</p>\n  </n3-tab>\n  <n3-tab header=\"three\" disabled>\n    ...\n  </n3-tab>\n</n3-tabs>\n<pre><code class=\"language-html\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-tabs</span> <span class=\"hljs-attr\">@change</span>=<span class=\"hljs-string\">\"change\"</span> <span class=\"hljs-attr\">:value</span>=<span class=\"hljs-string\">\"1\"</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-tab</span> <span class=\"hljs-attr\">header</span>=<span class=\"hljs-string\">\"one\"</span> <span class=\"hljs-attr\">badge</span>=<span class=\"hljs-string\">\"1\"</span>&gt;</span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">p</span>&gt;</span>.......<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">p</span>&gt;</span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">p</span>&gt;</span>.......<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">p</span>&gt;</span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">p</span>&gt;</span>.......<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">p</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-tab</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-tab</span> <span class=\"hljs-attr\">header</span>=<span class=\"hljs-string\">\"two\"</span>&gt;</span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">p</span>&gt;</span>*********<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">p</span>&gt;</span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">p</span>&gt;</span>*********<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">p</span>&gt;</span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">p</span>&gt;</span>*********<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">p</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-tab</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-tab</span> <span class=\"hljs-attr\">header</span>=<span class=\"hljs-string\">\"three\"</span> <span class=\"hljs-attr\">disabled</span>&gt;</span>\n    ...\n  <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-tab</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-tabs</span>&gt;</span>\n</code></pre>\n<hr>\n<blockquote>\n<p>胶囊样式 pills</p>\n</blockquote>\n<n3-tabs pills=\"\">\n  <n3-tab header=\"one\">\n  </n3-tab>\n  <n3-tab header=\"two\">\n  </n3-tab>\n</n3-tabs>\n<hr>\n<blockquote>\n<p>垂直样式 stacked</p>\n</blockquote>\n<n3-tabs pills=\"\" stacked=\"\" style=\"max-width: 300px;\" @change=\"change\">\n  <n3-tab header=\"one\">\n  </n3-tab>\n  <n3-tab header=\"two\">\n  </n3-tab>\n</n3-tabs>\n<hr>\n<blockquote>\n<p>垂直样式 stacked</p>\n</blockquote>\n<n3-tabs primary=\"\" pills=\"\" stacked=\"\" style=\"max-width: 300px;\">\n  <n3-tab header=\"one\">\n  </n3-tab>\n  <n3-tab header=\"two\">\n  </n3-tab>\n</n3-tabs>\n<hr>\n<blockquote>\n<p>自适应 justified</p>\n</blockquote>\n<n3-tabs pills=\"\" justified=\"\">\n  <n3-tab header=\"one\">\n  </n3-tab>\n  <n3-tab header=\"two\">\n  </n3-tab>\n</n3-tabs>\n</div>\n<pre><code class=\"language-javascript\"><span class=\"hljs-keyword\">export</span> <span class=\"hljs-keyword\">default</span> {\n  data () {\n    <span class=\"hljs-keyword\">return</span> {\n      <span class=\"hljs-attr\">list</span>: [{\n        <span class=\"hljs-attr\">header</span>: <span class=\"hljs-string\">'first'</span>,\n        <span class=\"hljs-attr\">badge</span>: <span class=\"hljs-number\">12</span>,\n        <span class=\"hljs-attr\">content</span>: <span class=\"hljs-string\">'first的内容'</span>\n      }, {\n        <span class=\"hljs-attr\">header</span>: <span class=\"hljs-string\">'seacond'</span>,\n        <span class=\"hljs-attr\">badge</span>: <span class=\"hljs-number\">12</span>,\n        <span class=\"hljs-attr\">content</span>: <span class=\"hljs-string\">'seacond的内容'</span>\n      }]\n    }\n  },\n  <span class=\"hljs-attr\">methods</span>: {\n    change (index, el) {\n      <span class=\"hljs-built_in\">console</span>.log(index, el)\n    }\n  }\n}\n</code></pre>\n<h3>Tabs参数</h3>\n<table>\n<thead>\n<tr>\n<th>参数名</th>\n<th>类型</th>\n<th>默认值</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>active-index</td>\n<td><code>Number</code></td>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>list</td>\n<td><code>Array</code></td>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>pills</td>\n<td><code>Boolean</code></td>\n<td></td>\n<td>胶囊样式</td>\n</tr>\n<tr>\n<td>stacked</td>\n<td><code>Boolean</code></td>\n<td>false</td>\n<td>竖直状态</td>\n</tr>\n<tr>\n<td>primary</td>\n<td><code>Boolean</code></td>\n<td>false</td>\n<td></td>\n</tr>\n<tr>\n<td>justified</td>\n<td><code>Boolean</code></td>\n<td>false</td>\n<td>是否自适应</td>\n</tr>\n<tr>\n<td>size</td>\n<td><code>String</code></td>\n<td></td>\n<td>尺寸</td>\n</tr>\n</tbody>\n</table>\n<h3>Tabs Events</h3>\n<table>\n<thead>\n<tr>\n<th>事件名称</th>\n<th>说明</th>\n<th>回调参数</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>change</td>\n<td>切换tab时</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n<h3>tab 参数</h3>\n<table>\n<thead>\n<tr>\n<th>参数名</th>\n<th>类型</th>\n<th>默认值</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>header</td>\n<td><code>String</code></td>\n<td></td>\n<td>标签头文字</td>\n</tr>\n<tr>\n<td>badge</td>\n<td><code>String``Number</code></td>\n<td></td>\n<td>徽标</td>\n</tr>\n<tr>\n<td>disabled</td>\n<td><code>Boolean</code></td>\n<td>false</td>\n<td>是否能被激活</td>\n</tr>\n</tbody>\n</table>\n</div>\n</template>\n\n</section>";

/***/ }),
/* 486 */
/***/ (function(module, exports, __webpack_require__) {

    module.exports = __webpack_require__(487);

/***/ }),
/* 487 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(488)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] node_modules/vue-markdown-loader/_cache/n3TooltipDocs-27.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(489)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-fcae88c8/n3TooltipDocs-27.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 488 */
/***/ (function(module, exports) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    // <template><section><template>
    // <h3>浮出提示</h3>
    // <div class="bs-docs-section" id="浮出提示">
    // <div class="bs-example">
    //   <n3-tooltip content="tooltip on top" placement="top" trigger="hover">
    //     <n3-button>tooltip on top</n3-button>
    //   </n3-tooltip>
    //   <n3-tooltip content="tooltip on left" placement="left" trigger="hover">
    //     <n3-button>tooltip on left</n3-button>
    //   </n3-tooltip>
    //   <n3-tooltip content="tooltip on right" placement="right" trigger="hover">
    //     <n3-button>tooltip on right</n3-button>
    //   </n3-tooltip>
    //   <n3-tooltip content="tooltip on bottom" placement="bottom" trigger="hover">
    //     <n3-button>tooltip on bottom</n3-button>
    //   </n3-tooltip>
    //   <hr>
    //   <h4>Triger</h4>
    //   <p>
    //     <n3-tooltip trigger="click" effect="scale" content="Lorem ipsum dolor sit amet" placement="top">
    //       <n3-button>Click</n3-button>
    //     </n3-tooltip>
    //   </p>
    //   <n3-tooltip effect="scale" content="Lorem ipsum dolor sit amet" placement="bottom" trigger="focus">
    //     <n3-input placeholder="Focus"></n3-input>
    //   </n3-tooltip>
    // </div>
    // <pre><code class="language-html"><span class="hljs-tag">&lt;<span class="hljs-name">n3-tooltip</span> <span class="hljs-attr">content</span>=<span class="hljs-string">"tooltip on top"</span> <span class="hljs-attr">placement</span>=<span class="hljs-string">"top"</span> <span class="hljs-attr">trigger</span>=<span class="hljs-string">"hover"</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-button</span>&gt;</span>tooltip on top<span class="hljs-tag">&lt;/<span class="hljs-name">n3-button</span>&gt;</span>
    // <span class="hljs-tag">&lt;/<span class="hljs-name">n3-tooltip</span>&gt;</span>
    // <span class="hljs-tag">&lt;<span class="hljs-name">n3-tooltip</span> <span class="hljs-attr">content</span>=<span class="hljs-string">"tooltip on left"</span> <span class="hljs-attr">placement</span>=<span class="hljs-string">"left"</span> <span class="hljs-attr">trigger</span>=<span class="hljs-string">"hover"</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-button</span> &gt;</span>tooltip on left<span class="hljs-tag">&lt;/<span class="hljs-name">n3-button</span>&gt;</span>
    // <span class="hljs-tag">&lt;/<span class="hljs-name">n3-tooltip</span>&gt;</span>
    // <span class="hljs-tag">&lt;<span class="hljs-name">n3-tooltip</span> <span class="hljs-attr">content</span>=<span class="hljs-string">"tooltip on right"</span> <span class="hljs-attr">placement</span>=<span class="hljs-string">"right"</span> <span class="hljs-attr">trigger</span>=<span class="hljs-string">"hover"</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-button</span> &gt;</span>tooltip on right<span class="hljs-tag">&lt;/<span class="hljs-name">n3-button</span>&gt;</span>
    // <span class="hljs-tag">&lt;/<span class="hljs-name">n3-tooltip</span>&gt;</span>
    // <span class="hljs-tag">&lt;<span class="hljs-name">n3-tooltip</span> <span class="hljs-attr">content</span>=<span class="hljs-string">"tooltip on bottom"</span> <span class="hljs-attr">placement</span>=<span class="hljs-string">"bottom"</span> <span class="hljs-attr">trigger</span>=<span class="hljs-string">"hover"</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-button</span> &gt;</span>tooltip on bottom<span class="hljs-tag">&lt;/<span class="hljs-name">n3-button</span>&gt;</span>
    // <span class="hljs-tag">&lt;/<span class="hljs-name">n3-tooltip</span>&gt;</span>
    // <span class="hljs-tag">&lt;<span class="hljs-name">hr</span>&gt;</span>
    // <span class="hljs-tag">&lt;<span class="hljs-name">h4</span>&gt;</span>Triger<span class="hljs-tag">&lt;/<span class="hljs-name">h4</span>&gt;</span>
    // <span class="hljs-tag">&lt;<span class="hljs-name">p</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-tooltip</span> <span class="hljs-attr">trigger</span>=<span class="hljs-string">"click"</span>
    //   <span class="hljs-attr">effect</span>=<span class="hljs-string">"scale"</span> <span class="hljs-attr">content</span>=<span class="hljs-string">"Lorem ipsum dolor sit amet"</span> <span class="hljs-attr">placement</span>=<span class="hljs-string">"top"</span> &gt;</span>
    //     <span class="hljs-tag">&lt;<span class="hljs-name">n3-button</span> &gt;</span>Click<span class="hljs-tag">&lt;/<span class="hljs-name">n3-button</span>&gt;</span>
    //   <span class="hljs-tag">&lt;/<span class="hljs-name">n3-tooltip</span>&gt;</span>
    // <span class="hljs-tag">&lt;/<span class="hljs-name">p</span>&gt;</span>
    // <span class="hljs-tag">&lt;<span class="hljs-name">n3-tooltip</span> <span class="hljs-attr">effect</span>=<span class="hljs-string">"scale"</span> <span class="hljs-attr">content</span>=<span class="hljs-string">"Lorem ipsum dolor sit amet"</span> <span class="hljs-attr">placement</span>=<span class="hljs-string">"bottom"</span> <span class="hljs-attr">trigger</span>=<span class="hljs-string">"focus"</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-input</span>  <span class="hljs-attr">placeholder</span>=<span class="hljs-string">"Focus"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">n3-input</span>&gt;</span>
    // <span class="hljs-tag">&lt;/<span class="hljs-name">n3-tooltip</span>&gt;</span>
    // </code></pre>
    // <pre><code class="language-javascript"><span class="hljs-keyword">export</span> <span class="hljs-keyword">default</span> {
    //   data () {
    //     <span class="hljs-keyword">return</span> {
    //       <span class="hljs-attr">title</span>: <span class="hljs-string">'Title'</span>,
    //       <span class="hljs-attr">text</span>: <span class="hljs-string">'Lorem ipsum dolor sit amet'</span>
    //     }
    //   }
    // }
    // </code></pre>
    // <h3>参数名</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>参数名</th>
    // <th>类型</th>
    // <th>默认值</th>
    // <th>说明</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>trigger</td>
    // <td><code>String</code>, 如: <code>hover</code> <code>focus</code> <code>hover</code></td>
    // <td><code>click</code></td>
    // <td>触发方式</td>
    // </tr>
    // <tr>
    // <td>effect</td>
    // <td><code>String</code>, 如: <code>scale</code> <code>fade</code></td>
    // <td><code>scale</code></td>
    // <td></td>
    // </tr>
    // <tr>
    // <td>content</td>
    // <td><code>String</code></td>
    // <td></td>
    // <td></td>
    // </tr>
    // <tr>
    // <td>placement</td>
    // <td><code>String</code>, 如: <code>top</code> <code>left</code> <code>right</code> <code>bottom</code></td>
    // <td></td>
    // <td>定位方式</td>
    // </tr>
    // </tbody>
    // </table>
    // </div>
    // </template>
    //
    // </section></template>
    //
    // <script>
    exports.default = {
      data: function data() {
        return {
          title: 'Title',
          text: 'Lorem ipsum dolor sit amet'
        };
      }
    };
    // </script>
    /* generated by vue-loader */

/***/ }),
/* 489 */
/***/ (function(module, exports) {

    module.exports = "<section><template>\n<h3>浮出提示</h3>\n<div class=\"bs-docs-section\" id=\"浮出提示\">\n<div class=\"bs-example\">\n  <n3-tooltip content=\"tooltip on top\" placement=\"top\" trigger=\"hover\">\n    <n3-button>tooltip on top</n3-button>\n  </n3-tooltip>\n  <n3-tooltip content=\"tooltip on left\" placement=\"left\" trigger=\"hover\">\n    <n3-button>tooltip on left</n3-button>\n  </n3-tooltip>\n  <n3-tooltip content=\"tooltip on right\" placement=\"right\" trigger=\"hover\">\n    <n3-button>tooltip on right</n3-button>\n  </n3-tooltip>\n  <n3-tooltip content=\"tooltip on bottom\" placement=\"bottom\" trigger=\"hover\">\n    <n3-button>tooltip on bottom</n3-button>\n  </n3-tooltip>\n  <hr>\n  <h4>Triger</h4>\n  <p>\n    <n3-tooltip trigger=\"click\" effect=\"scale\" content=\"Lorem ipsum dolor sit amet\" placement=\"top\">\n      <n3-button>Click</n3-button>\n    </n3-tooltip>\n  </p>\n  <n3-tooltip effect=\"scale\" content=\"Lorem ipsum dolor sit amet\" placement=\"bottom\" trigger=\"focus\">\n    <n3-input placeholder=\"Focus\"></n3-input>\n  </n3-tooltip>\n</div>\n<pre><code class=\"language-html\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-tooltip</span> <span class=\"hljs-attr\">content</span>=<span class=\"hljs-string\">\"tooltip on top\"</span> <span class=\"hljs-attr\">placement</span>=<span class=\"hljs-string\">\"top\"</span> <span class=\"hljs-attr\">trigger</span>=<span class=\"hljs-string\">\"hover\"</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-button</span>&gt;</span>tooltip on top<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-button</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-tooltip</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-tooltip</span> <span class=\"hljs-attr\">content</span>=<span class=\"hljs-string\">\"tooltip on left\"</span> <span class=\"hljs-attr\">placement</span>=<span class=\"hljs-string\">\"left\"</span> <span class=\"hljs-attr\">trigger</span>=<span class=\"hljs-string\">\"hover\"</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-button</span> &gt;</span>tooltip on left<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-button</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-tooltip</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-tooltip</span> <span class=\"hljs-attr\">content</span>=<span class=\"hljs-string\">\"tooltip on right\"</span> <span class=\"hljs-attr\">placement</span>=<span class=\"hljs-string\">\"right\"</span> <span class=\"hljs-attr\">trigger</span>=<span class=\"hljs-string\">\"hover\"</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-button</span> &gt;</span>tooltip on right<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-button</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-tooltip</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-tooltip</span> <span class=\"hljs-attr\">content</span>=<span class=\"hljs-string\">\"tooltip on bottom\"</span> <span class=\"hljs-attr\">placement</span>=<span class=\"hljs-string\">\"bottom\"</span> <span class=\"hljs-attr\">trigger</span>=<span class=\"hljs-string\">\"hover\"</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-button</span> &gt;</span>tooltip on bottom<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-button</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-tooltip</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">hr</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">h4</span>&gt;</span>Triger<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">h4</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">p</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-tooltip</span> <span class=\"hljs-attr\">trigger</span>=<span class=\"hljs-string\">\"click\"</span>\n  <span class=\"hljs-attr\">effect</span>=<span class=\"hljs-string\">\"scale\"</span> <span class=\"hljs-attr\">content</span>=<span class=\"hljs-string\">\"Lorem ipsum dolor sit amet\"</span> <span class=\"hljs-attr\">placement</span>=<span class=\"hljs-string\">\"top\"</span> &gt;</span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-button</span> &gt;</span>Click<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-button</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-tooltip</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">p</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-tooltip</span> <span class=\"hljs-attr\">effect</span>=<span class=\"hljs-string\">\"scale\"</span> <span class=\"hljs-attr\">content</span>=<span class=\"hljs-string\">\"Lorem ipsum dolor sit amet\"</span> <span class=\"hljs-attr\">placement</span>=<span class=\"hljs-string\">\"bottom\"</span> <span class=\"hljs-attr\">trigger</span>=<span class=\"hljs-string\">\"focus\"</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-input</span>  <span class=\"hljs-attr\">placeholder</span>=<span class=\"hljs-string\">\"Focus\"</span>&gt;</span><span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-input</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-tooltip</span>&gt;</span>\n</code></pre>\n<pre><code class=\"language-javascript\"><span class=\"hljs-keyword\">export</span> <span class=\"hljs-keyword\">default</span> {\n  data () {\n    <span class=\"hljs-keyword\">return</span> {\n      <span class=\"hljs-attr\">title</span>: <span class=\"hljs-string\">'Title'</span>,\n      <span class=\"hljs-attr\">text</span>: <span class=\"hljs-string\">'Lorem ipsum dolor sit amet'</span>\n    }\n  }\n}\n</code></pre>\n<h3>参数名</h3>\n<table>\n<thead>\n<tr>\n<th>参数名</th>\n<th>类型</th>\n<th>默认值</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>trigger</td>\n<td><code>String</code>, 如: <code>hover</code> <code>focus</code> <code>hover</code></td>\n<td><code>click</code></td>\n<td>触发方式</td>\n</tr>\n<tr>\n<td>effect</td>\n<td><code>String</code>, 如: <code>scale</code> <code>fade</code></td>\n<td><code>scale</code></td>\n<td></td>\n</tr>\n<tr>\n<td>content</td>\n<td><code>String</code></td>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>placement</td>\n<td><code>String</code>, 如: <code>top</code> <code>left</code> <code>right</code> <code>bottom</code></td>\n<td></td>\n<td>定位方式</td>\n</tr>\n</tbody>\n</table>\n</div>\n</template>\n\n</section>";

/***/ }),
/* 490 */
/***/ (function(module, exports, __webpack_require__) {

    module.exports = __webpack_require__(491);

/***/ }),
/* 491 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(492)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] node_modules/vue-markdown-loader/_cache/n3TypeaheadDocs-28.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(493)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-11e86c4e/n3TypeaheadDocs-28.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 492 */
/***/ (function(module, exports) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    // <template><section><template>
    // <h3>自动补全</h3>
    // <div class="bs-docs-section" id="自动补全">
    // <div class="bs-example">
    // <blockquote>
    // <p>本地数据</p>
    // </blockquote>
    // <p><n3-typeahead v-model="value" :data="USstate" placeholder=" 发到">
    // </n3-typeahead></p>
    // <hr>
    // <pre><code class="language-html"><span class="hljs-tag">&lt;<span class="hljs-name">n3-typeahead</span> 
    //     <span class="hljs-attr">v-model</span>=<span class="hljs-string">"value"</span>
    //     <span class="hljs-attr">:data</span>=<span class="hljs-string">"USstate"</span> 
    //     <span class="hljs-attr">placeholder</span>=<span class="hljs-string">" 发到"</span>&gt;</span>
    // <span class="hljs-tag">&lt;/<span class="hljs-name">n3-typeahead</span>&gt;</span>
    //
    // </code></pre>
    // <hr>
    // <blockquote>
    // <p>异步获取</p>
    // </blockquote>
    // <p><n3-typeahead async placeholder="CCCAddress, async via maps.googleapis.com" @change="getResult" :render="render" :items="items" :add-format="googleCallback">
    // </n3-typeahead></p>
    // <pre><code class="language-html"><span class="hljs-tag">&lt;<span class="hljs-name">n3-typeahead</span> 
    //   <span class="hljs-attr">async</span>
    //   <span class="hljs-attr">placeholder</span>=<span class="hljs-string">"CCCAddress, async via maps.googleapis.com"</span>
    //   <span class="hljs-attr">@change</span>=<span class="hljs-string">"getResult"</span>
    //   <span class="hljs-attr">:render</span>=<span class="hljs-string">"render"</span>
    //   <span class="hljs-attr">:items</span>=<span class="hljs-string">"items"</span>
    //   <span class="hljs-attr">:add-format</span>=<span class="hljs-string">"googleCallback"</span>&gt;</span>
    // <span class="hljs-tag">&lt;/<span class="hljs-name">n3-typeahead</span>&gt;</span>
    // </code></pre>
    // <hr>
    // <blockquote>
    // <p>内容模版</p>
    // </blockquote>
    // <p><n3-typeahead async :context="_self" placeholder="Github users, async via api.github.com" @change="getGitresults" :items="gitItems" :render="rendergit" :add-format="githubCallback">
    // </n3-typeahead></p>
    // <pre><code class="language-html"><span class="hljs-tag">&lt;<span class="hljs-name">n3-typeahead</span>
    //   <span class="hljs-attr">async</span> 
    //   <span class="hljs-attr">:context</span>=<span class="hljs-string">"_self"</span>
    //   <span class="hljs-attr">placeholder</span>=<span class="hljs-string">"Github users, async via api.github.com"</span>
    //   <span class="hljs-attr">@change</span>=<span class="hljs-string">"getGitresults"</span>
    //   <span class="hljs-attr">:items</span>=<span class="hljs-string">"gitItems"</span>
    //   <span class="hljs-attr">:render</span>=<span class="hljs-string">"rendergit"</span>
    //   <span class="hljs-attr">:add-format</span>=<span class="hljs-string">"githubCallback"</span> &gt;</span>
    // <span class="hljs-tag">&lt;/<span class="hljs-name">n3-typeahead</span>&gt;</span>
    // </code></pre>
    // </div>
    // <h3>参数</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>参数</th>
    // <th>类型</th>
    // <th>默认值</th>
    // <th>说明</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>data</td>
    // <td><code>Array</code></td>
    // <td>-</td>
    // <td>本地数组</td>
    // </tr>
    // <tr>
    // <td>limit</td>
    // <td><code>Number</code></td>
    // <td><code>8</code></td>
    // <td>显示的条数</td>
    // </tr>
    // <tr>
    // <td>items</td>
    // <td><code>Array</code></td>
    // <td><code>[]</code></td>
    // <td>列表数组,用于异步请求</td>
    // </tr>
    // <tr>
    // <td>async</td>
    // <td><code>Boolean</code></td>
    // <td><code>false</code></td>
    // <td>异步</td>
    // </tr>
    // <tr>
    // <td>render</td>
    // <td><code>Function</code></td>
    // <td>-</td>
    // <td>渲染函数</td>
    // </tr>
    // <tr>
    // <td>add-format</td>
    // <td><code>Function</code></td>
    // <td>-</td>
    // <td>获取需要的值</td>
    // </tr>
    // <tr>
    // <td>dropdow-width</td>
    // <td><code>String</code></td>
    // <td><code>220px</code></td>
    // <td>下拉宽度</td>
    // </tr>
    // <tr>
    // <td>dropdown-height</td>
    // <td><code>String</code></td>
    // <td><code>300px</code></td>
    // <td>下拉框最大高度</td>
    // </tr>
    // </tbody>
    // </table>
    // <h3>事件</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>名称</th>
    // <th>说明</th>
    // <th>参数</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>blur</td>
    // <td>失焦</td>
    // <td>-</td>
    // </tr>
    // <tr>
    // <td>focus</td>
    // <td>聚焦</td>
    // <td>-</td>
    // </tr>
    // <tr>
    // <td>change</td>
    // <td>值变化</td>
    // <td>(currentValue)</td>
    // </tr>
    // </tbody>
    // </table>
    // <p>其他表单相关参数,请移步 <a href="#n3FormDocs">表单验证</a> 待验证组件参数</p>
    // </div>
    // </template>
    //
    // </section></template>
    //
    // <script>
    exports.default = {
      data: function data() {
        return {
          items: [],
          gitItems: [],
          value: 'Alabama',
          USstate: ['Alabama', 'Alaska', 'Arizona', 'Arkansas', 'California', 'Colorado', 'Connecticut', 'Delaware', 'Florida', 'Georgia', 'Hawaii', 'Idaho', 'Illinois', 'Indiana', 'Iowa', 'Kansas', 'Kentucky', 'Louisiana', 'Maine', 'Maryland', 'Massachusetts', 'Michigan', 'Minnesota', 'Mississippi', 'Missouri', 'Montana', 'Nebraska', 'Nevada', 'New Hampshire', 'New Jersey', 'New Mexico', 'New York', 'North Dakota', 'North Carolina', 'Ohio', 'Oklahoma', 'Oregon', 'Pennsylvania', 'Rhode Island', 'South Carolina', 'South Dakota', 'Tennessee', 'Texas', 'Utah', 'Vermont', 'Virginia', 'Washington', 'West Virginia', 'Wisconsin', 'Wyoming']
        };
      },
    
      methods: {
        render: function render(item) {
          return item.formatted_address;
        },
        getResult: function getResult(query) {
          var self = this;
          $.ajax({
            url: 'https://maps.googleapis.com/maps/api/geocode/json?address=' + query,
            success: function success(ret) {
              self.items = ret.results;
            }
          });
        },
        getGitresults: function getGitresults(query) {
          var self = this;
          $.ajax({
            url: 'https://api.github.com/search/users?q=' + query,
            success: function success(ret) {
              self.gitItems = ret.items;
            }
          });
        },
        rendergit: function rendergit(item) {
          return '<div><img width="18px" height="18px" src="' + item.avatar_url + '"/> <span>' + item.login + '</span></div>';
        },
        googleCallback: function googleCallback(item) {
          return item.formatted_address;
        },
        githubCallback: function githubCallback(item) {
          return item.login;
        }
      }
    };
    // </script>
    /* generated by vue-loader */

/***/ }),
/* 493 */
/***/ (function(module, exports) {

    module.exports = "<section><template>\n<h3>自动补全</h3>\n<div class=\"bs-docs-section\" id=\"自动补全\">\n<div class=\"bs-example\">\n<blockquote>\n<p>本地数据</p>\n</blockquote>\n<p><n3-typeahead v-model=\"value\" :data=\"USstate\" placeholder=\" 发到\">\n</n3-typeahead></p>\n<hr>\n<pre><code class=\"language-html\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-typeahead</span> \n    <span class=\"hljs-attr\">v-model</span>=<span class=\"hljs-string\">\"value\"</span>\n    <span class=\"hljs-attr\">:data</span>=<span class=\"hljs-string\">\"USstate\"</span> \n    <span class=\"hljs-attr\">placeholder</span>=<span class=\"hljs-string\">\" 发到\"</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-typeahead</span>&gt;</span>\n\n</code></pre>\n<hr>\n<blockquote>\n<p>异步获取</p>\n</blockquote>\n<p><n3-typeahead async placeholder=\"CCCAddress, async via maps.googleapis.com\" @change=\"getResult\" :render=\"render\" :items=\"items\" :add-format=\"googleCallback\">\n</n3-typeahead></p>\n<pre><code class=\"language-html\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-typeahead</span> \n  <span class=\"hljs-attr\">async</span>\n  <span class=\"hljs-attr\">placeholder</span>=<span class=\"hljs-string\">\"CCCAddress, async via maps.googleapis.com\"</span>\n  <span class=\"hljs-attr\">@change</span>=<span class=\"hljs-string\">\"getResult\"</span>\n  <span class=\"hljs-attr\">:render</span>=<span class=\"hljs-string\">\"render\"</span>\n  <span class=\"hljs-attr\">:items</span>=<span class=\"hljs-string\">\"items\"</span>\n  <span class=\"hljs-attr\">:add-format</span>=<span class=\"hljs-string\">\"googleCallback\"</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-typeahead</span>&gt;</span>\n</code></pre>\n<hr>\n<blockquote>\n<p>内容模版</p>\n</blockquote>\n<p><n3-typeahead async :context=\"_self\" placeholder=\"Github users, async via api.github.com\" @change=\"getGitresults\" :items=\"gitItems\" :render=\"rendergit\" :add-format=\"githubCallback\">\n</n3-typeahead></p>\n<pre><code class=\"language-html\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-typeahead</span>\n  <span class=\"hljs-attr\">async</span> \n  <span class=\"hljs-attr\">:context</span>=<span class=\"hljs-string\">\"_self\"</span>\n  <span class=\"hljs-attr\">placeholder</span>=<span class=\"hljs-string\">\"Github users, async via api.github.com\"</span>\n  <span class=\"hljs-attr\">@change</span>=<span class=\"hljs-string\">\"getGitresults\"</span>\n  <span class=\"hljs-attr\">:items</span>=<span class=\"hljs-string\">\"gitItems\"</span>\n  <span class=\"hljs-attr\">:render</span>=<span class=\"hljs-string\">\"rendergit\"</span>\n  <span class=\"hljs-attr\">:add-format</span>=<span class=\"hljs-string\">\"githubCallback\"</span> &gt;</span>\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-typeahead</span>&gt;</span>\n</code></pre>\n</div>\n<h3>参数</h3>\n<table>\n<thead>\n<tr>\n<th>参数</th>\n<th>类型</th>\n<th>默认值</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>data</td>\n<td><code>Array</code></td>\n<td>-</td>\n<td>本地数组</td>\n</tr>\n<tr>\n<td>limit</td>\n<td><code>Number</code></td>\n<td><code>8</code></td>\n<td>显示的条数</td>\n</tr>\n<tr>\n<td>items</td>\n<td><code>Array</code></td>\n<td><code>[]</code></td>\n<td>列表数组,用于异步请求</td>\n</tr>\n<tr>\n<td>async</td>\n<td><code>Boolean</code></td>\n<td><code>false</code></td>\n<td>异步</td>\n</tr>\n<tr>\n<td>render</td>\n<td><code>Function</code></td>\n<td>-</td>\n<td>渲染函数</td>\n</tr>\n<tr>\n<td>add-format</td>\n<td><code>Function</code></td>\n<td>-</td>\n<td>获取需要的值</td>\n</tr>\n<tr>\n<td>dropdow-width</td>\n<td><code>String</code></td>\n<td><code>220px</code></td>\n<td>下拉宽度</td>\n</tr>\n<tr>\n<td>dropdown-height</td>\n<td><code>String</code></td>\n<td><code>300px</code></td>\n<td>下拉框最大高度</td>\n</tr>\n</tbody>\n</table>\n<h3>事件</h3>\n<table>\n<thead>\n<tr>\n<th>名称</th>\n<th>说明</th>\n<th>参数</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>blur</td>\n<td>失焦</td>\n<td>-</td>\n</tr>\n<tr>\n<td>focus</td>\n<td>聚焦</td>\n<td>-</td>\n</tr>\n<tr>\n<td>change</td>\n<td>值变化</td>\n<td>(currentValue)</td>\n</tr>\n</tbody>\n</table>\n<p>其他表单相关参数,请移步 <a href=\"#n3FormDocs\">表单验证</a> 待验证组件参数</p>\n</div>\n</template>\n\n</section>";

/***/ }),
/* 494 */
/***/ (function(module, exports, __webpack_require__) {

    module.exports = __webpack_require__(495);

/***/ }),
/* 495 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_template__ = __webpack_require__(496)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-2aac3755/n3StepDocs-29.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 496 */
/***/ (function(module, exports) {

    module.exports = "<section><template>\n<h3>步骤条</h3>\n<div class=\"bs-docs-section\" id=\"步骤条\">\n<blockquote>\n<p>普通步骤条</p>\n</blockquote>\n<div class=\"bs-example\">\n<n3-step :labels=\"['第一步 我的文案比较长','第二步','第三步']\"></n3-step>\n</div>\n<pre><code class=\"language-html\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-step</span> <span class=\"hljs-attr\">:labels</span>=<span class=\"hljs-string\">\"['第一步 我的文案比较长','第二步','第三步']\"</span>&gt;</span><span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-step</span>&gt;</span>\n</code></pre>\n<blockquote>\n<p>前台步骤条</p>\n</blockquote>\n<div class=\"bs-example\">\n<n3-step round=\"\" :labels=\"['第一步 我的文案比较长','第二步','第三步']\" :current=\"2\"></n3-step>\n</div>\n<pre><code class=\"language-html\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-step</span> <span class=\"hljs-attr\">round</span> <span class=\"hljs-attr\">:labels</span>=<span class=\"hljs-string\">\"['第一步 我的文案比较长','第二步','第三步']\"</span> <span class=\"hljs-attr\">:current</span>=<span class=\"hljs-string\">\"2\"</span>&gt;</span><span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-step</span>&gt;</span>\n</code></pre>\n<h3>参数</h3>\n<table>\n<thead>\n<tr>\n<th>参数名</th>\n<th>类型</th>\n<th>默认值</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>labels</td>\n<td><code>Array</code></td>\n<td></td>\n<td>文案数组</td>\n</tr>\n<tr>\n<td>current</td>\n<td><code>Number</code></td>\n<td><code>1</code></td>\n<td>当前步数</td>\n</tr>\n<tr>\n<td>round</td>\n<td><code>Boolean</code></td>\n<td><code>false</code></td>\n<td>是否为前台步骤条</td>\n</tr>\n</tbody>\n</table>\n</div>\n</template>\n</section>";

/***/ }),
/* 497 */
/***/ (function(module, exports, __webpack_require__) {

    module.exports = __webpack_require__(498);

/***/ }),
/* 498 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(499)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] node_modules/vue-markdown-loader/_cache/n3SliderDocs-30.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(500)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-22753736/n3SliderDocs-30.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 499 */
/***/ (function(module, exports) {

    "use strict";
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    // <template><section><template>
    // <h3>滑块</h3>
    // <div class="bs-docs-section" id="滑块">
    // <div class="bs-example">
    // <n3-slider v-model="value" @change="change" orientation="vertical"></n3-slider>
    // <p>滑块的值: {{value}}</p> 
    // <p><n3-slider v-model="value1" @change="change" :range="true"></n3-slider></p>
    // <p>滑块的值: {{value1}}</p> 
    // </div>
    // <pre><code class="language-html"><span class="hljs-tag">&lt;<span class="hljs-name">n3-slider</span> <span class="hljs-attr">v-model</span>=<span class="hljs-string">"value"</span> <span class="hljs-attr">:@change</span>=<span class="hljs-string">"change"</span> <span class="hljs-attr">orientation</span>=<span class="hljs-string">"vertical"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">n3-slider</span>&gt;</span>
    // <span class="hljs-tag">&lt;<span class="hljs-name">n3-slider</span> <span class="hljs-attr">v-model</span>=<span class="hljs-string">"value1"</span> <span class="hljs-attr">@change</span>=<span class="hljs-string">"change"</span> <span class="hljs-attr">:range</span>=<span class="hljs-string">"true"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">n3-slider</span>&gt;</span>
    // </code></pre>
    // <pre><code class="language-javascript"><span class="hljs-keyword">export</span> <span class="hljs-keyword">default</span> {
    //   data () {
    //     <span class="hljs-keyword">return</span> {
    //       <span class="hljs-attr">value</span>: <span class="hljs-number">2</span>
    //     }
    //   },
    //   <span class="hljs-attr">methods</span>: {
    //     change (val) {
    //       <span class="hljs-built_in">console</span>.log(val)
    //     }
    //   }
    // }
    // </code></pre>
    // <h3>参数</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>参数</th>
    // <th>类型</th>
    // <th>默认值</th>
    // <th>说明</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>min</td>
    // <td><code>Number</code></td>
    // <td><code>0</code></td>
    // <td>最小值</td>
    // </tr>
    // <tr>
    // <td>max</td>
    // <td><code>Number</code></td>
    // <td><code>0</code></td>
    // <td>最大值</td>
    // </tr>
    // <tr>
    // <td>step</td>
    // <td><code>Number</code></td>
    // <td><code>1</code></td>
    // <td>单步增量</td>
    // </tr>
    // <tr>
    // <td>orientation</td>
    // <td>String<code>|</code>horizontal<code>|</code>horizontal<code>(水平)</code>vertical`(垂直)</td>
    // <td></td>
    // <td></td>
    // </tr>
    // <tr>
    // <td>range</td>
    // <td><code>Boolean</code></td>
    // <td><code>false</code></td>
    // <td>是否范围选择</td>
    // </tr>
    // <tr>
    // <td>tooltip</td>
    // <td><code>String</code></td>
    // <td><code>show</code></td>
    // <td>tooltip显示参数 'show' 'hide' 'always'</td>
    // </tr>
    // <tr>
    // <td>disabled</td>
    // <td><code>Boolean</code></td>
    // <td><code>false</code></td>
    // <td>是否禁用</td>
    // </tr>
    // <tr>
    // <td>formatter</td>
    // <td><code>Function</code></td>
    // <td>-</td>
    // <td>格式化tooltip显示内容</td>
    // </tr>
    // <tr>
    // <td>width</td>
    // <td><code>String</code></td>
    // <td><code>220px</code></td>
    // <td>水平显示的宽度</td>
    // </tr>
    // <tr>
    // <td>height</td>
    // <td><code>String</code></td>
    // <td><code>220px</code></td>
    // <td>水平显示的宽度</td>
    // </tr>
    // </tbody>
    // </table>
    // <h3>Events</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>名称</th>
    // <th>说明</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>change</td>
    // <td>值变化</td>
    // </tr>
    // </tbody>
    // </table>
    // <p>其他表单相关参数,请移步 <a href="#n3FormDocs">表单验证</a> 待验证组件参数</p>
    // </div>
    // </template>
    //
    // </section></template>
    //
    // <script>
    exports.default = {
      data: function data() {
        return {
          value: 1,
          value1: [1, 2]
        };
      },
    
      methods: {
        change: function change(val) {
          console.log(val);
        }
      }
    };
    // </script>
    /* generated by vue-loader */

/***/ }),
/* 500 */
/***/ (function(module, exports) {

    module.exports = "<section><template>\n<h3>滑块</h3>\n<div class=\"bs-docs-section\" id=\"滑块\">\n<div class=\"bs-example\">\n<n3-slider v-model=\"value\" @change=\"change\" orientation=\"vertical\"></n3-slider>\n<p>滑块的值: {{value}}</p> \n<p><n3-slider v-model=\"value1\" @change=\"change\" :range=\"true\"></n3-slider></p>\n<p>滑块的值: {{value1}}</p> \n</div>\n<pre><code class=\"language-html\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-slider</span> <span class=\"hljs-attr\">v-model</span>=<span class=\"hljs-string\">\"value\"</span> <span class=\"hljs-attr\">:@change</span>=<span class=\"hljs-string\">\"change\"</span> <span class=\"hljs-attr\">orientation</span>=<span class=\"hljs-string\">\"vertical\"</span>&gt;</span><span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-slider</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-slider</span> <span class=\"hljs-attr\">v-model</span>=<span class=\"hljs-string\">\"value1\"</span> <span class=\"hljs-attr\">@change</span>=<span class=\"hljs-string\">\"change\"</span> <span class=\"hljs-attr\">:range</span>=<span class=\"hljs-string\">\"true\"</span>&gt;</span><span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-slider</span>&gt;</span>\n</code></pre>\n<pre><code class=\"language-javascript\"><span class=\"hljs-keyword\">export</span> <span class=\"hljs-keyword\">default</span> {\n  data () {\n    <span class=\"hljs-keyword\">return</span> {\n      <span class=\"hljs-attr\">value</span>: <span class=\"hljs-number\">2</span>\n    }\n  },\n  <span class=\"hljs-attr\">methods</span>: {\n    change (val) {\n      <span class=\"hljs-built_in\">console</span>.log(val)\n    }\n  }\n}\n</code></pre>\n<h3>参数</h3>\n<table>\n<thead>\n<tr>\n<th>参数</th>\n<th>类型</th>\n<th>默认值</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>min</td>\n<td><code>Number</code></td>\n<td><code>0</code></td>\n<td>最小值</td>\n</tr>\n<tr>\n<td>max</td>\n<td><code>Number</code></td>\n<td><code>0</code></td>\n<td>最大值</td>\n</tr>\n<tr>\n<td>step</td>\n<td><code>Number</code></td>\n<td><code>1</code></td>\n<td>单步增量</td>\n</tr>\n<tr>\n<td>orientation</td>\n<td>String<code>|</code>horizontal<code>|</code>horizontal<code>(水平)</code>vertical`(垂直)</td>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>range</td>\n<td><code>Boolean</code></td>\n<td><code>false</code></td>\n<td>是否范围选择</td>\n</tr>\n<tr>\n<td>tooltip</td>\n<td><code>String</code></td>\n<td><code>show</code></td>\n<td>tooltip显示参数 'show' 'hide' 'always'</td>\n</tr>\n<tr>\n<td>disabled</td>\n<td><code>Boolean</code></td>\n<td><code>false</code></td>\n<td>是否禁用</td>\n</tr>\n<tr>\n<td>formatter</td>\n<td><code>Function</code></td>\n<td>-</td>\n<td>格式化tooltip显示内容</td>\n</tr>\n<tr>\n<td>width</td>\n<td><code>String</code></td>\n<td><code>220px</code></td>\n<td>水平显示的宽度</td>\n</tr>\n<tr>\n<td>height</td>\n<td><code>String</code></td>\n<td><code>220px</code></td>\n<td>水平显示的宽度</td>\n</tr>\n</tbody>\n</table>\n<h3>Events</h3>\n<table>\n<thead>\n<tr>\n<th>名称</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>change</td>\n<td>值变化</td>\n</tr>\n</tbody>\n</table>\n<p>其他表单相关参数,请移步 <a href=\"#n3FormDocs\">表单验证</a> 待验证组件参数</p>\n</div>\n</template>\n\n</section>";

/***/ }),
/* 501 */
/***/ (function(module, exports, __webpack_require__) {

    module.exports = __webpack_require__(502);

/***/ }),
/* 502 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_template__ = __webpack_require__(503)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-2f098046/n3LoadingDocs-32.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 503 */
/***/ (function(module, exports) {

    module.exports = "<section><template>\n<h3>加载提示</h3>\n<div class=\"bs-docs-section\" id=\"加载提示\">\n<div class=\"bs-example\">\n  <p>大图标:<n3-loading size=\"lg\"></n3-loading></p>\n  <p>默认图标:<n3-loading></n3-loading></p>\n  <p>刷新图标:<n3-loading type=\"refresh\"></n3-loading></p>\n  <p>颜色:<n3-loading color=\"primary\"></n3-loading></p>\n</div>\n<div class=\"bs-example\">\n  <p>居中:<n3-loading center=\"\"></n3-loading></p>\n</div>\n<pre><code class=\"language-html\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">p</span>&gt;</span>大图标:<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-loading</span> <span class=\"hljs-attr\">size</span>=<span class=\"hljs-string\">\"lg\"</span>&gt;</span><span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-loading</span>&gt;</span><span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">p</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">p</span>&gt;</span>默认图标:<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-loading</span> &gt;</span><span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-loading</span>&gt;</span><span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">p</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">p</span>&gt;</span>刷新图标:<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-loading</span> <span class=\"hljs-attr\">type</span>=<span class=\"hljs-string\">\"refresh\"</span>&gt;</span><span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-loading</span>&gt;</span><span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">p</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">p</span>&gt;</span>颜色:<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-loading</span> <span class=\"hljs-attr\">color</span>=<span class=\"hljs-string\">\"primary\"</span>&gt;</span><span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-loading</span>&gt;</span><span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">p</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">p</span>&gt;</span>居中:<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-loading</span> <span class=\"hljs-attr\">center</span>&gt;</span><span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-loading</span>&gt;</span><span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">p</span>&gt;</span>\n</code></pre>\n<h3>参数</h3>\n<table>\n<thead>\n<tr>\n<th>参数名</th>\n<th>类型</th>\n<th>默认值</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>size</td>\n<td><code>String</code></td>\n<td></td>\n<td>图标大小<code>lg</code> <code>sm</code> <code>xs</code> 和默认</td>\n</tr>\n<tr>\n<td>type</td>\n<td><code>String</code></td>\n<td></td>\n<td>图标类型 <code>refresh</code> 和默认菊花</td>\n</tr>\n<tr>\n<td>center</td>\n<td><code>Boolean</code></td>\n<td></td>\n<td>居中</td>\n</tr>\n<tr>\n<td>color</td>\n<td><code>String</code></td>\n<td></td>\n<td>颜色</td>\n</tr>\n</tbody>\n</table>\n</div>\n</template>\n</section>";

/***/ }),
/* 504 */
/***/ (function(module, exports, __webpack_require__) {

    module.exports = __webpack_require__(505);

/***/ }),
/* 505 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(506)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] node_modules/vue-markdown-loader/_cache/n3PageDocs-31.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(507)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-3967df6e/n3PageDocs-31.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 506 */
/***/ (function(module, exports) {

    "use strict";
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    // <template><section><template>
    // <h3>分页</h3>
    // <div class="bs-docs-section" id="分页">
    // <div class="bs-example">
    //   <n3-page :total="100" @change="pagechange" v-model="current" :show-total="true" :show-sizer="true" :show-elevator="true"></n3-page>
    //   <hr>
    //   <n3-page :total="100" simple=""></n3-page>
    // </div>
    // <pre><code class="language-html"><span class="hljs-tag">&lt;<span class="hljs-name">n3-page</span> <span class="hljs-attr">:total</span>=<span class="hljs-string">"100"</span> <span class="hljs-attr">@change</span>=<span class="hljs-string">"pagechange"</span> <span class="hljs-attr">v-model</span>=<span class="hljs-string">"current"</span> <span class="hljs-attr">:show-total</span>=<span class="hljs-string">"true"</span> <span class="hljs-attr">:show-sizer</span>=<span class="hljs-string">"true"</span> <span class="hljs-attr">:show-elevator</span>=<span class="hljs-string">"true"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">n3-page</span>&gt;</span>
    // <span class="hljs-tag">&lt;<span class="hljs-name">n3-page</span> <span class="hljs-attr">:total</span>=<span class="hljs-string">"100"</span> <span class="hljs-attr">simple</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">n3-page</span>&gt;</span>
    // </code></pre>
    // <pre><code class="language-javascript"><span class="hljs-keyword">export</span> <span class="hljs-keyword">default</span> {
    //   data () {
    //     <span class="hljs-keyword">return</span> {
    //       <span class="hljs-attr">current</span>: <span class="hljs-number">1</span>
    //     }
    //   },
    //   <span class="hljs-attr">methods</span>: {
    //     pagechange (page) {
    //       <span class="hljs-built_in">console</span>.log(page)
    //     }
    //   }
    // }
    // </code></pre>
    // <h3>参数</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>参数名</th>
    // <th>类型</th>
    // <th>默认值</th>
    // <th>说明</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>total</td>
    // <td><code>Number</code></td>
    // <td></td>
    // <td>总条数</td>
    // </tr>
    // <tr>
    // <td>current</td>
    // <td><code>Number</code></td>
    // <td>1</td>
    // <td>当前页数</td>
    // </tr>
    // <tr>
    // <td>value</td>
    // <td><code>Number</code></td>
    // <td></td>
    // <td></td>
    // </tr>
    // <tr>
    // <td>pagesize</td>
    // <td><code>Number</code></td>
    // <td>10</td>
    // <td>每页条数</td>
    // </tr>
    // <tr>
    // <td>pagesize-opts</td>
    // <td><code>Array</code></td>
    // <td><code>[10, 20, 30, 40]</code></td>
    // <td>每页条数选项</td>
    // </tr>
    // <tr>
    // <td>simple</td>
    // <td><code>Boolean</code></td>
    // <td><code>false</code></td>
    // <td>简单分页</td>
    // </tr>
    // <tr>
    // <td>show-total</td>
    // <td><code>Boolean</code></td>
    // <td><code>false</code></td>
    // <td>显示全部</td>
    // </tr>
    // <tr>
    // <td>show-elevator</td>
    // <td><code>Boolean</code></td>
    // <td><code>false</code></td>
    // <td>显示跳转</td>
    // </tr>
    // <tr>
    // <td>show-sizer</td>
    // <td><code>Boolean</code></td>
    // <td><code>false</code></td>
    // <td>显示分页选项</td>
    // </tr>
    // </tbody>
    // </table>
    // <h3>Events</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>事件名称</th>
    // <th>说明</th>
    // <th>回调参数</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>change</td>
    // <td>值变化时</td>
    // <td>(page, currentPagesize)</td>
    // </tr>
    // </tbody>
    // </table>
    // </div>
    // </template>
    //
    // </section></template>
    //
    // <script>
    exports.default = {
      data: function data() {
        return {
          current: 1
        };
      },
    
      methods: {
        pagechange: function pagechange(page) {
          console.log(page);
        }
      }
    };
    // </script>
    /* generated by vue-loader */

/***/ }),
/* 507 */
/***/ (function(module, exports) {

    module.exports = "<section><template>\n<h3>分页</h3>\n<div class=\"bs-docs-section\" id=\"分页\">\n<div class=\"bs-example\">\n  <n3-page :total=\"100\" @change=\"pagechange\" v-model=\"current\" :show-total=\"true\" :show-sizer=\"true\" :show-elevator=\"true\"></n3-page>\n  <hr>\n  <n3-page :total=\"100\" simple=\"\"></n3-page>\n</div>\n<pre><code class=\"language-html\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-page</span> <span class=\"hljs-attr\">:total</span>=<span class=\"hljs-string\">\"100\"</span> <span class=\"hljs-attr\">@change</span>=<span class=\"hljs-string\">\"pagechange\"</span> <span class=\"hljs-attr\">v-model</span>=<span class=\"hljs-string\">\"current\"</span> <span class=\"hljs-attr\">:show-total</span>=<span class=\"hljs-string\">\"true\"</span> <span class=\"hljs-attr\">:show-sizer</span>=<span class=\"hljs-string\">\"true\"</span> <span class=\"hljs-attr\">:show-elevator</span>=<span class=\"hljs-string\">\"true\"</span>&gt;</span><span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-page</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-page</span> <span class=\"hljs-attr\">:total</span>=<span class=\"hljs-string\">\"100\"</span> <span class=\"hljs-attr\">simple</span>&gt;</span><span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-page</span>&gt;</span>\n</code></pre>\n<pre><code class=\"language-javascript\"><span class=\"hljs-keyword\">export</span> <span class=\"hljs-keyword\">default</span> {\n  data () {\n    <span class=\"hljs-keyword\">return</span> {\n      <span class=\"hljs-attr\">current</span>: <span class=\"hljs-number\">1</span>\n    }\n  },\n  <span class=\"hljs-attr\">methods</span>: {\n    pagechange (page) {\n      <span class=\"hljs-built_in\">console</span>.log(page)\n    }\n  }\n}\n</code></pre>\n<h3>参数</h3>\n<table>\n<thead>\n<tr>\n<th>参数名</th>\n<th>类型</th>\n<th>默认值</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>total</td>\n<td><code>Number</code></td>\n<td></td>\n<td>总条数</td>\n</tr>\n<tr>\n<td>current</td>\n<td><code>Number</code></td>\n<td>1</td>\n<td>当前页数</td>\n</tr>\n<tr>\n<td>value</td>\n<td><code>Number</code></td>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>pagesize</td>\n<td><code>Number</code></td>\n<td>10</td>\n<td>每页条数</td>\n</tr>\n<tr>\n<td>pagesize-opts</td>\n<td><code>Array</code></td>\n<td><code>[10, 20, 30, 40]</code></td>\n<td>每页条数选项</td>\n</tr>\n<tr>\n<td>simple</td>\n<td><code>Boolean</code></td>\n<td><code>false</code></td>\n<td>简单分页</td>\n</tr>\n<tr>\n<td>show-total</td>\n<td><code>Boolean</code></td>\n<td><code>false</code></td>\n<td>显示全部</td>\n</tr>\n<tr>\n<td>show-elevator</td>\n<td><code>Boolean</code></td>\n<td><code>false</code></td>\n<td>显示跳转</td>\n</tr>\n<tr>\n<td>show-sizer</td>\n<td><code>Boolean</code></td>\n<td><code>false</code></td>\n<td>显示分页选项</td>\n</tr>\n</tbody>\n</table>\n<h3>Events</h3>\n<table>\n<thead>\n<tr>\n<th>事件名称</th>\n<th>说明</th>\n<th>回调参数</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>change</td>\n<td>值变化时</td>\n<td>(page, currentPagesize)</td>\n</tr>\n</tbody>\n</table>\n</div>\n</template>\n\n</section>";

/***/ }),
/* 508 */
/***/ (function(module, exports, __webpack_require__) {

    module.exports = __webpack_require__(509);

/***/ }),
/* 509 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(510)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] node_modules/vue-markdown-loader/_cache/n3DataTableDocs-33.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(511)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-8355dd54/n3DataTableDocs-33.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 510 */
/***/ (function(module, exports) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    // <template><section><template>
    // <h3>数据表格</h3>
    // <div class="bs-docs-section" id="数据表格">
    // <div class="bs-example">
    // <h4>Table</h4>
    // <p><n3-data-table fixed-columns="" height="400px" :selection="selection" :source="source" :columns="columns" :refresh="refresh">
    // </n3-data-table></p>
    // </div>
    // <pre><code class="language-html">
    // <span class="hljs-tag">&lt;<span class="hljs-name">n3-data-table</span>
    //   <span class="hljs-attr">fixed-columns</span>
    //   <span class="hljs-attr">height</span>=<span class="hljs-string">"400px"</span>
    //   <span class="hljs-attr">:selection</span>=<span class="hljs-string">"selection"</span>
    //   <span class="hljs-attr">:source</span>=<span class="hljs-string">"source"</span> 
    //   <span class="hljs-attr">:columns</span>=<span class="hljs-string">"columns"</span> 
    //   <span class="hljs-attr">:refresh</span>=<span class="hljs-string">"refresh"</span>&gt;</span>
    // <span class="hljs-tag">&lt;/<span class="hljs-name">n3-data-table</span>&gt;</span>
    //
    // </code></pre>
    // <h4>selection</h4>
    // <pre><code class="language-javascript">{
    //   <span class="hljs-attr">checkRows</span>:[],
    //   onSelect (record, checked, checkRows) {},
    //   onSelectAll (checked, checkRows, changeRows) {},
    //   getCheckboxProps(record){
    //     <span class="hljs-keyword">if</span>(record.key == <span class="hljs-number">2</span>){
    //       <span class="hljs-keyword">return</span> {
    //         <span class="hljs-attr">checked</span>: <span class="hljs-literal">true</span>,
    //         <span class="hljs-attr">disabled</span>:<span class="hljs-literal">true</span>
    //       }
    //     }<span class="hljs-keyword">else</span>{
    //       <span class="hljs-keyword">return</span> {
    //         <span class="hljs-attr">disabled</span>:<span class="hljs-literal">false</span>
    //       }
    //     }
    //   }
    // }
    //
    // </code></pre>
    // <h4>filter-list</h4>
    // <pre><code class="language-javascript">
    // [{
    //   <span class="hljs-attr">title</span>:<span class="hljs-string">'姓名'</span>,
    //   <span class="hljs-attr">dataIndex</span>: <span class="hljs-string">'name'</span>,
    //   <span class="hljs-attr">options</span>:[{<span class="hljs-attr">value</span>:<span class="hljs-string">"v白"</span>,<span class="hljs-attr">label</span>:<span class="hljs-string">"v白"</span>},{<span class="hljs-attr">value</span>:<span class="hljs-string">"t红"</span>,<span class="hljs-attr">label</span>:<span class="hljs-string">"t红"</span>}],
    //   <span class="hljs-attr">value</span>:[],
    //   <span class="hljs-comment">// multiple,search,extra</span>
    // }]
    //
    // </code></pre>
    // <h4>merge-rule</h4>
    // <pre><code class="language-javascript">
    // {
    //   <span class="hljs-attr">name</span>:{
    //     <span class="hljs-string">'小白'</span>: {<span class="hljs-attr">rowspan</span>: <span class="hljs-number">2</span>},
    //     <span class="hljs-string">'v白'</span>: {<span class="hljs-attr">rowspan</span>: <span class="hljs-number">0</span>}
    //   }
    // }
    //
    // </code></pre>
    // <h4>pagination</h4>
    // <pre><code class="language-javascript">
    // {
    //   <span class="hljs-attr">current</span>:<span class="hljs-number">5</span>,
    //   <span class="hljs-attr">total</span>:<span class="hljs-number">10</span>,
    //   <span class="hljs-attr">pagesize</span>:<span class="hljs-number">10</span>
    // }
    //
    // </code></pre>
    // <h4>@change</h4>
    // <pre><code class="language-javascript">
    // <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">pagination,query,sort,filter</span>)</span>{
    //   <span class="hljs-keyword">var</span> data = {
    //     <span class="hljs-attr">start</span>:(pagination.current - <span class="hljs-number">1</span>) * pagination.pagesize,
    //     <span class="hljs-attr">limit</span>:pagination.pagesize
    //   },
    //   self = <span class="hljs-keyword">this</span>;
    //
    //   <span class="hljs-comment">//根据需要添加其他参数</span>
    //   <span class="hljs-keyword">this</span>.loading = <span class="hljs-literal">true</span>
    //   $.ajax({
    //     <span class="hljs-attr">url</span>:<span class="hljs-string">''</span>,
    //     <span class="hljs-attr">data</span>:data,
    //     <span class="hljs-attr">success</span>:<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">result</span>)</span>{
    //         self.loading = <span class="hljs-literal">false</span>
    //         self.source = result.list
    //         self.pagination.total = result.total
    //     }
    //   })
    // }
    //
    // </code></pre>
    // <h3>参数</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>参数</th>
    // <th>类型</th>
    // <th>默认值</th>
    // <th>说明</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>fixed-columns</td>
    // <td><code>Boolean</code></td>
    // <td>-</td>
    // <td>固定表头,记得为列设置宽度</td>
    // </tr>
    // <tr>
    // <td>height</td>
    // <td><code>String</code></td>
    // <td>-</td>
    // <td>高度,配合固定表头使用</td>
    // </tr>
    // <tr>
    // <td>width</td>
    // <td><code>String</code></td>
    // <td>-</td>
    // <td>宽度 不要和fixed-columns共用</td>
    // </tr>
    // <tr>
    // <td>async</td>
    // <td><code>Boolean</code></td>
    // <td><code>false</code></td>
    // <td>异步加载,配合change事件来请求服务端数据</td>
    // </tr>
    // <tr>
    // <td>merge-rule</td>
    // <td><code>Object</code></td>
    // <td>-</td>
    // <td>合并规则</td>
    // </tr>
    // <tr>
    // <td>columns</td>
    // <td><code>Array</code></td>
    // <td>-</td>
    // <td>头部数组,设置字段名,描述,是否支持排序,是否显示,渲染方式等</td>
    // </tr>
    // <tr>
    // <td>selection</td>
    // <td><code>Object</code></td>
    // <td>-</td>
    // <td><code style="color:red">使用getCheckboxProps来初始化状态</code></td>
    // </tr>
    // <tr>
    // <td>sort-column</td>
    // <td><code>Object</code></td>
    // <td>-</td>
    // <td>默认全局排序字段</td>
    // </tr>
    // <tr>
    // <td>source</td>
    // <td><code>Array</code></td>
    // <td>-</td>
    // <td>表格数组</td>
    // </tr>
    // <tr>
    // <td>page</td>
    // <td><code>Boolean</code></td>
    // <td><code>true</code></td>
    // <td>是否分页,需要开启async</td>
    // </tr>
    // <tr>
    // <td>search</td>
    // <td><code>Boolean</code></td>
    // <td><code>true</code></td>
    // <td>是否支持搜索</td>
    // </tr>
    // <tr>
    // <td>filter</td>
    // <td><code>Boolean</code></td>
    // <td><code>true</code></td>
    // <td>是否支持字段过滤,columns中为对象添加fiiter来指定其过滤器</td>
    // </tr>
    // <tr>
    // <td>filter-list</td>
    // <td><code>Array</code></td>
    // <td>-</td>
    // <td>自定义过滤器</td>
    // </tr>
    // <tr>
    // <td>select-col</td>
    // <td><code>Boolean</code></td>
    // <td><code>true</code></td>
    // <td>是否支持选择显示列</td>
    // </tr>
    // <tr>
    // <td>pagination</td>
    // <td><code>Object</code></td>
    // <td>-</td>
    // <td>设置分页</td>
    // </tr>
    // <tr>
    // <td>loading</td>
    // <td><code>Boolean</code></td>
    // <td><code>false</code></td>
    // <td>设置表格的加载中状态</td>
    // </tr>
    // </tbody>
    // </table>
    // <h3>Events</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>名称</th>
    // <th>说明</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>change</td>
    // <td>当分页,搜索,过滤排序等条件发生变化时的回调函数,用于服务端操作</td>
    // </tr>
    // </tbody>
    // </table>
    // </div>
    // </template>
    // </section></template>
    //
    // <script>
    exports.default = {
      methods: {
        change: function change(p, q, s, f) {
          console.log(p, q, s, f);
        },
        refresh: function refresh() {
          this.source = [{
            key: '小白',
            name: '小白',
            age: 25,
            department: '技术1'
          }, {
            key: '2',
            name: '33',
            age: 33,
            department: '技术2'
          }, {
            key: '3',
            name: '44',
            age: 12,
            department: '技术3'
          }, {
            key: '4',
            name: '55',
            age: 25,
            department: '技术1'
          }, {
            key: '5',
            name: 'l66黑',
            age: 33,
            department: '技术2'
          }, {
            key: '61',
            name: 'i红6',
            age: 122,
            department: '技术3'
          }, {
            key: '73',
            name: 'yd白',
            age: 2,
            department: '技术1'
          }, {
            key: '81',
            name: 'b黑',
            age: 332,
            department: '技术2'
          }];
        },
        del: function del(key) {
          for (var i in this.source) {
            if (key === this.source[i]['key']) {
              this.source.splice(i, 1);
            }
          }
        }
      },
    
      data: function data() {
        return {
          selection: {
            checkRows: [],
            onSelect: function onSelect(record, checked, checkRows) {},
            onSelectAll: function onSelectAll(checked, checkRows, changeRows) {},
            getCheckboxProps: function getCheckboxProps(record) {
              if (record.key == 2) {
                return {
                  checked: true,
                  disabled: true
                };
              } else {
                return {
                  disabled: false
                };
              }
            }
          },
          loading: false,
          pagination: {
            current: 1,
            total: 10,
            pagesize: 10
          },
          filterList: [{
            title: '姓名',
            dataIndex: 'name',
            options: [{ value: 'v白', label: 'v白' }, { value: 't红', label: 't红' }]
          }],
          columns: [{
            title: '姓名',
            dataIndex: 'name',
            sort: true,
            width: '100px',
            filter: true
          }, {
            title: '年龄',
            dataIndex: 'age',
            sort: true,
            sortType: 'DESC',
            sortMethod: function sortMethod(x, y) {
              return x.age - y.age;
            },
    
            filter: true,
            width: '150px',
            render: function render(text, record) {
              return '<a href="javascript:;">' + text + '</a>';
            }
          }, {
            title: '部门',
            dataIndex: 'department',
            width: '250px'
          }, {
            title: '操作',
            dataIndex: '',
            render: function render(text, record, index) {
              return '<span class="item">\n                    <a href="javascript:;" @click="del(\'' + record.key + '\',\'' + index + '\')" style="color:#41cac0">\u5220\u9664</a>\n                  </span>';
            }
          }],
          source: [{
            key: '1',
            name: '小白',
            age: 25,
            department: '技术1'
          }, {
            key: '2',
            name: '小黑',
            age: 33,
            department: '技术2'
          }, {
            key: '3',
            name: '小红',
            age: 12,
            department: '技术3'
          }, {
            key: '4',
            name: 'v白',
            age: 25,
            department: '技术1'
          }, {
            key: '5',
            name: 'l黑',
            age: 33,
            department: '技术2'
          }, {
            key: '6',
            name: 'i红',
            age: 122,
            department: '技术3'
          }, {
            key: '7',
            name: 'y白',
            age: 2,
            department: '技术1'
          }, {
            key: '8',
            name: 'b黑',
            age: 332,
            department: '技术2'
          }, {
            key: '9',
            name: 't红',
            age: 124,
            department: '技术3'
          }, {
            key: '10',
            name: 'f白',
            age: 253,
            department: '技术1'
          }, {
            key: '11',
            name: 'a黑',
            age: 31,
            department: '技术2'
          }, {
            key: '12',
            name: 'd红',
            age: 31,
            department: '技术3'
          }]
        };
      }
    };
    // </script>
    /* generated by vue-loader */

/***/ }),
/* 511 */
/***/ (function(module, exports) {

    module.exports = "<section><template>\n<h3>数据表格</h3>\n<div class=\"bs-docs-section\" id=\"数据表格\">\n<div class=\"bs-example\">\n<h4>Table</h4>\n<p><n3-data-table fixed-columns=\"\" height=\"400px\" :selection=\"selection\" :source=\"source\" :columns=\"columns\" :refresh=\"refresh\">\n</n3-data-table></p>\n</div>\n<pre><code class=\"language-html\">\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-data-table</span>\n  <span class=\"hljs-attr\">fixed-columns</span>\n  <span class=\"hljs-attr\">height</span>=<span class=\"hljs-string\">\"400px\"</span>\n  <span class=\"hljs-attr\">:selection</span>=<span class=\"hljs-string\">\"selection\"</span>\n  <span class=\"hljs-attr\">:source</span>=<span class=\"hljs-string\">\"source\"</span> \n  <span class=\"hljs-attr\">:columns</span>=<span class=\"hljs-string\">\"columns\"</span> \n  <span class=\"hljs-attr\">:refresh</span>=<span class=\"hljs-string\">\"refresh\"</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-data-table</span>&gt;</span>\n\n</code></pre>\n<h4>selection</h4>\n<pre><code class=\"language-javascript\">{\n  <span class=\"hljs-attr\">checkRows</span>:[],\n  onSelect (record, checked, checkRows) {},\n  onSelectAll (checked, checkRows, changeRows) {},\n  getCheckboxProps(record){\n    <span class=\"hljs-keyword\">if</span>(record.key == <span class=\"hljs-number\">2</span>){\n      <span class=\"hljs-keyword\">return</span> {\n        <span class=\"hljs-attr\">checked</span>: <span class=\"hljs-literal\">true</span>,\n        <span class=\"hljs-attr\">disabled</span>:<span class=\"hljs-literal\">true</span>\n      }\n    }<span class=\"hljs-keyword\">else</span>{\n      <span class=\"hljs-keyword\">return</span> {\n        <span class=\"hljs-attr\">disabled</span>:<span class=\"hljs-literal\">false</span>\n      }\n    }\n  }\n}\n\n</code></pre>\n<h4>filter-list</h4>\n<pre><code class=\"language-javascript\">\n[{\n  <span class=\"hljs-attr\">title</span>:<span class=\"hljs-string\">'姓名'</span>,\n  <span class=\"hljs-attr\">dataIndex</span>: <span class=\"hljs-string\">'name'</span>,\n  <span class=\"hljs-attr\">options</span>:[{<span class=\"hljs-attr\">value</span>:<span class=\"hljs-string\">\"v白\"</span>,<span class=\"hljs-attr\">label</span>:<span class=\"hljs-string\">\"v白\"</span>},{<span class=\"hljs-attr\">value</span>:<span class=\"hljs-string\">\"t红\"</span>,<span class=\"hljs-attr\">label</span>:<span class=\"hljs-string\">\"t红\"</span>}],\n  <span class=\"hljs-attr\">value</span>:[],\n  <span class=\"hljs-comment\">// multiple,search,extra</span>\n}]\n\n</code></pre>\n<h4>merge-rule</h4>\n<pre><code class=\"language-javascript\">\n{\n  <span class=\"hljs-attr\">name</span>:{\n    <span class=\"hljs-string\">'小白'</span>: {<span class=\"hljs-attr\">rowspan</span>: <span class=\"hljs-number\">2</span>},\n    <span class=\"hljs-string\">'v白'</span>: {<span class=\"hljs-attr\">rowspan</span>: <span class=\"hljs-number\">0</span>}\n  }\n}\n\n</code></pre>\n<h4>pagination</h4>\n<pre><code class=\"language-javascript\">\n{\n  <span class=\"hljs-attr\">current</span>:<span class=\"hljs-number\">5</span>,\n  <span class=\"hljs-attr\">total</span>:<span class=\"hljs-number\">10</span>,\n  <span class=\"hljs-attr\">pagesize</span>:<span class=\"hljs-number\">10</span>\n}\n\n</code></pre>\n<h4>@change</h4>\n<pre><code class=\"language-javascript\">\n<span class=\"hljs-function\"><span class=\"hljs-keyword\">function</span>(<span class=\"hljs-params\">pagination,query,sort,filter</span>)</span>{\n  <span class=\"hljs-keyword\">var</span> data = {\n    <span class=\"hljs-attr\">start</span>:(pagination.current - <span class=\"hljs-number\">1</span>) * pagination.pagesize,\n    <span class=\"hljs-attr\">limit</span>:pagination.pagesize\n  },\n  self = <span class=\"hljs-keyword\">this</span>;\n\n  <span class=\"hljs-comment\">//根据需要添加其他参数</span>\n  <span class=\"hljs-keyword\">this</span>.loading = <span class=\"hljs-literal\">true</span>\n  $.ajax({\n    <span class=\"hljs-attr\">url</span>:<span class=\"hljs-string\">''</span>,\n    <span class=\"hljs-attr\">data</span>:data,\n    <span class=\"hljs-attr\">success</span>:<span class=\"hljs-function\"><span class=\"hljs-keyword\">function</span>(<span class=\"hljs-params\">result</span>)</span>{\n        self.loading = <span class=\"hljs-literal\">false</span>\n        self.source = result.list\n        self.pagination.total = result.total\n    }\n  })\n}\n\n</code></pre>\n<h3>参数</h3>\n<table>\n<thead>\n<tr>\n<th>参数</th>\n<th>类型</th>\n<th>默认值</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>fixed-columns</td>\n<td><code>Boolean</code></td>\n<td>-</td>\n<td>固定表头,记得为列设置宽度</td>\n</tr>\n<tr>\n<td>height</td>\n<td><code>String</code></td>\n<td>-</td>\n<td>高度,配合固定表头使用</td>\n</tr>\n<tr>\n<td>width</td>\n<td><code>String</code></td>\n<td>-</td>\n<td>宽度 不要和fixed-columns共用</td>\n</tr>\n<tr>\n<td>async</td>\n<td><code>Boolean</code></td>\n<td><code>false</code></td>\n<td>异步加载,配合change事件来请求服务端数据</td>\n</tr>\n<tr>\n<td>merge-rule</td>\n<td><code>Object</code></td>\n<td>-</td>\n<td>合并规则</td>\n</tr>\n<tr>\n<td>columns</td>\n<td><code>Array</code></td>\n<td>-</td>\n<td>头部数组,设置字段名,描述,是否支持排序,是否显示,渲染方式等</td>\n</tr>\n<tr>\n<td>selection</td>\n<td><code>Object</code></td>\n<td>-</td>\n<td><code style=\"color:red\">使用getCheckboxProps来初始化状态</code></td>\n</tr>\n<tr>\n<td>sort-column</td>\n<td><code>Object</code></td>\n<td>-</td>\n<td>默认全局排序字段</td>\n</tr>\n<tr>\n<td>source</td>\n<td><code>Array</code></td>\n<td>-</td>\n<td>表格数组</td>\n</tr>\n<tr>\n<td>page</td>\n<td><code>Boolean</code></td>\n<td><code>true</code></td>\n<td>是否分页,需要开启async</td>\n</tr>\n<tr>\n<td>search</td>\n<td><code>Boolean</code></td>\n<td><code>true</code></td>\n<td>是否支持搜索</td>\n</tr>\n<tr>\n<td>filter</td>\n<td><code>Boolean</code></td>\n<td><code>true</code></td>\n<td>是否支持字段过滤,columns中为对象添加fiiter来指定其过滤器</td>\n</tr>\n<tr>\n<td>filter-list</td>\n<td><code>Array</code></td>\n<td>-</td>\n<td>自定义过滤器</td>\n</tr>\n<tr>\n<td>select-col</td>\n<td><code>Boolean</code></td>\n<td><code>true</code></td>\n<td>是否支持选择显示列</td>\n</tr>\n<tr>\n<td>pagination</td>\n<td><code>Object</code></td>\n<td>-</td>\n<td>设置分页</td>\n</tr>\n<tr>\n<td>loading</td>\n<td><code>Boolean</code></td>\n<td><code>false</code></td>\n<td>设置表格的加载中状态</td>\n</tr>\n</tbody>\n</table>\n<h3>Events</h3>\n<table>\n<thead>\n<tr>\n<th>名称</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>change</td>\n<td>当分页,搜索,过滤排序等条件发生变化时的回调函数,用于服务端操作</td>\n</tr>\n</tbody>\n</table>\n</div>\n</template>\n</section>";

/***/ }),
/* 512 */
/***/ (function(module, exports, __webpack_require__) {

    module.exports = __webpack_require__(513);

/***/ }),
/* 513 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_template__ = __webpack_require__(514)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-562dacd8/n3BreadcrumbDocs-34.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 514 */
/***/ (function(module, exports) {

    module.exports = "<section><template>\n<h3>面包屑</h3>\n<div class=\"bs-docs-section\" id=\"面包屑\">\n<div class=\"bs-example\">\n  <n3-breadcrumb>\n    <n3-breadcrumb-item href=\"#\">Home</n3-breadcrumb-item>\n    <n3-breadcrumb-item href=\"#\">Library</n3-breadcrumb-item>\n    <n3-breadcrumb-item active=\"\">Data</n3-breadcrumb-item>\n\t</n3-breadcrumb>\n</div>\n</div>\n<pre><code class=\"language-html\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-breadcrumb</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-breadcrumb-item</span> <span class=\"hljs-attr\">href</span>=<span class=\"hljs-string\">\"#\"</span>&gt;</span>Home<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-breadcrumb-item</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-breadcrumb-item</span> <span class=\"hljs-attr\">href</span>=<span class=\"hljs-string\">\"#\"</span>&gt;</span>Library<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-breadcrumb-item</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-breadcrumb-item</span> <span class=\"hljs-attr\">active</span>&gt;</span>Data<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-breadcrumb-item</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-breadcrumb</span>&gt;</span>\n</code></pre>\n\n</template>\n</section>";

/***/ }),
/* 515 */
/***/ (function(module, exports, __webpack_require__) {

    module.exports = __webpack_require__(516);

/***/ }),
/* 516 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(517)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] node_modules/vue-markdown-loader/_cache/n3MultipleInputDocs-35.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(518)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-0fd00142/n3MultipleInputDocs-35.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 517 */
/***/ (function(module, exports) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    // <template><section><template>
    // <h3>自定义输入</h3>
    // <div class="bs-docs-section">
    // <div class="bs-example">
    // <n3-multiple-input @focus="focus" @inputChange="getResult" :async="true" v-model="a.list" :format="format" :render="render" :items="items">
    // </n3-multiple-input>
    // </div>
    // <pre><code class="language-html"><span class="hljs-tag">&lt;<span class="hljs-name">n3-multiple-input</span>
    //   <span class="hljs-attr">@focus</span>=<span class="hljs-string">"focus"</span> 
    //   <span class="hljs-attr">@inputChange</span>=<span class="hljs-string">"getResult"</span>
    //   <span class="hljs-attr">v-model</span>=<span class="hljs-string">"a.list"</span> 
    //   <span class="hljs-attr">:format</span>=<span class="hljs-string">"format"</span> 
    //   <span class="hljs-attr">:render</span>=<span class="hljs-string">"render"</span>
    //   <span class="hljs-attr">:items</span>=<span class="hljs-string">"items"</span> &gt;</span>
    // <span class="hljs-tag">&lt;/<span class="hljs-name">n3-multiple-input</span>&gt;</span>
    // </code></pre>
    // <pre><code class="language-javascript">methods: {
    //   focus () {
    //     <span class="hljs-built_in">console</span>.log(<span class="hljs-number">1</span>)
    //   },
    //   render (item) {
    //     <span class="hljs-keyword">return</span> item.formatted_address
    //   },
    //   getResult (query) {
    //     <span class="hljs-built_in">console</span>.log(query, <span class="hljs-number">1</span>)
    //     <span class="hljs-keyword">let</span> self = <span class="hljs-keyword">this</span>
    //     $.ajax({
    //       <span class="hljs-attr">url</span>: <span class="hljs-string">'https://maps.googleapis.com/maps/api/geocode/json?address='</span> + query,
    //       success (ret) {
    //         self.items = ret.results
    //       }
    //     })
    //   },
    //   format (item, index) {
    //     <span class="hljs-keyword">let</span> content = item.formatted_address
    //     <span class="hljs-keyword">return</span> content
    //   }
    // }
    // </code></pre>
    // <h3>参数</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>参数</th>
    // <th>类型</th>
    // <th>默认值</th>
    // <th>说明</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>data</td>
    // <td><code>Array</code></td>
    // <td>-</td>
    // <td>本地数组</td>
    // </tr>
    // <tr>
    // <td>format</td>
    // <td><code>Function</code></td>
    // <td>-</td>
    // <td>显示格式化函数</td>
    // </tr>
    // <tr>
    // <td>limit</td>
    // <td><code>Number</code></td>
    // <td><code>8</code></td>
    // <td>显示的条数</td>
    // </tr>
    // <tr>
    // <td>items</td>
    // <td><code>Array</code></td>
    // <td><code>[]</code></td>
    // <td>列表数组,用于异步请求</td>
    // </tr>
    // <tr>
    // <td>positionMove</td>
    // <td><code>Boolean</code></td>
    // <td><code>true</code></td>
    // <td>输入框位置是否能控制移动</td>
    // </tr>
    // <tr>
    // <td>async</td>
    // <td><code>Boolean</code></td>
    // <td><code>false</code></td>
    // <td>异步</td>
    // </tr>
    // <tr>
    // <td>render</td>
    // <td><code>Function</code></td>
    // <td>-</td>
    // <td>渲染函数</td>
    // </tr>
    // <tr>
    // <td>add-format</td>
    // <td><code>Function</code></td>
    // <td>-</td>
    // <td>获取需要的值</td>
    // </tr>
    // <tr>
    // <td>dropdow-width</td>
    // <td><code>String</code></td>
    // <td><code>220px</code></td>
    // <td>下拉宽度</td>
    // </tr>
    // <tr>
    // <td>dropdown-height</td>
    // <td><code>String</code></td>
    // <td><code>300px</code></td>
    // <td>下拉框最大高度</td>
    // </tr>
    // </tbody>
    // </table>
    // <h3>Events</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>名称</th>
    // <th>说明</th>
    // <th>参数</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>blur</td>
    // <td>失焦</td>
    // <td>-</td>
    // </tr>
    // <tr>
    // <td>focus</td>
    // <td>聚焦</td>
    // <td>-</td>
    // </tr>
    // <tr>
    // <td>change</td>
    // <td>值变化</td>
    // <td>(currentValue)</td>
    // </tr>
    // <tr>
    // <td>positionChange</td>
    // <td>位置变化</td>
    // <td>(currentPosition)</td>
    // </tr>
    // <tr>
    // <td>inputChange</td>
    // <td>输入值变化</td>
    // <td>(query)</td>
    // </tr>
    // </tbody>
    // </table>
    // <p>其他表单相关参数,请移步 <a href="#n3FormDocs">表单验证</a> 待验证组件参数</p>
    // </div>
    // </template>
    //
    // </section></template>
    //
    // <script>
    exports.default = {
      data: function data() {
        return {
          query: '',
          items: [],
          a: { list: [] }
        };
      },
    
      methods: {
        focus: function focus() {
          console.log(1);
        },
        render: function render(item) {
          return item.formatted_address;
        },
        getResult: function getResult(query) {
          console.log(query, 1);
          var self = this;
          $.ajax({
            url: 'https://maps.googleapis.com/maps/api/geocode/json?address=' + query,
            success: function success(ret) {
              self.items = ret.results;
            }
          });
        },
        format: function format(item, index) {
          var content = typeof item === 'string' ? item : item.formatted_address;
          return content;
        }
      }
    };
    // </script>
    /* generated by vue-loader */

/***/ }),
/* 518 */
/***/ (function(module, exports) {

    module.exports = "<section><template>\n<h3>自定义输入</h3>\n<div class=\"bs-docs-section\">\n<div class=\"bs-example\">\n<n3-multiple-input @focus=\"focus\" @inputChange=\"getResult\" :async=\"true\" v-model=\"a.list\" :format=\"format\" :render=\"render\" :items=\"items\">\n</n3-multiple-input>\n</div>\n<pre><code class=\"language-html\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-multiple-input</span>\n  <span class=\"hljs-attr\">@focus</span>=<span class=\"hljs-string\">\"focus\"</span> \n  <span class=\"hljs-attr\">@inputChange</span>=<span class=\"hljs-string\">\"getResult\"</span>\n  <span class=\"hljs-attr\">v-model</span>=<span class=\"hljs-string\">\"a.list\"</span> \n  <span class=\"hljs-attr\">:format</span>=<span class=\"hljs-string\">\"format\"</span> \n  <span class=\"hljs-attr\">:render</span>=<span class=\"hljs-string\">\"render\"</span>\n  <span class=\"hljs-attr\">:items</span>=<span class=\"hljs-string\">\"items\"</span> &gt;</span>\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-multiple-input</span>&gt;</span>\n</code></pre>\n<pre><code class=\"language-javascript\">methods: {\n  focus () {\n    <span class=\"hljs-built_in\">console</span>.log(<span class=\"hljs-number\">1</span>)\n  },\n  render (item) {\n    <span class=\"hljs-keyword\">return</span> item.formatted_address\n  },\n  getResult (query) {\n    <span class=\"hljs-built_in\">console</span>.log(query, <span class=\"hljs-number\">1</span>)\n    <span class=\"hljs-keyword\">let</span> self = <span class=\"hljs-keyword\">this</span>\n    $.ajax({\n      <span class=\"hljs-attr\">url</span>: <span class=\"hljs-string\">'https://maps.googleapis.com/maps/api/geocode/json?address='</span> + query,\n      success (ret) {\n        self.items = ret.results\n      }\n    })\n  },\n  format (item, index) {\n    <span class=\"hljs-keyword\">let</span> content = item.formatted_address\n    <span class=\"hljs-keyword\">return</span> content\n  }\n}\n</code></pre>\n<h3>参数</h3>\n<table>\n<thead>\n<tr>\n<th>参数</th>\n<th>类型</th>\n<th>默认值</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>data</td>\n<td><code>Array</code></td>\n<td>-</td>\n<td>本地数组</td>\n</tr>\n<tr>\n<td>format</td>\n<td><code>Function</code></td>\n<td>-</td>\n<td>显示格式化函数</td>\n</tr>\n<tr>\n<td>limit</td>\n<td><code>Number</code></td>\n<td><code>8</code></td>\n<td>显示的条数</td>\n</tr>\n<tr>\n<td>items</td>\n<td><code>Array</code></td>\n<td><code>[]</code></td>\n<td>列表数组,用于异步请求</td>\n</tr>\n<tr>\n<td>positionMove</td>\n<td><code>Boolean</code></td>\n<td><code>true</code></td>\n<td>输入框位置是否能控制移动</td>\n</tr>\n<tr>\n<td>async</td>\n<td><code>Boolean</code></td>\n<td><code>false</code></td>\n<td>异步</td>\n</tr>\n<tr>\n<td>render</td>\n<td><code>Function</code></td>\n<td>-</td>\n<td>渲染函数</td>\n</tr>\n<tr>\n<td>add-format</td>\n<td><code>Function</code></td>\n<td>-</td>\n<td>获取需要的值</td>\n</tr>\n<tr>\n<td>dropdow-width</td>\n<td><code>String</code></td>\n<td><code>220px</code></td>\n<td>下拉宽度</td>\n</tr>\n<tr>\n<td>dropdown-height</td>\n<td><code>String</code></td>\n<td><code>300px</code></td>\n<td>下拉框最大高度</td>\n</tr>\n</tbody>\n</table>\n<h3>Events</h3>\n<table>\n<thead>\n<tr>\n<th>名称</th>\n<th>说明</th>\n<th>参数</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>blur</td>\n<td>失焦</td>\n<td>-</td>\n</tr>\n<tr>\n<td>focus</td>\n<td>聚焦</td>\n<td>-</td>\n</tr>\n<tr>\n<td>change</td>\n<td>值变化</td>\n<td>(currentValue)</td>\n</tr>\n<tr>\n<td>positionChange</td>\n<td>位置变化</td>\n<td>(currentPosition)</td>\n</tr>\n<tr>\n<td>inputChange</td>\n<td>输入值变化</td>\n<td>(query)</td>\n</tr>\n</tbody>\n</table>\n<p>其他表单相关参数,请移步 <a href=\"#n3FormDocs\">表单验证</a> 待验证组件参数</p>\n</div>\n</template>\n\n</section>";

/***/ }),
/* 519 */
/***/ (function(module, exports, __webpack_require__) {

    module.exports = __webpack_require__(520);

/***/ }),
/* 520 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(521)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] node_modules/vue-markdown-loader/_cache/n3TreeDocs-36.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(522)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-6db4855f/n3TreeDocs-36.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 521 */
/***/ (function(module, exports) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    // <template><section><template>
    // <h3>树形视图</h3>
    // <div class="bs-docs-section" id="树形视图">
    // <blockquote>
    // <p>树形视图(普通)</p>
    // </blockquote>
    // <div class="bs-example">
    //   <n3-tree :data="data" :props="defaultProps" @node-click="handleNodeClick"></n3-tree>
    // </div>
    // <pre><code class="language-html"><span class="hljs-tag">&lt;<span class="hljs-name">n3-tree</span> <span class="hljs-attr">:data</span>=<span class="hljs-string">"data"</span> <span class="hljs-attr">:props</span>=<span class="hljs-string">"defaultProps"</span> <span class="hljs-attr">@node-click</span>=<span class="hljs-string">"handleNodeClick"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">n3-tree</span>&gt;</span>
    // </code></pre>
    // <pre><code class="language-javascript"><span class="hljs-keyword">export</span> <span class="hljs-keyword">default</span> {
    //   data() {
    //     <span class="hljs-keyword">return</span> {
    //       <span class="hljs-attr">data</span>: [{
    //         <span class="hljs-attr">label</span>: <span class="hljs-string">'新建文件夹1'</span>,
    //         <span class="hljs-attr">children</span>: [{
    //           <span class="hljs-attr">label</span>: <span class="hljs-string">'我的文档1'</span>
    //         }]
    //       }, {
    //         <span class="hljs-attr">label</span>: <span class="hljs-string">'新建文件夹2'</span>,
    //         <span class="hljs-attr">children</span>: [{
    //           <span class="hljs-attr">label</span>: <span class="hljs-string">'我的文档2'</span>
    //         }, {
    //           <span class="hljs-attr">label</span>: <span class="hljs-string">'我的文档3'</span>
    //         }]
    //       }, {
    //         <span class="hljs-attr">label</span>: <span class="hljs-string">'新建文件夹3'</span>,
    //         <span class="hljs-attr">children</span>: [{
    //           <span class="hljs-attr">label</span>: <span class="hljs-string">'新建文件夹4'</span>,
    //           <span class="hljs-attr">children</span>: [{
    //             <span class="hljs-attr">label</span>: <span class="hljs-string">'我的文档6'</span>
    //           }]
    //         }, {
    //           <span class="hljs-attr">label</span>: <span class="hljs-string">'我的文档4'</span>
    //         }, {
    //           <span class="hljs-attr">label</span>: <span class="hljs-string">'我的文档5'</span>
    //         }]
    //       }],
    //       <span class="hljs-attr">defaultProps</span>: {
    //         <span class="hljs-attr">children</span>: <span class="hljs-string">'children'</span>,
    //         <span class="hljs-attr">label</span>: <span class="hljs-string">'label'</span>
    //       }
    //     }
    //   },
    //   <span class="hljs-attr">methods</span>: {
    //     handleNodeClick(data) {
    //       <span class="hljs-built_in">console</span>.log(data)
    //     }
    //   }
    // }
    // </code></pre>
    // <blockquote>
    // <p>树形视图(可选中、动态加载)</p>
    // </blockquote>
    // <div class="bs-example">
    //   <n3-tree :data="regions" :props="props" :load="loadNode" lazy="" show-checkbox="" @check-change="handleCheckChange"></n3-tree>
    // </div>
    // <pre><code class="language-html"><span class="hljs-tag">&lt;<span class="hljs-name">n3-tree</span> <span class="hljs-attr">:data</span>=<span class="hljs-string">"regions"</span> <span class="hljs-attr">:props</span>=<span class="hljs-string">"props"</span> <span class="hljs-attr">:load</span>=<span class="hljs-string">"loadNode"</span> <span class="hljs-attr">lazy</span> <span class="hljs-attr">show-checkbox</span> <span class="hljs-attr">@check-change</span>=<span class="hljs-string">"handleCheckChange"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">n3-tree</span>&gt;</span>
    // </code></pre>
    // <pre><code class="language-javascript"><span class="hljs-keyword">export</span> <span class="hljs-keyword">default</span> {
    //     data() {
    //       <span class="hljs-keyword">return</span> {
    //         <span class="hljs-attr">defaultProps</span>: {
    //           <span class="hljs-attr">children</span>: <span class="hljs-string">'children'</span>,
    //           <span class="hljs-attr">label</span>: <span class="hljs-string">'label'</span>
    //         },
    //         <span class="hljs-attr">regions</span>: [{
    //           <span class="hljs-string">'name'</span>: <span class="hljs-string">'/root'</span>
    //         }, {
    //           <span class="hljs-string">'name'</span>: <span class="hljs-string">'/home'</span>
    //         }],
    //         <span class="hljs-attr">props</span>: {
    //           <span class="hljs-attr">label</span>: <span class="hljs-string">'name'</span>,
    //           <span class="hljs-attr">children</span>: <span class="hljs-string">'zones'</span>
    //         },
    //         <span class="hljs-attr">count</span>: <span class="hljs-number">1</span>
    //       }
    //     },
    //     <span class="hljs-attr">methods</span>: {
    //       handleCheckChange(data, checked, indeterminate) {
    //         <span class="hljs-built_in">console</span>.log(data, checked, indeterminate)
    //       },
    //       loadNode(node, resolve) {
    //         <span class="hljs-keyword">if</span> (node.level === <span class="hljs-number">0</span>) {
    //           <span class="hljs-keyword">return</span> resolve([{ <span class="hljs-attr">name</span>: <span class="hljs-string">'/root'</span> }, { <span class="hljs-attr">name</span>: <span class="hljs-string">'/home'</span> }])
    //         }
    //         <span class="hljs-keyword">if</span> (node.level &gt; <span class="hljs-number">3</span>) <span class="hljs-keyword">return</span> resolve([])
    //
    //         <span class="hljs-keyword">var</span> hasChild
    //         <span class="hljs-keyword">if</span> (node.data.name === <span class="hljs-string">'/root'</span>) {
    //           hasChild = <span class="hljs-literal">true</span>
    //         } <span class="hljs-keyword">else</span> <span class="hljs-keyword">if</span> (node.data.name === <span class="hljs-string">'/home'</span>) {
    //           hasChild = <span class="hljs-literal">false</span>
    //         } <span class="hljs-keyword">else</span> {
    //           hasChild = <span class="hljs-built_in">Math</span>.random() &gt; <span class="hljs-number">0.5</span>
    //         }
    //
    //         setTimeout(<span class="hljs-function"><span class="hljs-params">()</span> =&gt;</span> {
    //           <span class="hljs-keyword">var</span> data
    //           <span class="hljs-keyword">if</span> (hasChild) {
    //             data = [{
    //               <span class="hljs-attr">name</span>: <span class="hljs-string">'新建文件夹'</span> + <span class="hljs-keyword">this</span>.count++
    //             }, {
    //               <span class="hljs-attr">name</span>: <span class="hljs-string">'新建文件夹'</span> + <span class="hljs-keyword">this</span>.count++
    //             }]
    //           } <span class="hljs-keyword">else</span> {
    //             data = []
    //           }
    //
    //           resolve(data)
    //         }, <span class="hljs-number">500</span>)
    //       }
    //     }
    //   }
    // </code></pre>
    // <h3>参数</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>参数名</th>
    // <th>类型</th>
    // <th>默认值</th>
    // <th>说明</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>data</td>
    // <td><code>Array</code></td>
    // <td><code>[]</code></td>
    // <td>展示数据</td>
    // </tr>
    // <tr>
    // <td>empty-text</td>
    // <td><code>String</code></td>
    // <td>Empty Content.</td>
    // <td>展示数据为空时展示的文本</td>
    // </tr>
    // <tr>
    // <td>node-key</td>
    // <td><code>String</code></td>
    // <td>—</td>
    // <td>每个树节点用来作为唯一标识的属性,整颗树应该是唯一的</td>
    // </tr>
    // <tr>
    // <td>props</td>
    // <td></td>
    // <td><code>Object</code></td>
    // <td>—</td>
    // </tr>
    // <tr>
    // <td>leaf-icon</td>
    // <td><code>String</code></td>
    // <td>file</td>
    // <td>叶子节点图标</td>
    // </tr>
    // <tr>
    // <td>child-icon</td>
    // <td><code>String</code></td>
    // <td>folder</td>
    // <td>子节点图标</td>
    // </tr>
    // <tr>
    // <td>closed-icon</td>
    // <td><code>String</code></td>
    // <td>angle-right</td>
    // <td>关闭时箭头图标</td>
    // </tr>
    // <tr>
    // <td>opened-icon</td>
    // <td><code>String</code></td>
    // <td>angle-down</td>
    // <td>打开时箭头图标</td>
    // </tr>
    // <tr>
    // <td>load</td>
    // <td><code>Function</code></td>
    // <td>function(node, resolve) {}</td>
    // <td>加载子树数据的方法</td>
    // </tr>
    // <tr>
    // <td>render-content</td>
    // <td><code>Function</code></td>
    // <td>function(h, { node }) {}</td>
    // <td>树节点的内容区的渲染方法</td>
    // </tr>
    // <tr>
    // <td>highlight-current</td>
    // <td><code>Boolean</code></td>
    // <td><code>false</code></td>
    // <td>是否高亮当前选中节点</td>
    // </tr>
    // <tr>
    // <td>current-node-key</td>
    // <td><code>String, Number</code></td>
    // <td>—</td>
    // <td>当前选中节点的 key ,只写属性</td>
    // </tr>
    // <tr>
    // <td>default-expand-all</td>
    // <td><code>Boolean</code></td>
    // <td><code>false</code></td>
    // <td>是否默认展开所有节点</td>
    // </tr>
    // <tr>
    // <td>expand-on-click-node</td>
    // <td><code>Boolean</code></td>
    // <td><code>true</code></td>
    // <td>是否在点击节点的时候展开或者收缩节点(如果不则则只有点箭头图标的时候才会展开或者收缩节点。)</td>
    // </tr>
    // <tr>
    // <td>auto-expand-parent</td>
    // <td></td>
    // <td><code>Boolean</code></td>
    // <td><code>true</code></td>
    // </tr>
    // <tr>
    // <td>default-expanded-keys</td>
    // <td><code>Array</code></td>
    // <td>—</td>
    // <td>默认展开的节点的 key 的数组</td>
    // </tr>
    // <tr>
    // <td>show-checkbox</td>
    // <td><code>Boolean</code></td>
    // <td><code>false</code></td>
    // <td>节点是否可被勾选</td>
    // </tr>
    // <tr>
    // <td>check-strictly</td>
    // <td><code>Boolean</code></td>
    // <td><code>false</code></td>
    // <td>在显示复选框的情况下,是否严格的遵循父子不互相关联的做法</td>
    // </tr>
    // <tr>
    // <td>default-checked-keys</td>
    // <td><code>Array</code></td>
    // <td><code>[]</code></td>
    // <td>默认勾选的节点的 key 的数组</td>
    // </tr>
    // <tr>
    // <td>filter-node-method</td>
    // <td><code>Function</code></td>
    // <td>function(value, data, node)</td>
    // <td>对树节点进行筛选时执行的方法,返回 true 表示这个节点可以显示, 反之则为隐藏</td>
    // </tr>
    // </tbody>
    // </table>
    // <h3>数据属性props</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>参数名</th>
    // <th>类型</th>
    // <th>默认值</th>
    // <th>说明</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>label</td>
    // <td><code>String</code></td>
    // <td>label</td>
    // <td>指定节点标签为节点对象的某个属性值</td>
    // </tr>
    // <tr>
    // <td>children</td>
    // <td><code>String</code></td>
    // <td>children</td>
    // <td>指定子树为节点对象的某个属性值</td>
    // </tr>
    // </tbody>
    // </table>
    // <h3>Methods</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>方法名</th>
    // <th>说明</th>
    // <th>参数</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>filter</td>
    // <td>对树节点进行筛选操作</td>
    // <td>接收一个任意类型的参数,该参数会在 filter-node-method 中作为第一个参数</td>
    // </tr>
    // <tr>
    // <td>getCheckedNodes</td>
    // <td>若节点可被选择(即 <code>show-checkbox</code> 为 <code>true</code>),则返回目前被选中的节点所组成的数组</td>
    // <td>(leafOnly) 接收一个 boolean 类型的参数,若为 <code>true</code> 则仅返回被选中的叶子节点,默认值为 <code>false</code></td>
    // </tr>
    // <tr>
    // <td>setCheckedNodes</td>
    // <td>设置目前勾选的节点,使用此方法必须设置 node-key 属性</td>
    // <td>(nodes) 接收勾选节点数据的数组</td>
    // </tr>
    // <tr>
    // <td>getCheckedKeys</td>
    // <td>若节点可被选择(即 <code>show-checkbox</code> 为 <code>true</code>),则返回目前被选中的节点所组成的数组</td>
    // <td>(leafOnly) 接收一个 boolean 类型的参数,若为 <code>true</code> 则仅返回被选中的叶子节点的 keys,默认值为 <code>true</code></td>
    // </tr>
    // <tr>
    // <td>setCheckedKeys</td>
    // <td>通过 keys 设置目前勾选的节点,使用此方法必须设置 node-key 属性</td>
    // <td>(keys, leafOnly) 接收两个参数,1. 勾选节点的 key 的数组 2. boolean 类型的参数,若为 <code>true</code> 则仅设置叶子节点的选中状态,默认值为 <code>true</code></td>
    // </tr>
    // <tr>
    // <td>setChecked</td>
    // <td>通过 key / data 设置某个节点的勾选状态,使用此方法必须设置 node-key 属性</td>
    // <td>(key/data, checked, deep) 接收三个参数,1. 勾选节点的 key 或者 data 2. boolean 类型,节点是否选中  3. boolean 类型,是否设置子节点 ,默认为 false</td>
    // </tr>
    // </tbody>
    // </table>
    // <h3>Events</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>事件名称</th>
    // <th>说明</th>
    // <th>回调参数</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>node-click</td>
    // <td>节点被点击时的回调</td>
    // <td>共三个参数,依次为:传递给 <code>data</code> 属性的数组中该节点所对应的对象、节点对应的 Node、节点组件本身。</td>
    // </tr>
    // <tr>
    // <td>check-change</td>
    // <td>节点选中状态发生变化时的回调</td>
    // <td>共三个参数,依次为:传递给 <code>data</code> 属性的数组中该节点所对应的对象、节点本身是否被选中、节点的子树中是否有被选中的节点</td>
    // </tr>
    // <tr>
    // <td>current-change</td>
    // <td>当前选中节点变化时触发的事件</td>
    // <td>共两个参数,依次为:当前节点的数据,当前节点的 Node 对象</td>
    // </tr>
    // </tbody>
    // </table>
    // </div>
    // </template>
    // </section></template>
    //
    // <script>
    exports.default = {
      data: function data() {
        return {
          data: [{
            label: '新建文件夹1',
            children: [{
              label: '我的文档1'
            }]
          }, {
            label: '新建文件夹2',
            children: [{
              label: '我的文档2'
            }, {
              label: '我的文档3'
            }]
          }, {
            label: '新建文件夹3',
            children: [{
              label: '新建文件夹4',
              children: [{
                label: '我的文档6'
              }]
            }, {
              label: '我的文档4'
            }, {
              label: '我的文档5'
            }]
          }],
          defaultProps: {
            children: 'children',
            label: 'label'
          },
          regions: [{
            'name': '/root'
          }, {
            'name': '/home'
          }],
          props: {
            label: 'name',
            children: 'zones'
          },
          count: 1
        };
      },
    
      methods: {
        handleCheckChange: function handleCheckChange(data, checked, indeterminate) {
          console.log(data, checked, indeterminate);
        },
        handleNodeClick: function handleNodeClick(data) {
          console.log(data);
        },
        loadNode: function loadNode(node, resolve) {
          var _this = this;
    
          if (node.level === 0) {
            return resolve([{ name: '/root' }, { name: '/home' }]);
          }
          if (node.level > 3) return resolve([]);
    
          var hasChild;
          if (node.data.name === '/root') {
            hasChild = true;
          } else if (node.data.name === '/home') {
            hasChild = false;
          } else {
            hasChild = Math.random() > 0.5;
          }
    
          setTimeout(function () {
            var data;
            if (hasChild) {
              data = [{
                name: '新建文件夹' + _this.count++
              }, {
                name: '新建文件夹' + _this.count++
              }];
            } else {
              data = [];
            }
    
            resolve(data);
          }, 500);
        }
      }
    };
    // </script>
    /* generated by vue-loader */

/***/ }),
/* 522 */
/***/ (function(module, exports) {

    module.exports = "<section><template>\n<h3>树形视图</h3>\n<div class=\"bs-docs-section\" id=\"树形视图\">\n<blockquote>\n<p>树形视图(普通)</p>\n</blockquote>\n<div class=\"bs-example\">\n  <n3-tree :data=\"data\" :props=\"defaultProps\" @node-click=\"handleNodeClick\"></n3-tree>\n</div>\n<pre><code class=\"language-html\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-tree</span> <span class=\"hljs-attr\">:data</span>=<span class=\"hljs-string\">\"data\"</span> <span class=\"hljs-attr\">:props</span>=<span class=\"hljs-string\">\"defaultProps\"</span> <span class=\"hljs-attr\">@node-click</span>=<span class=\"hljs-string\">\"handleNodeClick\"</span>&gt;</span><span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-tree</span>&gt;</span>\n</code></pre>\n<pre><code class=\"language-javascript\"><span class=\"hljs-keyword\">export</span> <span class=\"hljs-keyword\">default</span> {\n  data() {\n    <span class=\"hljs-keyword\">return</span> {\n      <span class=\"hljs-attr\">data</span>: [{\n        <span class=\"hljs-attr\">label</span>: <span class=\"hljs-string\">'新建文件夹1'</span>,\n        <span class=\"hljs-attr\">children</span>: [{\n          <span class=\"hljs-attr\">label</span>: <span class=\"hljs-string\">'我的文档1'</span>\n        }]\n      }, {\n        <span class=\"hljs-attr\">label</span>: <span class=\"hljs-string\">'新建文件夹2'</span>,\n        <span class=\"hljs-attr\">children</span>: [{\n          <span class=\"hljs-attr\">label</span>: <span class=\"hljs-string\">'我的文档2'</span>\n        }, {\n          <span class=\"hljs-attr\">label</span>: <span class=\"hljs-string\">'我的文档3'</span>\n        }]\n      }, {\n        <span class=\"hljs-attr\">label</span>: <span class=\"hljs-string\">'新建文件夹3'</span>,\n        <span class=\"hljs-attr\">children</span>: [{\n          <span class=\"hljs-attr\">label</span>: <span class=\"hljs-string\">'新建文件夹4'</span>,\n          <span class=\"hljs-attr\">children</span>: [{\n            <span class=\"hljs-attr\">label</span>: <span class=\"hljs-string\">'我的文档6'</span>\n          }]\n        }, {\n          <span class=\"hljs-attr\">label</span>: <span class=\"hljs-string\">'我的文档4'</span>\n        }, {\n          <span class=\"hljs-attr\">label</span>: <span class=\"hljs-string\">'我的文档5'</span>\n        }]\n      }],\n      <span class=\"hljs-attr\">defaultProps</span>: {\n        <span class=\"hljs-attr\">children</span>: <span class=\"hljs-string\">'children'</span>,\n        <span class=\"hljs-attr\">label</span>: <span class=\"hljs-string\">'label'</span>\n      }\n    }\n  },\n  <span class=\"hljs-attr\">methods</span>: {\n    handleNodeClick(data) {\n      <span class=\"hljs-built_in\">console</span>.log(data)\n    }\n  }\n}\n</code></pre>\n<blockquote>\n<p>树形视图(可选中、动态加载)</p>\n</blockquote>\n<div class=\"bs-example\">\n  <n3-tree :data=\"regions\" :props=\"props\" :load=\"loadNode\" lazy=\"\" show-checkbox=\"\" @check-change=\"handleCheckChange\"></n3-tree>\n</div>\n<pre><code class=\"language-html\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-tree</span> <span class=\"hljs-attr\">:data</span>=<span class=\"hljs-string\">\"regions\"</span> <span class=\"hljs-attr\">:props</span>=<span class=\"hljs-string\">\"props\"</span> <span class=\"hljs-attr\">:load</span>=<span class=\"hljs-string\">\"loadNode\"</span> <span class=\"hljs-attr\">lazy</span> <span class=\"hljs-attr\">show-checkbox</span> <span class=\"hljs-attr\">@check-change</span>=<span class=\"hljs-string\">\"handleCheckChange\"</span>&gt;</span><span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-tree</span>&gt;</span>\n</code></pre>\n<pre><code class=\"language-javascript\"><span class=\"hljs-keyword\">export</span> <span class=\"hljs-keyword\">default</span> {\n    data() {\n      <span class=\"hljs-keyword\">return</span> {\n        <span class=\"hljs-attr\">defaultProps</span>: {\n          <span class=\"hljs-attr\">children</span>: <span class=\"hljs-string\">'children'</span>,\n          <span class=\"hljs-attr\">label</span>: <span class=\"hljs-string\">'label'</span>\n        },\n        <span class=\"hljs-attr\">regions</span>: [{\n          <span class=\"hljs-string\">'name'</span>: <span class=\"hljs-string\">'/root'</span>\n        }, {\n          <span class=\"hljs-string\">'name'</span>: <span class=\"hljs-string\">'/home'</span>\n        }],\n        <span class=\"hljs-attr\">props</span>: {\n          <span class=\"hljs-attr\">label</span>: <span class=\"hljs-string\">'name'</span>,\n          <span class=\"hljs-attr\">children</span>: <span class=\"hljs-string\">'zones'</span>\n        },\n        <span class=\"hljs-attr\">count</span>: <span class=\"hljs-number\">1</span>\n      }\n    },\n    <span class=\"hljs-attr\">methods</span>: {\n      handleCheckChange(data, checked, indeterminate) {\n        <span class=\"hljs-built_in\">console</span>.log(data, checked, indeterminate)\n      },\n      loadNode(node, resolve) {\n        <span class=\"hljs-keyword\">if</span> (node.level === <span class=\"hljs-number\">0</span>) {\n          <span class=\"hljs-keyword\">return</span> resolve([{ <span class=\"hljs-attr\">name</span>: <span class=\"hljs-string\">'/root'</span> }, { <span class=\"hljs-attr\">name</span>: <span class=\"hljs-string\">'/home'</span> }])\n        }\n        <span class=\"hljs-keyword\">if</span> (node.level &gt; <span class=\"hljs-number\">3</span>) <span class=\"hljs-keyword\">return</span> resolve([])\n\n        <span class=\"hljs-keyword\">var</span> hasChild\n        <span class=\"hljs-keyword\">if</span> (node.data.name === <span class=\"hljs-string\">'/root'</span>) {\n          hasChild = <span class=\"hljs-literal\">true</span>\n        } <span class=\"hljs-keyword\">else</span> <span class=\"hljs-keyword\">if</span> (node.data.name === <span class=\"hljs-string\">'/home'</span>) {\n          hasChild = <span class=\"hljs-literal\">false</span>\n        } <span class=\"hljs-keyword\">else</span> {\n          hasChild = <span class=\"hljs-built_in\">Math</span>.random() &gt; <span class=\"hljs-number\">0.5</span>\n        }\n\n        setTimeout(<span class=\"hljs-function\"><span class=\"hljs-params\">()</span> =&gt;</span> {\n          <span class=\"hljs-keyword\">var</span> data\n          <span class=\"hljs-keyword\">if</span> (hasChild) {\n            data = [{\n              <span class=\"hljs-attr\">name</span>: <span class=\"hljs-string\">'新建文件夹'</span> + <span class=\"hljs-keyword\">this</span>.count++\n            }, {\n              <span class=\"hljs-attr\">name</span>: <span class=\"hljs-string\">'新建文件夹'</span> + <span class=\"hljs-keyword\">this</span>.count++\n            }]\n          } <span class=\"hljs-keyword\">else</span> {\n            data = []\n          }\n\n          resolve(data)\n        }, <span class=\"hljs-number\">500</span>)\n      }\n    }\n  }\n</code></pre>\n<h3>参数</h3>\n<table>\n<thead>\n<tr>\n<th>参数名</th>\n<th>类型</th>\n<th>默认值</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>data</td>\n<td><code>Array</code></td>\n<td><code>[]</code></td>\n<td>展示数据</td>\n</tr>\n<tr>\n<td>empty-text</td>\n<td><code>String</code></td>\n<td>Empty Content.</td>\n<td>展示数据为空时展示的文本</td>\n</tr>\n<tr>\n<td>node-key</td>\n<td><code>String</code></td>\n<td>—</td>\n<td>每个树节点用来作为唯一标识的属性,整颗树应该是唯一的</td>\n</tr>\n<tr>\n<td>props</td>\n<td></td>\n<td><code>Object</code></td>\n<td>—</td>\n</tr>\n<tr>\n<td>leaf-icon</td>\n<td><code>String</code></td>\n<td>file</td>\n<td>叶子节点图标</td>\n</tr>\n<tr>\n<td>child-icon</td>\n<td><code>String</code></td>\n<td>folder</td>\n<td>子节点图标</td>\n</tr>\n<tr>\n<td>closed-icon</td>\n<td><code>String</code></td>\n<td>angle-right</td>\n<td>关闭时箭头图标</td>\n</tr>\n<tr>\n<td>opened-icon</td>\n<td><code>String</code></td>\n<td>angle-down</td>\n<td>打开时箭头图标</td>\n</tr>\n<tr>\n<td>load</td>\n<td><code>Function</code></td>\n<td>function(node, resolve) {}</td>\n<td>加载子树数据的方法</td>\n</tr>\n<tr>\n<td>render-content</td>\n<td><code>Function</code></td>\n<td>function(h, { node }) {}</td>\n<td>树节点的内容区的渲染方法</td>\n</tr>\n<tr>\n<td>highlight-current</td>\n<td><code>Boolean</code></td>\n<td><code>false</code></td>\n<td>是否高亮当前选中节点</td>\n</tr>\n<tr>\n<td>current-node-key</td>\n<td><code>String, Number</code></td>\n<td>—</td>\n<td>当前选中节点的 key ,只写属性</td>\n</tr>\n<tr>\n<td>default-expand-all</td>\n<td><code>Boolean</code></td>\n<td><code>false</code></td>\n<td>是否默认展开所有节点</td>\n</tr>\n<tr>\n<td>expand-on-click-node</td>\n<td><code>Boolean</code></td>\n<td><code>true</code></td>\n<td>是否在点击节点的时候展开或者收缩节点(如果不则则只有点箭头图标的时候才会展开或者收缩节点。)</td>\n</tr>\n<tr>\n<td>auto-expand-parent</td>\n<td></td>\n<td><code>Boolean</code></td>\n<td><code>true</code></td>\n</tr>\n<tr>\n<td>default-expanded-keys</td>\n<td><code>Array</code></td>\n<td>—</td>\n<td>默认展开的节点的 key 的数组</td>\n</tr>\n<tr>\n<td>show-checkbox</td>\n<td><code>Boolean</code></td>\n<td><code>false</code></td>\n<td>节点是否可被勾选</td>\n</tr>\n<tr>\n<td>check-strictly</td>\n<td><code>Boolean</code></td>\n<td><code>false</code></td>\n<td>在显示复选框的情况下,是否严格的遵循父子不互相关联的做法</td>\n</tr>\n<tr>\n<td>default-checked-keys</td>\n<td><code>Array</code></td>\n<td><code>[]</code></td>\n<td>默认勾选的节点的 key 的数组</td>\n</tr>\n<tr>\n<td>filter-node-method</td>\n<td><code>Function</code></td>\n<td>function(value, data, node)</td>\n<td>对树节点进行筛选时执行的方法,返回 true 表示这个节点可以显示, 反之则为隐藏</td>\n</tr>\n</tbody>\n</table>\n<h3>数据属性props</h3>\n<table>\n<thead>\n<tr>\n<th>参数名</th>\n<th>类型</th>\n<th>默认值</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>label</td>\n<td><code>String</code></td>\n<td>label</td>\n<td>指定节点标签为节点对象的某个属性值</td>\n</tr>\n<tr>\n<td>children</td>\n<td><code>String</code></td>\n<td>children</td>\n<td>指定子树为节点对象的某个属性值</td>\n</tr>\n</tbody>\n</table>\n<h3>Methods</h3>\n<table>\n<thead>\n<tr>\n<th>方法名</th>\n<th>说明</th>\n<th>参数</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>filter</td>\n<td>对树节点进行筛选操作</td>\n<td>接收一个任意类型的参数,该参数会在 filter-node-method 中作为第一个参数</td>\n</tr>\n<tr>\n<td>getCheckedNodes</td>\n<td>若节点可被选择(即 <code>show-checkbox</code> 为 <code>true</code>),则返回目前被选中的节点所组成的数组</td>\n<td>(leafOnly) 接收一个 boolean 类型的参数,若为 <code>true</code> 则仅返回被选中的叶子节点,默认值为 <code>false</code></td>\n</tr>\n<tr>\n<td>setCheckedNodes</td>\n<td>设置目前勾选的节点,使用此方法必须设置 node-key 属性</td>\n<td>(nodes) 接收勾选节点数据的数组</td>\n</tr>\n<tr>\n<td>getCheckedKeys</td>\n<td>若节点可被选择(即 <code>show-checkbox</code> 为 <code>true</code>),则返回目前被选中的节点所组成的数组</td>\n<td>(leafOnly) 接收一个 boolean 类型的参数,若为 <code>true</code> 则仅返回被选中的叶子节点的 keys,默认值为 <code>true</code></td>\n</tr>\n<tr>\n<td>setCheckedKeys</td>\n<td>通过 keys 设置目前勾选的节点,使用此方法必须设置 node-key 属性</td>\n<td>(keys, leafOnly) 接收两个参数,1. 勾选节点的 key 的数组 2. boolean 类型的参数,若为 <code>true</code> 则仅设置叶子节点的选中状态,默认值为 <code>true</code></td>\n</tr>\n<tr>\n<td>setChecked</td>\n<td>通过 key / data 设置某个节点的勾选状态,使用此方法必须设置 node-key 属性</td>\n<td>(key/data, checked, deep) 接收三个参数,1. 勾选节点的 key 或者 data 2. boolean 类型,节点是否选中  3. boolean 类型,是否设置子节点 ,默认为 false</td>\n</tr>\n</tbody>\n</table>\n<h3>Events</h3>\n<table>\n<thead>\n<tr>\n<th>事件名称</th>\n<th>说明</th>\n<th>回调参数</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>node-click</td>\n<td>节点被点击时的回调</td>\n<td>共三个参数,依次为:传递给 <code>data</code> 属性的数组中该节点所对应的对象、节点对应的 Node、节点组件本身。</td>\n</tr>\n<tr>\n<td>check-change</td>\n<td>节点选中状态发生变化时的回调</td>\n<td>共三个参数,依次为:传递给 <code>data</code> 属性的数组中该节点所对应的对象、节点本身是否被选中、节点的子树中是否有被选中的节点</td>\n</tr>\n<tr>\n<td>current-change</td>\n<td>当前选中节点变化时触发的事件</td>\n<td>共两个参数,依次为:当前节点的数据,当前节点的 Node 对象</td>\n</tr>\n</tbody>\n</table>\n</div>\n</template>\n</section>";

/***/ }),
/* 523 */
/***/ (function(module, exports, __webpack_require__) {

    module.exports = __webpack_require__(524);

/***/ }),
/* 524 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(525)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] node_modules/vue-markdown-loader/_cache/n3RateDocs-37.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(526)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-98027344/n3RateDocs-37.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 525 */
/***/ (function(module, exports) {

    "use strict";
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    // <template><section><template>
    // <h3>评分</h3>
    // <div class="bs-docs-section" id="评分">
    // <div class="bs-example">
    // <n3-rate v-model="value"></n3-rate>
    // <pre><code class="language-html"><span class="hljs-tag">&lt;<span class="hljs-name">n3-rate</span> <span class="hljs-attr">v-model</span>=<span class="hljs-string">"value"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">n3-rate</span>&gt;</span>
    // </code></pre>
    // <p><n3-rate v-model="value1" allow-half=""></n3-rate></p>
    // <pre><code class="language-html"><span class="hljs-tag">&lt;<span class="hljs-name">n3-rate</span> <span class="hljs-attr">v-model</span>=<span class="hljs-string">"value1"</span> <span class="hljs-attr">allow-half</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">n3-rate</span>&gt;</span>
    // </code></pre>
    // <p><n3-rate v-model="value2" show-text="" :colors="['#ffeb3b','#ff9800','#f44336']"></n3-rate></p>
    // <pre><code class="language-html"><span class="hljs-tag">&lt;<span class="hljs-name">n3-rate</span> <span class="hljs-attr">v-model</span>=<span class="hljs-string">"value2"</span> <span class="hljs-attr">show-text</span> <span class="hljs-attr">:colors</span>=<span class="hljs-string">"['#ffeb3b','#ff9800','#f44336']"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">n3-rate</span>&gt;</span>
    // </code></pre>
    // </div>
    // <h3>参数</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>参数名</th>
    // <th>类型</th>
    // <th>默认值</th>
    // <th>说明</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>max</td>
    // <td><code>Number</code></td>
    // <td><code>5</code></td>
    // <td>最大个数</td>
    // </tr>
    // <tr>
    // <td>allow-half</td>
    // <td><code>Boolean</code></td>
    // <td><code>false</code></td>
    // <td>是否支持半数</td>
    // </tr>
    // <tr>
    // <td>colors</td>
    // <td><code>Array</code></td>
    // <td><code>['#F7BA2A', '#F7BA2A', '#F7BA2A']</code></td>
    // <td>颜色</td>
    // </tr>
    // <tr>
    // <td>voidColor</td>
    // <td><code>String</code></td>
    // <td><code>#C6D1DE</code></td>
    // <td>未选中颜色</td>
    // </tr>
    // <tr>
    // <td>disabledVoidColor</td>
    // <td><code>String</code></td>
    // <td><code>#EFF2F7</code></td>
    // <td>禁止情况下为选中颜色</td>
    // </tr>
    // <tr>
    // <td>disabled</td>
    // <td><code>Boolean</code></td>
    // <td><code>false</code></td>
    // <td>禁止操作</td>
    // </tr>
    // <tr>
    // <td>disabled-void-icon</td>
    // <td><code>String</code></td>
    // <td><code>star</code></td>
    // <td>禁止操作的图标</td>
    // </tr>
    // <tr>
    // <td>void-icon</td>
    // <td><code>String</code></td>
    // <td><code>star-o</code></td>
    // <td>未选中图标</td>
    // </tr>
    // <tr>
    // <td>icons</td>
    // <td><code>Array</code></td>
    // <td><code>['star', 'star', 'star']</code></td>
    // <td>选中图标</td>
    // </tr>
    // <tr>
    // <td>show-text</td>
    // <td><code>Boolean</code></td>
    // <td><code>false</code></td>
    // <td>是否显示文本解释</td>
    // </tr>
    // <tr>
    // <td>text-color</td>
    // <td><code>string</code></td>
    // <td><code>#1f2d3d</code></td>
    // <td>文本颜色</td>
    // </tr>
    // <tr>
    // <td>texts</td>
    // <td><code>Array</code></td>
    // <td><code>['极差', '失望', '一般', '满意', '惊喜']</code></td>
    // <td>文本</td>
    // </tr>
    // </tbody>
    // </table>
    // </div>
    // </template>
    //
    // </section></template>
    //
    // <script>
    exports.default = {
      data: function data() {
        return {
          value: 3,
          value1: 2.5,
          value2: 4
        };
      }
    };
    // </script>
    /* generated by vue-loader */

/***/ }),
/* 526 */
/***/ (function(module, exports) {

    module.exports = "<section><template>\n<h3>评分</h3>\n<div class=\"bs-docs-section\" id=\"评分\">\n<div class=\"bs-example\">\n<n3-rate v-model=\"value\"></n3-rate>\n<pre><code class=\"language-html\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-rate</span> <span class=\"hljs-attr\">v-model</span>=<span class=\"hljs-string\">\"value\"</span>&gt;</span><span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-rate</span>&gt;</span>\n</code></pre>\n<p><n3-rate v-model=\"value1\" allow-half=\"\"></n3-rate></p>\n<pre><code class=\"language-html\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-rate</span> <span class=\"hljs-attr\">v-model</span>=<span class=\"hljs-string\">\"value1\"</span> <span class=\"hljs-attr\">allow-half</span>&gt;</span><span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-rate</span>&gt;</span>\n</code></pre>\n<p><n3-rate v-model=\"value2\" show-text=\"\" :colors=\"['#ffeb3b','#ff9800','#f44336']\"></n3-rate></p>\n<pre><code class=\"language-html\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-rate</span> <span class=\"hljs-attr\">v-model</span>=<span class=\"hljs-string\">\"value2\"</span> <span class=\"hljs-attr\">show-text</span> <span class=\"hljs-attr\">:colors</span>=<span class=\"hljs-string\">\"['#ffeb3b','#ff9800','#f44336']\"</span>&gt;</span><span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-rate</span>&gt;</span>\n</code></pre>\n</div>\n<h3>参数</h3>\n<table>\n<thead>\n<tr>\n<th>参数名</th>\n<th>类型</th>\n<th>默认值</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>max</td>\n<td><code>Number</code></td>\n<td><code>5</code></td>\n<td>最大个数</td>\n</tr>\n<tr>\n<td>allow-half</td>\n<td><code>Boolean</code></td>\n<td><code>false</code></td>\n<td>是否支持半数</td>\n</tr>\n<tr>\n<td>colors</td>\n<td><code>Array</code></td>\n<td><code>['#F7BA2A', '#F7BA2A', '#F7BA2A']</code></td>\n<td>颜色</td>\n</tr>\n<tr>\n<td>voidColor</td>\n<td><code>String</code></td>\n<td><code>#C6D1DE</code></td>\n<td>未选中颜色</td>\n</tr>\n<tr>\n<td>disabledVoidColor</td>\n<td><code>String</code></td>\n<td><code>#EFF2F7</code></td>\n<td>禁止情况下为选中颜色</td>\n</tr>\n<tr>\n<td>disabled</td>\n<td><code>Boolean</code></td>\n<td><code>false</code></td>\n<td>禁止操作</td>\n</tr>\n<tr>\n<td>disabled-void-icon</td>\n<td><code>String</code></td>\n<td><code>star</code></td>\n<td>禁止操作的图标</td>\n</tr>\n<tr>\n<td>void-icon</td>\n<td><code>String</code></td>\n<td><code>star-o</code></td>\n<td>未选中图标</td>\n</tr>\n<tr>\n<td>icons</td>\n<td><code>Array</code></td>\n<td><code>['star', 'star', 'star']</code></td>\n<td>选中图标</td>\n</tr>\n<tr>\n<td>show-text</td>\n<td><code>Boolean</code></td>\n<td><code>false</code></td>\n<td>是否显示文本解释</td>\n</tr>\n<tr>\n<td>text-color</td>\n<td><code>string</code></td>\n<td><code>#1f2d3d</code></td>\n<td>文本颜色</td>\n</tr>\n<tr>\n<td>texts</td>\n<td><code>Array</code></td>\n<td><code>['极差', '失望', '一般', '满意', '惊喜']</code></td>\n<td>文本</td>\n</tr>\n</tbody>\n</table>\n</div>\n</template>\n\n</section>";

/***/ }),
/* 527 */
/***/ (function(module, exports, __webpack_require__) {

    module.exports = __webpack_require__(528);

/***/ }),
/* 528 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(529)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] node_modules/vue-markdown-loader/_cache/n3UploaderDocs-38.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(530)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-e90840de/n3UploaderDocs-38.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 529 */
/***/ (function(module, exports) {

    "use strict";
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    // <template><section><template>
    // <h3>文件上传</h3>
    // <div class="bs-docs-section" id="文件上传">
    // <div class="bs-example">
    // <h4>单个文件上传</h4>
    // <p><n3-uploader url="http://test.com/" :multiple="false" @error="onError" :max-size="0.5"></n3-uploader></p>
    // <hr>
    // <h4>点击上传</h4>
    // <p><n3-uploader url="http://test.com/" @error="onError"></n3-uploader></p>
    // <hr>
    // <h4>支持拖拽</h4>
    // <p><n3-uploader type="drag" url="http://test.com/" @error="onError"></n3-uploader></p>
    // </div>
    // <pre><code class="language-html"><span class="hljs-comment">&lt;!-- 单个上传 --&gt;</span>
    // <span class="hljs-tag">&lt;<span class="hljs-name">n3-uploader</span> <span class="hljs-attr">url</span>=<span class="hljs-string">"http://test.com/"</span> <span class="hljs-attr">:multiple</span>=<span class="hljs-string">"false"</span> <span class="hljs-attr">@error</span>=<span class="hljs-string">"onError"</span> <span class="hljs-attr">:max-size</span>=<span class="hljs-string">"0.5"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">n3-uploader</span>&gt;</span>
    //
    // <span class="hljs-comment">&lt;!-- 点击上传 --&gt;</span>
    // <span class="hljs-tag">&lt;<span class="hljs-name">n3-uploader</span> <span class="hljs-attr">url</span>=<span class="hljs-string">"http://test.com/"</span> <span class="hljs-attr">@error</span>=<span class="hljs-string">"onError"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">n3-uploader</span>&gt;</span>
    //
    // <span class="hljs-comment">&lt;!-- 拖拽上传 --&gt;</span>
    // <span class="hljs-tag">&lt;<span class="hljs-name">n3-uploader</span> <span class="hljs-attr">type</span>=<span class="hljs-string">"drag"</span> <span class="hljs-attr">url</span>=<span class="hljs-string">"http://test.com/"</span> <span class="hljs-attr">@error</span>=<span class="hljs-string">"onError"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">n3-uploader</span>&gt;</span>
    // </code></pre>
    // <h3>参数</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>参数名</th>
    // <th>类型</th>
    // <th>默认值</th>
    // <th>说明</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>name</td>
    // <td><code>String</code></td>
    // <td>files</td>
    // <td>文件对象的name</td>
    // </tr>
    // <tr>
    // <td>type</td>
    // <td><code>String</code>:<code>click</code> 或 <code>drag</code></td>
    // <td>click</td>
    // <td>拖拽或者点击</td>
    // </tr>
    // <tr>
    // <td>accept</td>
    // <td><code>String</code></td>
    // <td>'' (全支持)</td>
    // <td>支持的文件类型 例如: <code>'image/jpeg'</code> 或者 <code>'image'</code>支持所有图片格式,多个如 <code>'txt|image|mp3'</code></td>
    // </tr>
    // <tr>
    // <td>url</td>
    // <td><code>String</code></td>
    // <td></td>
    // <td>上传地址</td>
    // </tr>
    // <tr>
    // <td>params</td>
    // <td><code>Object</code></td>
    // <td></td>
    // <td>上传参数</td>
    // </tr>
    // <tr>
    // <td>multiple</td>
    // <td><code>Boolean</code></td>
    // <td>true</td>
    // <td>支持多文件上传</td>
    // </tr>
    // <tr>
    // <td>drag-width</td>
    // <td><code>String</code></td>
    // <td>300px</td>
    // <td>拖拽框宽度</td>
    // </tr>
    // <tr>
    // <td>drag-height</td>
    // <td><code>String</code></td>
    // <td>200px</td>
    // <td>拖拽框高度</td>
    // </tr>
    // <tr>
    // <td>max-length</td>
    // <td><code>Number</code></td>
    // <td>10</td>
    // <td>上传文件个数限制</td>
    // </tr>
    // <tr>
    // <td>with-credentials</td>
    // <td><code>Boolean</code></td>
    // <td>false</td>
    // <td>跨域时带cookies</td>
    // </tr>
    // <tr>
    // <td>max-size</td>
    // <td><code>Number</code></td>
    // <td>10</td>
    // <td>单个文件的size限制(MB)</td>
    // </tr>
    // </tbody>
    // </table>
    // <h3>Events</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>事件名称</th>
    // <th>说明</th>
    // <th>回调参数</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>success</td>
    // <td>成功上传回调时</td>
    // <td>({response, file})</td>
    // </tr>
    // <tr>
    // <td>finish</td>
    // <td>完成所有上传任务时</td>
    // <td>()</td>
    // </tr>
    // <tr>
    // <td>delete</td>
    // <td>删除一个上传的项目时</td>
    // <td>(uploadItem)</td>
    // </tr>
    // <tr>
    // <td>error</td>
    // <td>发生错误时</td>
    // <td>({message, file})</td>
    // </tr>
    // </tbody>
    // </table>
    // </div>
    // </template>
    //
    // </section></template>
    //
    // <script>
    
    exports.default = {
      data: function data() {
        return {};
      },
    
      methods: {
        onError: function onError(_ref) {
          var message = _ref.message,
              file = _ref.file;
    
          console.error(message, file);
        }
      }
    };
    // </script>
    /* generated by vue-loader */

/***/ }),
/* 530 */
/***/ (function(module, exports) {

    module.exports = "<section><template>\n<h3>文件上传</h3>\n<div class=\"bs-docs-section\" id=\"文件上传\">\n<div class=\"bs-example\">\n<h4>单个文件上传</h4>\n<p><n3-uploader url=\"http://test.com/\" :multiple=\"false\" @error=\"onError\" :max-size=\"0.5\"></n3-uploader></p>\n<hr>\n<h4>点击上传</h4>\n<p><n3-uploader url=\"http://test.com/\" @error=\"onError\"></n3-uploader></p>\n<hr>\n<h4>支持拖拽</h4>\n<p><n3-uploader type=\"drag\" url=\"http://test.com/\" @error=\"onError\"></n3-uploader></p>\n</div>\n<pre><code class=\"language-html\"><span class=\"hljs-comment\">&lt;!-- 单个上传 --&gt;</span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-uploader</span> <span class=\"hljs-attr\">url</span>=<span class=\"hljs-string\">\"http://test.com/\"</span> <span class=\"hljs-attr\">:multiple</span>=<span class=\"hljs-string\">\"false\"</span> <span class=\"hljs-attr\">@error</span>=<span class=\"hljs-string\">\"onError\"</span> <span class=\"hljs-attr\">:max-size</span>=<span class=\"hljs-string\">\"0.5\"</span>&gt;</span><span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-uploader</span>&gt;</span>\n\n<span class=\"hljs-comment\">&lt;!-- 点击上传 --&gt;</span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-uploader</span> <span class=\"hljs-attr\">url</span>=<span class=\"hljs-string\">\"http://test.com/\"</span> <span class=\"hljs-attr\">@error</span>=<span class=\"hljs-string\">\"onError\"</span>&gt;</span><span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-uploader</span>&gt;</span>\n\n<span class=\"hljs-comment\">&lt;!-- 拖拽上传 --&gt;</span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-uploader</span> <span class=\"hljs-attr\">type</span>=<span class=\"hljs-string\">\"drag\"</span> <span class=\"hljs-attr\">url</span>=<span class=\"hljs-string\">\"http://test.com/\"</span> <span class=\"hljs-attr\">@error</span>=<span class=\"hljs-string\">\"onError\"</span>&gt;</span><span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-uploader</span>&gt;</span>\n</code></pre>\n<h3>参数</h3>\n<table>\n<thead>\n<tr>\n<th>参数名</th>\n<th>类型</th>\n<th>默认值</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>name</td>\n<td><code>String</code></td>\n<td>files</td>\n<td>文件对象的name</td>\n</tr>\n<tr>\n<td>type</td>\n<td><code>String</code>:<code>click</code> 或 <code>drag</code></td>\n<td>click</td>\n<td>拖拽或者点击</td>\n</tr>\n<tr>\n<td>accept</td>\n<td><code>String</code></td>\n<td>'' (全支持)</td>\n<td>支持的文件类型 例如: <code>'image/jpeg'</code> 或者 <code>'image'</code>支持所有图片格式,多个如 <code>'txt|image|mp3'</code></td>\n</tr>\n<tr>\n<td>url</td>\n<td><code>String</code></td>\n<td></td>\n<td>上传地址</td>\n</tr>\n<tr>\n<td>params</td>\n<td><code>Object</code></td>\n<td></td>\n<td>上传参数</td>\n</tr>\n<tr>\n<td>multiple</td>\n<td><code>Boolean</code></td>\n<td>true</td>\n<td>支持多文件上传</td>\n</tr>\n<tr>\n<td>drag-width</td>\n<td><code>String</code></td>\n<td>300px</td>\n<td>拖拽框宽度</td>\n</tr>\n<tr>\n<td>drag-height</td>\n<td><code>String</code></td>\n<td>200px</td>\n<td>拖拽框高度</td>\n</tr>\n<tr>\n<td>max-length</td>\n<td><code>Number</code></td>\n<td>10</td>\n<td>上传文件个数限制</td>\n</tr>\n<tr>\n<td>with-credentials</td>\n<td><code>Boolean</code></td>\n<td>false</td>\n<td>跨域时带cookies</td>\n</tr>\n<tr>\n<td>max-size</td>\n<td><code>Number</code></td>\n<td>10</td>\n<td>单个文件的size限制(MB)</td>\n</tr>\n</tbody>\n</table>\n<h3>Events</h3>\n<table>\n<thead>\n<tr>\n<th>事件名称</th>\n<th>说明</th>\n<th>回调参数</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>success</td>\n<td>成功上传回调时</td>\n<td>({response, file})</td>\n</tr>\n<tr>\n<td>finish</td>\n<td>完成所有上传任务时</td>\n<td>()</td>\n</tr>\n<tr>\n<td>delete</td>\n<td>删除一个上传的项目时</td>\n<td>(uploadItem)</td>\n</tr>\n<tr>\n<td>error</td>\n<td>发生错误时</td>\n<td>({message, file})</td>\n</tr>\n</tbody>\n</table>\n</div>\n</template>\n\n</section>";

/***/ }),
/* 531 */
/***/ (function(module, exports, __webpack_require__) {

    module.exports = __webpack_require__(532);

/***/ }),
/* 532 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(533)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] node_modules/vue-markdown-loader/_cache/n3FormDocs-40.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(534)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-39b02412/n3FormDocs-40.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 533 */
/***/ (function(module, exports) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    // <template><section><template>
    // <h3>表单</h3>
    // <div class="bs-docs-section">
    // <div class="bs-example">
    // <n3-form ref="form">
    // <n3-form-item need="" label="姓名" :label-col="3">
    // <n3-input show-clean="" name="name" v-model="model.name" :rules="[{type:'required'}]" :custom-validate="nameValidate">
    // </n3-input>
    // </n3-form-item>
    // <p><n3-form-item need="" label="年龄" :label-col="3">
    // <n3-input-number name="age" v-model="model.age" :rules="[{type:'number'},{type:'required'}]">
    // </n3-input-number>
    //
    // </n3-form-item>
    // <n3-form-item need="" label="地址" :label-col="3">
    // <n3-cascader name="address" :options="options" v-model="model.address" :rules="[{type:'required'}]">
    // </n3-cascader>
    // </n3-form-item>
    // <n3-form-item need="" label="生日" :label-col="3">
    // <n3-datepicker name="birthday" v-model="model.birthday" :rules="[{type:'required'}]">
    // </n3-datepicker>
    // </n3-form-item>
    // <n3-form-item need="" label="学校" :label-col="3">
    // <n3-typeahead show-clean="" name="学校" v-model="model.school" :data="schoolData" :rules="[{type:'required'}]">
    // </n3-typeahead>
    // </n3-form-item>
    // <n3-form-item need="" label="爱好" :label-col="3">
    // <n3-checkbox-group name="hobby" v-model="model.hobby" :rules="[{type:'required'}]">
    // <n3-checkbox label="0">看书</n3-checkbox>
    // <n3-checkbox label="1">运动</n3-checkbox>
    // <n3-checkbox value="2">旅行</n3-checkbox>
    // </n3-checkbox-group>
    // </n3-form-item></p>
    // <p><n3-form-item need="" label="性别" :label-col="3">
    // <n3-radio-group name="sex" v-model="model.sex" :rules="[{type:'required'}]">
    // <n3-radio label="0">男</n3-radio>
    // <n3-radio label="1">女</n3-radio>
    // </n3-radio-group>
    // </n3-form-item></p>
    // <p><n3-form-item need="" label="专业" :label-col="3">
    // <n3-select name="sex" :options="profession" v-model="model.profession" :rules="[{type:'required'}]">
    // </n3-select>
    // </n3-form-item></p>
    // <p><n3-form-item need="" label="级别" :label-col="3">
    // <n3-slider name="level" v-model="model.level" :rules="[{type:'required'}]">
    // </n3-slider>
    // </n3-form-item></p>
    // <p><n3-form-item need="" label="开启状态" :label-col="3">
    // <n3-switch name="state" v-model="model.state" :rules="[{type:'required'}]">
    // </n3-switch>
    // </n3-form-item>
    // <n3-form-item need="" label="喜欢的明星" :label-col="3">
    // <n3-multiple-input name="star" v-model="model.star" :rules="[{type:'required'}]">
    // </n3-multiple-input>
    // </n3-form-item>
    // <n3-form-item need="" label="想说的话" :label-col="3">
    // <n3-textarea name="suggestion" v-model="model.suggestion" :rules="[{type:'required'}]">
    // </n3-textarea>
    // </n3-form-item></p>
    //  <n3-form-item>
    //      <n3-button type="primary" @click.native="submit">提交</n3-button>
    // </n3-form-item>
    // </n3-form>
    // <pre><code class="language-html"><span class="hljs-tag">&lt;<span class="hljs-name">n3-form</span> <span class="hljs-attr">ref</span>=<span class="hljs-string">'form'</span> &gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-form-item</span>
    //       <span class="hljs-attr">need</span>
    //       <span class="hljs-attr">label</span>=<span class="hljs-string">"姓名"</span>
    //       <span class="hljs-attr">:label-col</span>=<span class="hljs-string">"3"</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-input</span>
    //       <span class="hljs-attr">name</span>=<span class="hljs-string">"name"</span>
    //       <span class="hljs-attr">v-model</span>=<span class="hljs-string">"model.name"</span>
    //       <span class="hljs-attr">:rules</span>=<span class="hljs-string">"[{type:'required'}]"</span>
    //       <span class="hljs-attr">:custom-validate</span>=<span class="hljs-string">"nameValidate"</span>&gt;</span>
    //   <span class="hljs-tag">&lt;/<span class="hljs-name">n3-input</span>&gt;</span>
    //   <span class="hljs-tag">&lt;/<span class="hljs-name">n3-form-item</span>&gt;</span>
    //
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-form-item</span>
    //       <span class="hljs-attr">need</span>
    //       <span class="hljs-attr">label</span>=<span class="hljs-string">"年龄"</span>
    //       <span class="hljs-attr">:label-col</span>=<span class="hljs-string">"3"</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-input-number</span>
    //       <span class="hljs-attr">name</span>=<span class="hljs-string">"age"</span>
    //       <span class="hljs-attr">v-model</span>=<span class="hljs-string">"model.age"</span>
    //       <span class="hljs-attr">:rules</span>=<span class="hljs-string">"[{type:'number'},{type:'required'}]"</span>&gt;</span>
    //   <span class="hljs-tag">&lt;/<span class="hljs-name">n3-input-number</span>&gt;</span>
    //   <span class="hljs-tag">&lt;/<span class="hljs-name">n3-input</span>&gt;</span>
    //   <span class="hljs-tag">&lt;/<span class="hljs-name">n3-form-item</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-form-item</span>
    //       <span class="hljs-attr">need</span>
    //       <span class="hljs-attr">label</span>=<span class="hljs-string">"地址"</span>
    //       <span class="hljs-attr">:label-col</span>=<span class="hljs-string">"3"</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-cascader</span>
    //       <span class="hljs-attr">name</span>=<span class="hljs-string">"address"</span>
    //       <span class="hljs-attr">:options</span>=<span class="hljs-string">"options"</span>
    //       <span class="hljs-attr">v-model</span>=<span class="hljs-string">"model.address"</span>
    //       <span class="hljs-attr">:rules</span>=<span class="hljs-string">"[{type:'required'}]"</span>&gt;</span>
    //   <span class="hljs-tag">&lt;/<span class="hljs-name">n3-cascader</span>&gt;</span>
    //   <span class="hljs-tag">&lt;/<span class="hljs-name">n3-form-item</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-form-item</span>
    //       <span class="hljs-attr">need</span>
    //       <span class="hljs-attr">label</span>=<span class="hljs-string">"生日"</span>
    //       <span class="hljs-attr">:label-col</span>=<span class="hljs-string">"3"</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-datepicker</span>
    //       <span class="hljs-attr">name</span>=<span class="hljs-string">"birthday"</span>
    //       <span class="hljs-attr">v-model</span>=<span class="hljs-string">"model.birthday"</span>
    //       <span class="hljs-attr">:rules</span>=<span class="hljs-string">"[{type:'required'}]"</span>&gt;</span>
    //   <span class="hljs-tag">&lt;/<span class="hljs-name">n3-datepicker</span>&gt;</span>
    //   <span class="hljs-tag">&lt;/<span class="hljs-name">n3-form-item</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-form-item</span>
    //       <span class="hljs-attr">need</span>
    //       <span class="hljs-attr">label</span>=<span class="hljs-string">"学校"</span>
    //       <span class="hljs-attr">:label-col</span>=<span class="hljs-string">"3"</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-typeahead</span>
    //       <span class="hljs-attr">name</span>=<span class="hljs-string">"学校"</span>
    //       <span class="hljs-attr">v-model</span> = <span class="hljs-string">"model.school"</span>
    //       <span class="hljs-attr">:data</span>=<span class="hljs-string">"schoolData"</span>
    //       <span class="hljs-attr">:rules</span>=<span class="hljs-string">"[{type:'required'}]"</span>&gt;</span>
    //   <span class="hljs-tag">&lt;/<span class="hljs-name">n3-typeahead</span>&gt;</span>
    //   <span class="hljs-tag">&lt;/<span class="hljs-name">n3-form-item</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-form-item</span>
    //       <span class="hljs-attr">need</span>
    //       <span class="hljs-attr">label</span>=<span class="hljs-string">"爱好"</span>
    //       <span class="hljs-attr">:label-col</span>=<span class="hljs-string">"3"</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-checkbox-group</span>
    //       <span class="hljs-attr">name</span>=<span class="hljs-string">"hobby"</span>
    //       <span class="hljs-attr">v-model</span> = <span class="hljs-string">"model.hobby"</span>
    //       <span class="hljs-attr">:rules</span>=<span class="hljs-string">"[{type:'required'}]"</span>&gt;</span>
    //       <span class="hljs-tag">&lt;<span class="hljs-name">n3-checkbox</span> <span class="hljs-attr">label</span>=<span class="hljs-string">"0"</span>&gt;</span>看书<span class="hljs-tag">&lt;/<span class="hljs-name">n3-checkbox</span>&gt;</span>
    //       <span class="hljs-tag">&lt;<span class="hljs-name">n3-checkbox</span> <span class="hljs-attr">label</span>=<span class="hljs-string">"1"</span>&gt;</span>运动<span class="hljs-tag">&lt;/<span class="hljs-name">n3-checkbox</span>&gt;</span>
    //       <span class="hljs-tag">&lt;<span class="hljs-name">n3-checkbox</span> <span class="hljs-attr">value</span>=<span class="hljs-string">"2"</span>&gt;</span>旅行<span class="hljs-tag">&lt;/<span class="hljs-name">n3-checkbox</span>&gt;</span>
    //   <span class="hljs-tag">&lt;/<span class="hljs-name">n3-checkbox-group</span>&gt;</span>
    //   <span class="hljs-tag">&lt;/<span class="hljs-name">n3-form-item</span>&gt;</span>
    //
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-form-item</span>
    //       <span class="hljs-attr">need</span>
    //       <span class="hljs-attr">label</span>=<span class="hljs-string">"性别"</span>
    //       <span class="hljs-attr">:label-col</span>=<span class="hljs-string">"3"</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-radio-group</span>
    //       <span class="hljs-attr">name</span>=<span class="hljs-string">"sex"</span>
    //       <span class="hljs-attr">v-model</span> = <span class="hljs-string">"model.sex"</span>
    //       <span class="hljs-attr">:rules</span>=<span class="hljs-string">"[{type:'required'}]"</span>&gt;</span>
    //       <span class="hljs-tag">&lt;<span class="hljs-name">n3-radio</span> <span class="hljs-attr">label</span>=<span class="hljs-string">"0"</span>&gt;</span>男<span class="hljs-tag">&lt;/<span class="hljs-name">n3-radio</span>&gt;</span>
    //       <span class="hljs-tag">&lt;<span class="hljs-name">n3-radio</span> <span class="hljs-attr">label</span>=<span class="hljs-string">"1"</span>&gt;</span>女<span class="hljs-tag">&lt;/<span class="hljs-name">n3-radio</span>&gt;</span>
    //   <span class="hljs-tag">&lt;/<span class="hljs-name">n3-radio-group</span>&gt;</span>
    //   <span class="hljs-tag">&lt;/<span class="hljs-name">n3-form-item</span>&gt;</span>
    //
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-form-item</span>
    //       <span class="hljs-attr">need</span>
    //       <span class="hljs-attr">label</span>=<span class="hljs-string">"专业"</span>
    //       <span class="hljs-attr">:label-col</span>=<span class="hljs-string">"3"</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-select</span>
    //       <span class="hljs-attr">name</span>=<span class="hljs-string">"sex"</span>
    //       <span class="hljs-attr">:options</span>=<span class="hljs-string">'profession'</span>
    //       <span class="hljs-attr">v-model</span> = <span class="hljs-string">"model.profession"</span>
    //       <span class="hljs-attr">:rules</span>=<span class="hljs-string">"[{type:'required'}]"</span>&gt;</span>
    //   <span class="hljs-tag">&lt;/<span class="hljs-name">n3-select</span>&gt;</span>
    //   <span class="hljs-tag">&lt;/<span class="hljs-name">n3-form-item</span>&gt;</span>
    //
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-form-item</span>
    //       <span class="hljs-attr">need</span>
    //       <span class="hljs-attr">label</span>=<span class="hljs-string">"级别"</span>
    //       <span class="hljs-attr">:label-col</span>=<span class="hljs-string">"3"</span>&gt;</span>
    //     <span class="hljs-tag">&lt;<span class="hljs-name">n3-slider</span>
    //         <span class="hljs-attr">name</span>=<span class="hljs-string">"level"</span>
    //         <span class="hljs-attr">v-model</span>=<span class="hljs-string">"model.level"</span>
    //         <span class="hljs-attr">:rules</span>=<span class="hljs-string">"[{type:'required'}]"</span>&gt;</span>
    //     <span class="hljs-tag">&lt;/<span class="hljs-name">n3-slider</span>&gt;</span>
    //   <span class="hljs-tag">&lt;/<span class="hljs-name">n3-form-item</span>&gt;</span>
    //
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-form-item</span>
    //       <span class="hljs-attr">need</span>
    //       <span class="hljs-attr">label</span>=<span class="hljs-string">"开启状态"</span>
    //       <span class="hljs-attr">:label-col</span>=<span class="hljs-string">"3"</span>&gt;</span>
    //     <span class="hljs-tag">&lt;<span class="hljs-name">n3-switch</span>
    //         <span class="hljs-attr">name</span>=<span class="hljs-string">"state"</span>
    //         <span class="hljs-attr">v-model</span> = <span class="hljs-string">"model.state"</span>
    //         <span class="hljs-attr">:rules</span>=<span class="hljs-string">"[{type:'required'}]"</span>&gt;</span>
    //     <span class="hljs-tag">&lt;/<span class="hljs-name">n3-switch</span>&gt;</span>
    //   <span class="hljs-tag">&lt;/<span class="hljs-name">n3-form-item</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-form-item</span>
    //       <span class="hljs-attr">need</span>
    //       <span class="hljs-attr">label</span>=<span class="hljs-string">"喜欢的明星"</span>
    //       <span class="hljs-attr">:label-col</span>=<span class="hljs-string">"3"</span>&gt;</span>
    //     <span class="hljs-tag">&lt;<span class="hljs-name">n3-multiple-input</span>
    //         <span class="hljs-attr">name</span>=<span class="hljs-string">"star"</span>
    //         <span class="hljs-attr">v-model</span> = <span class="hljs-string">"model.star"</span>
    //         <span class="hljs-attr">:rules</span>=<span class="hljs-string">"[{type:'required'}]"</span>&gt;</span>
    //     <span class="hljs-tag">&lt;/<span class="hljs-name">n3-multiple-input</span>&gt;</span>
    //   <span class="hljs-tag">&lt;/<span class="hljs-name">n3-form-item</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-form-item</span>
    //       <span class="hljs-attr">need</span>
    //       <span class="hljs-attr">label</span>=<span class="hljs-string">"想说的话"</span>
    //       <span class="hljs-attr">:label-col</span>=<span class="hljs-string">"3"</span>&gt;</span>
    //     <span class="hljs-tag">&lt;<span class="hljs-name">n3-textarea</span>
    //         <span class="hljs-attr">name</span>=<span class="hljs-string">"suggestion"</span>
    //         <span class="hljs-attr">v-model</span> = <span class="hljs-string">"model.suggestion"</span>
    //         <span class="hljs-attr">:rules</span>=<span class="hljs-string">"[{type:'required'}]"</span>&gt;</span>
    //     <span class="hljs-tag">&lt;/<span class="hljs-name">n3-textarea</span>&gt;</span>
    //   <span class="hljs-tag">&lt;/<span class="hljs-name">n3-form-item</span>&gt;</span>
    //
    //    <span class="hljs-tag">&lt;<span class="hljs-name">n3-form-item</span>&gt;</span>
    //        <span class="hljs-tag">&lt;<span class="hljs-name">n3-button</span> <span class="hljs-attr">type</span>=<span class="hljs-string">"primary"</span> <span class="hljs-attr">@click.native</span>=<span class="hljs-string">"submit"</span> &gt;</span>提交<span class="hljs-tag">&lt;/<span class="hljs-name">n3-button</span>&gt;</span>
    //   <span class="hljs-tag">&lt;/<span class="hljs-name">n3-form-item</span>&gt;</span>
    // <span class="hljs-tag">&lt;/<span class="hljs-name">n3-form</span>&gt;</span>
    // </code></pre>
    // <pre><code class="language-javascript">  methods: {
    //     nameValidate (val) {
    //       <span class="hljs-keyword">if</span> (<span class="hljs-regexp">/[\u4E00-\u9FA5\uF900-\uFA2D]/</span>.test(val)) {
    //         <span class="hljs-keyword">return</span> {
    //           <span class="hljs-attr">validStatus</span>: <span class="hljs-string">'success'</span>
    //         }
    //       } <span class="hljs-keyword">else</span> {
    //         <span class="hljs-keyword">return</span> {
    //           <span class="hljs-attr">validStatus</span>: <span class="hljs-string">'error'</span>,
    //           <span class="hljs-attr">tips</span>: <span class="hljs-string">'请输入中文名'</span>
    //         }
    //       }
    //     },
    //     submit () {
    //       <span class="hljs-keyword">this</span>.$refs.form.validateFields(<span class="hljs-function"><span class="hljs-params">result</span> =&gt;</span> {
    //         <span class="hljs-built_in">console</span>.log(result)
    //      })
    //     }
    //   }
    // }
    // </code></pre>
    // <h3>n3-from参数</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>参数</th>
    // <th>类型</th>
    // <th>默认值</th>
    // <th>说明</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>type</td>
    // <td>String</td>
    // <td>horizontal</td>
    // <td>布局方式  horizontal,inline</td>
    // </tr>
    // <tr>
    // <td>validate</td>
    // <td>Boolean</td>
    // <td>false</td>
    // <td>是否打开验证</td>
    // </tr>
    // </tbody>
    // </table>
    // <h3>事件</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>名称</th>
    // <th>说明</th>
    // <th>参数</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>validateChange</td>
    // <td>校验结果变化</td>
    // <td>(validateResults)</td>
    // </tr>
    // </tbody>
    // </table>
    // <h3>方法</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>名称</th>
    // <th>说明</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>validateFields</td>
    // <td>校验</td>
    // </tr>
    // </tbody>
    // </table>
    // <h3>n3-from-item参数</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>参数</th>
    // <th>类型</th>
    // <th>默认值</th>
    // <th>说明</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>label</td>
    // <td><code>String</code></td>
    // <td>-</td>
    // <td>表单项说明</td>
    // </tr>
    // <tr>
    // <td>label-col</td>
    // <td><code>Number</code></td>
    // <td><code>2</code></td>
    // <td>表单项说明所占栅格数</td>
    // </tr>
    // <tr>
    // <td>wrap-col</td>
    // <td><code>Number</code></td>
    // <td><code>12</code></td>
    // <td>表单项所占栅格数</td>
    // </tr>
    // <tr>
    // <td>form-col</td>
    // <td><code>Number</code></td>
    // <td><code>10</code></td>
    // <td>表单元素所占栅格数</td>
    // </tr>
    // <tr>
    // <td>need</td>
    // <td><code>Boolean</code></td>
    // <td><code>false</code></td>
    // <td>必填标示红点</td>
    // </tr>
    // </tbody>
    // </table>
    // <h3>待验证组件参数</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>参数</th>
    // <th>类型</th>
    // <th>默认值</th>
    // <th>说明</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>custom-validate</td>
    // <td>Function`</td>
    // <td></td>
    // <td>自定义校验器</td>
    // </tr>
    // <tr>
    // <td>rules</td>
    // <td><code>Array</code></td>
    // <td>-</td>
    // <td>验证规则,如 <code>[{type: 'required' }, {type: 'maxlength=6' }, {type:'minlength=3'}, {type: 'phone' }, {type: 'number' }, {type: 'telephone' }, {type: 'email' }]</code></td>
    // </tr>
    // </tbody>
    // </table>
    // </div>
    // </div></template>
    //
    // </section></template>
    //
    // <script>
    exports.default = {
      data: function data() {
        return {
          profession: [{
            value: '学生',
            label: '学生'
          }, {
            value: '工程师',
            label: '工程师'
          }, {
            value: '医生',
            label: '医生'
          }],
          model: {
            name: '',
            age: '',
            address: [],
            birthday: '',
            sex: '',
            school: '',
            hobby: [],
            profession: '',
            state: false,
            star: [],
            suggestion: ''
          },
          schoolData: ['Alabama', 'Alaska', 'Arizona', 'Arkansas', 'California', 'Colorado', 'Connecticut', 'Delaware', 'Florida', 'Georgia', 'Hawaii', 'Idaho', 'Illinois', 'Indiana', 'Iowa', 'Kansas', 'Kentucky', 'Louisiana', 'Maine', 'Maryland', 'Massachusetts', 'Michigan', 'Minnesota', 'Mississippi', 'Missouri', 'Montana', 'Nebraska', 'Nevada', 'New Hampshire', 'New Jersey', 'New Mexico', 'New York', 'North Dakota', 'North Carolina', 'Ohio', 'Oklahoma', 'Oregon', 'Pennsylvania', 'Rhode Island', 'South Carolina', 'South Dakota', 'Tennessee', 'Texas', 'Utah', 'Vermont', 'Virginia', 'Washington', 'West Virginia', 'Wisconsin', 'Wyoming'],
          sexOptions: [{
            value: '1',
            label: '男'
          }, {
            value: '0',
            label: '女'
          }],
          options: [{
            value: 'zhejiang',
            label: '浙江',
            children: [{
              value: 'hangzhou',
              label: '杭州',
              children: [{
                value: 'xihu',
                label: '西湖'
              }]
            }]
          }, {
            value: 'jiangsu',
            label: '江苏',
            children: [{
              value: 'nanjing',
              label: '南京',
              children: [{
                value: 'zhonghuamen',
                label: '中华门'
              }]
            }]
          }],
          validate: false,
          result: {}
        };
      },
    
      methods: {
        nameValidate: function nameValidate(val) {
          if (/[\u4E00-\u9FA5\uF900-\uFA2D]/.test(val)) {
            return {
              validStatus: 'success'
            };
          } else {
            return {
              validStatus: 'error',
              tips: '请输入中文名'
            };
          }
        },
        submit: function submit() {
          this.$refs.form.validateFields(function (result) {
            console.log(result);
          });
        }
      }
    };
    // </script>
    /* generated by vue-loader */

/***/ }),
/* 534 */
/***/ (function(module, exports) {

    module.exports = "<section><template>\n<h3>表单</h3>\n<div class=\"bs-docs-section\">\n<div class=\"bs-example\">\n<n3-form ref=\"form\">\n<n3-form-item need=\"\" label=\"姓名\" :label-col=\"3\">\n<n3-input show-clean=\"\" name=\"name\" v-model=\"model.name\" :rules=\"[{type:'required'}]\" :custom-validate=\"nameValidate\">\n</n3-input>\n</n3-form-item>\n<p><n3-form-item need=\"\" label=\"年龄\" :label-col=\"3\">\n<n3-input-number name=\"age\" v-model=\"model.age\" :rules=\"[{type:'number'},{type:'required'}]\">\n</n3-input-number>\n\n</n3-form-item>\n<n3-form-item need=\"\" label=\"地址\" :label-col=\"3\">\n<n3-cascader name=\"address\" :options=\"options\" v-model=\"model.address\" :rules=\"[{type:'required'}]\">\n</n3-cascader>\n</n3-form-item>\n<n3-form-item need=\"\" label=\"生日\" :label-col=\"3\">\n<n3-datepicker name=\"birthday\" v-model=\"model.birthday\" :rules=\"[{type:'required'}]\">\n</n3-datepicker>\n</n3-form-item>\n<n3-form-item need=\"\" label=\"学校\" :label-col=\"3\">\n<n3-typeahead show-clean=\"\" name=\"学校\" v-model=\"model.school\" :data=\"schoolData\" :rules=\"[{type:'required'}]\">\n</n3-typeahead>\n</n3-form-item>\n<n3-form-item need=\"\" label=\"爱好\" :label-col=\"3\">\n<n3-checkbox-group name=\"hobby\" v-model=\"model.hobby\" :rules=\"[{type:'required'}]\">\n<n3-checkbox label=\"0\">看书</n3-checkbox>\n<n3-checkbox label=\"1\">运动</n3-checkbox>\n<n3-checkbox value=\"2\">旅行</n3-checkbox>\n</n3-checkbox-group>\n</n3-form-item></p>\n<p><n3-form-item need=\"\" label=\"性别\" :label-col=\"3\">\n<n3-radio-group name=\"sex\" v-model=\"model.sex\" :rules=\"[{type:'required'}]\">\n<n3-radio label=\"0\">男</n3-radio>\n<n3-radio label=\"1\">女</n3-radio>\n</n3-radio-group>\n</n3-form-item></p>\n<p><n3-form-item need=\"\" label=\"专业\" :label-col=\"3\">\n<n3-select name=\"sex\" :options=\"profession\" v-model=\"model.profession\" :rules=\"[{type:'required'}]\">\n</n3-select>\n</n3-form-item></p>\n<p><n3-form-item need=\"\" label=\"级别\" :label-col=\"3\">\n<n3-slider name=\"level\" v-model=\"model.level\" :rules=\"[{type:'required'}]\">\n</n3-slider>\n</n3-form-item></p>\n<p><n3-form-item need=\"\" label=\"开启状态\" :label-col=\"3\">\n<n3-switch name=\"state\" v-model=\"model.state\" :rules=\"[{type:'required'}]\">\n</n3-switch>\n</n3-form-item>\n<n3-form-item need=\"\" label=\"喜欢的明星\" :label-col=\"3\">\n<n3-multiple-input name=\"star\" v-model=\"model.star\" :rules=\"[{type:'required'}]\">\n</n3-multiple-input>\n</n3-form-item>\n<n3-form-item need=\"\" label=\"想说的话\" :label-col=\"3\">\n<n3-textarea name=\"suggestion\" v-model=\"model.suggestion\" :rules=\"[{type:'required'}]\">\n</n3-textarea>\n</n3-form-item></p>\n <n3-form-item>\n     <n3-button type=\"primary\" @click.native=\"submit\">提交</n3-button>\n</n3-form-item>\n</n3-form>\n<pre><code class=\"language-html\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-form</span> <span class=\"hljs-attr\">ref</span>=<span class=\"hljs-string\">'form'</span> &gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-form-item</span>\n      <span class=\"hljs-attr\">need</span>\n      <span class=\"hljs-attr\">label</span>=<span class=\"hljs-string\">\"姓名\"</span>\n      <span class=\"hljs-attr\">:label-col</span>=<span class=\"hljs-string\">\"3\"</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-input</span>\n      <span class=\"hljs-attr\">name</span>=<span class=\"hljs-string\">\"name\"</span>\n      <span class=\"hljs-attr\">v-model</span>=<span class=\"hljs-string\">\"model.name\"</span>\n      <span class=\"hljs-attr\">:rules</span>=<span class=\"hljs-string\">\"[{type:'required'}]\"</span>\n      <span class=\"hljs-attr\">:custom-validate</span>=<span class=\"hljs-string\">\"nameValidate\"</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-input</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-form-item</span>&gt;</span>\n\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-form-item</span>\n      <span class=\"hljs-attr\">need</span>\n      <span class=\"hljs-attr\">label</span>=<span class=\"hljs-string\">\"年龄\"</span>\n      <span class=\"hljs-attr\">:label-col</span>=<span class=\"hljs-string\">\"3\"</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-input-number</span>\n      <span class=\"hljs-attr\">name</span>=<span class=\"hljs-string\">\"age\"</span>\n      <span class=\"hljs-attr\">v-model</span>=<span class=\"hljs-string\">\"model.age\"</span>\n      <span class=\"hljs-attr\">:rules</span>=<span class=\"hljs-string\">\"[{type:'number'},{type:'required'}]\"</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-input-number</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-input</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-form-item</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-form-item</span>\n      <span class=\"hljs-attr\">need</span>\n      <span class=\"hljs-attr\">label</span>=<span class=\"hljs-string\">\"地址\"</span>\n      <span class=\"hljs-attr\">:label-col</span>=<span class=\"hljs-string\">\"3\"</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-cascader</span>\n      <span class=\"hljs-attr\">name</span>=<span class=\"hljs-string\">\"address\"</span>\n      <span class=\"hljs-attr\">:options</span>=<span class=\"hljs-string\">\"options\"</span>\n      <span class=\"hljs-attr\">v-model</span>=<span class=\"hljs-string\">\"model.address\"</span>\n      <span class=\"hljs-attr\">:rules</span>=<span class=\"hljs-string\">\"[{type:'required'}]\"</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-cascader</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-form-item</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-form-item</span>\n      <span class=\"hljs-attr\">need</span>\n      <span class=\"hljs-attr\">label</span>=<span class=\"hljs-string\">\"生日\"</span>\n      <span class=\"hljs-attr\">:label-col</span>=<span class=\"hljs-string\">\"3\"</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-datepicker</span>\n      <span class=\"hljs-attr\">name</span>=<span class=\"hljs-string\">\"birthday\"</span>\n      <span class=\"hljs-attr\">v-model</span>=<span class=\"hljs-string\">\"model.birthday\"</span>\n      <span class=\"hljs-attr\">:rules</span>=<span class=\"hljs-string\">\"[{type:'required'}]\"</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-datepicker</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-form-item</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-form-item</span>\n      <span class=\"hljs-attr\">need</span>\n      <span class=\"hljs-attr\">label</span>=<span class=\"hljs-string\">\"学校\"</span>\n      <span class=\"hljs-attr\">:label-col</span>=<span class=\"hljs-string\">\"3\"</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-typeahead</span>\n      <span class=\"hljs-attr\">name</span>=<span class=\"hljs-string\">\"学校\"</span>\n      <span class=\"hljs-attr\">v-model</span> = <span class=\"hljs-string\">\"model.school\"</span>\n      <span class=\"hljs-attr\">:data</span>=<span class=\"hljs-string\">\"schoolData\"</span>\n      <span class=\"hljs-attr\">:rules</span>=<span class=\"hljs-string\">\"[{type:'required'}]\"</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-typeahead</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-form-item</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-form-item</span>\n      <span class=\"hljs-attr\">need</span>\n      <span class=\"hljs-attr\">label</span>=<span class=\"hljs-string\">\"爱好\"</span>\n      <span class=\"hljs-attr\">:label-col</span>=<span class=\"hljs-string\">\"3\"</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-checkbox-group</span>\n      <span class=\"hljs-attr\">name</span>=<span class=\"hljs-string\">\"hobby\"</span>\n      <span class=\"hljs-attr\">v-model</span> = <span class=\"hljs-string\">\"model.hobby\"</span>\n      <span class=\"hljs-attr\">:rules</span>=<span class=\"hljs-string\">\"[{type:'required'}]\"</span>&gt;</span>\n      <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-checkbox</span> <span class=\"hljs-attr\">label</span>=<span class=\"hljs-string\">\"0\"</span>&gt;</span>看书<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-checkbox</span>&gt;</span>\n      <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-checkbox</span> <span class=\"hljs-attr\">label</span>=<span class=\"hljs-string\">\"1\"</span>&gt;</span>运动<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-checkbox</span>&gt;</span>\n      <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-checkbox</span> <span class=\"hljs-attr\">value</span>=<span class=\"hljs-string\">\"2\"</span>&gt;</span>旅行<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-checkbox</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-checkbox-group</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-form-item</span>&gt;</span>\n\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-form-item</span>\n      <span class=\"hljs-attr\">need</span>\n      <span class=\"hljs-attr\">label</span>=<span class=\"hljs-string\">\"性别\"</span>\n      <span class=\"hljs-attr\">:label-col</span>=<span class=\"hljs-string\">\"3\"</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-radio-group</span>\n      <span class=\"hljs-attr\">name</span>=<span class=\"hljs-string\">\"sex\"</span>\n      <span class=\"hljs-attr\">v-model</span> = <span class=\"hljs-string\">\"model.sex\"</span>\n      <span class=\"hljs-attr\">:rules</span>=<span class=\"hljs-string\">\"[{type:'required'}]\"</span>&gt;</span>\n      <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-radio</span> <span class=\"hljs-attr\">label</span>=<span class=\"hljs-string\">\"0\"</span>&gt;</span>男<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-radio</span>&gt;</span>\n      <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-radio</span> <span class=\"hljs-attr\">label</span>=<span class=\"hljs-string\">\"1\"</span>&gt;</span>女<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-radio</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-radio-group</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-form-item</span>&gt;</span>\n\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-form-item</span>\n      <span class=\"hljs-attr\">need</span>\n      <span class=\"hljs-attr\">label</span>=<span class=\"hljs-string\">\"专业\"</span>\n      <span class=\"hljs-attr\">:label-col</span>=<span class=\"hljs-string\">\"3\"</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-select</span>\n      <span class=\"hljs-attr\">name</span>=<span class=\"hljs-string\">\"sex\"</span>\n      <span class=\"hljs-attr\">:options</span>=<span class=\"hljs-string\">'profession'</span>\n      <span class=\"hljs-attr\">v-model</span> = <span class=\"hljs-string\">\"model.profession\"</span>\n      <span class=\"hljs-attr\">:rules</span>=<span class=\"hljs-string\">\"[{type:'required'}]\"</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-select</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-form-item</span>&gt;</span>\n\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-form-item</span>\n      <span class=\"hljs-attr\">need</span>\n      <span class=\"hljs-attr\">label</span>=<span class=\"hljs-string\">\"级别\"</span>\n      <span class=\"hljs-attr\">:label-col</span>=<span class=\"hljs-string\">\"3\"</span>&gt;</span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-slider</span>\n        <span class=\"hljs-attr\">name</span>=<span class=\"hljs-string\">\"level\"</span>\n        <span class=\"hljs-attr\">v-model</span>=<span class=\"hljs-string\">\"model.level\"</span>\n        <span class=\"hljs-attr\">:rules</span>=<span class=\"hljs-string\">\"[{type:'required'}]\"</span>&gt;</span>\n    <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-slider</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-form-item</span>&gt;</span>\n\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-form-item</span>\n      <span class=\"hljs-attr\">need</span>\n      <span class=\"hljs-attr\">label</span>=<span class=\"hljs-string\">\"开启状态\"</span>\n      <span class=\"hljs-attr\">:label-col</span>=<span class=\"hljs-string\">\"3\"</span>&gt;</span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-switch</span>\n        <span class=\"hljs-attr\">name</span>=<span class=\"hljs-string\">\"state\"</span>\n        <span class=\"hljs-attr\">v-model</span> = <span class=\"hljs-string\">\"model.state\"</span>\n        <span class=\"hljs-attr\">:rules</span>=<span class=\"hljs-string\">\"[{type:'required'}]\"</span>&gt;</span>\n    <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-switch</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-form-item</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-form-item</span>\n      <span class=\"hljs-attr\">need</span>\n      <span class=\"hljs-attr\">label</span>=<span class=\"hljs-string\">\"喜欢的明星\"</span>\n      <span class=\"hljs-attr\">:label-col</span>=<span class=\"hljs-string\">\"3\"</span>&gt;</span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-multiple-input</span>\n        <span class=\"hljs-attr\">name</span>=<span class=\"hljs-string\">\"star\"</span>\n        <span class=\"hljs-attr\">v-model</span> = <span class=\"hljs-string\">\"model.star\"</span>\n        <span class=\"hljs-attr\">:rules</span>=<span class=\"hljs-string\">\"[{type:'required'}]\"</span>&gt;</span>\n    <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-multiple-input</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-form-item</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-form-item</span>\n      <span class=\"hljs-attr\">need</span>\n      <span class=\"hljs-attr\">label</span>=<span class=\"hljs-string\">\"想说的话\"</span>\n      <span class=\"hljs-attr\">:label-col</span>=<span class=\"hljs-string\">\"3\"</span>&gt;</span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-textarea</span>\n        <span class=\"hljs-attr\">name</span>=<span class=\"hljs-string\">\"suggestion\"</span>\n        <span class=\"hljs-attr\">v-model</span> = <span class=\"hljs-string\">\"model.suggestion\"</span>\n        <span class=\"hljs-attr\">:rules</span>=<span class=\"hljs-string\">\"[{type:'required'}]\"</span>&gt;</span>\n    <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-textarea</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-form-item</span>&gt;</span>\n\n   <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-form-item</span>&gt;</span>\n       <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-button</span> <span class=\"hljs-attr\">type</span>=<span class=\"hljs-string\">\"primary\"</span> <span class=\"hljs-attr\">@click.native</span>=<span class=\"hljs-string\">\"submit\"</span> &gt;</span>提交<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-button</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-form-item</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-form</span>&gt;</span>\n</code></pre>\n<pre><code class=\"language-javascript\">  methods: {\n    nameValidate (val) {\n      <span class=\"hljs-keyword\">if</span> (<span class=\"hljs-regexp\">/[\\u4E00-\\u9FA5\\uF900-\\uFA2D]/</span>.test(val)) {\n        <span class=\"hljs-keyword\">return</span> {\n          <span class=\"hljs-attr\">validStatus</span>: <span class=\"hljs-string\">'success'</span>\n        }\n      } <span class=\"hljs-keyword\">else</span> {\n        <span class=\"hljs-keyword\">return</span> {\n          <span class=\"hljs-attr\">validStatus</span>: <span class=\"hljs-string\">'error'</span>,\n          <span class=\"hljs-attr\">tips</span>: <span class=\"hljs-string\">'请输入中文名'</span>\n        }\n      }\n    },\n    submit () {\n      <span class=\"hljs-keyword\">this</span>.$refs.form.validateFields(<span class=\"hljs-function\"><span class=\"hljs-params\">result</span> =&gt;</span> {\n        <span class=\"hljs-built_in\">console</span>.log(result)\n     })\n    }\n  }\n}\n</code></pre>\n<h3>n3-from参数</h3>\n<table>\n<thead>\n<tr>\n<th>参数</th>\n<th>类型</th>\n<th>默认值</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>type</td>\n<td>String</td>\n<td>horizontal</td>\n<td>布局方式  horizontal,inline</td>\n</tr>\n<tr>\n<td>validate</td>\n<td>Boolean</td>\n<td>false</td>\n<td>是否打开验证</td>\n</tr>\n</tbody>\n</table>\n<h3>事件</h3>\n<table>\n<thead>\n<tr>\n<th>名称</th>\n<th>说明</th>\n<th>参数</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>validateChange</td>\n<td>校验结果变化</td>\n<td>(validateResults)</td>\n</tr>\n</tbody>\n</table>\n<h3>方法</h3>\n<table>\n<thead>\n<tr>\n<th>名称</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>validateFields</td>\n<td>校验</td>\n</tr>\n</tbody>\n</table>\n<h3>n3-from-item参数</h3>\n<table>\n<thead>\n<tr>\n<th>参数</th>\n<th>类型</th>\n<th>默认值</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>label</td>\n<td><code>String</code></td>\n<td>-</td>\n<td>表单项说明</td>\n</tr>\n<tr>\n<td>label-col</td>\n<td><code>Number</code></td>\n<td><code>2</code></td>\n<td>表单项说明所占栅格数</td>\n</tr>\n<tr>\n<td>wrap-col</td>\n<td><code>Number</code></td>\n<td><code>12</code></td>\n<td>表单项所占栅格数</td>\n</tr>\n<tr>\n<td>form-col</td>\n<td><code>Number</code></td>\n<td><code>10</code></td>\n<td>表单元素所占栅格数</td>\n</tr>\n<tr>\n<td>need</td>\n<td><code>Boolean</code></td>\n<td><code>false</code></td>\n<td>必填标示红点</td>\n</tr>\n</tbody>\n</table>\n<h3>待验证组件参数</h3>\n<table>\n<thead>\n<tr>\n<th>参数</th>\n<th>类型</th>\n<th>默认值</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>custom-validate</td>\n<td>Function`</td>\n<td></td>\n<td>自定义校验器</td>\n</tr>\n<tr>\n<td>rules</td>\n<td><code>Array</code></td>\n<td>-</td>\n<td>验证规则,如 <code>[{type: 'required' }, {type: 'maxlength=6' }, {type:'minlength=3'}, {type: 'phone' }, {type: 'number' }, {type: 'telephone' }, {type: 'email' }]</code></td>\n</tr>\n</tbody>\n</table>\n</div>\n</div></template>\n\n</section>";

/***/ }),
/* 535 */
/***/ (function(module, exports, __webpack_require__) {

    module.exports = __webpack_require__(536);

/***/ }),
/* 536 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(537)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] node_modules/vue-markdown-loader/_cache/n3CheckboxDocs-39.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(538)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-67a3429d/n3CheckboxDocs-39.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 537 */
/***/ (function(module, exports) {

    "use strict";
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    // <template><section><template>
    // <h3>多选框</h3>
    // <div class="bs-docs-section">
    // <div class="bs-example">
    // <h4>Checkbox</h4>
    // <n3-checkbox label="single">single</n3-checkbox>
    // <pre><code class="language-html"><span class="hljs-tag">&lt;<span class="hljs-name">n3-checkbox</span> <span class="hljs-attr">label</span>=<span class="hljs-string">"single"</span>&gt;</span>single<span class="hljs-tag">&lt;/<span class="hljs-name">n3-checkbox</span>&gt;</span>
    // </code></pre>
    // <hr>
    // <n3-checkbox-group v-model="checkboxValue">
    //   <n3-checkbox-btn label="left" disabled>Left</n3-checkbox-btn>
    //   <n3-checkbox-btn label="middle" checked>Middle</n3-checkbox-btn>
    //   <n3-checkbox-btn label="right">Right</n3-checkbox-btn>
    // </n3-checkbox-group>
    // <pre><code class="language-html"><span class="hljs-tag">&lt;<span class="hljs-name">n3-checkbox-group</span> <span class="hljs-attr">v-model</span>=<span class="hljs-string">"checkboxValue"</span> &gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-checkbox-btn</span> <span class="hljs-attr">label</span>=<span class="hljs-string">"left"</span> <span class="hljs-attr">disabled</span>&gt;</span>Left<span class="hljs-tag">&lt;/<span class="hljs-name">n3-checkbox-btn</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-checkbox-btn</span> <span class="hljs-attr">label</span>=<span class="hljs-string">"middle"</span> <span class="hljs-attr">checked</span>&gt;</span>Middle<span class="hljs-tag">&lt;/<span class="hljs-name">n3-checkbox-btn</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-checkbox-btn</span> <span class="hljs-attr">label</span>=<span class="hljs-string">"right"</span>&gt;</span>Right<span class="hljs-tag">&lt;/<span class="hljs-name">n3-checkbox-btn</span>&gt;</span>
    // <span class="hljs-tag">&lt;/<span class="hljs-name">n3-checkbox-group</span>&gt;</span>
    // </code></pre>
    // <n3-checkbox-group v-model="checkboxValue">
    //   <n3-checkbox label="left" disabled>Left</n3-checkbox>
    //   <n3-checkbox label="middle" checked>Middle</n3-checkbox>
    //   <n3-checkbox label="right">Right</n3-checkbox>
    // </n3-checkbox-group>
    // <pre><code class="language-html"><span class="hljs-tag">&lt;<span class="hljs-name">n3-checkbox-group</span> <span class="hljs-attr">v-model</span>=<span class="hljs-string">"checkboxValue"</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-checkbox</span> <span class="hljs-attr">label</span>=<span class="hljs-string">"left"</span> <span class="hljs-attr">disabled</span>&gt;</span>Left<span class="hljs-tag">&lt;/<span class="hljs-name">n3-checkbox</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-checkbox</span> <span class="hljs-attr">label</span>=<span class="hljs-string">"middle"</span> <span class="hljs-attr">checked</span>&gt;</span>Middle<span class="hljs-tag">&lt;/<span class="hljs-name">n3-checkbox</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-checkbox</span> <span class="hljs-attr">label</span>=<span class="hljs-string">"right"</span>&gt;</span>Right<span class="hljs-tag">&lt;/<span class="hljs-name">n3-checkbox</span>&gt;</span>
    // <span class="hljs-tag">&lt;/<span class="hljs-name">n3-checkbox-group</span>&gt;</span>
    // </code></pre>
    // <h3>Group 参数</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>参数</th>
    // <th>类型</th>
    // <th>默认值</th>
    // <th>说明</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>options</td>
    // <td><code>Array</code></td>
    // <td>-</td>
    // <td>选项</td>
    // </tr>
    // <tr>
    // <td>type</td>
    // <td><code>String</code></td>
    // <td><code>radio</code></td>
    // <td><code>radio,button</code> 使用options时起作用</td>
    // </tr>
    // <tr>
    // <td>options</td>
    // <td><code>Array</code></td>
    // <td>-</td>
    // <td>选项</td>
    // </tr>
    // </tbody>
    // </table>
    // <h3>Group Events</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>事件名称</th>
    // <th>说明</th>
    // <th>回调参数</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>change</td>
    // <td>值变化</td>
    // <td>(currentValue)</td>
    // </tr>
    // </tbody>
    // </table>
    // <h3>Checkbox 参数</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>参数</th>
    // <th>类型</th>
    // <th>默认值</th>
    // <th>说明</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>disabled</td>
    // <td><code>Boolean</code></td>
    // <td>false</td>
    // <td>禁用</td>
    // </tr>
    // <tr>
    // <td>checked</td>
    // <td><code>Boolean</code></td>
    // <td>false</td>
    // <td>选中</td>
    // </tr>
    // </tbody>
    // </table>
    // <h3>Checkbox Events</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>事件名称</th>
    // <th>说明</th>
    // <th>回调参数</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>change</td>
    // <td>值变化</td>
    // <td>(currentValue)</td>
    // </tr>
    // </tbody>
    // </table>
    // <p>其他表单相关参数,请移步 <a href="#n3FormDocs">表单验证</a> 待验证组件参数</p>
    // </div>
    // </div></template>
    //
    // </section></template>
    //
    // <script>
    exports.default = {
      data: function data() {
        return {
          single: false,
          checkboxValue: []
        };
      }
    };
    // </script>
    /* generated by vue-loader */

/***/ }),
/* 538 */
/***/ (function(module, exports) {

    module.exports = "<section><template>\n<h3>多选框</h3>\n<div class=\"bs-docs-section\">\n<div class=\"bs-example\">\n<h4>Checkbox</h4>\n<n3-checkbox label=\"single\">single</n3-checkbox>\n<pre><code class=\"language-html\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-checkbox</span> <span class=\"hljs-attr\">label</span>=<span class=\"hljs-string\">\"single\"</span>&gt;</span>single<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-checkbox</span>&gt;</span>\n</code></pre>\n<hr>\n<n3-checkbox-group v-model=\"checkboxValue\">\n  <n3-checkbox-btn label=\"left\" disabled>Left</n3-checkbox-btn>\n  <n3-checkbox-btn label=\"middle\" checked>Middle</n3-checkbox-btn>\n  <n3-checkbox-btn label=\"right\">Right</n3-checkbox-btn>\n</n3-checkbox-group>\n<pre><code class=\"language-html\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-checkbox-group</span> <span class=\"hljs-attr\">v-model</span>=<span class=\"hljs-string\">\"checkboxValue\"</span> &gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-checkbox-btn</span> <span class=\"hljs-attr\">label</span>=<span class=\"hljs-string\">\"left\"</span> <span class=\"hljs-attr\">disabled</span>&gt;</span>Left<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-checkbox-btn</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-checkbox-btn</span> <span class=\"hljs-attr\">label</span>=<span class=\"hljs-string\">\"middle\"</span> <span class=\"hljs-attr\">checked</span>&gt;</span>Middle<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-checkbox-btn</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-checkbox-btn</span> <span class=\"hljs-attr\">label</span>=<span class=\"hljs-string\">\"right\"</span>&gt;</span>Right<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-checkbox-btn</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-checkbox-group</span>&gt;</span>\n</code></pre>\n<n3-checkbox-group v-model=\"checkboxValue\">\n  <n3-checkbox label=\"left\" disabled>Left</n3-checkbox>\n  <n3-checkbox label=\"middle\" checked>Middle</n3-checkbox>\n  <n3-checkbox label=\"right\">Right</n3-checkbox>\n</n3-checkbox-group>\n<pre><code class=\"language-html\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-checkbox-group</span> <span class=\"hljs-attr\">v-model</span>=<span class=\"hljs-string\">\"checkboxValue\"</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-checkbox</span> <span class=\"hljs-attr\">label</span>=<span class=\"hljs-string\">\"left\"</span> <span class=\"hljs-attr\">disabled</span>&gt;</span>Left<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-checkbox</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-checkbox</span> <span class=\"hljs-attr\">label</span>=<span class=\"hljs-string\">\"middle\"</span> <span class=\"hljs-attr\">checked</span>&gt;</span>Middle<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-checkbox</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-checkbox</span> <span class=\"hljs-attr\">label</span>=<span class=\"hljs-string\">\"right\"</span>&gt;</span>Right<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-checkbox</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-checkbox-group</span>&gt;</span>\n</code></pre>\n<h3>Group 参数</h3>\n<table>\n<thead>\n<tr>\n<th>参数</th>\n<th>类型</th>\n<th>默认值</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>options</td>\n<td><code>Array</code></td>\n<td>-</td>\n<td>选项</td>\n</tr>\n<tr>\n<td>type</td>\n<td><code>String</code></td>\n<td><code>radio</code></td>\n<td><code>radio,button</code> 使用options时起作用</td>\n</tr>\n<tr>\n<td>options</td>\n<td><code>Array</code></td>\n<td>-</td>\n<td>选项</td>\n</tr>\n</tbody>\n</table>\n<h3>Group Events</h3>\n<table>\n<thead>\n<tr>\n<th>事件名称</th>\n<th>说明</th>\n<th>回调参数</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>change</td>\n<td>值变化</td>\n<td>(currentValue)</td>\n</tr>\n</tbody>\n</table>\n<h3>Checkbox 参数</h3>\n<table>\n<thead>\n<tr>\n<th>参数</th>\n<th>类型</th>\n<th>默认值</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>disabled</td>\n<td><code>Boolean</code></td>\n<td>false</td>\n<td>禁用</td>\n</tr>\n<tr>\n<td>checked</td>\n<td><code>Boolean</code></td>\n<td>false</td>\n<td>选中</td>\n</tr>\n</tbody>\n</table>\n<h3>Checkbox Events</h3>\n<table>\n<thead>\n<tr>\n<th>事件名称</th>\n<th>说明</th>\n<th>回调参数</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>change</td>\n<td>值变化</td>\n<td>(currentValue)</td>\n</tr>\n</tbody>\n</table>\n<p>其他表单相关参数,请移步 <a href=\"#n3FormDocs\">表单验证</a> 待验证组件参数</p>\n</div>\n</div></template>\n\n</section>";

/***/ }),
/* 539 */
/***/ (function(module, exports, __webpack_require__) {

    module.exports = __webpack_require__(540);

/***/ }),
/* 540 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(541)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] node_modules/vue-markdown-loader/_cache/n3RadioDocs-41.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(542)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-04b88cdc/n3RadioDocs-41.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 541 */
/***/ (function(module, exports) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    // <template><section><template>
    // <h3>单选框</h3>
    // <div class="bs-docs-section">
    //   <div class="bs-example">
    //     <h4>Radio</h4>
    // <n3-radio-group v-model="radioValue" type="primary">
    //   <n3-radio label="left" disabled>Left</n3-radio>
    //   <n3-radio label="middle" checked>Middle</n3-radio>
    //   <n3-radio label="right">Right</n3-radio>
    // </n3-radio-group>
    // <pre><code class="language-html"><span class="hljs-tag">&lt;<span class="hljs-name">n3-radio-group</span> <span class="hljs-attr">v-model</span>=<span class="hljs-string">"radioValue"</span> <span class="hljs-attr">type</span>=<span class="hljs-string">"primary"</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-radio</span> <span class="hljs-attr">label</span>=<span class="hljs-string">"left"</span> <span class="hljs-attr">disabled</span>&gt;</span>Left<span class="hljs-tag">&lt;/<span class="hljs-name">n3-radio</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-radio</span> <span class="hljs-attr">label</span>=<span class="hljs-string">"middle"</span> <span class="hljs-attr">checked</span>&gt;</span>Middle<span class="hljs-tag">&lt;/<span class="hljs-name">n3-radio</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-radio</span> <span class="hljs-attr">label</span>=<span class="hljs-string">"right"</span>&gt;</span>Right<span class="hljs-tag">&lt;/<span class="hljs-name">n3-radio</span>&gt;</span>
    // <span class="hljs-tag">&lt;/<span class="hljs-name">n3-radio-group</span>&gt;</span>
    // </code></pre>
    // <n3-radio-group v-model="radioValue" type="primary">
    //   <n3-radio-btn label="left" disabled>Left</n3-radio-btn>
    //   <n3-radio-btn label="middle" checked>Middle</n3-radio-btn>
    //   <n3-radio-btn label="right">Right</n3-radio-btn>
    // </n3-radio-group>
    // <pre><code class="language-html"><span class="hljs-tag">&lt;<span class="hljs-name">n3-radio-group</span> <span class="hljs-attr">v-model</span>=<span class="hljs-string">"radioValue"</span> <span class="hljs-attr">type</span>=<span class="hljs-string">"primary"</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-radio-btn</span> <span class="hljs-attr">label</span>=<span class="hljs-string">"left"</span> <span class="hljs-attr">disabled</span>&gt;</span>Left<span class="hljs-tag">&lt;/<span class="hljs-name">n3-radio-btn</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-radio-btn</span> <span class="hljs-attr">label</span>=<span class="hljs-string">"middle"</span> <span class="hljs-attr">checked</span>&gt;</span>Middle<span class="hljs-tag">&lt;/<span class="hljs-name">n3-radio-btn</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">n3-radio-btn</span> <span class="hljs-attr">label</span>=<span class="hljs-string">"right"</span>&gt;</span>Right<span class="hljs-tag">&lt;/<span class="hljs-name">n3-radio-btn</span>&gt;</span>
    // <span class="hljs-tag">&lt;/<span class="hljs-name">n3-radio-group</span>&gt;</span>
    //
    // </code></pre>
    // <h3>group 参数</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>参数</th>
    // <th>类型</th>
    // <th>默认值</th>
    // <th>说明</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>options</td>
    // <td><code>Array</code></td>
    // <td>-</td>
    // <td>选项</td>
    // </tr>
    // <tr>
    // <td>type</td>
    // <td><code>String</code></td>
    // <td><code>radio</code></td>
    // <td><code>radio</code>,<code>button</code> 使用<code>options</code>时起作用</td>
    // </tr>
    // <tr>
    // <td>options</td>
    // <td><code>Array</code></td>
    // <td>-</td>
    // <td>选项</td>
    // </tr>
    // </tbody>
    // </table>
    // <h3>事件</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>名称</th>
    // <th>说明</th>
    // <th>参数</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>change</td>
    // <td>值变化</td>
    // <td>(currentValue)</td>
    // </tr>
    // </tbody>
    // </table>
    // <h3>radio 参数</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>参数</th>
    // <th>类型</th>
    // <th>默认值</th>
    // <th>说明</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>disabled</td>
    // <td><code>Boolean</code></td>
    // <td><code>false</code></td>
    // <td>禁用</td>
    // </tr>
    // <tr>
    // <td>checked</td>
    // <td><code>Boolean</code></td>
    // <td><code>false</code></td>
    // <td>选中</td>
    // </tr>
    // </tbody>
    // </table>
    // <h3>事件</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>名称</th>
    // <th>说明</th>
    // <th>参数</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>change</td>
    // <td>值变化</td>
    // <td>(currentValue)</td>
    // </tr>
    // </tbody>
    // </table>
    // <hr>
    // <p>其他表单相关参数,请移步 <a href="#n3FormDocs">表单验证</a> 待验证组件参数</p>
    // </div>
    // </div></template>
    //
    // </section></template>
    //
    // <script>
    
    exports.default = {
      data: function data() {
        return {
          radioValue: ''
        };
      }
    };
    // </script>
    /* generated by vue-loader */

/***/ }),
/* 542 */
/***/ (function(module, exports) {

    module.exports = "<section><template>\n<h3>单选框</h3>\n<div class=\"bs-docs-section\">\n  <div class=\"bs-example\">\n    <h4>Radio</h4>\n<n3-radio-group v-model=\"radioValue\" type=\"primary\">\n  <n3-radio label=\"left\" disabled>Left</n3-radio>\n  <n3-radio label=\"middle\" checked>Middle</n3-radio>\n  <n3-radio label=\"right\">Right</n3-radio>\n</n3-radio-group>\n<pre><code class=\"language-html\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-radio-group</span> <span class=\"hljs-attr\">v-model</span>=<span class=\"hljs-string\">\"radioValue\"</span> <span class=\"hljs-attr\">type</span>=<span class=\"hljs-string\">\"primary\"</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-radio</span> <span class=\"hljs-attr\">label</span>=<span class=\"hljs-string\">\"left\"</span> <span class=\"hljs-attr\">disabled</span>&gt;</span>Left<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-radio</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-radio</span> <span class=\"hljs-attr\">label</span>=<span class=\"hljs-string\">\"middle\"</span> <span class=\"hljs-attr\">checked</span>&gt;</span>Middle<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-radio</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-radio</span> <span class=\"hljs-attr\">label</span>=<span class=\"hljs-string\">\"right\"</span>&gt;</span>Right<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-radio</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-radio-group</span>&gt;</span>\n</code></pre>\n<n3-radio-group v-model=\"radioValue\" type=\"primary\">\n  <n3-radio-btn label=\"left\" disabled>Left</n3-radio-btn>\n  <n3-radio-btn label=\"middle\" checked>Middle</n3-radio-btn>\n  <n3-radio-btn label=\"right\">Right</n3-radio-btn>\n</n3-radio-group>\n<pre><code class=\"language-html\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-radio-group</span> <span class=\"hljs-attr\">v-model</span>=<span class=\"hljs-string\">\"radioValue\"</span> <span class=\"hljs-attr\">type</span>=<span class=\"hljs-string\">\"primary\"</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-radio-btn</span> <span class=\"hljs-attr\">label</span>=<span class=\"hljs-string\">\"left\"</span> <span class=\"hljs-attr\">disabled</span>&gt;</span>Left<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-radio-btn</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-radio-btn</span> <span class=\"hljs-attr\">label</span>=<span class=\"hljs-string\">\"middle\"</span> <span class=\"hljs-attr\">checked</span>&gt;</span>Middle<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-radio-btn</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-radio-btn</span> <span class=\"hljs-attr\">label</span>=<span class=\"hljs-string\">\"right\"</span>&gt;</span>Right<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-radio-btn</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-radio-group</span>&gt;</span>\n\n</code></pre>\n<h3>group 参数</h3>\n<table>\n<thead>\n<tr>\n<th>参数</th>\n<th>类型</th>\n<th>默认值</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>options</td>\n<td><code>Array</code></td>\n<td>-</td>\n<td>选项</td>\n</tr>\n<tr>\n<td>type</td>\n<td><code>String</code></td>\n<td><code>radio</code></td>\n<td><code>radio</code>,<code>button</code> 使用<code>options</code>时起作用</td>\n</tr>\n<tr>\n<td>options</td>\n<td><code>Array</code></td>\n<td>-</td>\n<td>选项</td>\n</tr>\n</tbody>\n</table>\n<h3>事件</h3>\n<table>\n<thead>\n<tr>\n<th>名称</th>\n<th>说明</th>\n<th>参数</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>change</td>\n<td>值变化</td>\n<td>(currentValue)</td>\n</tr>\n</tbody>\n</table>\n<h3>radio 参数</h3>\n<table>\n<thead>\n<tr>\n<th>参数</th>\n<th>类型</th>\n<th>默认值</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>disabled</td>\n<td><code>Boolean</code></td>\n<td><code>false</code></td>\n<td>禁用</td>\n</tr>\n<tr>\n<td>checked</td>\n<td><code>Boolean</code></td>\n<td><code>false</code></td>\n<td>选中</td>\n</tr>\n</tbody>\n</table>\n<h3>事件</h3>\n<table>\n<thead>\n<tr>\n<th>名称</th>\n<th>说明</th>\n<th>参数</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>change</td>\n<td>值变化</td>\n<td>(currentValue)</td>\n</tr>\n</tbody>\n</table>\n<hr>\n<p>其他表单相关参数,请移步 <a href=\"#n3FormDocs\">表单验证</a> 待验证组件参数</p>\n</div>\n</div></template>\n\n</section>";

/***/ }),
/* 543 */
/***/ (function(module, exports, __webpack_require__) {

    module.exports = __webpack_require__(544);

/***/ }),
/* 544 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(545)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] node_modules/vue-markdown-loader/_cache/n3CardDocs-42.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(546)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-e64b8570/n3CardDocs-42.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 545 */
/***/ (function(module, exports) {

    "use strict";
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    // <template><section><template>
    // <h3>卡片</h3>
    // <div class="bs-docs-section" id="卡片">
    // <div class="bs-example">
    //   <n3-card style="padding:20px">
    //     <p>xxxxx</p>
    //     <p>xxxxx</p>
    //     <p>xxxxx</p>
    //   </n3-card> 
    // </div>
    // <pre><code class="language-html"><span class="hljs-tag">&lt;<span class="hljs-name">n3-card</span> <span class="hljs-attr">style</span>=<span class="hljs-string">"padding:20px"</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">p</span>&gt;</span>xxxxx<span class="hljs-tag">&lt;/<span class="hljs-name">p</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">p</span>&gt;</span>xxxxx<span class="hljs-tag">&lt;/<span class="hljs-name">p</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">p</span>&gt;</span>xxxxx<span class="hljs-tag">&lt;/<span class="hljs-name">p</span>&gt;</span>
    // <span class="hljs-tag">&lt;/<span class="hljs-name">n3-card</span>&gt;</span> 
    // </code></pre>
    // <h3>参数</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>参数名</th>
    // <th>类型</th>
    // <th>默认值</th>
    // <th>说明</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>hover</td>
    // <td><code>Boolean</code></td>
    // <td><code>true</code></td>
    // <td>是否hover效果</td>
    // </tr>
    // </tbody>
    // </table>
    // </div>
    // </template>
    // </section></template>
    //
    // <script>
    exports.default = {
      data: function data() {
        return {};
      }
    };
    // </script>
    /* generated by vue-loader */

/***/ }),
/* 546 */
/***/ (function(module, exports) {

    module.exports = "<section><template>\n<h3>卡片</h3>\n<div class=\"bs-docs-section\" id=\"卡片\">\n<div class=\"bs-example\">\n  <n3-card style=\"padding:20px\">\n    <p>xxxxx</p>\n    <p>xxxxx</p>\n    <p>xxxxx</p>\n  </n3-card> \n</div>\n<pre><code class=\"language-html\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-card</span> <span class=\"hljs-attr\">style</span>=<span class=\"hljs-string\">\"padding:20px\"</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">p</span>&gt;</span>xxxxx<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">p</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">p</span>&gt;</span>xxxxx<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">p</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">p</span>&gt;</span>xxxxx<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">p</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-card</span>&gt;</span> \n</code></pre>\n<h3>参数</h3>\n<table>\n<thead>\n<tr>\n<th>参数名</th>\n<th>类型</th>\n<th>默认值</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>hover</td>\n<td><code>Boolean</code></td>\n<td><code>true</code></td>\n<td>是否hover效果</td>\n</tr>\n</tbody>\n</table>\n</div>\n</template>\n</section>";

/***/ }),
/* 547 */
/***/ (function(module, exports, __webpack_require__) {

    module.exports = __webpack_require__(548);

/***/ }),
/* 548 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __webpack_require__(549)
    __vue_script__ = __webpack_require__(551)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] node_modules/vue-markdown-loader/_cache/n3AnimateDocs-43.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(552)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-55545590/n3AnimateDocs-43.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 549 */
/***/ (function(module, exports, __webpack_require__) {

    // style-loader: Adds some css to the DOM by adding a <style> tag
    
    // load the styles
    var content = __webpack_require__(550);
    if(typeof content === 'string') content = [[module.id, content, '']];
    if(content.locals) module.exports = content.locals;
    // add the styles to the DOM
    var update = __webpack_require__(351)("f06247ce", content, false);
    // Hot Module Replacement
    if(false) {
     // When the styles change, update the <style> tags
     if(!content.locals) {
       module.hot.accept("!!../../css-loader/index.js?sourceMap!../../vue-loader/lib/style-rewriter.js?id=_v-55545590&scoped=true!../../vue-loader/lib/selector.js?type=style&index=0!./n3AnimateDocs-43.vue", function() {
         var newContent = require("!!../../css-loader/index.js?sourceMap!../../vue-loader/lib/style-rewriter.js?id=_v-55545590&scoped=true!../../vue-loader/lib/selector.js?type=style&index=0!./n3AnimateDocs-43.vue");
         if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];
         update(newContent);
       });
     }
     // When the module is disposed, remove the <style> tags
     module.hot.dispose(function() { update(); });
    }

/***/ }),
/* 550 */
/***/ (function(module, exports, __webpack_require__) {

    exports = module.exports = __webpack_require__(350)();
    // imports
    
    
    // module
    exports.push([module.id, "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.content[_v-55545590] {\n  box-shadow: 1px 1px 10px #ddd;\n  padding:10px;\n  margin-top: 10px;\n}\n", "", {"version":3,"sources":["/./node_modules/vue-markdown-loader/_cache/n3AnimateDocs-43.vue?f6115e6c"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkDA;EACA,8BAAA;EACA,aAAA;EACA,iBAAA;CACA","file":"n3AnimateDocs-43.vue","sourcesContent":["<template><section><template>\n<h3>动画</h3>\n<div class=\"bs-docs-section\">\n<div class=\"bs-example\">\n  <n3-button @click.native=\"show=!show\">fadeLeft</n3-button>\n  <transition name=\"fadeLeft\">\n    <div v-if=\"show\" class=\"content\">\n        <h4>Title</h4>\n        <p>...</p>\n        <p>...</p>\n        <p>...</p>\n    </div>\n  </transition>\n</div>\n<pre><code class=\"language-html\"><span class=\"hljs-comment\">&lt;!--作用于( v-if , v-show , v-for) 等元素--&gt;</span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">n3-button</span>  <span class=\"hljs-attr\">@click.native</span>=<span class=\"hljs-string\">\"show=!show\"</span>&gt;</span>fadeLeft<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">n3-button</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">transition</span> <span class=\"hljs-attr\">name</span>=<span class=\"hljs-string\">\"fadeLeft\"</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">div</span> <span class=\"hljs-attr\">v-if</span>=<span class=\"hljs-string\">\"show\"</span>  <span class=\"hljs-attr\">class</span>=<span class=\"hljs-string\">\"content\"</span>&gt;</span>\n      <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">h4</span>&gt;</span>Title<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">h4</span>&gt;</span>\n      <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">p</span>&gt;</span>...<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">p</span>&gt;</span>\n      <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">p</span>&gt;</span>...<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">p</span>&gt;</span>\n      <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">p</span>&gt;</span>...<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">p</span>&gt;</span>\n  <span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">div</span>&gt;</span>\n<span class=\"hljs-tag\">&lt;/<span class=\"hljs-name\">transition</span>&gt;</span>\n</code></pre>\n<h3>参数</h3>\n<table>\n<thead>\n<tr>\n<th>参数</th>\n<th>类型</th>\n<th>默认值</th>\n<th>说明</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>name</td>\n<td>String</td>\n<td>-</td>\n<td><code>fade</code> <code>fadeLeft</code><code>fadeDown</code><code>bounce</code><code>scale</code></td>\n</tr>\n</tbody>\n</table>\n</div>\n</template>\n\n\n</section></template>\n<style scoped>\n  .content {\n    box-shadow: 1px 1px 10px #ddd;\n    padding:10px;\n    margin-top: 10px;\n  }\n</style>\n<script>\n  export default {\n    data () {\n      return {\n        show: false\n      }\n    }\n  }\n</script>"],"sourceRoot":"webpack://"}]);
    
    // exports


/***/ }),
/* 551 */
/***/ (function(module, exports) {

    "use strict";
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    // <template><section><template>
    // <h3>动画</h3>
    // <div class="bs-docs-section">
    // <div class="bs-example">
    //   <n3-button @click.native="show=!show">fadeLeft</n3-button>
    //   <transition name="fadeLeft">
    //     <div v-if="show" class="content">
    //         <h4>Title</h4>
    //         <p>...</p>
    //         <p>...</p>
    //         <p>...</p>
    //     </div>
    //   </transition>
    // </div>
    // <pre><code class="language-html"><span class="hljs-comment">&lt;!--作用于( v-if , v-show , v-for) 等元素--&gt;</span>
    // <span class="hljs-tag">&lt;<span class="hljs-name">n3-button</span>  <span class="hljs-attr">@click.native</span>=<span class="hljs-string">"show=!show"</span>&gt;</span>fadeLeft<span class="hljs-tag">&lt;/<span class="hljs-name">n3-button</span>&gt;</span>
    // <span class="hljs-tag">&lt;<span class="hljs-name">transition</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"fadeLeft"</span>&gt;</span>
    //   <span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">v-if</span>=<span class="hljs-string">"show"</span>  <span class="hljs-attr">class</span>=<span class="hljs-string">"content"</span>&gt;</span>
    //       <span class="hljs-tag">&lt;<span class="hljs-name">h4</span>&gt;</span>Title<span class="hljs-tag">&lt;/<span class="hljs-name">h4</span>&gt;</span>
    //       <span class="hljs-tag">&lt;<span class="hljs-name">p</span>&gt;</span>...<span class="hljs-tag">&lt;/<span class="hljs-name">p</span>&gt;</span>
    //       <span class="hljs-tag">&lt;<span class="hljs-name">p</span>&gt;</span>...<span class="hljs-tag">&lt;/<span class="hljs-name">p</span>&gt;</span>
    //       <span class="hljs-tag">&lt;<span class="hljs-name">p</span>&gt;</span>...<span class="hljs-tag">&lt;/<span class="hljs-name">p</span>&gt;</span>
    //   <span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span>
    // <span class="hljs-tag">&lt;/<span class="hljs-name">transition</span>&gt;</span>
    // </code></pre>
    // <h3>参数</h3>
    // <table>
    // <thead>
    // <tr>
    // <th>参数</th>
    // <th>类型</th>
    // <th>默认值</th>
    // <th>说明</th>
    // </tr>
    // </thead>
    // <tbody>
    // <tr>
    // <td>name</td>
    // <td>String</td>
    // <td>-</td>
    // <td><code>fade</code> <code>fadeLeft</code><code>fadeDown</code><code>bounce</code><code>scale</code></td>
    // </tr>
    // </tbody>
    // </table>
    // </div>
    // </template>
    //
    //
    // </section></template>
    // <style scoped>
    //   .content {
    //     box-shadow: 1px 1px 10px #ddd;
    //     padding:10px;
    //     margin-top: 10px;
    //   }
    // </style>
    // <script>
    exports.default = {
      data: function data() {
        return {
          show: false
        };
      }
    };
    // </script>
    /* generated by vue-loader */

/***/ }),
/* 552 */
/***/ (function(module, exports) {

    module.exports = "<section _v-55545590=\"\"><template>\n<h3 _v-55545590=\"\">动画</h3>\n<div class=\"bs-docs-section\" _v-55545590=\"\">\n<div class=\"bs-example\" _v-55545590=\"\">\n  <n3-button @click.native=\"show=!show\" _v-55545590=\"\">fadeLeft</n3-button>\n  <transition name=\"fadeLeft\" _v-55545590=\"\">\n    <div v-if=\"show\" class=\"content\" _v-55545590=\"\">\n        <h4 _v-55545590=\"\">Title</h4>\n        <p _v-55545590=\"\">...</p>\n        <p _v-55545590=\"\">...</p>\n        <p _v-55545590=\"\">...</p>\n    </div>\n  </transition>\n</div>\n<pre _v-55545590=\"\"><code class=\"language-html\" _v-55545590=\"\"><span class=\"hljs-comment\" _v-55545590=\"\">&lt;!--作用于( v-if , v-show , v-for) 等元素--&gt;</span>\n<span class=\"hljs-tag\" _v-55545590=\"\">&lt;<span class=\"hljs-name\" _v-55545590=\"\">n3-button</span>  <span class=\"hljs-attr\" _v-55545590=\"\">@click.native</span>=<span class=\"hljs-string\" _v-55545590=\"\">\"show=!show\"</span>&gt;</span>fadeLeft<span class=\"hljs-tag\" _v-55545590=\"\">&lt;/<span class=\"hljs-name\" _v-55545590=\"\">n3-button</span>&gt;</span>\n<span class=\"hljs-tag\" _v-55545590=\"\">&lt;<span class=\"hljs-name\" _v-55545590=\"\">transition</span> <span class=\"hljs-attr\" _v-55545590=\"\">name</span>=<span class=\"hljs-string\" _v-55545590=\"\">\"fadeLeft\"</span>&gt;</span>\n  <span class=\"hljs-tag\" _v-55545590=\"\">&lt;<span class=\"hljs-name\" _v-55545590=\"\">div</span> <span class=\"hljs-attr\" _v-55545590=\"\">v-if</span>=<span class=\"hljs-string\" _v-55545590=\"\">\"show\"</span>  <span class=\"hljs-attr\" _v-55545590=\"\">class</span>=<span class=\"hljs-string\" _v-55545590=\"\">\"content\"</span>&gt;</span>\n      <span class=\"hljs-tag\" _v-55545590=\"\">&lt;<span class=\"hljs-name\" _v-55545590=\"\">h4</span>&gt;</span>Title<span class=\"hljs-tag\" _v-55545590=\"\">&lt;/<span class=\"hljs-name\" _v-55545590=\"\">h4</span>&gt;</span>\n      <span class=\"hljs-tag\" _v-55545590=\"\">&lt;<span class=\"hljs-name\" _v-55545590=\"\">p</span>&gt;</span>...<span class=\"hljs-tag\" _v-55545590=\"\">&lt;/<span class=\"hljs-name\" _v-55545590=\"\">p</span>&gt;</span>\n      <span class=\"hljs-tag\" _v-55545590=\"\">&lt;<span class=\"hljs-name\" _v-55545590=\"\">p</span>&gt;</span>...<span class=\"hljs-tag\" _v-55545590=\"\">&lt;/<span class=\"hljs-name\" _v-55545590=\"\">p</span>&gt;</span>\n      <span class=\"hljs-tag\" _v-55545590=\"\">&lt;<span class=\"hljs-name\" _v-55545590=\"\">p</span>&gt;</span>...<span class=\"hljs-tag\" _v-55545590=\"\">&lt;/<span class=\"hljs-name\" _v-55545590=\"\">p</span>&gt;</span>\n  <span class=\"hljs-tag\" _v-55545590=\"\">&lt;/<span class=\"hljs-name\" _v-55545590=\"\">div</span>&gt;</span>\n<span class=\"hljs-tag\" _v-55545590=\"\">&lt;/<span class=\"hljs-name\" _v-55545590=\"\">transition</span>&gt;</span>\n</code></pre>\n<h3 _v-55545590=\"\">参数</h3>\n<table _v-55545590=\"\">\n<thead _v-55545590=\"\">\n<tr _v-55545590=\"\">\n<th _v-55545590=\"\">参数</th>\n<th _v-55545590=\"\">类型</th>\n<th _v-55545590=\"\">默认值</th>\n<th _v-55545590=\"\">说明</th>\n</tr>\n</thead>\n<tbody _v-55545590=\"\">\n<tr _v-55545590=\"\">\n<td _v-55545590=\"\">name</td>\n<td _v-55545590=\"\">String</td>\n<td _v-55545590=\"\">-</td>\n<td _v-55545590=\"\"><code _v-55545590=\"\">fade</code> <code _v-55545590=\"\">fadeLeft</code><code _v-55545590=\"\">fadeDown</code><code _v-55545590=\"\">bounce</code><code _v-55545590=\"\">scale</code></td>\n</tr>\n</tbody>\n</table>\n</div>\n</template>\n\n\n</section>";

/***/ }),
/* 553 */
/***/ (function(module, exports) {

    "use strict";
    
    (function () {
    
        if (typeof self === 'undefined' || !self.Prism || !self.document) {
            return;
        }
    
        // The languages map is built automatically with gulp
        var Languages = /*languages_placeholder[*/{ "css": "CSS", "clike": "C-like", "javascript": "JavaScript", "abap": "ABAP", "actionscript": "ActionScript", "apacheconf": "Apache Configuration", "apl": "APL", "applescript": "AppleScript", "aspnet": "ASP.NET (C#)", "autoit": "AutoIt", "autohotkey": "AutoHotkey", "basic": "BASIC", "csharp": "C#", "cpp": "C++", "coffeescript": "CoffeeScript", "css-extras": "CSS Extras", "fsharp": "F#", "glsl": "GLSL", "http": "HTTP", "inform7": "Inform 7", "latex": "LaTeX", "lolcode": "LOLCODE", "matlab": "MATLAB", "mel": "MEL", "nasm": "NASM", "nginx": "nginx", "nsis": "NSIS", "objectivec": "Objective-C", "ocaml": "OCaml", "php": "PHP", "php-extras": "PHP Extras", "powershell": "PowerShell", "jsx": "React JSX", "rest": "reST (reStructuredText)", "sas": "SAS", "sass": "Sass (Sass)", "scss": "Sass (Scss)", "sql": "SQL", "typescript": "TypeScript", "vhdl": "VHDL", "vim": "vim", "wiki": "Wiki markup", "yaml": "YAML" } /*]*/;
        Prism.hooks.add('before-highlight', function (env) {
            var pre = env.element.parentNode;
            if (!pre || !/pre/i.test(pre.nodeName)) {
                return;
            }
            var language = Languages[env.language] || env.language.substring(0, 1).toUpperCase() + env.language.substring(1);
            pre.setAttribute('data-language', language);
        });
    })();

/***/ }),
/* 554 */
/***/ (function(module, exports) {

    module.exports = "\n<div>\n  <div>\n    <header-docs class=\"freeze\" :active=\"type\"></header-docs>\n    <n3-container class=\"bs-docs-container\" v-if=\"type === 'base'\">\n        <n3-row >\n          <n3-column :col=\"2\">\n            <input placeholder=\"搜索\" v-model=\"search\" class=\"searchCom\" ></input>\n            <n3-nav type=\"vertical\" :default-openeds=\"['基本','提示','表单','展示','导航','其他']\">\n                <n3-sub-nav v-for=\"(item, index) in list\"  :index=\"index\">\n                  <template slot=\"title\">{{index}}</template>\n                  <n3-nav-item v-for=\"(i,index1) in item.list\" :index=\"index1\" :key=\"index1\" :active=\"component == i.value\" @click.native=\"change(i.value)\">\n                    <a v-text=\"i.label\"></a>\n                  </n3-nav-item>\n                </n3-sub-nav>\n            </n3-nav>\n          </n3-column>\n          <n3-column :col=\"10\">\n            <component :is=\"component\" ></component>\n          </n3-column>\n        </n3-row>\n    </n3-container>\n    <template v-else>\n      <slot></slot>\n    </template>\n  </div>\n  <footer class=\"bs-docs-footer\">\n    <n3-container >\n      <ul>\n        <li><span>Email:</span>zhangking520@gmail.com</li>\n        <li><span>Github:</span><a href=\"https://github.com/N3-components/N3-components\">Repository</a></li>\n        <li><span>QQ Group:</span>556286036</li>\n        <li><span>gitter:</span><a href=\"https://gitter.im/N3-components/english?utm_source=share-link&utm_medium=link&utm_campaign=share-link\">gitter link </a></li>\n      </ul>\n    </n3-container>\n  </footer>\n</div>\n";

/***/ }),
/* 555 */
/***/ (function(module, exports, __webpack_require__) {

    /* WEBPACK VAR INJECTION */(function(global) {/*!
     * Vue.js v2.2.6
     * (c) 2014-2017 Evan You
     * Released under the MIT License.
     */
    (function (global, factory) {
         true ? module.exports = factory() :
        typeof define === 'function' && define.amd ? define(factory) :
        (global.Vue = factory());
    }(this, (function () { 'use strict';
    
    /*  */
    
    /**
     * Convert a value to a string that is actually rendered.
     */
    function _toString (val) {
      return val == null
        ? ''
        : typeof val === 'object'
          ? JSON.stringify(val, null, 2)
          : String(val)
    }
    
    /**
     * Convert a input value to a number for persistence.
     * If the conversion fails, return original string.
     */
    function toNumber (val) {
      var n = parseFloat(val);
      return isNaN(n) ? val : n
    }
    
    /**
     * Make a map and return a function for checking if a key
     * is in that map.
     */
    function makeMap (
      str,
      expectsLowerCase
    ) {
      var map = Object.create(null);
      var list = str.split(',');
      for (var i = 0; i < list.length; i++) {
        map[list[i]] = true;
      }
      return expectsLowerCase
        ? function (val) { return map[val.toLowerCase()]; }
        : function (val) { return map[val]; }
    }
    
    /**
     * Check if a tag is a built-in tag.
     */
    var isBuiltInTag = makeMap('slot,component', true);
    
    /**
     * Remove an item from an array
     */
    function remove (arr, item) {
      if (arr.length) {
        var index = arr.indexOf(item);
        if (index > -1) {
          return arr.splice(index, 1)
        }
      }
    }
    
    /**
     * Check whether the object has the property.
     */
    var hasOwnProperty = Object.prototype.hasOwnProperty;
    function hasOwn (obj, key) {
      return hasOwnProperty.call(obj, key)
    }
    
    /**
     * Check if value is primitive
     */
    function isPrimitive (value) {
      return typeof value === 'string' || typeof value === 'number'
    }
    
    /**
     * Create a cached version of a pure function.
     */
    function cached (fn) {
      var cache = Object.create(null);
      return (function cachedFn (str) {
        var hit = cache[str];
        return hit || (cache[str] = fn(str))
      })
    }
    
    /**
     * Camelize a hyphen-delimited string.
     */
    var camelizeRE = /-(\w)/g;
    var camelize = cached(function (str) {
      return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; })
    });
    
    /**
     * Capitalize a string.
     */
    var capitalize = cached(function (str) {
      return str.charAt(0).toUpperCase() + str.slice(1)
    });
    
    /**
     * Hyphenate a camelCase string.
     */
    var hyphenateRE = /([^-])([A-Z])/g;
    var hyphenate = cached(function (str) {
      return str
        .replace(hyphenateRE, '$1-$2')
        .replace(hyphenateRE, '$1-$2')
        .toLowerCase()
    });
    
    /**
     * Simple bind, faster than native
     */
    function bind (fn, ctx) {
      function boundFn (a) {
        var l = arguments.length;
        return l
          ? l > 1
            ? fn.apply(ctx, arguments)
            : fn.call(ctx, a)
          : fn.call(ctx)
      }
      // record original fn length
      boundFn._length = fn.length;
      return boundFn
    }
    
    /**
     * Convert an Array-like object to a real Array.
     */
    function toArray (list, start) {
      start = start || 0;
      var i = list.length - start;
      var ret = new Array(i);
      while (i--) {
        ret[i] = list[i + start];
      }
      return ret
    }
    
    /**
     * Mix properties into target object.
     */
    function extend (to, _from) {
      for (var key in _from) {
        to[key] = _from[key];
      }
      return to
    }
    
    /**
     * Quick object check - this is primarily used to tell
     * Objects from primitive values when we know the value
     * is a JSON-compliant type.
     */
    function isObject (obj) {
      return obj !== null && typeof obj === 'object'
    }
    
    /**
     * Strict object type check. Only returns true
     * for plain JavaScript objects.
     */
    var toString = Object.prototype.toString;
    var OBJECT_STRING = '[object Object]';
    function isPlainObject (obj) {
      return toString.call(obj) === OBJECT_STRING
    }
    
    /**
     * Merge an Array of Objects into a single Object.
     */
    function toObject (arr) {
      var res = {};
      for (var i = 0; i < arr.length; i++) {
        if (arr[i]) {
          extend(res, arr[i]);
        }
      }
      return res
    }
    
    /**
     * Perform no operation.
     */
    function noop () {}
    
    /**
     * Always return false.
     */
    var no = function () { return false; };
    
    /**
     * Return same value
     */
    var identity = function (_) { return _; };
    
    /**
     * Generate a static keys string from compiler modules.
     */
    function genStaticKeys (modules) {
      return modules.reduce(function (keys, m) {
        return keys.concat(m.staticKeys || [])
      }, []).join(',')
    }
    
    /**
     * Check if two values are loosely equal - that is,
     * if they are plain objects, do they have the same shape?
     */
    function looseEqual (a, b) {
      var isObjectA = isObject(a);
      var isObjectB = isObject(b);
      if (isObjectA && isObjectB) {
        try {
          return JSON.stringify(a) === JSON.stringify(b)
        } catch (e) {
          // possible circular reference
          return a === b
        }
      } else if (!isObjectA && !isObjectB) {
        return String(a) === String(b)
      } else {
        return false
      }
    }
    
    function looseIndexOf (arr, val) {
      for (var i = 0; i < arr.length; i++) {
        if (looseEqual(arr[i], val)) { return i }
      }
      return -1
    }
    
    /**
     * Ensure a function is called only once.
     */
    function once (fn) {
      var called = false;
      return function () {
        if (!called) {
          called = true;
          fn();
        }
      }
    }
    
    /*  */
    
    var config = {
      /**
       * Option merge strategies (used in core/util/options)
       */
      optionMergeStrategies: Object.create(null),
    
      /**
       * Whether to suppress warnings.
       */
      silent: false,
    
      /**
       * Show production mode tip message on boot?
       */
      productionTip: "development" !== 'production',
    
      /**
       * Whether to enable devtools
       */
      devtools: "development" !== 'production',
    
      /**
       * Whether to record perf
       */
      performance: false,
    
      /**
       * Error handler for watcher errors
       */
      errorHandler: null,
    
      /**
       * Ignore certain custom elements
       */
      ignoredElements: [],
    
      /**
       * Custom user key aliases for v-on
       */
      keyCodes: Object.create(null),
    
      /**
       * Check if a tag is reserved so that it cannot be registered as a
       * component. This is platform-dependent and may be overwritten.
       */
      isReservedTag: no,
    
      /**
       * Check if a tag is an unknown element.
       * Platform-dependent.
       */
      isUnknownElement: no,
    
      /**
       * Get the namespace of an element
       */
      getTagNamespace: noop,
    
      /**
       * Parse the real tag name for the specific platform.
       */
      parsePlatformTagName: identity,
    
      /**
       * Check if an attribute must be bound using property, e.g. value
       * Platform-dependent.
       */
      mustUseProp: no,
    
      /**
       * List of asset types that a component can own.
       */
      _assetTypes: [
        'component',
        'directive',
        'filter'
      ],
    
      /**
       * List of lifecycle hooks.
       */
      _lifecycleHooks: [
        'beforeCreate',
        'created',
        'beforeMount',
        'mounted',
        'beforeUpdate',
        'updated',
        'beforeDestroy',
        'destroyed',
        'activated',
        'deactivated'
      ],
    
      /**
       * Max circular updates allowed in a scheduler flush cycle.
       */
      _maxUpdateCount: 100
    };
    
    /*  */
    
    var emptyObject = Object.freeze({});
    
    /**
     * Check if a string starts with $ or _
     */
    function isReserved (str) {
      var c = (str + '').charCodeAt(0);
      return c === 0x24 || c === 0x5F
    }
    
    /**
     * Define a property.
     */
    function def (obj, key, val, enumerable) {
      Object.defineProperty(obj, key, {
        value: val,
        enumerable: !!enumerable,
        writable: true,
        configurable: true
      });
    }
    
    /**
     * Parse simple path.
     */
    var bailRE = /[^\w.$]/;
    function parsePath (path) {
      if (bailRE.test(path)) {
        return
      }
      var segments = path.split('.');
      return function (obj) {
        for (var i = 0; i < segments.length; i++) {
          if (!obj) { return }
          obj = obj[segments[i]];
        }
        return obj
      }
    }
    
    /*  */
    /* globals MutationObserver */
    
    // can we use __proto__?
    var hasProto = '__proto__' in {};
    
    // Browser environment sniffing
    var inBrowser = typeof window !== 'undefined';
    var UA = inBrowser && window.navigator.userAgent.toLowerCase();
    var isIE = UA && /msie|trident/.test(UA);
    var isIE9 = UA && UA.indexOf('msie 9.0') > 0;
    var isEdge = UA && UA.indexOf('edge/') > 0;
    var isAndroid = UA && UA.indexOf('android') > 0;
    var isIOS = UA && /iphone|ipad|ipod|ios/.test(UA);
    var isChrome = UA && /chrome\/\d+/.test(UA) && !isEdge;
    
    // this needs to be lazy-evaled because vue may be required before
    // vue-server-renderer can set VUE_ENV
    var _isServer;
    var isServerRendering = function () {
      if (_isServer === undefined) {
        /* istanbul ignore if */
        if (!inBrowser && typeof global !== 'undefined') {
          // detect presence of vue-server-renderer and avoid
          // Webpack shimming the process
          _isServer = global['process'].env.VUE_ENV === 'server';
        } else {
          _isServer = false;
        }
      }
      return _isServer
    };
    
    // detect devtools
    var devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;
    
    /* istanbul ignore next */
    function isNative (Ctor) {
      return /native code/.test(Ctor.toString())
    }
    
    var hasSymbol =
      typeof Symbol !== 'undefined' && isNative(Symbol) &&
      typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys);
    
    /**
     * Defer a task to execute it asynchronously.
     */
    var nextTick = (function () {
      var callbacks = [];
      var pending = false;
      var timerFunc;
    
      function nextTickHandler () {
        pending = false;
        var copies = callbacks.slice(0);
        callbacks.length = 0;
        for (var i = 0; i < copies.length; i++) {
          copies[i]();
        }
      }
    
      // the nextTick behavior leverages the microtask queue, which can be accessed
      // via either native Promise.then or MutationObserver.
      // MutationObserver has wider support, however it is seriously bugged in
      // UIWebView in iOS >= 9.3.3 when triggered in touch event handlers. It
      // completely stops working after triggering a few times... so, if native
      // Promise is available, we will use it:
      /* istanbul ignore if */
      if (typeof Promise !== 'undefined' && isNative(Promise)) {
        var p = Promise.resolve();
        var logError = function (err) { console.error(err); };
        timerFunc = function () {
          p.then(nextTickHandler).catch(logError);
          // in problematic UIWebViews, Promise.then doesn't completely break, but
          // it can get stuck in a weird state where callbacks are pushed into the
          // microtask queue but the queue isn't being flushed, until the browser
          // needs to do some other work, e.g. handle a timer. Therefore we can
          // "force" the microtask queue to be flushed by adding an empty timer.
          if (isIOS) { setTimeout(noop); }
        };
      } else if (typeof MutationObserver !== 'undefined' && (
        isNative(MutationObserver) ||
        // PhantomJS and iOS 7.x
        MutationObserver.toString() === '[object MutationObserverConstructor]'
      )) {
        // use MutationObserver where native Promise is not available,
        // e.g. PhantomJS IE11, iOS7, Android 4.4
        var counter = 1;
        var observer = new MutationObserver(nextTickHandler);
        var textNode = document.createTextNode(String(counter));
        observer.observe(textNode, {
          characterData: true
        });
        timerFunc = function () {
          counter = (counter + 1) % 2;
          textNode.data = String(counter);
        };
      } else {
        // fallback to setTimeout
        /* istanbul ignore next */
        timerFunc = function () {
          setTimeout(nextTickHandler, 0);
        };
      }
    
      return function queueNextTick (cb, ctx) {
        var _resolve;
        callbacks.push(function () {
          if (cb) { cb.call(ctx); }
          if (_resolve) { _resolve(ctx); }
        });
        if (!pending) {
          pending = true;
          timerFunc();
        }
        if (!cb && typeof Promise !== 'undefined') {
          return new Promise(function (resolve) {
            _resolve = resolve;
          })
        }
      }
    })();
    
    var _Set;
    /* istanbul ignore if */
    if (typeof Set !== 'undefined' && isNative(Set)) {
      // use native Set when available.
      _Set = Set;
    } else {
      // a non-standard Set polyfill that only works with primitive keys.
      _Set = (function () {
        function Set () {
          this.set = Object.create(null);
        }
        Set.prototype.has = function has (key) {
          return this.set[key] === true
        };
        Set.prototype.add = function add (key) {
          this.set[key] = true;
        };
        Set.prototype.clear = function clear () {
          this.set = Object.create(null);
        };
    
        return Set;
      }());
    }
    
    var warn = noop;
    var tip = noop;
    var formatComponentName;
    
    {
      var hasConsole = typeof console !== 'undefined';
      var classifyRE = /(?:^|[-_])(\w)/g;
      var classify = function (str) { return str
        .replace(classifyRE, function (c) { return c.toUpperCase(); })
        .replace(/[-_]/g, ''); };
    
      warn = function (msg, vm) {
        if (hasConsole && (!config.silent)) {
          console.error("[Vue warn]: " + msg + " " + (
            vm ? formatLocation(formatComponentName(vm)) : ''
          ));
        }
      };
    
      tip = function (msg, vm) {
        if (hasConsole && (!config.silent)) {
          console.warn("[Vue tip]: " + msg + " " + (
            vm ? formatLocation(formatComponentName(vm)) : ''
          ));
        }
      };
    
      formatComponentName = function (vm, includeFile) {
        if (vm.$root === vm) {
          return '<Root>'
        }
        var name = typeof vm === 'string'
          ? vm
          : typeof vm === 'function' && vm.options
            ? vm.options.name
            : vm._isVue
              ? vm.$options.name || vm.$options._componentTag
              : vm.name;
    
        var file = vm._isVue && vm.$options.__file;
        if (!name && file) {
          var match = file.match(/([^/\\]+)\.vue$/);
          name = match && match[1];
        }
    
        return (
          (name ? ("<" + (classify(name)) + ">") : "<Anonymous>") +
          (file && includeFile !== false ? (" at " + file) : '')
        )
      };
    
      var formatLocation = function (str) {
        if (str === "<Anonymous>") {
          str += " - use the \"name\" option for better debugging messages.";
        }
        return ("\n(found in " + str + ")")
      };
    }
    
    /*  */
    
    
    var uid$1 = 0;
    
    /**
     * A dep is an observable that can have multiple
     * directives subscribing to it.
     */
    var Dep = function Dep () {
      this.id = uid$1++;
      this.subs = [];
    };
    
    Dep.prototype.addSub = function addSub (sub) {
      this.subs.push(sub);
    };
    
    Dep.prototype.removeSub = function removeSub (sub) {
      remove(this.subs, sub);
    };
    
    Dep.prototype.depend = function depend () {
      if (Dep.target) {
        Dep.target.addDep(this);
      }
    };
    
    Dep.prototype.notify = function notify () {
      // stabilize the subscriber list first
      var subs = this.subs.slice();
      for (var i = 0, l = subs.length; i < l; i++) {
        subs[i].update();
      }
    };
    
    // the current target watcher being evaluated.
    // this is globally unique because there could be only one
    // watcher being evaluated at any time.
    Dep.target = null;
    var targetStack = [];
    
    function pushTarget (_target) {
      if (Dep.target) { targetStack.push(Dep.target); }
      Dep.target = _target;
    }
    
    function popTarget () {
      Dep.target = targetStack.pop();
    }
    
    /*
     * not type checking this file because flow doesn't play well with
     * dynamically accessing methods on Array prototype
     */
    
    var arrayProto = Array.prototype;
    var arrayMethods = Object.create(arrayProto);[
      'push',
      'pop',
      'shift',
      'unshift',
      'splice',
      'sort',
      'reverse'
    ]
    .forEach(function (method) {
      // cache original method
      var original = arrayProto[method];
      def(arrayMethods, method, function mutator () {
        var arguments$1 = arguments;
    
        // avoid leaking arguments:
        // http://jsperf.com/closure-with-arguments
        var i = arguments.length;
        var args = new Array(i);
        while (i--) {
          args[i] = arguments$1[i];
        }
        var result = original.apply(this, args);
        var ob = this.__ob__;
        var inserted;
        switch (method) {
          case 'push':
            inserted = args;
            break
          case 'unshift':
            inserted = args;
            break
          case 'splice':
            inserted = args.slice(2);
            break
        }
        if (inserted) { ob.observeArray(inserted); }
        // notify change
        ob.dep.notify();
        return result
      });
    });
    
    /*  */
    
    var arrayKeys = Object.getOwnPropertyNames(arrayMethods);
    
    /**
     * By default, when a reactive property is set, the new value is
     * also converted to become reactive. However when passing down props,
     * we don't want to force conversion because the value may be a nested value
     * under a frozen data structure. Converting it would defeat the optimization.
     */
    var observerState = {
      shouldConvert: true,
      isSettingProps: false
    };
    
    /**
     * Observer class that are attached to each observed
     * object. Once attached, the observer converts target
     * object's property keys into getter/setters that
     * collect dependencies and dispatches updates.
     */
    var Observer = function Observer (value) {
      this.value = value;
      this.dep = new Dep();
      this.vmCount = 0;
      def(value, '__ob__', this);
      if (Array.isArray(value)) {
        var augment = hasProto
          ? protoAugment
          : copyAugment;
        augment(value, arrayMethods, arrayKeys);
        this.observeArray(value);
      } else {
        this.walk(value);
      }
    };
    
    /**
     * Walk through each property and convert them into
     * getter/setters. This method should only be called when
     * value type is Object.
     */
    Observer.prototype.walk = function walk (obj) {
      var keys = Object.keys(obj);
      for (var i = 0; i < keys.length; i++) {
        defineReactive$$1(obj, keys[i], obj[keys[i]]);
      }
    };
    
    /**
     * Observe a list of Array items.
     */
    Observer.prototype.observeArray = function observeArray (items) {
      for (var i = 0, l = items.length; i < l; i++) {
        observe(items[i]);
      }
    };
    
    // helpers
    
    /**
     * Augment an target Object or Array by intercepting
     * the prototype chain using __proto__
     */
    function protoAugment (target, src) {
      /* eslint-disable no-proto */
      target.__proto__ = src;
      /* eslint-enable no-proto */
    }
    
    /**
     * Augment an target Object or Array by defining
     * hidden properties.
     */
    /* istanbul ignore next */
    function copyAugment (target, src, keys) {
      for (var i = 0, l = keys.length; i < l; i++) {
        var key = keys[i];
        def(target, key, src[key]);
      }
    }
    
    /**
     * Attempt to create an observer instance for a value,
     * returns the new observer if successfully observed,
     * or the existing observer if the value already has one.
     */
    function observe (value, asRootData) {
      if (!isObject(value)) {
        return
      }
      var ob;
      if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {
        ob = value.__ob__;
      } else if (
        observerState.shouldConvert &&
        !isServerRendering() &&
        (Array.isArray(value) || isPlainObject(value)) &&
        Object.isExtensible(value) &&
        !value._isVue
      ) {
        ob = new Observer(value);
      }
      if (asRootData && ob) {
        ob.vmCount++;
      }
      return ob
    }
    
    /**
     * Define a reactive property on an Object.
     */
    function defineReactive$$1 (
      obj,
      key,
      val,
      customSetter
    ) {
      var dep = new Dep();
    
      var property = Object.getOwnPropertyDescriptor(obj, key);
      if (property && property.configurable === false) {
        return
      }
    
      // cater for pre-defined getter/setters
      var getter = property && property.get;
      var setter = property && property.set;
    
      var childOb = observe(val);
      Object.defineProperty(obj, key, {
        enumerable: true,
        configurable: true,
        get: function reactiveGetter () {
          var value = getter ? getter.call(obj) : val;
          if (Dep.target) {
            dep.depend();
            if (childOb) {
              childOb.dep.depend();
            }
            if (Array.isArray(value)) {
              dependArray(value);
            }
          }
          return value
        },
        set: function reactiveSetter (newVal) {
          var value = getter ? getter.call(obj) : val;
          /* eslint-disable no-self-compare */
          if (newVal === value || (newVal !== newVal && value !== value)) {
            return
          }
          /* eslint-enable no-self-compare */
          if ("development" !== 'production' && customSetter) {
            customSetter();
          }
          if (setter) {
            setter.call(obj, newVal);
          } else {
            val = newVal;
          }
          childOb = observe(newVal);
          dep.notify();
        }
      });
    }
    
    /**
     * Set a property on an object. Adds the new property and
     * triggers change notification if the property doesn't
     * already exist.
     */
    function set (target, key, val) {
      if (Array.isArray(target) && typeof key === 'number') {
        target.length = Math.max(target.length, key);
        target.splice(key, 1, val);
        return val
      }
      if (hasOwn(target, key)) {
        target[key] = val;
        return val
      }
      var ob = (target ).__ob__;
      if (target._isVue || (ob && ob.vmCount)) {
        "development" !== 'production' && warn(
          'Avoid adding reactive properties to a Vue instance or its root $data ' +
          'at runtime - declare it upfront in the data option.'
        );
        return val
      }
      if (!ob) {
        target[key] = val;
        return val
      }
      defineReactive$$1(ob.value, key, val);
      ob.dep.notify();
      return val
    }
    
    /**
     * Delete a property and trigger change if necessary.
     */
    function del (target, key) {
      if (Array.isArray(target) && typeof key === 'number') {
        target.splice(key, 1);
        return
      }
      var ob = (target ).__ob__;
      if (target._isVue || (ob && ob.vmCount)) {
        "development" !== 'production' && warn(
          'Avoid deleting properties on a Vue instance or its root $data ' +
          '- just set it to null.'
        );
        return
      }
      if (!hasOwn(target, key)) {
        return
      }
      delete target[key];
      if (!ob) {
        return
      }
      ob.dep.notify();
    }
    
    /**
     * Collect dependencies on array elements when the array is touched, since
     * we cannot intercept array element access like property getters.
     */
    function dependArray (value) {
      for (var e = (void 0), i = 0, l = value.length; i < l; i++) {
        e = value[i];
        e && e.__ob__ && e.__ob__.dep.depend();
        if (Array.isArray(e)) {
          dependArray(e);
        }
      }
    }
    
    /*  */
    
    /**
     * Option overwriting strategies are functions that handle
     * how to merge a parent option value and a child option
     * value into the final value.
     */
    var strats = config.optionMergeStrategies;
    
    /**
     * Options with restrictions
     */
    {
      strats.el = strats.propsData = function (parent, child, vm, key) {
        if (!vm) {
          warn(
            "option \"" + key + "\" can only be used during instance " +
            'creation with the `new` keyword.'
          );
        }
        return defaultStrat(parent, child)
      };
    }
    
    /**
     * Helper that recursively merges two data objects together.
     */
    function mergeData (to, from) {
      if (!from) { return to }
      var key, toVal, fromVal;
      var keys = Object.keys(from);
      for (var i = 0; i < keys.length; i++) {
        key = keys[i];
        toVal = to[key];
        fromVal = from[key];
        if (!hasOwn(to, key)) {
          set(to, key, fromVal);
        } else if (isPlainObject(toVal) && isPlainObject(fromVal)) {
          mergeData(toVal, fromVal);
        }
      }
      return to
    }
    
    /**
     * Data
     */
    strats.data = function (
      parentVal,
      childVal,
      vm
    ) {
      if (!vm) {
        // in a Vue.extend merge, both should be functions
        if (!childVal) {
          return parentVal
        }
        if (typeof childVal !== 'function') {
          "development" !== 'production' && warn(
            'The "data" option should be a function ' +
            'that returns a per-instance value in component ' +
            'definitions.',
            vm
          );
          return parentVal
        }
        if (!parentVal) {
          return childVal
        }
        // when parentVal & childVal are both present,
        // we need to return a function that returns the
        // merged result of both functions... no need to
        // check if parentVal is a function here because
        // it has to be a function to pass previous merges.
        return function mergedDataFn () {
          return mergeData(
            childVal.call(this),
            parentVal.call(this)
          )
        }
      } else if (parentVal || childVal) {
        return function mergedInstanceDataFn () {
          // instance merge
          var instanceData = typeof childVal === 'function'
            ? childVal.call(vm)
            : childVal;
          var defaultData = typeof parentVal === 'function'
            ? parentVal.call(vm)
            : undefined;
          if (instanceData) {
            return mergeData(instanceData, defaultData)
          } else {
            return defaultData
          }
        }
      }
    };
    
    /**
     * Hooks and props are merged as arrays.
     */
    function mergeHook (
      parentVal,
      childVal
    ) {
      return childVal
        ? parentVal
          ? parentVal.concat(childVal)
          : Array.isArray(childVal)
            ? childVal
            : [childVal]
        : parentVal
    }
    
    config._lifecycleHooks.forEach(function (hook) {
      strats[hook] = mergeHook;
    });
    
    /**
     * Assets
     *
     * When a vm is present (instance creation), we need to do
     * a three-way merge between constructor options, instance
     * options and parent options.
     */
    function mergeAssets (parentVal, childVal) {
      var res = Object.create(parentVal || null);
      return childVal
        ? extend(res, childVal)
        : res
    }
    
    config._assetTypes.forEach(function (type) {
      strats[type + 's'] = mergeAssets;
    });
    
    /**
     * Watchers.
     *
     * Watchers hashes should not overwrite one
     * another, so we merge them as arrays.
     */
    strats.watch = function (parentVal, childVal) {
      /* istanbul ignore if */
      if (!childVal) { return Object.create(parentVal || null) }
      if (!parentVal) { return childVal }
      var ret = {};
      extend(ret, parentVal);
      for (var key in childVal) {
        var parent = ret[key];
        var child = childVal[key];
        if (parent && !Array.isArray(parent)) {
          parent = [parent];
        }
        ret[key] = parent
          ? parent.concat(child)
          : [child];
      }
      return ret
    };
    
    /**
     * Other object hashes.
     */
    strats.props =
    strats.methods =
    strats.computed = function (parentVal, childVal) {
      if (!childVal) { return Object.create(parentVal || null) }
      if (!parentVal) { return childVal }
      var ret = Object.create(null);
      extend(ret, parentVal);
      extend(ret, childVal);
      return ret
    };
    
    /**
     * Default strategy.
     */
    var defaultStrat = function (parentVal, childVal) {
      return childVal === undefined
        ? parentVal
        : childVal
    };
    
    /**
     * Validate component names
     */
    function checkComponents (options) {
      for (var key in options.components) {
        var lower = key.toLowerCase();
        if (isBuiltInTag(lower) || config.isReservedTag(lower)) {
          warn(
            'Do not use built-in or reserved HTML elements as component ' +
            'id: ' + key
          );
        }
      }
    }
    
    /**
     * Ensure all props option syntax are normalized into the
     * Object-based format.
     */
    function normalizeProps (options) {
      var props = options.props;
      if (!props) { return }
      var res = {};
      var i, val, name;
      if (Array.isArray(props)) {
        i = props.length;
        while (i--) {
          val = props[i];
          if (typeof val === 'string') {
            name = camelize(val);
            res[name] = { type: null };
          } else {
            warn('props must be strings when using array syntax.');
          }
        }
      } else if (isPlainObject(props)) {
        for (var key in props) {
          val = props[key];
          name = camelize(key);
          res[name] = isPlainObject(val)
            ? val
            : { type: val };
        }
      }
      options.props = res;
    }
    
    /**
     * Normalize raw function directives into object format.
     */
    function normalizeDirectives (options) {
      var dirs = options.directives;
      if (dirs) {
        for (var key in dirs) {
          var def = dirs[key];
          if (typeof def === 'function') {
            dirs[key] = { bind: def, update: def };
          }
        }
      }
    }
    
    /**
     * Merge two option objects into a new one.
     * Core utility used in both instantiation and inheritance.
     */
    function mergeOptions (
      parent,
      child,
      vm
    ) {
      {
        checkComponents(child);
      }
      normalizeProps(child);
      normalizeDirectives(child);
      var extendsFrom = child.extends;
      if (extendsFrom) {
        parent = typeof extendsFrom === 'function'
          ? mergeOptions(parent, extendsFrom.options, vm)
          : mergeOptions(parent, extendsFrom, vm);
      }
      if (child.mixins) {
        for (var i = 0, l = child.mixins.length; i < l; i++) {
          var mixin = child.mixins[i];
          if (mixin.prototype instanceof Vue$3) {
            mixin = mixin.options;
          }
          parent = mergeOptions(parent, mixin, vm);
        }
      }
      var options = {};
      var key;
      for (key in parent) {
        mergeField(key);
      }
      for (key in child) {
        if (!hasOwn(parent, key)) {
          mergeField(key);
        }
      }
      function mergeField (key) {
        var strat = strats[key] || defaultStrat;
        options[key] = strat(parent[key], child[key], vm, key);
      }
      return options
    }
    
    /**
     * Resolve an asset.
     * This function is used because child instances need access
     * to assets defined in its ancestor chain.
     */
    function resolveAsset (
      options,
      type,
      id,
      warnMissing
    ) {
      /* istanbul ignore if */
      if (typeof id !== 'string') {
        return
      }
      var assets = options[type];
      // check local registration variations first
      if (hasOwn(assets, id)) { return assets[id] }
      var camelizedId = camelize(id);
      if (hasOwn(assets, camelizedId)) { return assets[camelizedId] }
      var PascalCaseId = capitalize(camelizedId);
      if (hasOwn(assets, PascalCaseId)) { return assets[PascalCaseId] }
      // fallback to prototype chain
      var res = assets[id] || assets[camelizedId] || assets[PascalCaseId];
      if ("development" !== 'production' && warnMissing && !res) {
        warn(
          'Failed to resolve ' + type.slice(0, -1) + ': ' + id,
          options
        );
      }
      return res
    }
    
    /*  */
    
    function validateProp (
      key,
      propOptions,
      propsData,
      vm
    ) {
      var prop = propOptions[key];
      var absent = !hasOwn(propsData, key);
      var value = propsData[key];
      // handle boolean props
      if (isType(Boolean, prop.type)) {
        if (absent && !hasOwn(prop, 'default')) {
          value = false;
        } else if (!isType(String, prop.type) && (value === '' || value === hyphenate(key))) {
          value = true;
        }
      }
      // check default value
      if (value === undefined) {
        value = getPropDefaultValue(vm, prop, key);
        // since the default value is a fresh copy,
        // make sure to observe it.
        var prevShouldConvert = observerState.shouldConvert;
        observerState.shouldConvert = true;
        observe(value);
        observerState.shouldConvert = prevShouldConvert;
      }
      {
        assertProp(prop, key, value, vm, absent);
      }
      return value
    }
    
    /**
     * Get the default value of a prop.
     */
    function getPropDefaultValue (vm, prop, key) {
      // no default, return undefined
      if (!hasOwn(prop, 'default')) {
        return undefined
      }
      var def = prop.default;
      // warn against non-factory defaults for Object & Array
      if ("development" !== 'production' && isObject(def)) {
        warn(
          'Invalid default value for prop "' + key + '": ' +
          'Props with type Object/Array must use a factory function ' +
          'to return the default value.',
          vm
        );
      }
      // the raw prop value was also undefined from previous render,
      // return previous default value to avoid unnecessary watcher trigger
      if (vm && vm.$options.propsData &&
        vm.$options.propsData[key] === undefined &&
        vm._props[key] !== undefined) {
        return vm._props[key]
      }
      // call factory function for non-Function types
      // a value is Function if its prototype is function even across different execution context
      return typeof def === 'function' && getType(prop.type) !== 'Function'
        ? def.call(vm)
        : def
    }
    
    /**
     * Assert whether a prop is valid.
     */
    function assertProp (
      prop,
      name,
      value,
      vm,
      absent
    ) {
      if (prop.required && absent) {
        warn(
          'Missing required prop: "' + name + '"',
          vm
        );
        return
      }
      if (value == null && !prop.required) {
        return
      }
      var type = prop.type;
      var valid = !type || type === true;
      var expectedTypes = [];
      if (type) {
        if (!Array.isArray(type)) {
          type = [type];
        }
        for (var i = 0; i < type.length && !valid; i++) {
          var assertedType = assertType(value, type[i]);
          expectedTypes.push(assertedType.expectedType || '');
          valid = assertedType.valid;
        }
      }
      if (!valid) {
        warn(
          'Invalid prop: type check failed for prop "' + name + '".' +
          ' Expected ' + expectedTypes.map(capitalize).join(', ') +
          ', got ' + Object.prototype.toString.call(value).slice(8, -1) + '.',
          vm
        );
        return
      }
      var validator = prop.validator;
      if (validator) {
        if (!validator(value)) {
          warn(
            'Invalid prop: custom validator check failed for prop "' + name + '".',
            vm
          );
        }
      }
    }
    
    /**
     * Assert the type of a value
     */
    function assertType (value, type) {
      var valid;
      var expectedType = getType(type);
      if (expectedType === 'String') {
        valid = typeof value === (expectedType = 'string');
      } else if (expectedType === 'Number') {
        valid = typeof value === (expectedType = 'number');
      } else if (expectedType === 'Boolean') {
        valid = typeof value === (expectedType = 'boolean');
      } else if (expectedType === 'Function') {
        valid = typeof value === (expectedType = 'function');
      } else if (expectedType === 'Object') {
        valid = isPlainObject(value);
      } else if (expectedType === 'Array') {
        valid = Array.isArray(value);
      } else {
        valid = value instanceof type;
      }
      return {
        valid: valid,
        expectedType: expectedType
      }
    }
    
    /**
     * Use function string name to check built-in types,
     * because a simple equality check will fail when running
     * across different vms / iframes.
     */
    function getType (fn) {
      var match = fn && fn.toString().match(/^\s*function (\w+)/);
      return match && match[1]
    }
    
    function isType (type, fn) {
      if (!Array.isArray(fn)) {
        return getType(fn) === getType(type)
      }
      for (var i = 0, len = fn.length; i < len; i++) {
        if (getType(fn[i]) === getType(type)) {
          return true
        }
      }
      /* istanbul ignore next */
      return false
    }
    
    function handleError (err, vm, info) {
      if (config.errorHandler) {
        config.errorHandler.call(null, err, vm, info);
      } else {
        {
          warn(("Error in " + info + ":"), vm);
        }
        /* istanbul ignore else */
        if (inBrowser && typeof console !== 'undefined') {
          console.error(err);
        } else {
          throw err
        }
      }
    }
    
    /* not type checking this file because flow doesn't play well with Proxy */
    
    var initProxy;
    
    {
      var allowedGlobals = makeMap(
        'Infinity,undefined,NaN,isFinite,isNaN,' +
        'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' +
        'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,' +
        'require' // for Webpack/Browserify
      );
    
      var warnNonPresent = function (target, key) {
        warn(
          "Property or method \"" + key + "\" is not defined on the instance but " +
          "referenced during render. Make sure to declare reactive data " +
          "properties in the data option.",
          target
        );
      };
    
      var hasProxy =
        typeof Proxy !== 'undefined' &&
        Proxy.toString().match(/native code/);
    
      if (hasProxy) {
        var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta');
        config.keyCodes = new Proxy(config.keyCodes, {
          set: function set (target, key, value) {
            if (isBuiltInModifier(key)) {
              warn(("Avoid overwriting built-in modifier in config.keyCodes: ." + key));
              return false
            } else {
              target[key] = value;
              return true
            }
          }
        });
      }
    
      var hasHandler = {
        has: function has (target, key) {
          var has = key in target;
          var isAllowed = allowedGlobals(key) || key.charAt(0) === '_';
          if (!has && !isAllowed) {
            warnNonPresent(target, key);
          }
          return has || !isAllowed
        }
      };
    
      var getHandler = {
        get: function get (target, key) {
          if (typeof key === 'string' && !(key in target)) {
            warnNonPresent(target, key);
          }
          return target[key]
        }
      };
    
      initProxy = function initProxy (vm) {
        if (hasProxy) {
          // determine which proxy handler to use
          var options = vm.$options;
          var handlers = options.render && options.render._withStripped
            ? getHandler
            : hasHandler;
          vm._renderProxy = new Proxy(vm, handlers);
        } else {
          vm._renderProxy = vm;
        }
      };
    }
    
    var mark;
    var measure;
    
    {
      var perf = inBrowser && window.performance;
      /* istanbul ignore if */
      if (
        perf &&
        perf.mark &&
        perf.measure &&
        perf.clearMarks &&
        perf.clearMeasures
      ) {
        mark = function (tag) { return perf.mark(tag); };
        measure = function (name, startTag, endTag) {
          perf.measure(name, startTag, endTag);
          perf.clearMarks(startTag);
          perf.clearMarks(endTag);
          perf.clearMeasures(name);
        };
      }
    }
    
    /*  */
    
    var VNode = function VNode (
      tag,
      data,
      children,
      text,
      elm,
      context,
      componentOptions
    ) {
      this.tag = tag;
      this.data = data;
      this.children = children;
      this.text = text;
      this.elm = elm;
      this.ns = undefined;
      this.context = context;
      this.functionalContext = undefined;
      this.key = data && data.key;
      this.componentOptions = componentOptions;
      this.componentInstance = undefined;
      this.parent = undefined;
      this.raw = false;
      this.isStatic = false;
      this.isRootInsert = true;
      this.isComment = false;
      this.isCloned = false;
      this.isOnce = false;
    };
    
    var prototypeAccessors = { child: {} };
    
    // DEPRECATED: alias for componentInstance for backwards compat.
    /* istanbul ignore next */
    prototypeAccessors.child.get = function () {
      return this.componentInstance
    };
    
    Object.defineProperties( VNode.prototype, prototypeAccessors );
    
    var createEmptyVNode = function () {
      var node = new VNode();
      node.text = '';
      node.isComment = true;
      return node
    };
    
    function createTextVNode (val) {
      return new VNode(undefined, undefined, undefined, String(val))
    }
    
    // optimized shallow clone
    // used for static nodes and slot nodes because they may be reused across
    // multiple renders, cloning them avoids errors when DOM manipulations rely
    // on their elm reference.
    function cloneVNode (vnode) {
      var cloned = new VNode(
        vnode.tag,
        vnode.data,
        vnode.children,
        vnode.text,
        vnode.elm,
        vnode.context,
        vnode.componentOptions
      );
      cloned.ns = vnode.ns;
      cloned.isStatic = vnode.isStatic;
      cloned.key = vnode.key;
      cloned.isCloned = true;
      return cloned
    }
    
    function cloneVNodes (vnodes) {
      var len = vnodes.length;
      var res = new Array(len);
      for (var i = 0; i < len; i++) {
        res[i] = cloneVNode(vnodes[i]);
      }
      return res
    }
    
    /*  */
    
    var normalizeEvent = cached(function (name) {
      var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first
      name = once$$1 ? name.slice(1) : name;
      var capture = name.charAt(0) === '!';
      name = capture ? name.slice(1) : name;
      return {
        name: name,
        once: once$$1,
        capture: capture
      }
    });
    
    function createFnInvoker (fns) {
      function invoker () {
        var arguments$1 = arguments;
    
        var fns = invoker.fns;
        if (Array.isArray(fns)) {
          for (var i = 0; i < fns.length; i++) {
            fns[i].apply(null, arguments$1);
          }
        } else {
          // return handler return value for single handlers
          return fns.apply(null, arguments)
        }
      }
      invoker.fns = fns;
      return invoker
    }
    
    function updateListeners (
      on,
      oldOn,
      add,
      remove$$1,
      vm
    ) {
      var name, cur, old, event;
      for (name in on) {
        cur = on[name];
        old = oldOn[name];
        event = normalizeEvent(name);
        if (!cur) {
          "development" !== 'production' && warn(
            "Invalid handler for event \"" + (event.name) + "\": got " + String(cur),
            vm
          );
        } else if (!old) {
          if (!cur.fns) {
            cur = on[name] = createFnInvoker(cur);
          }
          add(event.name, cur, event.once, event.capture);
        } else if (cur !== old) {
          old.fns = cur;
          on[name] = old;
        }
      }
      for (name in oldOn) {
        if (!on[name]) {
          event = normalizeEvent(name);
          remove$$1(event.name, oldOn[name], event.capture);
        }
      }
    }
    
    /*  */
    
    function mergeVNodeHook (def, hookKey, hook) {
      var invoker;
      var oldHook = def[hookKey];
    
      function wrappedHook () {
        hook.apply(this, arguments);
        // important: remove merged hook to ensure it's called only once
        // and prevent memory leak
        remove(invoker.fns, wrappedHook);
      }
    
      if (!oldHook) {
        // no existing hook
        invoker = createFnInvoker([wrappedHook]);
      } else {
        /* istanbul ignore if */
        if (oldHook.fns && oldHook.merged) {
          // already a merged invoker
          invoker = oldHook;
          invoker.fns.push(wrappedHook);
        } else {
          // existing plain hook
          invoker = createFnInvoker([oldHook, wrappedHook]);
        }
      }
    
      invoker.merged = true;
      def[hookKey] = invoker;
    }
    
    /*  */
    
    // The template compiler attempts to minimize the need for normalization by
    // statically analyzing the template at compile time.
    //
    // For plain HTML markup, normalization can be completely skipped because the
    // generated render function is guaranteed to return Array<VNode>. There are
    // two cases where extra normalization is needed:
    
    // 1. When the children contains components - because a functional component
    // may return an Array instead of a single root. In this case, just a simple
    // normalization is needed - if any child is an Array, we flatten the whole
    // thing with Array.prototype.concat. It is guaranteed to be only 1-level deep
    // because functional components already normalize their own children.
    function simpleNormalizeChildren (children) {
      for (var i = 0; i < children.length; i++) {
        if (Array.isArray(children[i])) {
          return Array.prototype.concat.apply([], children)
        }
      }
      return children
    }
    
    // 2. When the children contains constructs that always generated nested Arrays,
    // e.g. <template>, <slot>, v-for, or when the children is provided by user
    // with hand-written render functions / JSX. In such cases a full normalization
    // is needed to cater to all possible types of children values.
    function normalizeChildren (children) {
      return isPrimitive(children)
        ? [createTextVNode(children)]
        : Array.isArray(children)
          ? normalizeArrayChildren(children)
          : undefined
    }
    
    function normalizeArrayChildren (children, nestedIndex) {
      var res = [];
      var i, c, last;
      for (i = 0; i < children.length; i++) {
        c = children[i];
        if (c == null || typeof c === 'boolean') { continue }
        last = res[res.length - 1];
        //  nested
        if (Array.isArray(c)) {
          res.push.apply(res, normalizeArrayChildren(c, ((nestedIndex || '') + "_" + i)));
        } else if (isPrimitive(c)) {
          if (last && last.text) {
            last.text += String(c);
          } else if (c !== '') {
            // convert primitive to vnode
            res.push(createTextVNode(c));
          }
        } else {
          if (c.text && last && last.text) {
            res[res.length - 1] = createTextVNode(last.text + c.text);
          } else {
            // default key for nested array children (likely generated by v-for)
            if (c.tag && c.key == null && nestedIndex != null) {
              c.key = "__vlist" + nestedIndex + "_" + i + "__";
            }
            res.push(c);
          }
        }
      }
      return res
    }
    
    /*  */
    
    function getFirstComponentChild (children) {
      return children && children.filter(function (c) { return c && c.componentOptions; })[0]
    }
    
    /*  */
    
    function initEvents (vm) {
      vm._events = Object.create(null);
      vm._hasHookEvent = false;
      // init parent attached events
      var listeners = vm.$options._parentListeners;
      if (listeners) {
        updateComponentListeners(vm, listeners);
      }
    }
    
    var target;
    
    function add (event, fn, once$$1) {
      if (once$$1) {
        target.$once(event, fn);
      } else {
        target.$on(event, fn);
      }
    }
    
    function remove$1 (event, fn) {
      target.$off(event, fn);
    }
    
    function updateComponentListeners (
      vm,
      listeners,
      oldListeners
    ) {
      target = vm;
      updateListeners(listeners, oldListeners || {}, add, remove$1, vm);
    }
    
    function eventsMixin (Vue) {
      var hookRE = /^hook:/;
      Vue.prototype.$on = function (event, fn) {
        var this$1 = this;
    
        var vm = this;
        if (Array.isArray(event)) {
          for (var i = 0, l = event.length; i < l; i++) {
            this$1.$on(event[i], fn);
          }
        } else {
          (vm._events[event] || (vm._events[event] = [])).push(fn);
          // optimize hook:event cost by using a boolean flag marked at registration
          // instead of a hash lookup
          if (hookRE.test(event)) {
            vm._hasHookEvent = true;
          }
        }
        return vm
      };
    
      Vue.prototype.$once = function (event, fn) {
        var vm = this;
        function on () {
          vm.$off(event, on);
          fn.apply(vm, arguments);
        }
        on.fn = fn;
        vm.$on(event, on);
        return vm
      };
    
      Vue.prototype.$off = function (event, fn) {
        var this$1 = this;
    
        var vm = this;
        // all
        if (!arguments.length) {
          vm._events = Object.create(null);
          return vm
        }
        // array of events
        if (Array.isArray(event)) {
          for (var i$1 = 0, l = event.length; i$1 < l; i$1++) {
            this$1.$off(event[i$1], fn);
          }
          return vm
        }
        // specific event
        var cbs = vm._events[event];
        if (!cbs) {
          return vm
        }
        if (arguments.length === 1) {
          vm._events[event] = null;
          return vm
        }
        // specific handler
        var cb;
        var i = cbs.length;
        while (i--) {
          cb = cbs[i];
          if (cb === fn || cb.fn === fn) {
            cbs.splice(i, 1);
            break
          }
        }
        return vm
      };
    
      Vue.prototype.$emit = function (event) {
        var vm = this;
        {
          var lowerCaseEvent = event.toLowerCase();
          if (lowerCaseEvent !== event && vm._events[lowerCaseEvent]) {
            tip(
              "Event \"" + lowerCaseEvent + "\" is emitted in component " +
              (formatComponentName(vm)) + " but the handler is registered for \"" + event + "\". " +
              "Note that HTML attributes are case-insensitive and you cannot use " +
              "v-on to listen to camelCase events when using in-DOM templates. " +
              "You should probably use \"" + (hyphenate(event)) + "\" instead of \"" + event + "\"."
            );
          }
        }
        var cbs = vm._events[event];
        if (cbs) {
          cbs = cbs.length > 1 ? toArray(cbs) : cbs;
          var args = toArray(arguments, 1);
          for (var i = 0, l = cbs.length; i < l; i++) {
            cbs[i].apply(vm, args);
          }
        }
        return vm
      };
    }
    
    /*  */
    
    /**
     * Runtime helper for resolving raw children VNodes into a slot object.
     */
    function resolveSlots (
      children,
      context
    ) {
      var slots = {};
      if (!children) {
        return slots
      }
      var defaultSlot = [];
      var name, child;
      for (var i = 0, l = children.length; i < l; i++) {
        child = children[i];
        // named slots should only be respected if the vnode was rendered in the
        // same context.
        if ((child.context === context || child.functionalContext === context) &&
            child.data && (name = child.data.slot)) {
          var slot = (slots[name] || (slots[name] = []));
          if (child.tag === 'template') {
            slot.push.apply(slot, child.children);
          } else {
            slot.push(child);
          }
        } else {
          defaultSlot.push(child);
        }
      }
      // ignore whitespace
      if (!defaultSlot.every(isWhitespace)) {
        slots.default = defaultSlot;
      }
      return slots
    }
    
    function isWhitespace (node) {
      return node.isComment || node.text === ' '
    }
    
    function resolveScopedSlots (
      fns
    ) {
      var res = {};
      for (var i = 0; i < fns.length; i++) {
        res[fns[i][0]] = fns[i][1];
      }
      return res
    }
    
    /*  */
    
    var activeInstance = null;
    
    function initLifecycle (vm) {
      var options = vm.$options;
    
      // locate first non-abstract parent
      var parent = options.parent;
      if (parent && !options.abstract) {
        while (parent.$options.abstract && parent.$parent) {
          parent = parent.$parent;
        }
        parent.$children.push(vm);
      }
    
      vm.$parent = parent;
      vm.$root = parent ? parent.$root : vm;
    
      vm.$children = [];
      vm.$refs = {};
    
      vm._watcher = null;
      vm._inactive = null;
      vm._directInactive = false;
      vm._isMounted = false;
      vm._isDestroyed = false;
      vm._isBeingDestroyed = false;
    }
    
    function lifecycleMixin (Vue) {
      Vue.prototype._update = function (vnode, hydrating) {
        var vm = this;
        if (vm._isMounted) {
          callHook(vm, 'beforeUpdate');
        }
        var prevEl = vm.$el;
        var prevVnode = vm._vnode;
        var prevActiveInstance = activeInstance;
        activeInstance = vm;
        vm._vnode = vnode;
        // Vue.prototype.__patch__ is injected in entry points
        // based on the rendering backend used.
        if (!prevVnode) {
          // initial render
          vm.$el = vm.__patch__(
            vm.$el, vnode, hydrating, false /* removeOnly */,
            vm.$options._parentElm,
            vm.$options._refElm
          );
        } else {
          // updates
          vm.$el = vm.__patch__(prevVnode, vnode);
        }
        activeInstance = prevActiveInstance;
        // update __vue__ reference
        if (prevEl) {
          prevEl.__vue__ = null;
        }
        if (vm.$el) {
          vm.$el.__vue__ = vm;
        }
        // if parent is an HOC, update its $el as well
        if (vm.$vnode && vm.$parent && vm.$vnode === vm.$parent._vnode) {
          vm.$parent.$el = vm.$el;
        }
        // updated hook is called by the scheduler to ensure that children are
        // updated in a parent's updated hook.
      };
    
      Vue.prototype.$forceUpdate = function () {
        var vm = this;
        if (vm._watcher) {
          vm._watcher.update();
        }
      };
    
      Vue.prototype.$destroy = function () {
        var vm = this;
        if (vm._isBeingDestroyed) {
          return
        }
        callHook(vm, 'beforeDestroy');
        vm._isBeingDestroyed = true;
        // remove self from parent
        var parent = vm.$parent;
        if (parent && !parent._isBeingDestroyed && !vm.$options.abstract) {
          remove(parent.$children, vm);
        }
        // teardown watchers
        if (vm._watcher) {
          vm._watcher.teardown();
        }
        var i = vm._watchers.length;
        while (i--) {
          vm._watchers[i].teardown();
        }
        // remove reference from data ob
        // frozen object may not have observer.
        if (vm._data.__ob__) {
          vm._data.__ob__.vmCount--;
        }
        // call the last hook...
        vm._isDestroyed = true;
        // invoke destroy hooks on current rendered tree
        vm.__patch__(vm._vnode, null);
        // fire destroyed hook
        callHook(vm, 'destroyed');
        // turn off all instance listeners.
        vm.$off();
        // remove __vue__ reference
        if (vm.$el) {
          vm.$el.__vue__ = null;
        }
        // remove reference to DOM nodes (prevents leak)
        vm.$options._parentElm = vm.$options._refElm = null;
      };
    }
    
    function mountComponent (
      vm,
      el,
      hydrating
    ) {
      vm.$el = el;
      if (!vm.$options.render) {
        vm.$options.render = createEmptyVNode;
        {
          /* istanbul ignore if */
          if ((vm.$options.template && vm.$options.template.charAt(0) !== '#') ||
            vm.$options.el || el) {
            warn(
              'You are using the runtime-only build of Vue where the template ' +
              'compiler is not available. Either pre-compile the templates into ' +
              'render functions, or use the compiler-included build.',
              vm
            );
          } else {
            warn(
              'Failed to mount component: template or render function not defined.',
              vm
            );
          }
        }
      }
      callHook(vm, 'beforeMount');
    
      var updateComponent;
      /* istanbul ignore if */
      if ("development" !== 'production' && config.performance && mark) {
        updateComponent = function () {
          var name = vm._name;
          var id = vm._uid;
          var startTag = "vue-perf-start:" + id;
          var endTag = "vue-perf-end:" + id;
    
          mark(startTag);
          var vnode = vm._render();
          mark(endTag);
          measure((name + " render"), startTag, endTag);
    
          mark(startTag);
          vm._update(vnode, hydrating);
          mark(endTag);
          measure((name + " patch"), startTag, endTag);
        };
      } else {
        updateComponent = function () {
          vm._update(vm._render(), hydrating);
        };
      }
    
      vm._watcher = new Watcher(vm, updateComponent, noop);
      hydrating = false;
    
      // manually mounted instance, call mounted on self
      // mounted is called for render-created child components in its inserted hook
      if (vm.$vnode == null) {
        vm._isMounted = true;
        callHook(vm, 'mounted');
      }
      return vm
    }
    
    function updateChildComponent (
      vm,
      propsData,
      listeners,
      parentVnode,
      renderChildren
    ) {
      // determine whether component has slot children
      // we need to do this before overwriting $options._renderChildren
      var hasChildren = !!(
        renderChildren ||               // has new static slots
        vm.$options._renderChildren ||  // has old static slots
        parentVnode.data.scopedSlots || // has new scoped slots
        vm.$scopedSlots !== emptyObject // has old scoped slots
      );
    
      vm.$options._parentVnode = parentVnode;
      vm.$vnode = parentVnode; // update vm's placeholder node without re-render
      if (vm._vnode) { // update child tree's parent
        vm._vnode.parent = parentVnode;
      }
      vm.$options._renderChildren = renderChildren;
    
      // update props
      if (propsData && vm.$options.props) {
        observerState.shouldConvert = false;
        {
          observerState.isSettingProps = true;
        }
        var props = vm._props;
        var propKeys = vm.$options._propKeys || [];
        for (var i = 0; i < propKeys.length; i++) {
          var key = propKeys[i];
          props[key] = validateProp(key, vm.$options.props, propsData, vm);
        }
        observerState.shouldConvert = true;
        {
          observerState.isSettingProps = false;
        }
        // keep a copy of raw propsData
        vm.$options.propsData = propsData;
      }
      // update listeners
      if (listeners) {
        var oldListeners = vm.$options._parentListeners;
        vm.$options._parentListeners = listeners;
        updateComponentListeners(vm, listeners, oldListeners);
      }
      // resolve slots + force update if has children
      if (hasChildren) {
        vm.$slots = resolveSlots(renderChildren, parentVnode.context);
        vm.$forceUpdate();
      }
    }
    
    function isInInactiveTree (vm) {
      while (vm && (vm = vm.$parent)) {
        if (vm._inactive) { return true }
      }
      return false
    }
    
    function activateChildComponent (vm, direct) {
      if (direct) {
        vm._directInactive = false;
        if (isInInactiveTree(vm)) {
          return
        }
      } else if (vm._directInactive) {
        return
      }
      if (vm._inactive || vm._inactive == null) {
        vm._inactive = false;
        for (var i = 0; i < vm.$children.length; i++) {
          activateChildComponent(vm.$children[i]);
        }
        callHook(vm, 'activated');
      }
    }
    
    function deactivateChildComponent (vm, direct) {
      if (direct) {
        vm._directInactive = true;
        if (isInInactiveTree(vm)) {
          return
        }
      }
      if (!vm._inactive) {
        vm._inactive = true;
        for (var i = 0; i < vm.$children.length; i++) {
          deactivateChildComponent(vm.$children[i]);
        }
        callHook(vm, 'deactivated');
      }
    }
    
    function callHook (vm, hook) {
      var handlers = vm.$options[hook];
      if (handlers) {
        for (var i = 0, j = handlers.length; i < j; i++) {
          try {
            handlers[i].call(vm);
          } catch (e) {
            handleError(e, vm, (hook + " hook"));
          }
        }
      }
      if (vm._hasHookEvent) {
        vm.$emit('hook:' + hook);
      }
    }
    
    /*  */
    
    
    var queue = [];
    var has = {};
    var circular = {};
    var waiting = false;
    var flushing = false;
    var index = 0;
    
    /**
     * Reset the scheduler's state.
     */
    function resetSchedulerState () {
      queue.length = 0;
      has = {};
      {
        circular = {};
      }
      waiting = flushing = false;
    }
    
    /**
     * Flush both queues and run the watchers.
     */
    function flushSchedulerQueue () {
      flushing = true;
      var watcher, id, vm;
    
      // Sort queue before flush.
      // This ensures that:
      // 1. Components are updated from parent to child. (because parent is always
      //    created before the child)
      // 2. A component's user watchers are run before its render watcher (because
      //    user watchers are created before the render watcher)
      // 3. If a component is destroyed during a parent component's watcher run,
      //    its watchers can be skipped.
      queue.sort(function (a, b) { return a.id - b.id; });
    
      // do not cache length because more watchers might be pushed
      // as we run existing watchers
      for (index = 0; index < queue.length; index++) {
        watcher = queue[index];
        id = watcher.id;
        has[id] = null;
        watcher.run();
        // in dev build, check and stop circular updates.
        if ("development" !== 'production' && has[id] != null) {
          circular[id] = (circular[id] || 0) + 1;
          if (circular[id] > config._maxUpdateCount) {
            warn(
              'You may have an infinite update loop ' + (
                watcher.user
                  ? ("in watcher with expression \"" + (watcher.expression) + "\"")
                  : "in a component render function."
              ),
              watcher.vm
            );
            break
          }
        }
      }
    
      // reset scheduler before updated hook called
      var oldQueue = queue.slice();
      resetSchedulerState();
    
      // call updated hooks
      index = oldQueue.length;
      while (index--) {
        watcher = oldQueue[index];
        vm = watcher.vm;
        if (vm._watcher === watcher && vm._isMounted) {
          callHook(vm, 'updated');
        }
      }
    
      // devtool hook
      /* istanbul ignore if */
      if (devtools && config.devtools) {
        devtools.emit('flush');
      }
    }
    
    /**
     * Push a watcher into the watcher queue.
     * Jobs with duplicate IDs will be skipped unless it's
     * pushed when the queue is being flushed.
     */
    function queueWatcher (watcher) {
      var id = watcher.id;
      if (has[id] == null) {
        has[id] = true;
        if (!flushing) {
          queue.push(watcher);
        } else {
          // if already flushing, splice the watcher based on its id
          // if already past its id, it will be run next immediately.
          var i = queue.length - 1;
          while (i >= 0 && queue[i].id > watcher.id) {
            i--;
          }
          queue.splice(Math.max(i, index) + 1, 0, watcher);
        }
        // queue the flush
        if (!waiting) {
          waiting = true;
          nextTick(flushSchedulerQueue);
        }
      }
    }
    
    /*  */
    
    var uid$2 = 0;
    
    /**
     * A watcher parses an expression, collects dependencies,
     * and fires callback when the expression value changes.
     * This is used for both the $watch() api and directives.
     */
    var Watcher = function Watcher (
      vm,
      expOrFn,
      cb,
      options
    ) {
      this.vm = vm;
      vm._watchers.push(this);
      // options
      if (options) {
        this.deep = !!options.deep;
        this.user = !!options.user;
        this.lazy = !!options.lazy;
        this.sync = !!options.sync;
      } else {
        this.deep = this.user = this.lazy = this.sync = false;
      }
      this.cb = cb;
      this.id = ++uid$2; // uid for batching
      this.active = true;
      this.dirty = this.lazy; // for lazy watchers
      this.deps = [];
      this.newDeps = [];
      this.depIds = new _Set();
      this.newDepIds = new _Set();
      this.expression = expOrFn.toString();
      // parse expression for getter
      if (typeof expOrFn === 'function') {
        this.getter = expOrFn;
      } else {
        this.getter = parsePath(expOrFn);
        if (!this.getter) {
          this.getter = function () {};
          "development" !== 'production' && warn(
            "Failed watching path: \"" + expOrFn + "\" " +
            'Watcher only accepts simple dot-delimited paths. ' +
            'For full control, use a function instead.',
            vm
          );
        }
      }
      this.value = this.lazy
        ? undefined
        : this.get();
    };
    
    /**
     * Evaluate the getter, and re-collect dependencies.
     */
    Watcher.prototype.get = function get () {
      pushTarget(this);
      var value;
      var vm = this.vm;
      if (this.user) {
        try {
          value = this.getter.call(vm, vm);
        } catch (e) {
          handleError(e, vm, ("getter for watcher \"" + (this.expression) + "\""));
        }
      } else {
        value = this.getter.call(vm, vm);
      }
      // "touch" every property so they are all tracked as
      // dependencies for deep watching
      if (this.deep) {
        traverse(value);
      }
      popTarget();
      this.cleanupDeps();
      return value
    };
    
    /**
     * Add a dependency to this directive.
     */
    Watcher.prototype.addDep = function addDep (dep) {
      var id = dep.id;
      if (!this.newDepIds.has(id)) {
        this.newDepIds.add(id);
        this.newDeps.push(dep);
        if (!this.depIds.has(id)) {
          dep.addSub(this);
        }
      }
    };
    
    /**
     * Clean up for dependency collection.
     */
    Watcher.prototype.cleanupDeps = function cleanupDeps () {
        var this$1 = this;
    
      var i = this.deps.length;
      while (i--) {
        var dep = this$1.deps[i];
        if (!this$1.newDepIds.has(dep.id)) {
          dep.removeSub(this$1);
        }
      }
      var tmp = this.depIds;
      this.depIds = this.newDepIds;
      this.newDepIds = tmp;
      this.newDepIds.clear();
      tmp = this.deps;
      this.deps = this.newDeps;
      this.newDeps = tmp;
      this.newDeps.length = 0;
    };
    
    /**
     * Subscriber interface.
     * Will be called when a dependency changes.
     */
    Watcher.prototype.update = function update () {
      /* istanbul ignore else */
      if (this.lazy) {
        this.dirty = true;
      } else if (this.sync) {
        this.run();
      } else {
        queueWatcher(this);
      }
    };
    
    /**
     * Scheduler job interface.
     * Will be called by the scheduler.
     */
    Watcher.prototype.run = function run () {
      if (this.active) {
        var value = this.get();
        if (
          value !== this.value ||
          // Deep watchers and watchers on Object/Arrays should fire even
          // when the value is the same, because the value may
          // have mutated.
          isObject(value) ||
          this.deep
        ) {
          // set new value
          var oldValue = this.value;
          this.value = value;
          if (this.user) {
            try {
              this.cb.call(this.vm, value, oldValue);
            } catch (e) {
              handleError(e, this.vm, ("callback for watcher \"" + (this.expression) + "\""));
            }
          } else {
            this.cb.call(this.vm, value, oldValue);
          }
        }
      }
    };
    
    /**
     * Evaluate the value of the watcher.
     * This only gets called for lazy watchers.
     */
    Watcher.prototype.evaluate = function evaluate () {
      this.value = this.get();
      this.dirty = false;
    };
    
    /**
     * Depend on all deps collected by this watcher.
     */
    Watcher.prototype.depend = function depend () {
        var this$1 = this;
    
      var i = this.deps.length;
      while (i--) {
        this$1.deps[i].depend();
      }
    };
    
    /**
     * Remove self from all dependencies' subscriber list.
     */
    Watcher.prototype.teardown = function teardown () {
        var this$1 = this;
    
      if (this.active) {
        // remove self from vm's watcher list
        // this is a somewhat expensive operation so we skip it
        // if the vm is being destroyed.
        if (!this.vm._isBeingDestroyed) {
          remove(this.vm._watchers, this);
        }
        var i = this.deps.length;
        while (i--) {
          this$1.deps[i].removeSub(this$1);
        }
        this.active = false;
      }
    };
    
    /**
     * Recursively traverse an object to evoke all converted
     * getters, so that every nested property inside the object
     * is collected as a "deep" dependency.
     */
    var seenObjects = new _Set();
    function traverse (val) {
      seenObjects.clear();
      _traverse(val, seenObjects);
    }
    
    function _traverse (val, seen) {
      var i, keys;
      var isA = Array.isArray(val);
      if ((!isA && !isObject(val)) || !Object.isExtensible(val)) {
        return
      }
      if (val.__ob__) {
        var depId = val.__ob__.dep.id;
        if (seen.has(depId)) {
          return
        }
        seen.add(depId);
      }
      if (isA) {
        i = val.length;
        while (i--) { _traverse(val[i], seen); }
      } else {
        keys = Object.keys(val);
        i = keys.length;
        while (i--) { _traverse(val[keys[i]], seen); }
      }
    }
    
    /*  */
    
    var sharedPropertyDefinition = {
      enumerable: true,
      configurable: true,
      get: noop,
      set: noop
    };
    
    function proxy (target, sourceKey, key) {
      sharedPropertyDefinition.get = function proxyGetter () {
        return this[sourceKey][key]
      };
      sharedPropertyDefinition.set = function proxySetter (val) {
        this[sourceKey][key] = val;
      };
      Object.defineProperty(target, key, sharedPropertyDefinition);
    }
    
    function initState (vm) {
      vm._watchers = [];
      var opts = vm.$options;
      if (opts.props) { initProps(vm, opts.props); }
      if (opts.methods) { initMethods(vm, opts.methods); }
      if (opts.data) {
        initData(vm);
      } else {
        observe(vm._data = {}, true /* asRootData */);
      }
      if (opts.computed) { initComputed(vm, opts.computed); }
      if (opts.watch) { initWatch(vm, opts.watch); }
    }
    
    var isReservedProp = { key: 1, ref: 1, slot: 1 };
    
    function initProps (vm, propsOptions) {
      var propsData = vm.$options.propsData || {};
      var props = vm._props = {};
      // cache prop keys so that future props updates can iterate using Array
      // instead of dynamic object key enumeration.
      var keys = vm.$options._propKeys = [];
      var isRoot = !vm.$parent;
      // root instance props should be converted
      observerState.shouldConvert = isRoot;
      var loop = function ( key ) {
        keys.push(key);
        var value = validateProp(key, propsOptions, propsData, vm);
        /* istanbul ignore else */
        {
          if (isReservedProp[key]) {
            warn(
              ("\"" + key + "\" is a reserved attribute and cannot be used as component prop."),
              vm
            );
          }
          defineReactive$$1(props, key, value, function () {
            if (vm.$parent && !observerState.isSettingProps) {
              warn(
                "Avoid mutating a prop directly since the value will be " +
                "overwritten whenever the parent component re-renders. " +
                "Instead, use a data or computed property based on the prop's " +
                "value. Prop being mutated: \"" + key + "\"",
                vm
              );
            }
          });
        }
        // static props are already proxied on the component's prototype
        // during Vue.extend(). We only need to proxy props defined at
        // instantiation here.
        if (!(key in vm)) {
          proxy(vm, "_props", key);
        }
      };
    
      for (var key in propsOptions) loop( key );
      observerState.shouldConvert = true;
    }
    
    function initData (vm) {
      var data = vm.$options.data;
      data = vm._data = typeof data === 'function'
        ? getData(data, vm)
        : data || {};
      if (!isPlainObject(data)) {
        data = {};
        "development" !== 'production' && warn(
          'data functions should return an object:\n' +
          'https://vuejs.org/v2/guide/components.html#data-Must-Be-a-Function',
          vm
        );
      }
      // proxy data on instance
      var keys = Object.keys(data);
      var props = vm.$options.props;
      var i = keys.length;
      while (i--) {
        if (props && hasOwn(props, keys[i])) {
          "development" !== 'production' && warn(
            "The data property \"" + (keys[i]) + "\" is already declared as a prop. " +
            "Use prop default value instead.",
            vm
          );
        } else if (!isReserved(keys[i])) {
          proxy(vm, "_data", keys[i]);
        }
      }
      // observe data
      observe(data, true /* asRootData */);
    }
    
    function getData (data, vm) {
      try {
        return data.call(vm)
      } catch (e) {
        handleError(e, vm, "data()");
        return {}
      }
    }
    
    var computedWatcherOptions = { lazy: true };
    
    function initComputed (vm, computed) {
      var watchers = vm._computedWatchers = Object.create(null);
    
      for (var key in computed) {
        var userDef = computed[key];
        var getter = typeof userDef === 'function' ? userDef : userDef.get;
        {
          if (getter === undefined) {
            warn(
              ("No getter function has been defined for computed property \"" + key + "\"."),
              vm
            );
            getter = noop;
          }
        }
        // create internal watcher for the computed property.
        watchers[key] = new Watcher(vm, getter, noop, computedWatcherOptions);
    
        // component-defined computed properties are already defined on the
        // component prototype. We only need to define computed properties defined
        // at instantiation here.
        if (!(key in vm)) {
          defineComputed(vm, key, userDef);
        }
      }
    }
    
    function defineComputed (target, key, userDef) {
      if (typeof userDef === 'function') {
        sharedPropertyDefinition.get = createComputedGetter(key);
        sharedPropertyDefinition.set = noop;
      } else {
        sharedPropertyDefinition.get = userDef.get
          ? userDef.cache !== false
            ? createComputedGetter(key)
            : userDef.get
          : noop;
        sharedPropertyDefinition.set = userDef.set
          ? userDef.set
          : noop;
      }
      Object.defineProperty(target, key, sharedPropertyDefinition);
    }
    
    function createComputedGetter (key) {
      return function computedGetter () {
        var watcher = this._computedWatchers && this._computedWatchers[key];
        if (watcher) {
          if (watcher.dirty) {
            watcher.evaluate();
          }
          if (Dep.target) {
            watcher.depend();
          }
          return watcher.value
        }
      }
    }
    
    function initMethods (vm, methods) {
      var props = vm.$options.props;
      for (var key in methods) {
        vm[key] = methods[key] == null ? noop : bind(methods[key], vm);
        {
          if (methods[key] == null) {
            warn(
              "method \"" + key + "\" has an undefined value in the component definition. " +
              "Did you reference the function correctly?",
              vm
            );
          }
          if (props && hasOwn(props, key)) {
            warn(
              ("method \"" + key + "\" has already been defined as a prop."),
              vm
            );
          }
        }
      }
    }
    
    function initWatch (vm, watch) {
      for (var key in watch) {
        var handler = watch[key];
        if (Array.isArray(handler)) {
          for (var i = 0; i < handler.length; i++) {
            createWatcher(vm, key, handler[i]);
          }
        } else {
          createWatcher(vm, key, handler);
        }
      }
    }
    
    function createWatcher (vm, key, handler) {
      var options;
      if (isPlainObject(handler)) {
        options = handler;
        handler = handler.handler;
      }
      if (typeof handler === 'string') {
        handler = vm[handler];
      }
      vm.$watch(key, handler, options);
    }
    
    function stateMixin (Vue) {
      // flow somehow has problems with directly declared definition object
      // when using Object.defineProperty, so we have to procedurally build up
      // the object here.
      var dataDef = {};
      dataDef.get = function () { return this._data };
      var propsDef = {};
      propsDef.get = function () { return this._props };
      {
        dataDef.set = function (newData) {
          warn(
            'Avoid replacing instance root $data. ' +
            'Use nested data properties instead.',
            this
          );
        };
        propsDef.set = function () {
          warn("$props is readonly.", this);
        };
      }
      Object.defineProperty(Vue.prototype, '$data', dataDef);
      Object.defineProperty(Vue.prototype, '$props', propsDef);
    
      Vue.prototype.$set = set;
      Vue.prototype.$delete = del;
    
      Vue.prototype.$watch = function (
        expOrFn,
        cb,
        options
      ) {
        var vm = this;
        options = options || {};
        options.user = true;
        var watcher = new Watcher(vm, expOrFn, cb, options);
        if (options.immediate) {
          cb.call(vm, watcher.value);
        }
        return function unwatchFn () {
          watcher.teardown();
        }
      };
    }
    
    /*  */
    
    // hooks to be invoked on component VNodes during patch
    var componentVNodeHooks = {
      init: function init (
        vnode,
        hydrating,
        parentElm,
        refElm
      ) {
        if (!vnode.componentInstance || vnode.componentInstance._isDestroyed) {
          var child = vnode.componentInstance = createComponentInstanceForVnode(
            vnode,
            activeInstance,
            parentElm,
            refElm
          );
          child.$mount(hydrating ? vnode.elm : undefined, hydrating);
        } else if (vnode.data.keepAlive) {
          // kept-alive components, treat as a patch
          var mountedNode = vnode; // work around flow
          componentVNodeHooks.prepatch(mountedNode, mountedNode);
        }
      },
    
      prepatch: function prepatch (oldVnode, vnode) {
        var options = vnode.componentOptions;
        var child = vnode.componentInstance = oldVnode.componentInstance;
        updateChildComponent(
          child,
          options.propsData, // updated props
          options.listeners, // updated listeners
          vnode, // new parent vnode
          options.children // new children
        );
      },
    
      insert: function insert (vnode) {
        if (!vnode.componentInstance._isMounted) {
          vnode.componentInstance._isMounted = true;
          callHook(vnode.componentInstance, 'mounted');
        }
        if (vnode.data.keepAlive) {
          activateChildComponent(vnode.componentInstance, true /* direct */);
        }
      },
    
      destroy: function destroy (vnode) {
        if (!vnode.componentInstance._isDestroyed) {
          if (!vnode.data.keepAlive) {
            vnode.componentInstance.$destroy();
          } else {
            deactivateChildComponent(vnode.componentInstance, true /* direct */);
          }
        }
      }
    };
    
    var hooksToMerge = Object.keys(componentVNodeHooks);
    
    function createComponent (
      Ctor,
      data,
      context,
      children,
      tag
    ) {
      if (!Ctor) {
        return
      }
    
      var baseCtor = context.$options._base;
      if (isObject(Ctor)) {
        Ctor = baseCtor.extend(Ctor);
      }
    
      if (typeof Ctor !== 'function') {
        {
          warn(("Invalid Component definition: " + (String(Ctor))), context);
        }
        return
      }
    
      // async component
      if (!Ctor.cid) {
        if (Ctor.resolved) {
          Ctor = Ctor.resolved;
        } else {
          Ctor = resolveAsyncComponent(Ctor, baseCtor, function () {
            // it's ok to queue this on every render because
            // $forceUpdate is buffered by the scheduler.
            context.$forceUpdate();
          });
          if (!Ctor) {
            // return nothing if this is indeed an async component
            // wait for the callback to trigger parent update.
            return
          }
        }
      }
    
      // resolve constructor options in case global mixins are applied after
      // component constructor creation
      resolveConstructorOptions(Ctor);
    
      data = data || {};
    
      // transform component v-model data into props & events
      if (data.model) {
        transformModel(Ctor.options, data);
      }
    
      // extract props
      var propsData = extractProps(data, Ctor, tag);
    
      // functional component
      if (Ctor.options.functional) {
        return createFunctionalComponent(Ctor, propsData, data, context, children)
      }
    
      // extract listeners, since these needs to be treated as
      // child component listeners instead of DOM listeners
      var listeners = data.on;
      // replace with listeners with .native modifier
      data.on = data.nativeOn;
    
      if (Ctor.options.abstract) {
        // abstract components do not keep anything
        // other than props & listeners
        data = {};
      }
    
      // merge component management hooks onto the placeholder node
      mergeHooks(data);
    
      // return a placeholder vnode
      var name = Ctor.options.name || tag;
      var vnode = new VNode(
        ("vue-component-" + (Ctor.cid) + (name ? ("-" + name) : '')),
        data, undefined, undefined, undefined, context,
        { Ctor: Ctor, propsData: propsData, listeners: listeners, tag: tag, children: children }
      );
      return vnode
    }
    
    function createFunctionalComponent (
      Ctor,
      propsData,
      data,
      context,
      children
    ) {
      var props = {};
      var propOptions = Ctor.options.props;
      if (propOptions) {
        for (var key in propOptions) {
          props[key] = validateProp(key, propOptions, propsData);
        }
      }
      // ensure the createElement function in functional components
      // gets a unique context - this is necessary for correct named slot check
      var _context = Object.create(context);
      var h = function (a, b, c, d) { return createElement(_context, a, b, c, d, true); };
      var vnode = Ctor.options.render.call(null, h, {
        props: props,
        data: data,
        parent: context,
        children: children,
        slots: function () { return resolveSlots(children, context); }
      });
      if (vnode instanceof VNode) {
        vnode.functionalContext = context;
        if (data.slot) {
          (vnode.data || (vnode.data = {})).slot = data.slot;
        }
      }
      return vnode
    }
    
    function createComponentInstanceForVnode (
      vnode, // we know it's MountedComponentVNode but flow doesn't
      parent, // activeInstance in lifecycle state
      parentElm,
      refElm
    ) {
      var vnodeComponentOptions = vnode.componentOptions;
      var options = {
        _isComponent: true,
        parent: parent,
        propsData: vnodeComponentOptions.propsData,
        _componentTag: vnodeComponentOptions.tag,
        _parentVnode: vnode,
        _parentListeners: vnodeComponentOptions.listeners,
        _renderChildren: vnodeComponentOptions.children,
        _parentElm: parentElm || null,
        _refElm: refElm || null
      };
      // check inline-template render functions
      var inlineTemplate = vnode.data.inlineTemplate;
      if (inlineTemplate) {
        options.render = inlineTemplate.render;
        options.staticRenderFns = inlineTemplate.staticRenderFns;
      }
      return new vnodeComponentOptions.Ctor(options)
    }
    
    function resolveAsyncComponent (
      factory,
      baseCtor,
      cb
    ) {
      if (factory.requested) {
        // pool callbacks
        factory.pendingCallbacks.push(cb);
      } else {
        factory.requested = true;
        var cbs = factory.pendingCallbacks = [cb];
        var sync = true;
    
        var resolve = function (res) {
          if (isObject(res)) {
            res = baseCtor.extend(res);
          }
          // cache resolved
          factory.resolved = res;
          // invoke callbacks only if this is not a synchronous resolve
          // (async resolves are shimmed as synchronous during SSR)
          if (!sync) {
            for (var i = 0, l = cbs.length; i < l; i++) {
              cbs[i](res);
            }
          }
        };
    
        var reject = function (reason) {
          "development" !== 'production' && warn(
            "Failed to resolve async component: " + (String(factory)) +
            (reason ? ("\nReason: " + reason) : '')
          );
        };
    
        var res = factory(resolve, reject);
    
        // handle promise
        if (res && typeof res.then === 'function' && !factory.resolved) {
          res.then(resolve, reject);
        }
    
        sync = false;
        // return in case resolved synchronously
        return factory.resolved
      }
    }
    
    function extractProps (data, Ctor, tag) {
      // we are only extracting raw values here.
      // validation and default values are handled in the child
      // component itself.
      var propOptions = Ctor.options.props;
      if (!propOptions) {
        return
      }
      var res = {};
      var attrs = data.attrs;
      var props = data.props;
      var domProps = data.domProps;
      if (attrs || props || domProps) {
        for (var key in propOptions) {
          var altKey = hyphenate(key);
          {
            var keyInLowerCase = key.toLowerCase();
            if (
              key !== keyInLowerCase &&
              attrs && attrs.hasOwnProperty(keyInLowerCase)
            ) {
              tip(
                "Prop \"" + keyInLowerCase + "\" is passed to component " +
                (formatComponentName(tag || Ctor)) + ", but the declared prop name is" +
                " \"" + key + "\". " +
                "Note that HTML attributes are case-insensitive and camelCased " +
                "props need to use their kebab-case equivalents when using in-DOM " +
                "templates. You should probably use \"" + altKey + "\" instead of \"" + key + "\"."
              );
            }
          }
          checkProp(res, props, key, altKey, true) ||
          checkProp(res, attrs, key, altKey) ||
          checkProp(res, domProps, key, altKey);
        }
      }
      return res
    }
    
    function checkProp (
      res,
      hash,
      key,
      altKey,
      preserve
    ) {
      if (hash) {
        if (hasOwn(hash, key)) {
          res[key] = hash[key];
          if (!preserve) {
            delete hash[key];
          }
          return true
        } else if (hasOwn(hash, altKey)) {
          res[key] = hash[altKey];
          if (!preserve) {
            delete hash[altKey];
          }
          return true
        }
      }
      return false
    }
    
    function mergeHooks (data) {
      if (!data.hook) {
        data.hook = {};
      }
      for (var i = 0; i < hooksToMerge.length; i++) {
        var key = hooksToMerge[i];
        var fromParent = data.hook[key];
        var ours = componentVNodeHooks[key];
        data.hook[key] = fromParent ? mergeHook$1(ours, fromParent) : ours;
      }
    }
    
    function mergeHook$1 (one, two) {
      return function (a, b, c, d) {
        one(a, b, c, d);
        two(a, b, c, d);
      }
    }
    
    // transform component v-model info (value and callback) into
    // prop and event handler respectively.
    function transformModel (options, data) {
      var prop = (options.model && options.model.prop) || 'value';
      var event = (options.model && options.model.event) || 'input';(data.props || (data.props = {}))[prop] = data.model.value;
      var on = data.on || (data.on = {});
      if (on[event]) {
        on[event] = [data.model.callback].concat(on[event]);
      } else {
        on[event] = data.model.callback;
      }
    }
    
    /*  */
    
    var SIMPLE_NORMALIZE = 1;
    var ALWAYS_NORMALIZE = 2;
    
    // wrapper function for providing a more flexible interface
    // without getting yelled at by flow
    function createElement (
      context,
      tag,
      data,
      children,
      normalizationType,
      alwaysNormalize
    ) {
      if (Array.isArray(data) || isPrimitive(data)) {
        normalizationType = children;
        children = data;
        data = undefined;
      }
      if (alwaysNormalize) { normalizationType = ALWAYS_NORMALIZE; }
      return _createElement(context, tag, data, children, normalizationType)
    }
    
    function _createElement (
      context,
      tag,
      data,
      children,
      normalizationType
    ) {
      if (data && data.__ob__) {
        "development" !== 'production' && warn(
          "Avoid using observed data object as vnode data: " + (JSON.stringify(data)) + "\n" +
          'Always create fresh vnode data objects in each render!',
          context
        );
        return createEmptyVNode()
      }
      if (!tag) {
        // in case of component :is set to falsy value
        return createEmptyVNode()
      }
      // support single function children as default scoped slot
      if (Array.isArray(children) &&
          typeof children[0] === 'function') {
        data = data || {};
        data.scopedSlots = { default: children[0] };
        children.length = 0;
      }
      if (normalizationType === ALWAYS_NORMALIZE) {
        children = normalizeChildren(children);
      } else if (normalizationType === SIMPLE_NORMALIZE) {
        children = simpleNormalizeChildren(children);
      }
      var vnode, ns;
      if (typeof tag === 'string') {
        var Ctor;
        ns = config.getTagNamespace(tag);
        if (config.isReservedTag(tag)) {
          // platform built-in elements
          vnode = new VNode(
            config.parsePlatformTagName(tag), data, children,
            undefined, undefined, context
          );
        } else if ((Ctor = resolveAsset(context.$options, 'components', tag))) {
          // component
          vnode = createComponent(Ctor, data, context, children, tag);
        } else {
          // unknown or unlisted namespaced elements
          // check at runtime because it may get assigned a namespace when its
          // parent normalizes children
          vnode = new VNode(
            tag, data, children,
            undefined, undefined, context
          );
        }
      } else {
        // direct component options / constructor
        vnode = createComponent(tag, data, context, children);
      }
      if (vnode) {
        if (ns) { applyNS(vnode, ns); }
        return vnode
      } else {
        return createEmptyVNode()
      }
    }
    
    function applyNS (vnode, ns) {
      vnode.ns = ns;
      if (vnode.tag === 'foreignObject') {
        // use default namespace inside foreignObject
        return
      }
      if (vnode.children) {
        for (var i = 0, l = vnode.children.length; i < l; i++) {
          var child = vnode.children[i];
          if (child.tag && !child.ns) {
            applyNS(child, ns);
          }
        }
      }
    }
    
    /*  */
    
    /**
     * Runtime helper for rendering v-for lists.
     */
    function renderList (
      val,
      render
    ) {
      var ret, i, l, keys, key;
      if (Array.isArray(val) || typeof val === 'string') {
        ret = new Array(val.length);
        for (i = 0, l = val.length; i < l; i++) {
          ret[i] = render(val[i], i);
        }
      } else if (typeof val === 'number') {
        ret = new Array(val);
        for (i = 0; i < val; i++) {
          ret[i] = render(i + 1, i);
        }
      } else if (isObject(val)) {
        keys = Object.keys(val);
        ret = new Array(keys.length);
        for (i = 0, l = keys.length; i < l; i++) {
          key = keys[i];
          ret[i] = render(val[key], key, i);
        }
      }
      return ret
    }
    
    /*  */
    
    /**
     * Runtime helper for rendering <slot>
     */
    function renderSlot (
      name,
      fallback,
      props,
      bindObject
    ) {
      var scopedSlotFn = this.$scopedSlots[name];
      if (scopedSlotFn) { // scoped slot
        props = props || {};
        if (bindObject) {
          extend(props, bindObject);
        }
        return scopedSlotFn(props) || fallback
      } else {
        var slotNodes = this.$slots[name];
        // warn duplicate slot usage
        if (slotNodes && "development" !== 'production') {
          slotNodes._rendered && warn(
            "Duplicate presence of slot \"" + name + "\" found in the same render tree " +
            "- this will likely cause render errors.",
            this
          );
          slotNodes._rendered = true;
        }
        return slotNodes || fallback
      }
    }
    
    /*  */
    
    /**
     * Runtime helper for resolving filters
     */
    function resolveFilter (id) {
      return resolveAsset(this.$options, 'filters', id, true) || identity
    }
    
    /*  */
    
    /**
     * Runtime helper for checking keyCodes from config.
     */
    function checkKeyCodes (
      eventKeyCode,
      key,
      builtInAlias
    ) {
      var keyCodes = config.keyCodes[key] || builtInAlias;
      if (Array.isArray(keyCodes)) {
        return keyCodes.indexOf(eventKeyCode) === -1
      } else {
        return keyCodes !== eventKeyCode
      }
    }
    
    /*  */
    
    /**
     * Runtime helper for merging v-bind="object" into a VNode's data.
     */
    function bindObjectProps (
      data,
      tag,
      value,
      asProp
    ) {
      if (value) {
        if (!isObject(value)) {
          "development" !== 'production' && warn(
            'v-bind without argument expects an Object or Array value',
            this
          );
        } else {
          if (Array.isArray(value)) {
            value = toObject(value);
          }
          var hash;
          for (var key in value) {
            if (key === 'class' || key === 'style') {
              hash = data;
            } else {
              var type = data.attrs && data.attrs.type;
              hash = asProp || config.mustUseProp(tag, type, key)
                ? data.domProps || (data.domProps = {})
                : data.attrs || (data.attrs = {});
            }
            if (!(key in hash)) {
              hash[key] = value[key];
            }
          }
        }
      }
      return data
    }
    
    /*  */
    
    /**
     * Runtime helper for rendering static trees.
     */
    function renderStatic (
      index,
      isInFor
    ) {
      var tree = this._staticTrees[index];
      // if has already-rendered static tree and not inside v-for,
      // we can reuse the same tree by doing a shallow clone.
      if (tree && !isInFor) {
        return Array.isArray(tree)
          ? cloneVNodes(tree)
          : cloneVNode(tree)
      }
      // otherwise, render a fresh tree.
      tree = this._staticTrees[index] =
        this.$options.staticRenderFns[index].call(this._renderProxy);
      markStatic(tree, ("__static__" + index), false);
      return tree
    }
    
    /**
     * Runtime helper for v-once.
     * Effectively it means marking the node as static with a unique key.
     */
    function markOnce (
      tree,
      index,
      key
    ) {
      markStatic(tree, ("__once__" + index + (key ? ("_" + key) : "")), true);
      return tree
    }
    
    function markStatic (
      tree,
      key,
      isOnce
    ) {
      if (Array.isArray(tree)) {
        for (var i = 0; i < tree.length; i++) {
          if (tree[i] && typeof tree[i] !== 'string') {
            markStaticNode(tree[i], (key + "_" + i), isOnce);
          }
        }
      } else {
        markStaticNode(tree, key, isOnce);
      }
    }
    
    function markStaticNode (node, key, isOnce) {
      node.isStatic = true;
      node.key = key;
      node.isOnce = isOnce;
    }
    
    /*  */
    
    function initRender (vm) {
      vm.$vnode = null; // the placeholder node in parent tree
      vm._vnode = null; // the root of the child tree
      vm._staticTrees = null;
      var parentVnode = vm.$options._parentVnode;
      var renderContext = parentVnode && parentVnode.context;
      vm.$slots = resolveSlots(vm.$options._renderChildren, renderContext);
      vm.$scopedSlots = emptyObject;
      // bind the createElement fn to this instance
      // so that we get proper render context inside it.
      // args order: tag, data, children, normalizationType, alwaysNormalize
      // internal version is used by render functions compiled from templates
      vm._c = function (a, b, c, d) { return createElement(vm, a, b, c, d, false); };
      // normalization is always applied for the public version, used in
      // user-written render functions.
      vm.$createElement = function (a, b, c, d) { return createElement(vm, a, b, c, d, true); };
    }
    
    function renderMixin (Vue) {
      Vue.prototype.$nextTick = function (fn) {
        return nextTick(fn, this)
      };
    
      Vue.prototype._render = function () {
        var vm = this;
        var ref = vm.$options;
        var render = ref.render;
        var staticRenderFns = ref.staticRenderFns;
        var _parentVnode = ref._parentVnode;
    
        if (vm._isMounted) {
          // clone slot nodes on re-renders
          for (var key in vm.$slots) {
            vm.$slots[key] = cloneVNodes(vm.$slots[key]);
          }
        }
    
        vm.$scopedSlots = (_parentVnode && _parentVnode.data.scopedSlots) || emptyObject;
    
        if (staticRenderFns && !vm._staticTrees) {
          vm._staticTrees = [];
        }
        // set parent vnode. this allows render functions to have access
        // to the data on the placeholder node.
        vm.$vnode = _parentVnode;
        // render self
        var vnode;
        try {
          vnode = render.call(vm._renderProxy, vm.$createElement);
        } catch (e) {
          handleError(e, vm, "render function");
          // return error render result,
          // or previous vnode to prevent render error causing blank component
          /* istanbul ignore else */
          {
            vnode = vm.$options.renderError
              ? vm.$options.renderError.call(vm._renderProxy, vm.$createElement, e)
              : vm._vnode;
          }
        }
        // return empty vnode in case the render function errored out
        if (!(vnode instanceof VNode)) {
          if ("development" !== 'production' && Array.isArray(vnode)) {
            warn(
              'Multiple root nodes returned from render function. Render function ' +
              'should return a single root node.',
              vm
            );
          }
          vnode = createEmptyVNode();
        }
        // set parent
        vnode.parent = _parentVnode;
        return vnode
      };
    
      // internal render helpers.
      // these are exposed on the instance prototype to reduce generated render
      // code size.
      Vue.prototype._o = markOnce;
      Vue.prototype._n = toNumber;
      Vue.prototype._s = _toString;
      Vue.prototype._l = renderList;
      Vue.prototype._t = renderSlot;
      Vue.prototype._q = looseEqual;
      Vue.prototype._i = looseIndexOf;
      Vue.prototype._m = renderStatic;
      Vue.prototype._f = resolveFilter;
      Vue.prototype._k = checkKeyCodes;
      Vue.prototype._b = bindObjectProps;
      Vue.prototype._v = createTextVNode;
      Vue.prototype._e = createEmptyVNode;
      Vue.prototype._u = resolveScopedSlots;
    }
    
    /*  */
    
    function initProvide (vm) {
      var provide = vm.$options.provide;
      if (provide) {
        vm._provided = typeof provide === 'function'
          ? provide.call(vm)
          : provide;
      }
    }
    
    function initInjections (vm) {
      var inject = vm.$options.inject;
      if (inject) {
        // inject is :any because flow is not smart enough to figure out cached
        // isArray here
        var isArray = Array.isArray(inject);
        var keys = isArray
          ? inject
          : hasSymbol
            ? Reflect.ownKeys(inject)
            : Object.keys(inject);
    
        var loop = function ( i ) {
          var key = keys[i];
          var provideKey = isArray ? key : inject[key];
          var source = vm;
          while (source) {
            if (source._provided && provideKey in source._provided) {
              /* istanbul ignore else */
              {
                defineReactive$$1(vm, key, source._provided[provideKey], function () {
                  warn(
                    "Avoid mutating an injected value directly since the changes will be " +
                    "overwritten whenever the provided component re-renders. " +
                    "injection being mutated: \"" + key + "\"",
                    vm
                  );
                });
              }
              break
            }
            source = source.$parent;
          }
        };
    
        for (var i = 0; i < keys.length; i++) loop( i );
      }
    }
    
    /*  */
    
    var uid = 0;
    
    function initMixin (Vue) {
      Vue.prototype._init = function (options) {
        var vm = this;
        // a uid
        vm._uid = uid++;
    
        var startTag, endTag;
        /* istanbul ignore if */
        if ("development" !== 'production' && config.performance && mark) {
          startTag = "vue-perf-init:" + (vm._uid);
          endTag = "vue-perf-end:" + (vm._uid);
          mark(startTag);
        }
    
        // a flag to avoid this being observed
        vm._isVue = true;
        // merge options
        if (options && options._isComponent) {
          // optimize internal component instantiation
          // since dynamic options merging is pretty slow, and none of the
          // internal component options needs special treatment.
          initInternalComponent(vm, options);
        } else {
          vm.$options = mergeOptions(
            resolveConstructorOptions(vm.constructor),
            options || {},
            vm
          );
        }
        /* istanbul ignore else */
        {
          initProxy(vm);
        }
        // expose real self
        vm._self = vm;
        initLifecycle(vm);
        initEvents(vm);
        initRender(vm);
        callHook(vm, 'beforeCreate');
        initInjections(vm); // resolve injections before data/props
        initState(vm);
        initProvide(vm); // resolve provide after data/props
        callHook(vm, 'created');
    
        /* istanbul ignore if */
        if ("development" !== 'production' && config.performance && mark) {
          vm._name = formatComponentName(vm, false);
          mark(endTag);
          measure(((vm._name) + " init"), startTag, endTag);
        }
    
        if (vm.$options.el) {
          vm.$mount(vm.$options.el);
        }
      };
    }
    
    function initInternalComponent (vm, options) {
      var opts = vm.$options = Object.create(vm.constructor.options);
      // doing this because it's faster than dynamic enumeration.
      opts.parent = options.parent;
      opts.propsData = options.propsData;
      opts._parentVnode = options._parentVnode;
      opts._parentListeners = options._parentListeners;
      opts._renderChildren = options._renderChildren;
      opts._componentTag = options._componentTag;
      opts._parentElm = options._parentElm;
      opts._refElm = options._refElm;
      if (options.render) {
        opts.render = options.render;
        opts.staticRenderFns = options.staticRenderFns;
      }
    }
    
    function resolveConstructorOptions (Ctor) {
      var options = Ctor.options;
      if (Ctor.super) {
        var superOptions = resolveConstructorOptions(Ctor.super);
        var cachedSuperOptions = Ctor.superOptions;
        if (superOptions !== cachedSuperOptions) {
          // super option changed,
          // need to resolve new options.
          Ctor.superOptions = superOptions;
          // check if there are any late-modified/attached options (#4976)
          var modifiedOptions = resolveModifiedOptions(Ctor);
          // update base extend options
          if (modifiedOptions) {
            extend(Ctor.extendOptions, modifiedOptions);
          }
          options = Ctor.options = mergeOptions(superOptions, Ctor.extendOptions);
          if (options.name) {
            options.components[options.name] = Ctor;
          }
        }
      }
      return options
    }
    
    function resolveModifiedOptions (Ctor) {
      var modified;
      var latest = Ctor.options;
      var sealed = Ctor.sealedOptions;
      for (var key in latest) {
        if (latest[key] !== sealed[key]) {
          if (!modified) { modified = {}; }
          modified[key] = dedupe(latest[key], sealed[key]);
        }
      }
      return modified
    }
    
    function dedupe (latest, sealed) {
      // compare latest and sealed to ensure lifecycle hooks won't be duplicated
      // between merges
      if (Array.isArray(latest)) {
        var res = [];
        sealed = Array.isArray(sealed) ? sealed : [sealed];
        for (var i = 0; i < latest.length; i++) {
          if (sealed.indexOf(latest[i]) < 0) {
            res.push(latest[i]);
          }
        }
        return res
      } else {
        return latest
      }
    }
    
    function Vue$3 (options) {
      if ("development" !== 'production' &&
        !(this instanceof Vue$3)) {
        warn('Vue is a constructor and should be called with the `new` keyword');
      }
      this._init(options);
    }
    
    initMixin(Vue$3);
    stateMixin(Vue$3);
    eventsMixin(Vue$3);
    lifecycleMixin(Vue$3);
    renderMixin(Vue$3);
    
    /*  */
    
    function initUse (Vue) {
      Vue.use = function (plugin) {
        /* istanbul ignore if */
        if (plugin.installed) {
          return
        }
        // additional parameters
        var args = toArray(arguments, 1);
        args.unshift(this);
        if (typeof plugin.install === 'function') {
          plugin.install.apply(plugin, args);
        } else if (typeof plugin === 'function') {
          plugin.apply(null, args);
        }
        plugin.installed = true;
        return this
      };
    }
    
    /*  */
    
    function initMixin$1 (Vue) {
      Vue.mixin = function (mixin) {
        this.options = mergeOptions(this.options, mixin);
      };
    }
    
    /*  */
    
    function initExtend (Vue) {
      /**
       * Each instance constructor, including Vue, has a unique
       * cid. This enables us to create wrapped "child
       * constructors" for prototypal inheritance and cache them.
       */
      Vue.cid = 0;
      var cid = 1;
    
      /**
       * Class inheritance
       */
      Vue.extend = function (extendOptions) {
        extendOptions = extendOptions || {};
        var Super = this;
        var SuperId = Super.cid;
        var cachedCtors = extendOptions._Ctor || (extendOptions._Ctor = {});
        if (cachedCtors[SuperId]) {
          return cachedCtors[SuperId]
        }
    
        var name = extendOptions.name || Super.options.name;
        {
          if (!/^[a-zA-Z][\w-]*$/.test(name)) {
            warn(
              'Invalid component name: "' + name + '". Component names ' +
              'can only contain alphanumeric characters and the hyphen, ' +
              'and must start with a letter.'
            );
          }
        }
    
        var Sub = function VueComponent (options) {
          this._init(options);
        };
        Sub.prototype = Object.create(Super.prototype);
        Sub.prototype.constructor = Sub;
        Sub.cid = cid++;
        Sub.options = mergeOptions(
          Super.options,
          extendOptions
        );
        Sub['super'] = Super;
    
        // For props and computed properties, we define the proxy getters on
        // the Vue instances at extension time, on the extended prototype. This
        // avoids Object.defineProperty calls for each instance created.
        if (Sub.options.props) {
          initProps$1(Sub);
        }
        if (Sub.options.computed) {
          initComputed$1(Sub);
        }
    
        // allow further extension/mixin/plugin usage
        Sub.extend = Super.extend;
        Sub.mixin = Super.mixin;
        Sub.use = Super.use;
    
        // create asset registers, so extended classes
        // can have their private assets too.
        config._assetTypes.forEach(function (type) {
          Sub[type] = Super[type];
        });
        // enable recursive self-lookup
        if (name) {
          Sub.options.components[name] = Sub;
        }
    
        // keep a reference to the super options at extension time.
        // later at instantiation we can check if Super's options have
        // been updated.
        Sub.superOptions = Super.options;
        Sub.extendOptions = extendOptions;
        Sub.sealedOptions = extend({}, Sub.options);
    
        // cache constructor
        cachedCtors[SuperId] = Sub;
        return Sub
      };
    }
    
    function initProps$1 (Comp) {
      var props = Comp.options.props;
      for (var key in props) {
        proxy(Comp.prototype, "_props", key);
      }
    }
    
    function initComputed$1 (Comp) {
      var computed = Comp.options.computed;
      for (var key in computed) {
        defineComputed(Comp.prototype, key, computed[key]);
      }
    }
    
    /*  */
    
    function initAssetRegisters (Vue) {
      /**
       * Create asset registration methods.
       */
      config._assetTypes.forEach(function (type) {
        Vue[type] = function (
          id,
          definition
        ) {
          if (!definition) {
            return this.options[type + 's'][id]
          } else {
            /* istanbul ignore if */
            {
              if (type === 'component' && config.isReservedTag(id)) {
                warn(
                  'Do not use built-in or reserved HTML elements as component ' +
                  'id: ' + id
                );
              }
            }
            if (type === 'component' && isPlainObject(definition)) {
              definition.name = definition.name || id;
              definition = this.options._base.extend(definition);
            }
            if (type === 'directive' && typeof definition === 'function') {
              definition = { bind: definition, update: definition };
            }
            this.options[type + 's'][id] = definition;
            return definition
          }
        };
      });
    }
    
    /*  */
    
    var patternTypes = [String, RegExp];
    
    function getComponentName (opts) {
      return opts && (opts.Ctor.options.name || opts.tag)
    }
    
    function matches (pattern, name) {
      if (typeof pattern === 'string') {
        return pattern.split(',').indexOf(name) > -1
      } else if (pattern instanceof RegExp) {
        return pattern.test(name)
      }
      /* istanbul ignore next */
      return false
    }
    
    function pruneCache (cache, filter) {
      for (var key in cache) {
        var cachedNode = cache[key];
        if (cachedNode) {
          var name = getComponentName(cachedNode.componentOptions);
          if (name && !filter(name)) {
            pruneCacheEntry(cachedNode);
            cache[key] = null;
          }
        }
      }
    }
    
    function pruneCacheEntry (vnode) {
      if (vnode) {
        if (!vnode.componentInstance._inactive) {
          callHook(vnode.componentInstance, 'deactivated');
        }
        vnode.componentInstance.$destroy();
      }
    }
    
    var KeepAlive = {
      name: 'keep-alive',
      abstract: true,
    
      props: {
        include: patternTypes,
        exclude: patternTypes
      },
    
      created: function created () {
        this.cache = Object.create(null);
      },
    
      destroyed: function destroyed () {
        var this$1 = this;
    
        for (var key in this$1.cache) {
          pruneCacheEntry(this$1.cache[key]);
        }
      },
    
      watch: {
        include: function include (val) {
          pruneCache(this.cache, function (name) { return matches(val, name); });
        },
        exclude: function exclude (val) {
          pruneCache(this.cache, function (name) { return !matches(val, name); });
        }
      },
    
      render: function render () {
        var vnode = getFirstComponentChild(this.$slots.default);
        var componentOptions = vnode && vnode.componentOptions;
        if (componentOptions) {
          // check pattern
          var name = getComponentName(componentOptions);
          if (name && (
            (this.include && !matches(this.include, name)) ||
            (this.exclude && matches(this.exclude, name))
          )) {
            return vnode
          }
          var key = vnode.key == null
            // same constructor may get registered as different local components
            // so cid alone is not enough (#3269)
            ? componentOptions.Ctor.cid + (componentOptions.tag ? ("::" + (componentOptions.tag)) : '')
            : vnode.key;
          if (this.cache[key]) {
            vnode.componentInstance = this.cache[key].componentInstance;
          } else {
            this.cache[key] = vnode;
          }
          vnode.data.keepAlive = true;
        }
        return vnode
      }
    };
    
    var builtInComponents = {
      KeepAlive: KeepAlive
    };
    
    /*  */
    
    function initGlobalAPI (Vue) {
      // config
      var configDef = {};
      configDef.get = function () { return config; };
      {
        configDef.set = function () {
          warn(
            'Do not replace the Vue.config object, set individual fields instead.'
          );
        };
      }
      Object.defineProperty(Vue, 'config', configDef);
    
      // exposed util methods.
      // NOTE: these are not considered part of the public API - avoid relying on
      // them unless you are aware of the risk.
      Vue.util = {
        warn: warn,
        extend: extend,
        mergeOptions: mergeOptions,
        defineReactive: defineReactive$$1
      };
    
      Vue.set = set;
      Vue.delete = del;
      Vue.nextTick = nextTick;
    
      Vue.options = Object.create(null);
      config._assetTypes.forEach(function (type) {
        Vue.options[type + 's'] = Object.create(null);
      });
    
      // this is used to identify the "base" constructor to extend all plain-object
      // components with in Weex's multi-instance scenarios.
      Vue.options._base = Vue;
    
      extend(Vue.options.components, builtInComponents);
    
      initUse(Vue);
      initMixin$1(Vue);
      initExtend(Vue);
      initAssetRegisters(Vue);
    }
    
    initGlobalAPI(Vue$3);
    
    Object.defineProperty(Vue$3.prototype, '$isServer', {
      get: isServerRendering
    });
    
    Vue$3.version = '2.2.6';
    
    /*  */
    
    // attributes that should be using props for binding
    var acceptValue = makeMap('input,textarea,option,select');
    var mustUseProp = function (tag, type, attr) {
      return (
        (attr === 'value' && acceptValue(tag)) && type !== 'button' ||
        (attr === 'selected' && tag === 'option') ||
        (attr === 'checked' && tag === 'input') ||
        (attr === 'muted' && tag === 'video')
      )
    };
    
    var isEnumeratedAttr = makeMap('contenteditable,draggable,spellcheck');
    
    var isBooleanAttr = makeMap(
      'allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,' +
      'default,defaultchecked,defaultmuted,defaultselected,defer,disabled,' +
      'enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,' +
      'muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,' +
      'required,reversed,scoped,seamless,selected,sortable,translate,' +
      'truespeed,typemustmatch,visible'
    );
    
    var xlinkNS = 'http://www.w3.org/1999/xlink';
    
    var isXlink = function (name) {
      return name.charAt(5) === ':' && name.slice(0, 5) === 'xlink'
    };
    
    var getXlinkProp = function (name) {
      return isXlink(name) ? name.slice(6, name.length) : ''
    };
    
    var isFalsyAttrValue = function (val) {
      return val == null || val === false
    };
    
    /*  */
    
    function genClassForVnode (vnode) {
      var data = vnode.data;
      var parentNode = vnode;
      var childNode = vnode;
      while (childNode.componentInstance) {
        childNode = childNode.componentInstance._vnode;
        if (childNode.data) {
          data = mergeClassData(childNode.data, data);
        }
      }
      while ((parentNode = parentNode.parent)) {
        if (parentNode.data) {
          data = mergeClassData(data, parentNode.data);
        }
      }
      return genClassFromData(data)
    }
    
    function mergeClassData (child, parent) {
      return {
        staticClass: concat(child.staticClass, parent.staticClass),
        class: child.class
          ? [child.class, parent.class]
          : parent.class
      }
    }
    
    function genClassFromData (data) {
      var dynamicClass = data.class;
      var staticClass = data.staticClass;
      if (staticClass || dynamicClass) {
        return concat(staticClass, stringifyClass(dynamicClass))
      }
      /* istanbul ignore next */
      return ''
    }
    
    function concat (a, b) {
      return a ? b ? (a + ' ' + b) : a : (b || '')
    }
    
    function stringifyClass (value) {
      var res = '';
      if (!value) {
        return res
      }
      if (typeof value === 'string') {
        return value
      }
      if (Array.isArray(value)) {
        var stringified;
        for (var i = 0, l = value.length; i < l; i++) {
          if (value[i]) {
            if ((stringified = stringifyClass(value[i]))) {
              res += stringified + ' ';
            }
          }
        }
        return res.slice(0, -1)
      }
      if (isObject(value)) {
        for (var key in value) {
          if (value[key]) { res += key + ' '; }
        }
        return res.slice(0, -1)
      }
      /* istanbul ignore next */
      return res
    }
    
    /*  */
    
    var namespaceMap = {
      svg: 'http://www.w3.org/2000/svg',
      math: 'http://www.w3.org/1998/Math/MathML'
    };
    
    var isHTMLTag = makeMap(
      'html,body,base,head,link,meta,style,title,' +
      'address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,' +
      'div,dd,dl,dt,figcaption,figure,hr,img,li,main,ol,p,pre,ul,' +
      'a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,' +
      's,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,' +
      'embed,object,param,source,canvas,script,noscript,del,ins,' +
      'caption,col,colgroup,table,thead,tbody,td,th,tr,' +
      'button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,' +
      'output,progress,select,textarea,' +
      'details,dialog,menu,menuitem,summary,' +
      'content,element,shadow,template'
    );
    
    // this map is intentionally selective, only covering SVG elements that may
    // contain child elements.
    var isSVG = makeMap(
      'svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,' +
      'foreignObject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,' +
      'polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view',
      true
    );
    
    var isPreTag = function (tag) { return tag === 'pre'; };
    
    var isReservedTag = function (tag) {
      return isHTMLTag(tag) || isSVG(tag)
    };
    
    function getTagNamespace (tag) {
      if (isSVG(tag)) {
        return 'svg'
      }
      // basic support for MathML
      // note it doesn't support other MathML elements being component roots
      if (tag === 'math') {
        return 'math'
      }
    }
    
    var unknownElementCache = Object.create(null);
    function isUnknownElement (tag) {
      /* istanbul ignore if */
      if (!inBrowser) {
        return true
      }
      if (isReservedTag(tag)) {
        return false
      }
      tag = tag.toLowerCase();
      /* istanbul ignore if */
      if (unknownElementCache[tag] != null) {
        return unknownElementCache[tag]
      }
      var el = document.createElement(tag);
      if (tag.indexOf('-') > -1) {
        // http://stackoverflow.com/a/28210364/1070244
        return (unknownElementCache[tag] = (
          el.constructor === window.HTMLUnknownElement ||
          el.constructor === window.HTMLElement
        ))
      } else {
        return (unknownElementCache[tag] = /HTMLUnknownElement/.test(el.toString()))
      }
    }
    
    /*  */
    
    /**
     * Query an element selector if it's not an element already.
     */
    function query (el) {
      if (typeof el === 'string') {
        var selected = document.querySelector(el);
        if (!selected) {
          "development" !== 'production' && warn(
            'Cannot find element: ' + el
          );
          return document.createElement('div')
        }
        return selected
      } else {
        return el
      }
    }
    
    /*  */
    
    function createElement$1 (tagName, vnode) {
      var elm = document.createElement(tagName);
      if (tagName !== 'select') {
        return elm
      }
      // false or null will remove the attribute but undefined will not
      if (vnode.data && vnode.data.attrs && vnode.data.attrs.multiple !== undefined) {
        elm.setAttribute('multiple', 'multiple');
      }
      return elm
    }
    
    function createElementNS (namespace, tagName) {
      return document.createElementNS(namespaceMap[namespace], tagName)
    }
    
    function createTextNode (text) {
      return document.createTextNode(text)
    }
    
    function createComment (text) {
      return document.createComment(text)
    }
    
    function insertBefore (parentNode, newNode, referenceNode) {
      parentNode.insertBefore(newNode, referenceNode);
    }
    
    function removeChild (node, child) {
      node.removeChild(child);
    }
    
    function appendChild (node, child) {
      node.appendChild(child);
    }
    
    function parentNode (node) {
      return node.parentNode
    }
    
    function nextSibling (node) {
      return node.nextSibling
    }
    
    function tagName (node) {
      return node.tagName
    }
    
    function setTextContent (node, text) {
      node.textContent = text;
    }
    
    function setAttribute (node, key, val) {
      node.setAttribute(key, val);
    }
    
    
    var nodeOps = Object.freeze({
        createElement: createElement$1,
        createElementNS: createElementNS,
        createTextNode: createTextNode,
        createComment: createComment,
        insertBefore: insertBefore,
        removeChild: removeChild,
        appendChild: appendChild,
        parentNode: parentNode,
        nextSibling: nextSibling,
        tagName: tagName,
        setTextContent: setTextContent,
        setAttribute: setAttribute
    });
    
    /*  */
    
    var ref = {
      create: function create (_, vnode) {
        registerRef(vnode);
      },
      update: function update (oldVnode, vnode) {
        if (oldVnode.data.ref !== vnode.data.ref) {
          registerRef(oldVnode, true);
          registerRef(vnode);
        }
      },
      destroy: function destroy (vnode) {
        registerRef(vnode, true);
      }
    };
    
    function registerRef (vnode, isRemoval) {
      var key = vnode.data.ref;
      if (!key) { return }
    
      var vm = vnode.context;
      var ref = vnode.componentInstance || vnode.elm;
      var refs = vm.$refs;
      if (isRemoval) {
        if (Array.isArray(refs[key])) {
          remove(refs[key], ref);
        } else if (refs[key] === ref) {
          refs[key] = undefined;
        }
      } else {
        if (vnode.data.refInFor) {
          if (Array.isArray(refs[key]) && refs[key].indexOf(ref) < 0) {
            refs[key].push(ref);
          } else {
            refs[key] = [ref];
          }
        } else {
          refs[key] = ref;
        }
      }
    }
    
    /**
     * Virtual DOM patching algorithm based on Snabbdom by
     * Simon Friis Vindum (@paldepind)
     * Licensed under the MIT License
     * https://github.com/paldepind/snabbdom/blob/master/LICENSE
     *
     * modified by Evan You (@yyx990803)
     *
    
    /*
     * Not type-checking this because this file is perf-critical and the cost
     * of making flow understand it is not worth it.
     */
    
    var emptyNode = new VNode('', {}, []);
    
    var hooks = ['create', 'activate', 'update', 'remove', 'destroy'];
    
    function isUndef (v) {
      return v === undefined || v === null
    }
    
    function isDef (v) {
      return v !== undefined && v !== null
    }
    
    function isTrue (v) {
      return v === true
    }
    
    function sameVnode (a, b) {
      return (
        a.key === b.key &&
        a.tag === b.tag &&
        a.isComment === b.isComment &&
        isDef(a.data) === isDef(b.data) &&
        sameInputType(a, b)
      )
    }
    
    // Some browsers do not support dynamically changing type for <input>
    // so they need to be treated as different nodes
    function sameInputType (a, b) {
      if (a.tag !== 'input') { return true }
      var i;
      var typeA = isDef(i = a.data) && isDef(i = i.attrs) && i.type;
      var typeB = isDef(i = b.data) && isDef(i = i.attrs) && i.type;
      return typeA === typeB
    }
    
    function createKeyToOldIdx (children, beginIdx, endIdx) {
      var i, key;
      var map = {};
      for (i = beginIdx; i <= endIdx; ++i) {
        key = children[i].key;
        if (isDef(key)) { map[key] = i; }
      }
      return map
    }
    
    function createPatchFunction (backend) {
      var i, j;
      var cbs = {};
    
      var modules = backend.modules;
      var nodeOps = backend.nodeOps;
    
      for (i = 0; i < hooks.length; ++i) {
        cbs[hooks[i]] = [];
        for (j = 0; j < modules.length; ++j) {
          if (isDef(modules[j][hooks[i]])) {
            cbs[hooks[i]].push(modules[j][hooks[i]]);
          }
        }
      }
    
      function emptyNodeAt (elm) {
        return new VNode(nodeOps.tagName(elm).toLowerCase(), {}, [], undefined, elm)
      }
    
      function createRmCb (childElm, listeners) {
        function remove$$1 () {
          if (--remove$$1.listeners === 0) {
            removeNode(childElm);
          }
        }
        remove$$1.listeners = listeners;
        return remove$$1
      }
    
      function removeNode (el) {
        var parent = nodeOps.parentNode(el);
        // element may have already been removed due to v-html / v-text
        if (isDef(parent)) {
          nodeOps.removeChild(parent, el);
        }
      }
    
      var inPre = 0;
      function createElm (vnode, insertedVnodeQueue, parentElm, refElm, nested) {
        vnode.isRootInsert = !nested; // for transition enter check
        if (createComponent(vnode, insertedVnodeQueue, parentElm, refElm)) {
          return
        }
    
        var data = vnode.data;
        var children = vnode.children;
        var tag = vnode.tag;
        if (isDef(tag)) {
          {
            if (data && data.pre) {
              inPre++;
            }
            if (
              !inPre &&
              !vnode.ns &&
              !(config.ignoredElements.length && config.ignoredElements.indexOf(tag) > -1) &&
              config.isUnknownElement(tag)
            ) {
              warn(
                'Unknown custom element: <' + tag + '> - did you ' +
                'register the component correctly? For recursive components, ' +
                'make sure to provide the "name" option.',
                vnode.context
              );
            }
          }
          vnode.elm = vnode.ns
            ? nodeOps.createElementNS(vnode.ns, tag)
            : nodeOps.createElement(tag, vnode);
          setScope(vnode);
    
          /* istanbul ignore if */
          {
            createChildren(vnode, children, insertedVnodeQueue);
            if (isDef(data)) {
              invokeCreateHooks(vnode, insertedVnodeQueue);
            }
            insert(parentElm, vnode.elm, refElm);
          }
    
          if ("development" !== 'production' && data && data.pre) {
            inPre--;
          }
        } else if (isTrue(vnode.isComment)) {
          vnode.elm = nodeOps.createComment(vnode.text);
          insert(parentElm, vnode.elm, refElm);
        } else {
          vnode.elm = nodeOps.createTextNode(vnode.text);
          insert(parentElm, vnode.elm, refElm);
        }
      }
    
      function createComponent (vnode, insertedVnodeQueue, parentElm, refElm) {
        var i = vnode.data;
        if (isDef(i)) {
          var isReactivated = isDef(vnode.componentInstance) && i.keepAlive;
          if (isDef(i = i.hook) && isDef(i = i.init)) {
            i(vnode, false /* hydrating */, parentElm, refElm);
          }
          // after calling the init hook, if the vnode is a child component
          // it should've created a child instance and mounted it. the child
          // component also has set the placeholder vnode's elm.
          // in that case we can just return the element and be done.
          if (isDef(vnode.componentInstance)) {
            initComponent(vnode, insertedVnodeQueue);
            if (isTrue(isReactivated)) {
              reactivateComponent(vnode, insertedVnodeQueue, parentElm, refElm);
            }
            return true
          }
        }
      }
    
      function initComponent (vnode, insertedVnodeQueue) {
        if (isDef(vnode.data.pendingInsert)) {
          insertedVnodeQueue.push.apply(insertedVnodeQueue, vnode.data.pendingInsert);
        }
        vnode.elm = vnode.componentInstance.$el;
        if (isPatchable(vnode)) {
          invokeCreateHooks(vnode, insertedVnodeQueue);
          setScope(vnode);
        } else {
          // empty component root.
          // skip all element-related modules except for ref (#3455)
          registerRef(vnode);
          // make sure to invoke the insert hook
          insertedVnodeQueue.push(vnode);
        }
      }
    
      function reactivateComponent (vnode, insertedVnodeQueue, parentElm, refElm) {
        var i;
        // hack for #4339: a reactivated component with inner transition
        // does not trigger because the inner node's created hooks are not called
        // again. It's not ideal to involve module-specific logic in here but
        // there doesn't seem to be a better way to do it.
        var innerNode = vnode;
        while (innerNode.componentInstance) {
          innerNode = innerNode.componentInstance._vnode;
          if (isDef(i = innerNode.data) && isDef(i = i.transition)) {
            for (i = 0; i < cbs.activate.length; ++i) {
              cbs.activate[i](emptyNode, innerNode);
            }
            insertedVnodeQueue.push(innerNode);
            break
          }
        }
        // unlike a newly created component,
        // a reactivated keep-alive component doesn't insert itself
        insert(parentElm, vnode.elm, refElm);
      }
    
      function insert (parent, elm, ref) {
        if (isDef(parent)) {
          if (isDef(ref)) {
            nodeOps.insertBefore(parent, elm, ref);
          } else {
            nodeOps.appendChild(parent, elm);
          }
        }
      }
    
      function createChildren (vnode, children, insertedVnodeQueue) {
        if (Array.isArray(children)) {
          for (var i = 0; i < children.length; ++i) {
            createElm(children[i], insertedVnodeQueue, vnode.elm, null, true);
          }
        } else if (isPrimitive(vnode.text)) {
          nodeOps.appendChild(vnode.elm, nodeOps.createTextNode(vnode.text));
        }
      }
    
      function isPatchable (vnode) {
        while (vnode.componentInstance) {
          vnode = vnode.componentInstance._vnode;
        }
        return isDef(vnode.tag)
      }
    
      function invokeCreateHooks (vnode, insertedVnodeQueue) {
        for (var i$1 = 0; i$1 < cbs.create.length; ++i$1) {
          cbs.create[i$1](emptyNode, vnode);
        }
        i = vnode.data.hook; // Reuse variable
        if (isDef(i)) {
          if (isDef(i.create)) { i.create(emptyNode, vnode); }
          if (isDef(i.insert)) { insertedVnodeQueue.push(vnode); }
        }
      }
    
      // set scope id attribute for scoped CSS.
      // this is implemented as a special case to avoid the overhead
      // of going through the normal attribute patching process.
      function setScope (vnode) {
        var i;
        var ancestor = vnode;
        while (ancestor) {
          if (isDef(i = ancestor.context) && isDef(i = i.$options._scopeId)) {
            nodeOps.setAttribute(vnode.elm, i, '');
          }
          ancestor = ancestor.parent;
        }
        // for slot content they should also get the scopeId from the host instance.
        if (isDef(i = activeInstance) &&
            i !== vnode.context &&
            isDef(i = i.$options._scopeId)) {
          nodeOps.setAttribute(vnode.elm, i, '');
        }
      }
    
      function addVnodes (parentElm, refElm, vnodes, startIdx, endIdx, insertedVnodeQueue) {
        for (; startIdx <= endIdx; ++startIdx) {
          createElm(vnodes[startIdx], insertedVnodeQueue, parentElm, refElm);
        }
      }
    
      function invokeDestroyHook (vnode) {
        var i, j;
        var data = vnode.data;
        if (isDef(data)) {
          if (isDef(i = data.hook) && isDef(i = i.destroy)) { i(vnode); }
          for (i = 0; i < cbs.destroy.length; ++i) { cbs.destroy[i](vnode); }
        }
        if (isDef(i = vnode.children)) {
          for (j = 0; j < vnode.children.length; ++j) {
            invokeDestroyHook(vnode.children[j]);
          }
        }
      }
    
      function removeVnodes (parentElm, vnodes, startIdx, endIdx) {
        for (; startIdx <= endIdx; ++startIdx) {
          var ch = vnodes[startIdx];
          if (isDef(ch)) {
            if (isDef(ch.tag)) {
              removeAndInvokeRemoveHook(ch);
              invokeDestroyHook(ch);
            } else { // Text node
              removeNode(ch.elm);
            }
          }
        }
      }
    
      function removeAndInvokeRemoveHook (vnode, rm) {
        if (isDef(rm) || isDef(vnode.data)) {
          var listeners = cbs.remove.length + 1;
          if (isDef(rm)) {
            // we have a recursively passed down rm callback
            // increase the listeners count
            rm.listeners += listeners;
          } else {
            // directly removing
            rm = createRmCb(vnode.elm, listeners);
          }
          // recursively invoke hooks on child component root node
          if (isDef(i = vnode.componentInstance) && isDef(i = i._vnode) && isDef(i.data)) {
            removeAndInvokeRemoveHook(i, rm);
          }
          for (i = 0; i < cbs.remove.length; ++i) {
            cbs.remove[i](vnode, rm);
          }
          if (isDef(i = vnode.data.hook) && isDef(i = i.remove)) {
            i(vnode, rm);
          } else {
            rm();
          }
        } else {
          removeNode(vnode.elm);
        }
      }
    
      function updateChildren (parentElm, oldCh, newCh, insertedVnodeQueue, removeOnly) {
        var oldStartIdx = 0;
        var newStartIdx = 0;
        var oldEndIdx = oldCh.length - 1;
        var oldStartVnode = oldCh[0];
        var oldEndVnode = oldCh[oldEndIdx];
        var newEndIdx = newCh.length - 1;
        var newStartVnode = newCh[0];
        var newEndVnode = newCh[newEndIdx];
        var oldKeyToIdx, idxInOld, elmToMove, refElm;
    
        // removeOnly is a special flag used only by <transition-group>
        // to ensure removed elements stay in correct relative positions
        // during leaving transitions
        var canMove = !removeOnly;
    
        while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) {
          if (isUndef(oldStartVnode)) {
            oldStartVnode = oldCh[++oldStartIdx]; // Vnode has been moved left
          } else if (isUndef(oldEndVnode)) {
            oldEndVnode = oldCh[--oldEndIdx];
          } else if (sameVnode(oldStartVnode, newStartVnode)) {
            patchVnode(oldStartVnode, newStartVnode, insertedVnodeQueue);
            oldStartVnode = oldCh[++oldStartIdx];
            newStartVnode = newCh[++newStartIdx];
          } else if (sameVnode(oldEndVnode, newEndVnode)) {
            patchVnode(oldEndVnode, newEndVnode, insertedVnodeQueue);
            oldEndVnode = oldCh[--oldEndIdx];
            newEndVnode = newCh[--newEndIdx];
          } else if (sameVnode(oldStartVnode, newEndVnode)) { // Vnode moved right
            patchVnode(oldStartVnode, newEndVnode, insertedVnodeQueue);
            canMove && nodeOps.insertBefore(parentElm, oldStartVnode.elm, nodeOps.nextSibling(oldEndVnode.elm));
            oldStartVnode = oldCh[++oldStartIdx];
            newEndVnode = newCh[--newEndIdx];
          } else if (sameVnode(oldEndVnode, newStartVnode)) { // Vnode moved left
            patchVnode(oldEndVnode, newStartVnode, insertedVnodeQueue);
            canMove && nodeOps.insertBefore(parentElm, oldEndVnode.elm, oldStartVnode.elm);
            oldEndVnode = oldCh[--oldEndIdx];
            newStartVnode = newCh[++newStartIdx];
          } else {
            if (isUndef(oldKeyToIdx)) { oldKeyToIdx = createKeyToOldIdx(oldCh, oldStartIdx, oldEndIdx); }
            idxInOld = isDef(newStartVnode.key) ? oldKeyToIdx[newStartVnode.key] : null;
            if (isUndef(idxInOld)) { // New element
              createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm);
              newStartVnode = newCh[++newStartIdx];
            } else {
              elmToMove = oldCh[idxInOld];
              /* istanbul ignore if */
              if ("development" !== 'production' && !elmToMove) {
                warn(
                  'It seems there are duplicate keys that is causing an update error. ' +
                  'Make sure each v-for item has a unique key.'
                );
              }
              if (sameVnode(elmToMove, newStartVnode)) {
                patchVnode(elmToMove, newStartVnode, insertedVnodeQueue);
                oldCh[idxInOld] = undefined;
                canMove && nodeOps.insertBefore(parentElm, newStartVnode.elm, oldStartVnode.elm);
                newStartVnode = newCh[++newStartIdx];
              } else {
                // same key but different element. treat as new element
                createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm);
                newStartVnode = newCh[++newStartIdx];
              }
            }
          }
        }
        if (oldStartIdx > oldEndIdx) {
          refElm = isUndef(newCh[newEndIdx + 1]) ? null : newCh[newEndIdx + 1].elm;
          addVnodes(parentElm, refElm, newCh, newStartIdx, newEndIdx, insertedVnodeQueue);
        } else if (newStartIdx > newEndIdx) {
          removeVnodes(parentElm, oldCh, oldStartIdx, oldEndIdx);
        }
      }
    
      function patchVnode (oldVnode, vnode, insertedVnodeQueue, removeOnly) {
        if (oldVnode === vnode) {
          return
        }
        // reuse element for static trees.
        // note we only do this if the vnode is cloned -
        // if the new node is not cloned it means the render functions have been
        // reset by the hot-reload-api and we need to do a proper re-render.
        if (isTrue(vnode.isStatic) &&
            isTrue(oldVnode.isStatic) &&
            vnode.key === oldVnode.key &&
            (isTrue(vnode.isCloned) || isTrue(vnode.isOnce))) {
          vnode.elm = oldVnode.elm;
          vnode.componentInstance = oldVnode.componentInstance;
          return
        }
        var i;
        var data = vnode.data;
        if (isDef(data) && isDef(i = data.hook) && isDef(i = i.prepatch)) {
          i(oldVnode, vnode);
        }
        var elm = vnode.elm = oldVnode.elm;
        var oldCh = oldVnode.children;
        var ch = vnode.children;
        if (isDef(data) && isPatchable(vnode)) {
          for (i = 0; i < cbs.update.length; ++i) { cbs.update[i](oldVnode, vnode); }
          if (isDef(i = data.hook) && isDef(i = i.update)) { i(oldVnode, vnode); }
        }
        if (isUndef(vnode.text)) {
          if (isDef(oldCh) && isDef(ch)) {
            if (oldCh !== ch) { updateChildren(elm, oldCh, ch, insertedVnodeQueue, removeOnly); }
          } else if (isDef(ch)) {
            if (isDef(oldVnode.text)) { nodeOps.setTextContent(elm, ''); }
            addVnodes(elm, null, ch, 0, ch.length - 1, insertedVnodeQueue);
          } else if (isDef(oldCh)) {
            removeVnodes(elm, oldCh, 0, oldCh.length - 1);
          } else if (isDef(oldVnode.text)) {
            nodeOps.setTextContent(elm, '');
          }
        } else if (oldVnode.text !== vnode.text) {
          nodeOps.setTextContent(elm, vnode.text);
        }
        if (isDef(data)) {
          if (isDef(i = data.hook) && isDef(i = i.postpatch)) { i(oldVnode, vnode); }
        }
      }
    
      function invokeInsertHook (vnode, queue, initial) {
        // delay insert hooks for component root nodes, invoke them after the
        // element is really inserted
        if (isTrue(initial) && isDef(vnode.parent)) {
          vnode.parent.data.pendingInsert = queue;
        } else {
          for (var i = 0; i < queue.length; ++i) {
            queue[i].data.hook.insert(queue[i]);
          }
        }
      }
    
      var bailed = false;
      // list of modules that can skip create hook during hydration because they
      // are already rendered on the client or has no need for initialization
      var isRenderedModule = makeMap('attrs,style,class,staticClass,staticStyle,key');
    
      // Note: this is a browser-only function so we can assume elms are DOM nodes.
      function hydrate (elm, vnode, insertedVnodeQueue) {
        {
          if (!assertNodeMatch(elm, vnode)) {
            return false
          }
        }
        vnode.elm = elm;
        var tag = vnode.tag;
        var data = vnode.data;
        var children = vnode.children;
        if (isDef(data)) {
          if (isDef(i = data.hook) && isDef(i = i.init)) { i(vnode, true /* hydrating */); }
          if (isDef(i = vnode.componentInstance)) {
            // child component. it should have hydrated its own tree.
            initComponent(vnode, insertedVnodeQueue);
            return true
          }
        }
        if (isDef(tag)) {
          if (isDef(children)) {
            // empty element, allow client to pick up and populate children
            if (!elm.hasChildNodes()) {
              createChildren(vnode, children, insertedVnodeQueue);
            } else {
              var childrenMatch = true;
              var childNode = elm.firstChild;
              for (var i$1 = 0; i$1 < children.length; i$1++) {
                if (!childNode || !hydrate(childNode, children[i$1], insertedVnodeQueue)) {
                  childrenMatch = false;
                  break
                }
                childNode = childNode.nextSibling;
              }
              // if childNode is not null, it means the actual childNodes list is
              // longer than the virtual children list.
              if (!childrenMatch || childNode) {
                if ("development" !== 'production' &&
                    typeof console !== 'undefined' &&
                    !bailed) {
                  bailed = true;
                  console.warn('Parent: ', elm);
                  console.warn('Mismatching childNodes vs. VNodes: ', elm.childNodes, children);
                }
                return false
              }
            }
          }
          if (isDef(data)) {
            for (var key in data) {
              if (!isRenderedModule(key)) {
                invokeCreateHooks(vnode, insertedVnodeQueue);
                break
              }
            }
          }
        } else if (elm.data !== vnode.text) {
          elm.data = vnode.text;
        }
        return true
      }
    
      function assertNodeMatch (node, vnode) {
        if (isDef(vnode.tag)) {
          return (
            vnode.tag.indexOf('vue-component') === 0 ||
            vnode.tag.toLowerCase() === (node.tagName && node.tagName.toLowerCase())
          )
        } else {
          return node.nodeType === (vnode.isComment ? 8 : 3)
        }
      }
    
      return function patch (oldVnode, vnode, hydrating, removeOnly, parentElm, refElm) {
        if (isUndef(vnode)) {
          if (isDef(oldVnode)) { invokeDestroyHook(oldVnode); }
          return
        }
    
        var isInitialPatch = false;
        var insertedVnodeQueue = [];
    
        if (isUndef(oldVnode)) {
          // empty mount (likely as component), create new root element
          isInitialPatch = true;
          createElm(vnode, insertedVnodeQueue, parentElm, refElm);
        } else {
          var isRealElement = isDef(oldVnode.nodeType);
          if (!isRealElement && sameVnode(oldVnode, vnode)) {
            // patch existing root node
            patchVnode(oldVnode, vnode, insertedVnodeQueue, removeOnly);
          } else {
            if (isRealElement) {
              // mounting to a real element
              // check if this is server-rendered content and if we can perform
              // a successful hydration.
              if (oldVnode.nodeType === 1 && oldVnode.hasAttribute('server-rendered')) {
                oldVnode.removeAttribute('server-rendered');
                hydrating = true;
              }
              if (isTrue(hydrating)) {
                if (hydrate(oldVnode, vnode, insertedVnodeQueue)) {
                  invokeInsertHook(vnode, insertedVnodeQueue, true);
                  return oldVnode
                } else {
                  warn(
                    'The client-side rendered virtual DOM tree is not matching ' +
                    'server-rendered content. This is likely caused by incorrect ' +
                    'HTML markup, for example nesting block-level elements inside ' +
                    '<p>, or missing <tbody>. Bailing hydration and performing ' +
                    'full client-side render.'
                  );
                }
              }
              // either not server-rendered, or hydration failed.
              // create an empty node and replace it
              oldVnode = emptyNodeAt(oldVnode);
            }
            // replacing existing element
            var oldElm = oldVnode.elm;
            var parentElm$1 = nodeOps.parentNode(oldElm);
            createElm(
              vnode,
              insertedVnodeQueue,
              // extremely rare edge case: do not insert if old element is in a
              // leaving transition. Only happens when combining transition +
              // keep-alive + HOCs. (#4590)
              oldElm._leaveCb ? null : parentElm$1,
              nodeOps.nextSibling(oldElm)
            );
    
            if (isDef(vnode.parent)) {
              // component root element replaced.
              // update parent placeholder node element, recursively
              var ancestor = vnode.parent;
              while (ancestor) {
                ancestor.elm = vnode.elm;
                ancestor = ancestor.parent;
              }
              if (isPatchable(vnode)) {
                for (var i = 0; i < cbs.create.length; ++i) {
                  cbs.create[i](emptyNode, vnode.parent);
                }
              }
            }
    
            if (isDef(parentElm$1)) {
              removeVnodes(parentElm$1, [oldVnode], 0, 0);
            } else if (isDef(oldVnode.tag)) {
              invokeDestroyHook(oldVnode);
            }
          }
        }
    
        invokeInsertHook(vnode, insertedVnodeQueue, isInitialPatch);
        return vnode.elm
      }
    }
    
    /*  */
    
    var directives = {
      create: updateDirectives,
      update: updateDirectives,
      destroy: function unbindDirectives (vnode) {
        updateDirectives(vnode, emptyNode);
      }
    };
    
    function updateDirectives (oldVnode, vnode) {
      if (oldVnode.data.directives || vnode.data.directives) {
        _update(oldVnode, vnode);
      }
    }
    
    function _update (oldVnode, vnode) {
      var isCreate = oldVnode === emptyNode;
      var isDestroy = vnode === emptyNode;
      var oldDirs = normalizeDirectives$1(oldVnode.data.directives, oldVnode.context);
      var newDirs = normalizeDirectives$1(vnode.data.directives, vnode.context);
    
      var dirsWithInsert = [];
      var dirsWithPostpatch = [];
    
      var key, oldDir, dir;
      for (key in newDirs) {
        oldDir = oldDirs[key];
        dir = newDirs[key];
        if (!oldDir) {
          // new directive, bind
          callHook$1(dir, 'bind', vnode, oldVnode);
          if (dir.def && dir.def.inserted) {
            dirsWithInsert.push(dir);
          }
        } else {
          // existing directive, update
          dir.oldValue = oldDir.value;
          callHook$1(dir, 'update', vnode, oldVnode);
          if (dir.def && dir.def.componentUpdated) {
            dirsWithPostpatch.push(dir);
          }
        }
      }
    
      if (dirsWithInsert.length) {
        var callInsert = function () {
          for (var i = 0; i < dirsWithInsert.length; i++) {
            callHook$1(dirsWithInsert[i], 'inserted', vnode, oldVnode);
          }
        };
        if (isCreate) {
          mergeVNodeHook(vnode.data.hook || (vnode.data.hook = {}), 'insert', callInsert);
        } else {
          callInsert();
        }
      }
    
      if (dirsWithPostpatch.length) {
        mergeVNodeHook(vnode.data.hook || (vnode.data.hook = {}), 'postpatch', function () {
          for (var i = 0; i < dirsWithPostpatch.length; i++) {
            callHook$1(dirsWithPostpatch[i], 'componentUpdated', vnode, oldVnode);
          }
        });
      }
    
      if (!isCreate) {
        for (key in oldDirs) {
          if (!newDirs[key]) {
            // no longer present, unbind
            callHook$1(oldDirs[key], 'unbind', oldVnode, oldVnode, isDestroy);
          }
        }
      }
    }
    
    var emptyModifiers = Object.create(null);
    
    function normalizeDirectives$1 (
      dirs,
      vm
    ) {
      var res = Object.create(null);
      if (!dirs) {
        return res
      }
      var i, dir;
      for (i = 0; i < dirs.length; i++) {
        dir = dirs[i];
        if (!dir.modifiers) {
          dir.modifiers = emptyModifiers;
        }
        res[getRawDirName(dir)] = dir;
        dir.def = resolveAsset(vm.$options, 'directives', dir.name, true);
      }
      return res
    }
    
    function getRawDirName (dir) {
      return dir.rawName || ((dir.name) + "." + (Object.keys(dir.modifiers || {}).join('.')))
    }
    
    function callHook$1 (dir, hook, vnode, oldVnode, isDestroy) {
      var fn = dir.def && dir.def[hook];
      if (fn) {
        fn(vnode.elm, dir, vnode, oldVnode, isDestroy);
      }
    }
    
    var baseModules = [
      ref,
      directives
    ];
    
    /*  */
    
    function updateAttrs (oldVnode, vnode) {
      if (!oldVnode.data.attrs && !vnode.data.attrs) {
        return
      }
      var key, cur, old;
      var elm = vnode.elm;
      var oldAttrs = oldVnode.data.attrs || {};
      var attrs = vnode.data.attrs || {};
      // clone observed objects, as the user probably wants to mutate it
      if (attrs.__ob__) {
        attrs = vnode.data.attrs = extend({}, attrs);
      }
    
      for (key in attrs) {
        cur = attrs[key];
        old = oldAttrs[key];
        if (old !== cur) {
          setAttr(elm, key, cur);
        }
      }
      // #4391: in IE9, setting type can reset value for input[type=radio]
      /* istanbul ignore if */
      if (isIE9 && attrs.value !== oldAttrs.value) {
        setAttr(elm, 'value', attrs.value);
      }
      for (key in oldAttrs) {
        if (attrs[key] == null) {
          if (isXlink(key)) {
            elm.removeAttributeNS(xlinkNS, getXlinkProp(key));
          } else if (!isEnumeratedAttr(key)) {
            elm.removeAttribute(key);
          }
        }
      }
    }
    
    function setAttr (el, key, value) {
      if (isBooleanAttr(key)) {
        // set attribute for blank value
        // e.g. <option disabled>Select one</option>
        if (isFalsyAttrValue(value)) {
          el.removeAttribute(key);
        } else {
          el.setAttribute(key, key);
        }
      } else if (isEnumeratedAttr(key)) {
        el.setAttribute(key, isFalsyAttrValue(value) || value === 'false' ? 'false' : 'true');
      } else if (isXlink(key)) {
        if (isFalsyAttrValue(value)) {
          el.removeAttributeNS(xlinkNS, getXlinkProp(key));
        } else {
          el.setAttributeNS(xlinkNS, key, value);
        }
      } else {
        if (isFalsyAttrValue(value)) {
          el.removeAttribute(key);
        } else {
          el.setAttribute(key, value);
        }
      }
    }
    
    var attrs = {
      create: updateAttrs,
      update: updateAttrs
    };
    
    /*  */
    
    function updateClass (oldVnode, vnode) {
      var el = vnode.elm;
      var data = vnode.data;
      var oldData = oldVnode.data;
      if (!data.staticClass && !data.class &&
          (!oldData || (!oldData.staticClass && !oldData.class))) {
        return
      }
    
      var cls = genClassForVnode(vnode);
    
      // handle transition classes
      var transitionClass = el._transitionClasses;
      if (transitionClass) {
        cls = concat(cls, stringifyClass(transitionClass));
      }
    
      // set the class
      if (cls !== el._prevClass) {
        el.setAttribute('class', cls);
        el._prevClass = cls;
      }
    }
    
    var klass = {
      create: updateClass,
      update: updateClass
    };
    
    /*  */
    
    var validDivisionCharRE = /[\w).+\-_$\]]/;
    
    function parseFilters (exp) {
      var inSingle = false;
      var inDouble = false;
      var inTemplateString = false;
      var inRegex = false;
      var curly = 0;
      var square = 0;
      var paren = 0;
      var lastFilterIndex = 0;
      var c, prev, i, expression, filters;
    
      for (i = 0; i < exp.length; i++) {
        prev = c;
        c = exp.charCodeAt(i);
        if (inSingle) {
          if (c === 0x27 && prev !== 0x5C) { inSingle = false; }
        } else if (inDouble) {
          if (c === 0x22 && prev !== 0x5C) { inDouble = false; }
        } else if (inTemplateString) {
          if (c === 0x60 && prev !== 0x5C) { inTemplateString = false; }
        } else if (inRegex) {
          if (c === 0x2f && prev !== 0x5C) { inRegex = false; }
        } else if (
          c === 0x7C && // pipe
          exp.charCodeAt(i + 1) !== 0x7C &&
          exp.charCodeAt(i - 1) !== 0x7C &&
          !curly && !square && !paren
        ) {
          if (expression === undefined) {
            // first filter, end of expression
            lastFilterIndex = i + 1;
            expression = exp.slice(0, i).trim();
          } else {
            pushFilter();
          }
        } else {
          switch (c) {
            case 0x22: inDouble = true; break         // "
            case 0x27: inSingle = true; break         // '
            case 0x60: inTemplateString = true; break // `
            case 0x28: paren++; break                 // (
            case 0x29: paren--; break                 // )
            case 0x5B: square++; break                // [
            case 0x5D: square--; break                // ]
            case 0x7B: curly++; break                 // {
            case 0x7D: curly--; break                 // }
          }
          if (c === 0x2f) { // /
            var j = i - 1;
            var p = (void 0);
            // find first non-whitespace prev char
            for (; j >= 0; j--) {
              p = exp.charAt(j);
              if (p !== ' ') { break }
            }
            if (!p || !validDivisionCharRE.test(p)) {
              inRegex = true;
            }
          }
        }
      }
    
      if (expression === undefined) {
        expression = exp.slice(0, i).trim();
      } else if (lastFilterIndex !== 0) {
        pushFilter();
      }
    
      function pushFilter () {
        (filters || (filters = [])).push(exp.slice(lastFilterIndex, i).trim());
        lastFilterIndex = i + 1;
      }
    
      if (filters) {
        for (i = 0; i < filters.length; i++) {
          expression = wrapFilter(expression, filters[i]);
        }
      }
    
      return expression
    }
    
    function wrapFilter (exp, filter) {
      var i = filter.indexOf('(');
      if (i < 0) {
        // _f: resolveFilter
        return ("_f(\"" + filter + "\")(" + exp + ")")
      } else {
        var name = filter.slice(0, i);
        var args = filter.slice(i + 1);
        return ("_f(\"" + name + "\")(" + exp + "," + args)
      }
    }
    
    /*  */
    
    function baseWarn (msg) {
      console.error(("[Vue compiler]: " + msg));
    }
    
    function pluckModuleFunction (
      modules,
      key
    ) {
      return modules
        ? modules.map(function (m) { return m[key]; }).filter(function (_) { return _; })
        : []
    }
    
    function addProp (el, name, value) {
      (el.props || (el.props = [])).push({ name: name, value: value });
    }
    
    function addAttr (el, name, value) {
      (el.attrs || (el.attrs = [])).push({ name: name, value: value });
    }
    
    function addDirective (
      el,
      name,
      rawName,
      value,
      arg,
      modifiers
    ) {
      (el.directives || (el.directives = [])).push({ name: name, rawName: rawName, value: value, arg: arg, modifiers: modifiers });
    }
    
    function addHandler (
      el,
      name,
      value,
      modifiers,
      important
    ) {
      // check capture modifier
      if (modifiers && modifiers.capture) {
        delete modifiers.capture;
        name = '!' + name; // mark the event as captured
      }
      if (modifiers && modifiers.once) {
        delete modifiers.once;
        name = '~' + name; // mark the event as once
      }
      var events;
      if (modifiers && modifiers.native) {
        delete modifiers.native;
        events = el.nativeEvents || (el.nativeEvents = {});
      } else {
        events = el.events || (el.events = {});
      }
      var newHandler = { value: value, modifiers: modifiers };
      var handlers = events[name];
      /* istanbul ignore if */
      if (Array.isArray(handlers)) {
        important ? handlers.unshift(newHandler) : handlers.push(newHandler);
      } else if (handlers) {
        events[name] = important ? [newHandler, handlers] : [handlers, newHandler];
      } else {
        events[name] = newHandler;
      }
    }
    
    function getBindingAttr (
      el,
      name,
      getStatic
    ) {
      var dynamicValue =
        getAndRemoveAttr(el, ':' + name) ||
        getAndRemoveAttr(el, 'v-bind:' + name);
      if (dynamicValue != null) {
        return parseFilters(dynamicValue)
      } else if (getStatic !== false) {
        var staticValue = getAndRemoveAttr(el, name);
        if (staticValue != null) {
          return JSON.stringify(staticValue)
        }
      }
    }
    
    function getAndRemoveAttr (el, name) {
      var val;
      if ((val = el.attrsMap[name]) != null) {
        var list = el.attrsList;
        for (var i = 0, l = list.length; i < l; i++) {
          if (list[i].name === name) {
            list.splice(i, 1);
            break
          }
        }
      }
      return val
    }
    
    /*  */
    
    /**
     * Cross-platform code generation for component v-model
     */
    function genComponentModel (
      el,
      value,
      modifiers
    ) {
      var ref = modifiers || {};
      var number = ref.number;
      var trim = ref.trim;
    
      var baseValueExpression = '$$v';
      var valueExpression = baseValueExpression;
      if (trim) {
        valueExpression =
          "(typeof " + baseValueExpression + " === 'string'" +
            "? " + baseValueExpression + ".trim()" +
            ": " + baseValueExpression + ")";
      }
      if (number) {
        valueExpression = "_n(" + valueExpression + ")";
      }
      var assignment = genAssignmentCode(value, valueExpression);
    
      el.model = {
        value: ("(" + value + ")"),
        expression: ("\"" + value + "\""),
        callback: ("function (" + baseValueExpression + ") {" + assignment + "}")
      };
    }
    
    /**
     * Cross-platform codegen helper for generating v-model value assignment code.
     */
    function genAssignmentCode (
      value,
      assignment
    ) {
      var modelRs = parseModel(value);
      if (modelRs.idx === null) {
        return (value + "=" + assignment)
      } else {
        return "var $$exp = " + (modelRs.exp) + ", $$idx = " + (modelRs.idx) + ";" +
          "if (!Array.isArray($$exp)){" +
            value + "=" + assignment + "}" +
          "else{$$exp.splice($$idx, 1, " + assignment + ")}"
      }
    }
    
    /**
     * parse directive model to do the array update transform. a[idx] = val => $$a.splice($$idx, 1, val)
     *
     * for loop possible cases:
     *
     * - test
     * - test[idx]
     * - test[test1[idx]]
     * - test["a"][idx]
     * - xxx.test[a[a].test1[idx]]
     * - test.xxx.a["asa"][test1[idx]]
     *
     */
    
    var len;
    var str;
    var chr;
    var index$1;
    var expressionPos;
    var expressionEndPos;
    
    function parseModel (val) {
      str = val;
      len = str.length;
      index$1 = expressionPos = expressionEndPos = 0;
    
      if (val.indexOf('[') < 0 || val.lastIndexOf(']') < len - 1) {
        return {
          exp: val,
          idx: null
        }
      }
    
      while (!eof()) {
        chr = next();
        /* istanbul ignore if */
        if (isStringStart(chr)) {
          parseString(chr);
        } else if (chr === 0x5B) {
          parseBracket(chr);
        }
      }
    
      return {
        exp: val.substring(0, expressionPos),
        idx: val.substring(expressionPos + 1, expressionEndPos)
      }
    }
    
    function next () {
      return str.charCodeAt(++index$1)
    }
    
    function eof () {
      return index$1 >= len
    }
    
    function isStringStart (chr) {
      return chr === 0x22 || chr === 0x27
    }
    
    function parseBracket (chr) {
      var inBracket = 1;
      expressionPos = index$1;
      while (!eof()) {
        chr = next();
        if (isStringStart(chr)) {
          parseString(chr);
          continue
        }
        if (chr === 0x5B) { inBracket++; }
        if (chr === 0x5D) { inBracket--; }
        if (inBracket === 0) {
          expressionEndPos = index$1;
          break
        }
      }
    }
    
    function parseString (chr) {
      var stringQuote = chr;
      while (!eof()) {
        chr = next();
        if (chr === stringQuote) {
          break
        }
      }
    }
    
    /*  */
    
    var warn$1;
    
    // in some cases, the event used has to be determined at runtime
    // so we used some reserved tokens during compile.
    var RANGE_TOKEN = '__r';
    var CHECKBOX_RADIO_TOKEN = '__c';
    
    function model (
      el,
      dir,
      _warn
    ) {
      warn$1 = _warn;
      var value = dir.value;
      var modifiers = dir.modifiers;
      var tag = el.tag;
      var type = el.attrsMap.type;
    
      {
        var dynamicType = el.attrsMap['v-bind:type'] || el.attrsMap[':type'];
        if (tag === 'input' && dynamicType) {
          warn$1(
            "<input :type=\"" + dynamicType + "\" v-model=\"" + value + "\">:\n" +
            "v-model does not support dynamic input types. Use v-if branches instead."
          );
        }
        // inputs with type="file" are read only and setting the input's
        // value will throw an error.
        if (tag === 'input' && type === 'file') {
          warn$1(
            "<" + (el.tag) + " v-model=\"" + value + "\" type=\"file\">:\n" +
            "File inputs are read only. Use a v-on:change listener instead."
          );
        }
      }
    
      if (tag === 'select') {
        genSelect(el, value, modifiers);
      } else if (tag === 'input' && type === 'checkbox') {
        genCheckboxModel(el, value, modifiers);
      } else if (tag === 'input' && type === 'radio') {
        genRadioModel(el, value, modifiers);
      } else if (tag === 'input' || tag === 'textarea') {
        genDefaultModel(el, value, modifiers);
      } else if (!config.isReservedTag(tag)) {
        genComponentModel(el, value, modifiers);
        // component v-model doesn't need extra runtime
        return false
      } else {
        warn$1(
          "<" + (el.tag) + " v-model=\"" + value + "\">: " +
          "v-model is not supported on this element type. " +
          'If you are working with contenteditable, it\'s recommended to ' +
          'wrap a library dedicated for that purpose inside a custom component.'
        );
      }
    
      // ensure runtime directive metadata
      return true
    }
    
    function genCheckboxModel (
      el,
      value,
      modifiers
    ) {
      var number = modifiers && modifiers.number;
      var valueBinding = getBindingAttr(el, 'value') || 'null';
      var trueValueBinding = getBindingAttr(el, 'true-value') || 'true';
      var falseValueBinding = getBindingAttr(el, 'false-value') || 'false';
      addProp(el, 'checked',
        "Array.isArray(" + value + ")" +
          "?_i(" + value + "," + valueBinding + ")>-1" + (
            trueValueBinding === 'true'
              ? (":(" + value + ")")
              : (":_q(" + value + "," + trueValueBinding + ")")
          )
      );
      addHandler(el, CHECKBOX_RADIO_TOKEN,
        "var $$a=" + value + "," +
            '$$el=$event.target,' +
            "$$c=$$el.checked?(" + trueValueBinding + "):(" + falseValueBinding + ");" +
        'if(Array.isArray($$a)){' +
          "var $$v=" + (number ? '_n(' + valueBinding + ')' : valueBinding) + "," +
              '$$i=_i($$a,$$v);' +
          "if($$c){$$i<0&&(" + value + "=$$a.concat($$v))}" +
          "else{$$i>-1&&(" + value + "=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}" +
        "}else{" + value + "=$$c}",
        null, true
      );
    }
    
    function genRadioModel (
        el,
        value,
        modifiers
    ) {
      var number = modifiers && modifiers.number;
      var valueBinding = getBindingAttr(el, 'value') || 'null';
      valueBinding = number ? ("_n(" + valueBinding + ")") : valueBinding;
      addProp(el, 'checked', ("_q(" + value + "," + valueBinding + ")"));
      addHandler(el, CHECKBOX_RADIO_TOKEN, genAssignmentCode(value, valueBinding), null, true);
    }
    
    function genSelect (
        el,
        value,
        modifiers
    ) {
      var number = modifiers && modifiers.number;
      var selectedVal = "Array.prototype.filter" +
        ".call($event.target.options,function(o){return o.selected})" +
        ".map(function(o){var val = \"_value\" in o ? o._value : o.value;" +
        "return " + (number ? '_n(val)' : 'val') + "})";
    
      var assignment = '$event.target.multiple ? $$selectedVal : $$selectedVal[0]';
      var code = "var $$selectedVal = " + selectedVal + ";";
      code = code + " " + (genAssignmentCode(value, assignment));
      addHandler(el, 'change', code, null, true);
    }
    
    function genDefaultModel (
      el,
      value,
      modifiers
    ) {
      var type = el.attrsMap.type;
      var ref = modifiers || {};
      var lazy = ref.lazy;
      var number = ref.number;
      var trim = ref.trim;
      var needCompositionGuard = !lazy && type !== 'range';
      var event = lazy
        ? 'change'
        : type === 'range'
          ? RANGE_TOKEN
          : 'input';
    
      var valueExpression = '$event.target.value';
      if (trim) {
        valueExpression = "$event.target.value.trim()";
      }
      if (number) {
        valueExpression = "_n(" + valueExpression + ")";
      }
    
      var code = genAssignmentCode(value, valueExpression);
      if (needCompositionGuard) {
        code = "if($event.target.composing)return;" + code;
      }
    
      addProp(el, 'value', ("(" + value + ")"));
      addHandler(el, event, code, null, true);
      if (trim || number || type === 'number') {
        addHandler(el, 'blur', '$forceUpdate()');
      }
    }
    
    /*  */
    
    // normalize v-model event tokens that can only be determined at runtime.
    // it's important to place the event as the first in the array because
    // the whole point is ensuring the v-model callback gets called before
    // user-attached handlers.
    function normalizeEvents (on) {
      var event;
      /* istanbul ignore if */
      if (on[RANGE_TOKEN]) {
        // IE input[type=range] only supports `change` event
        event = isIE ? 'change' : 'input';
        on[event] = [].concat(on[RANGE_TOKEN], on[event] || []);
        delete on[RANGE_TOKEN];
      }
      if (on[CHECKBOX_RADIO_TOKEN]) {
        // Chrome fires microtasks in between click/change, leads to #4521
        event = isChrome ? 'click' : 'change';
        on[event] = [].concat(on[CHECKBOX_RADIO_TOKEN], on[event] || []);
        delete on[CHECKBOX_RADIO_TOKEN];
      }
    }
    
    var target$1;
    
    function add$1 (
      event,
      handler,
      once,
      capture
    ) {
      if (once) {
        var oldHandler = handler;
        var _target = target$1; // save current target element in closure
        handler = function (ev) {
          var res = arguments.length === 1
            ? oldHandler(ev)
            : oldHandler.apply(null, arguments);
          if (res !== null) {
            remove$2(event, handler, capture, _target);
          }
        };
      }
      target$1.addEventListener(event, handler, capture);
    }
    
    function remove$2 (
      event,
      handler,
      capture,
      _target
    ) {
      (_target || target$1).removeEventListener(event, handler, capture);
    }
    
    function updateDOMListeners (oldVnode, vnode) {
      if (!oldVnode.data.on && !vnode.data.on) {
        return
      }
      var on = vnode.data.on || {};
      var oldOn = oldVnode.data.on || {};
      target$1 = vnode.elm;
      normalizeEvents(on);
      updateListeners(on, oldOn, add$1, remove$2, vnode.context);
    }
    
    var events = {
      create: updateDOMListeners,
      update: updateDOMListeners
    };
    
    /*  */
    
    function updateDOMProps (oldVnode, vnode) {
      if (!oldVnode.data.domProps && !vnode.data.domProps) {
        return
      }
      var key, cur;
      var elm = vnode.elm;
      var oldProps = oldVnode.data.domProps || {};
      var props = vnode.data.domProps || {};
      // clone observed objects, as the user probably wants to mutate it
      if (props.__ob__) {
        props = vnode.data.domProps = extend({}, props);
      }
    
      for (key in oldProps) {
        if (props[key] == null) {
          elm[key] = '';
        }
      }
      for (key in props) {
        cur = props[key];
        // ignore children if the node has textContent or innerHTML,
        // as these will throw away existing DOM nodes and cause removal errors
        // on subsequent patches (#3360)
        if (key === 'textContent' || key === 'innerHTML') {
          if (vnode.children) { vnode.children.length = 0; }
          if (cur === oldProps[key]) { continue }
        }
    
        if (key === 'value') {
          // store value as _value as well since
          // non-string values will be stringified
          elm._value = cur;
          // avoid resetting cursor position when value is the same
          var strCur = cur == null ? '' : String(cur);
          if (shouldUpdateValue(elm, vnode, strCur)) {
            elm.value = strCur;
          }
        } else {
          elm[key] = cur;
        }
      }
    }
    
    // check platforms/web/util/attrs.js acceptValue
    
    
    function shouldUpdateValue (
      elm,
      vnode,
      checkVal
    ) {
      return (!elm.composing && (
        vnode.tag === 'option' ||
        isDirty(elm, checkVal) ||
        isInputChanged(elm, checkVal)
      ))
    }
    
    function isDirty (elm, checkVal) {
      // return true when textbox (.number and .trim) loses focus and its value is not equal to the updated value
      return document.activeElement !== elm && elm.value !== checkVal
    }
    
    function isInputChanged (elm, newVal) {
      var value = elm.value;
      var modifiers = elm._vModifiers; // injected by v-model runtime
      if ((modifiers && modifiers.number) || elm.type === 'number') {
        return toNumber(value) !== toNumber(newVal)
      }
      if (modifiers && modifiers.trim) {
        return value.trim() !== newVal.trim()
      }
      return value !== newVal
    }
    
    var domProps = {
      create: updateDOMProps,
      update: updateDOMProps
    };
    
    /*  */
    
    var parseStyleText = cached(function (cssText) {
      var res = {};
      var listDelimiter = /;(?![^(]*\))/g;
      var propertyDelimiter = /:(.+)/;
      cssText.split(listDelimiter).forEach(function (item) {
        if (item) {
          var tmp = item.split(propertyDelimiter);
          tmp.length > 1 && (res[tmp[0].trim()] = tmp[1].trim());
        }
      });
      return res
    });
    
    // merge static and dynamic style data on the same vnode
    function normalizeStyleData (data) {
      var style = normalizeStyleBinding(data.style);
      // static style is pre-processed into an object during compilation
      // and is always a fresh object, so it's safe to merge into it
      return data.staticStyle
        ? extend(data.staticStyle, style)
        : style
    }
    
    // normalize possible array / string values into Object
    function normalizeStyleBinding (bindingStyle) {
      if (Array.isArray(bindingStyle)) {
        return toObject(bindingStyle)
      }
      if (typeof bindingStyle === 'string') {
        return parseStyleText(bindingStyle)
      }
      return bindingStyle
    }
    
    /**
     * parent component style should be after child's
     * so that parent component's style could override it
     */
    function getStyle (vnode, checkChild) {
      var res = {};
      var styleData;
    
      if (checkChild) {
        var childNode = vnode;
        while (childNode.componentInstance) {
          childNode = childNode.componentInstance._vnode;
          if (childNode.data && (styleData = normalizeStyleData(childNode.data))) {
            extend(res, styleData);
          }
        }
      }
    
      if ((styleData = normalizeStyleData(vnode.data))) {
        extend(res, styleData);
      }
    
      var parentNode = vnode;
      while ((parentNode = parentNode.parent)) {
        if (parentNode.data && (styleData = normalizeStyleData(parentNode.data))) {
          extend(res, styleData);
        }
      }
      return res
    }
    
    /*  */
    
    var cssVarRE = /^--/;
    var importantRE = /\s*!important$/;
    var setProp = function (el, name, val) {
      /* istanbul ignore if */
      if (cssVarRE.test(name)) {
        el.style.setProperty(name, val);
      } else if (importantRE.test(val)) {
        el.style.setProperty(name, val.replace(importantRE, ''), 'important');
      } else {
        el.style[normalize(name)] = val;
      }
    };
    
    var prefixes = ['Webkit', 'Moz', 'ms'];
    
    var testEl;
    var normalize = cached(function (prop) {
      testEl = testEl || document.createElement('div');
      prop = camelize(prop);
      if (prop !== 'filter' && (prop in testEl.style)) {
        return prop
      }
      var upper = prop.charAt(0).toUpperCase() + prop.slice(1);
      for (var i = 0; i < prefixes.length; i++) {
        var prefixed = prefixes[i] + upper;
        if (prefixed in testEl.style) {
          return prefixed
        }
      }
    });
    
    function updateStyle (oldVnode, vnode) {
      var data = vnode.data;
      var oldData = oldVnode.data;
    
      if (!data.staticStyle && !data.style &&
          !oldData.staticStyle && !oldData.style) {
        return
      }
    
      var cur, name;
      var el = vnode.elm;
      var oldStaticStyle = oldVnode.data.staticStyle;
      var oldStyleBinding = oldVnode.data.style || {};
    
      // if static style exists, stylebinding already merged into it when doing normalizeStyleData
      var oldStyle = oldStaticStyle || oldStyleBinding;
    
      var style = normalizeStyleBinding(vnode.data.style) || {};
    
      vnode.data.style = style.__ob__ ? extend({}, style) : style;
    
      var newStyle = getStyle(vnode, true);
    
      for (name in oldStyle) {
        if (newStyle[name] == null) {
          setProp(el, name, '');
        }
      }
      for (name in newStyle) {
        cur = newStyle[name];
        if (cur !== oldStyle[name]) {
          // ie9 setting to null has no effect, must use empty string
          setProp(el, name, cur == null ? '' : cur);
        }
      }
    }
    
    var style = {
      create: updateStyle,
      update: updateStyle
    };
    
    /*  */
    
    /**
     * Add class with compatibility for SVG since classList is not supported on
     * SVG elements in IE
     */
    function addClass (el, cls) {
      /* istanbul ignore if */
      if (!cls || !(cls = cls.trim())) {
        return
      }
    
      /* istanbul ignore else */
      if (el.classList) {
        if (cls.indexOf(' ') > -1) {
          cls.split(/\s+/).forEach(function (c) { return el.classList.add(c); });
        } else {
          el.classList.add(cls);
        }
      } else {
        var cur = " " + (el.getAttribute('class') || '') + " ";
        if (cur.indexOf(' ' + cls + ' ') < 0) {
          el.setAttribute('class', (cur + cls).trim());
        }
      }
    }
    
    /**
     * Remove class with compatibility for SVG since classList is not supported on
     * SVG elements in IE
     */
    function removeClass (el, cls) {
      /* istanbul ignore if */
      if (!cls || !(cls = cls.trim())) {
        return
      }
    
      /* istanbul ignore else */
      if (el.classList) {
        if (cls.indexOf(' ') > -1) {
          cls.split(/\s+/).forEach(function (c) { return el.classList.remove(c); });
        } else {
          el.classList.remove(cls);
        }
      } else {
        var cur = " " + (el.getAttribute('class') || '') + " ";
        var tar = ' ' + cls + ' ';
        while (cur.indexOf(tar) >= 0) {
          cur = cur.replace(tar, ' ');
        }
        el.setAttribute('class', cur.trim());
      }
    }
    
    /*  */
    
    function resolveTransition (def$$1) {
      if (!def$$1) {
        return
      }
      /* istanbul ignore else */
      if (typeof def$$1 === 'object') {
        var res = {};
        if (def$$1.css !== false) {
          extend(res, autoCssTransition(def$$1.name || 'v'));
        }
        extend(res, def$$1);
        return res
      } else if (typeof def$$1 === 'string') {
        return autoCssTransition(def$$1)
      }
    }
    
    var autoCssTransition = cached(function (name) {
      return {
        enterClass: (name + "-enter"),
        enterToClass: (name + "-enter-to"),
        enterActiveClass: (name + "-enter-active"),
        leaveClass: (name + "-leave"),
        leaveToClass: (name + "-leave-to"),
        leaveActiveClass: (name + "-leave-active")
      }
    });
    
    var hasTransition = inBrowser && !isIE9;
    var TRANSITION = 'transition';
    var ANIMATION = 'animation';
    
    // Transition property/event sniffing
    var transitionProp = 'transition';
    var transitionEndEvent = 'transitionend';
    var animationProp = 'animation';
    var animationEndEvent = 'animationend';
    if (hasTransition) {
      /* istanbul ignore if */
      if (window.ontransitionend === undefined &&
        window.onwebkittransitionend !== undefined) {
        transitionProp = 'WebkitTransition';
        transitionEndEvent = 'webkitTransitionEnd';
      }
      if (window.onanimationend === undefined &&
        window.onwebkitanimationend !== undefined) {
        animationProp = 'WebkitAnimation';
        animationEndEvent = 'webkitAnimationEnd';
      }
    }
    
    // binding to window is necessary to make hot reload work in IE in strict mode
    var raf = inBrowser && window.requestAnimationFrame
      ? window.requestAnimationFrame.bind(window)
      : setTimeout;
    
    function nextFrame (fn) {
      raf(function () {
        raf(fn);
      });
    }
    
    function addTransitionClass (el, cls) {
      (el._transitionClasses || (el._transitionClasses = [])).push(cls);
      addClass(el, cls);
    }
    
    function removeTransitionClass (el, cls) {
      if (el._transitionClasses) {
        remove(el._transitionClasses, cls);
      }
      removeClass(el, cls);
    }
    
    function whenTransitionEnds (
      el,
      expectedType,
      cb
    ) {
      var ref = getTransitionInfo(el, expectedType);
      var type = ref.type;
      var timeout = ref.timeout;
      var propCount = ref.propCount;
      if (!type) { return cb() }
      var event = type === TRANSITION ? transitionEndEvent : animationEndEvent;
      var ended = 0;
      var end = function () {
        el.removeEventListener(event, onEnd);
        cb();
      };
      var onEnd = function (e) {
        if (e.target === el) {
          if (++ended >= propCount) {
            end();
          }
        }
      };
      setTimeout(function () {
        if (ended < propCount) {
          end();
        }
      }, timeout + 1);
      el.addEventListener(event, onEnd);
    }
    
    var transformRE = /\b(transform|all)(,|$)/;
    
    function getTransitionInfo (el, expectedType) {
      var styles = window.getComputedStyle(el);
      var transitionDelays = styles[transitionProp + 'Delay'].split(', ');
      var transitionDurations = styles[transitionProp + 'Duration'].split(', ');
      var transitionTimeout = getTimeout(transitionDelays, transitionDurations);
      var animationDelays = styles[animationProp + 'Delay'].split(', ');
      var animationDurations = styles[animationProp + 'Duration'].split(', ');
      var animationTimeout = getTimeout(animationDelays, animationDurations);
    
      var type;
      var timeout = 0;
      var propCount = 0;
      /* istanbul ignore if */
      if (expectedType === TRANSITION) {
        if (transitionTimeout > 0) {
          type = TRANSITION;
          timeout = transitionTimeout;
          propCount = transitionDurations.length;
        }
      } else if (expectedType === ANIMATION) {
        if (animationTimeout > 0) {
          type = ANIMATION;
          timeout = animationTimeout;
          propCount = animationDurations.length;
        }
      } else {
        timeout = Math.max(transitionTimeout, animationTimeout);
        type = timeout > 0
          ? transitionTimeout > animationTimeout
            ? TRANSITION
            : ANIMATION
          : null;
        propCount = type
          ? type === TRANSITION
            ? transitionDurations.length
            : animationDurations.length
          : 0;
      }
      var hasTransform =
        type === TRANSITION &&
        transformRE.test(styles[transitionProp + 'Property']);
      return {
        type: type,
        timeout: timeout,
        propCount: propCount,
        hasTransform: hasTransform
      }
    }
    
    function getTimeout (delays, durations) {
      /* istanbul ignore next */
      while (delays.length < durations.length) {
        delays = delays.concat(delays);
      }
    
      return Math.max.apply(null, durations.map(function (d, i) {
        return toMs(d) + toMs(delays[i])
      }))
    }
    
    function toMs (s) {
      return Number(s.slice(0, -1)) * 1000
    }
    
    /*  */
    
    function enter (vnode, toggleDisplay) {
      var el = vnode.elm;
    
      // call leave callback now
      if (el._leaveCb) {
        el._leaveCb.cancelled = true;
        el._leaveCb();
      }
    
      var data = resolveTransition(vnode.data.transition);
      if (!data) {
        return
      }
    
      /* istanbul ignore if */
      if (el._enterCb || el.nodeType !== 1) {
        return
      }
    
      var css = data.css;
      var type = data.type;
      var enterClass = data.enterClass;
      var enterToClass = data.enterToClass;
      var enterActiveClass = data.enterActiveClass;
      var appearClass = data.appearClass;
      var appearToClass = data.appearToClass;
      var appearActiveClass = data.appearActiveClass;
      var beforeEnter = data.beforeEnter;
      var enter = data.enter;
      var afterEnter = data.afterEnter;
      var enterCancelled = data.enterCancelled;
      var beforeAppear = data.beforeAppear;
      var appear = data.appear;
      var afterAppear = data.afterAppear;
      var appearCancelled = data.appearCancelled;
      var duration = data.duration;
    
      // activeInstance will always be the <transition> component managing this
      // transition. One edge case to check is when the <transition> is placed
      // as the root node of a child component. In that case we need to check
      // <transition>'s parent for appear check.
      var context = activeInstance;
      var transitionNode = activeInstance.$vnode;
      while (transitionNode && transitionNode.parent) {
        transitionNode = transitionNode.parent;
        context = transitionNode.context;
      }
    
      var isAppear = !context._isMounted || !vnode.isRootInsert;
    
      if (isAppear && !appear && appear !== '') {
        return
      }
    
      var startClass = isAppear && appearClass
        ? appearClass
        : enterClass;
      var activeClass = isAppear && appearActiveClass
        ? appearActiveClass
        : enterActiveClass;
      var toClass = isAppear && appearToClass
        ? appearToClass
        : enterToClass;
    
      var beforeEnterHook = isAppear
        ? (beforeAppear || beforeEnter)
        : beforeEnter;
      var enterHook = isAppear
        ? (typeof appear === 'function' ? appear : enter)
        : enter;
      var afterEnterHook = isAppear
        ? (afterAppear || afterEnter)
        : afterEnter;
      var enterCancelledHook = isAppear
        ? (appearCancelled || enterCancelled)
        : enterCancelled;
    
      var explicitEnterDuration = toNumber(
        isObject(duration)
          ? duration.enter
          : duration
      );
    
      if ("development" !== 'production' && explicitEnterDuration != null) {
        checkDuration(explicitEnterDuration, 'enter', vnode);
      }
    
      var expectsCSS = css !== false && !isIE9;
      var userWantsControl = getHookArgumentsLength(enterHook);
    
      var cb = el._enterCb = once(function () {
        if (expectsCSS) {
          removeTransitionClass(el, toClass);
          removeTransitionClass(el, activeClass);
        }
        if (cb.cancelled) {
          if (expectsCSS) {
            removeTransitionClass(el, startClass);
          }
          enterCancelledHook && enterCancelledHook(el);
        } else {
          afterEnterHook && afterEnterHook(el);
        }
        el._enterCb = null;
      });
    
      if (!vnode.data.show) {
        // remove pending leave element on enter by injecting an insert hook
        mergeVNodeHook(vnode.data.hook || (vnode.data.hook = {}), 'insert', function () {
          var parent = el.parentNode;
          var pendingNode = parent && parent._pending && parent._pending[vnode.key];
          if (pendingNode &&
              pendingNode.tag === vnode.tag &&
              pendingNode.elm._leaveCb) {
            pendingNode.elm._leaveCb();
          }
          enterHook && enterHook(el, cb);
        });
      }
    
      // start enter transition
      beforeEnterHook && beforeEnterHook(el);
      if (expectsCSS) {
        addTransitionClass(el, startClass);
        addTransitionClass(el, activeClass);
        nextFrame(function () {
          addTransitionClass(el, toClass);
          removeTransitionClass(el, startClass);
          if (!cb.cancelled && !userWantsControl) {
            if (isValidDuration(explicitEnterDuration)) {
              setTimeout(cb, explicitEnterDuration);
            } else {
              whenTransitionEnds(el, type, cb);
            }
          }
        });
      }
    
      if (vnode.data.show) {
        toggleDisplay && toggleDisplay();
        enterHook && enterHook(el, cb);
      }
    
      if (!expectsCSS && !userWantsControl) {
        cb();
      }
    }
    
    function leave (vnode, rm) {
      var el = vnode.elm;
    
      // call enter callback now
      if (el._enterCb) {
        el._enterCb.cancelled = true;
        el._enterCb();
      }
    
      var data = resolveTransition(vnode.data.transition);
      if (!data) {
        return rm()
      }
    
      /* istanbul ignore if */
      if (el._leaveCb || el.nodeType !== 1) {
        return
      }
    
      var css = data.css;
      var type = data.type;
      var leaveClass = data.leaveClass;
      var leaveToClass = data.leaveToClass;
      var leaveActiveClass = data.leaveActiveClass;
      var beforeLeave = data.beforeLeave;
      var leave = data.leave;
      var afterLeave = data.afterLeave;
      var leaveCancelled = data.leaveCancelled;
      var delayLeave = data.delayLeave;
      var duration = data.duration;
    
      var expectsCSS = css !== false && !isIE9;
      var userWantsControl = getHookArgumentsLength(leave);
    
      var explicitLeaveDuration = toNumber(
        isObject(duration)
          ? duration.leave
          : duration
      );
    
      if ("development" !== 'production' && explicitLeaveDuration != null) {
        checkDuration(explicitLeaveDuration, 'leave', vnode);
      }
    
      var cb = el._leaveCb = once(function () {
        if (el.parentNode && el.parentNode._pending) {
          el.parentNode._pending[vnode.key] = null;
        }
        if (expectsCSS) {
          removeTransitionClass(el, leaveToClass);
          removeTransitionClass(el, leaveActiveClass);
        }
        if (cb.cancelled) {
          if (expectsCSS) {
            removeTransitionClass(el, leaveClass);
          }
          leaveCancelled && leaveCancelled(el);
        } else {
          rm();
          afterLeave && afterLeave(el);
        }
        el._leaveCb = null;
      });
    
      if (delayLeave) {
        delayLeave(performLeave);
      } else {
        performLeave();
      }
    
      function performLeave () {
        // the delayed leave may have already been cancelled
        if (cb.cancelled) {
          return
        }
        // record leaving element
        if (!vnode.data.show) {
          (el.parentNode._pending || (el.parentNode._pending = {}))[vnode.key] = vnode;
        }
        beforeLeave && beforeLeave(el);
        if (expectsCSS) {
          addTransitionClass(el, leaveClass);
          addTransitionClass(el, leaveActiveClass);
          nextFrame(function () {
            addTransitionClass(el, leaveToClass);
            removeTransitionClass(el, leaveClass);
            if (!cb.cancelled && !userWantsControl) {
              if (isValidDuration(explicitLeaveDuration)) {
                setTimeout(cb, explicitLeaveDuration);
              } else {
                whenTransitionEnds(el, type, cb);
              }
            }
          });
        }
        leave && leave(el, cb);
        if (!expectsCSS && !userWantsControl) {
          cb();
        }
      }
    }
    
    // only used in dev mode
    function checkDuration (val, name, vnode) {
      if (typeof val !== 'number') {
        warn(
          "<transition> explicit " + name + " duration is not a valid number - " +
          "got " + (JSON.stringify(val)) + ".",
          vnode.context
        );
      } else if (isNaN(val)) {
        warn(
          "<transition> explicit " + name + " duration is NaN - " +
          'the duration expression might be incorrect.',
          vnode.context
        );
      }
    }
    
    function isValidDuration (val) {
      return typeof val === 'number' && !isNaN(val)
    }
    
    /**
     * Normalize a transition hook's argument length. The hook may be:
     * - a merged hook (invoker) with the original in .fns
     * - a wrapped component method (check ._length)
     * - a plain function (.length)
     */
    function getHookArgumentsLength (fn) {
      if (!fn) { return false }
      var invokerFns = fn.fns;
      if (invokerFns) {
        // invoker
        return getHookArgumentsLength(
          Array.isArray(invokerFns)
            ? invokerFns[0]
            : invokerFns
        )
      } else {
        return (fn._length || fn.length) > 1
      }
    }
    
    function _enter (_, vnode) {
      if (!vnode.data.show) {
        enter(vnode);
      }
    }
    
    var transition = inBrowser ? {
      create: _enter,
      activate: _enter,
      remove: function remove$$1 (vnode, rm) {
        /* istanbul ignore else */
        if (!vnode.data.show) {
          leave(vnode, rm);
        } else {
          rm();
        }
      }
    } : {};
    
    var platformModules = [
      attrs,
      klass,
      events,
      domProps,
      style,
      transition
    ];
    
    /*  */
    
    // the directive module should be applied last, after all
    // built-in modules have been applied.
    var modules = platformModules.concat(baseModules);
    
    var patch = createPatchFunction({ nodeOps: nodeOps, modules: modules });
    
    /**
     * Not type checking this file because flow doesn't like attaching
     * properties to Elements.
     */
    
    /* istanbul ignore if */
    if (isIE9) {
      // http://www.matts411.com/post/internet-explorer-9-oninput/
      document.addEventListener('selectionchange', function () {
        var el = document.activeElement;
        if (el && el.vmodel) {
          trigger(el, 'input');
        }
      });
    }
    
    var model$1 = {
      inserted: function inserted (el, binding, vnode) {
        if (vnode.tag === 'select') {
          var cb = function () {
            setSelected(el, binding, vnode.context);
          };
          cb();
          /* istanbul ignore if */
          if (isIE || isEdge) {
            setTimeout(cb, 0);
          }
        } else if (vnode.tag === 'textarea' || el.type === 'text' || el.type === 'password') {
          el._vModifiers = binding.modifiers;
          if (!binding.modifiers.lazy) {
            if (!isAndroid) {
              el.addEventListener('compositionstart', onCompositionStart);
              el.addEventListener('compositionend', onCompositionEnd);
            }
            /* istanbul ignore if */
            if (isIE9) {
              el.vmodel = true;
            }
          }
        }
      },
      componentUpdated: function componentUpdated (el, binding, vnode) {
        if (vnode.tag === 'select') {
          setSelected(el, binding, vnode.context);
          // in case the options rendered by v-for have changed,
          // it's possible that the value is out-of-sync with the rendered options.
          // detect such cases and filter out values that no longer has a matching
          // option in the DOM.
          var needReset = el.multiple
            ? binding.value.some(function (v) { return hasNoMatchingOption(v, el.options); })
            : binding.value !== binding.oldValue && hasNoMatchingOption(binding.value, el.options);
          if (needReset) {
            trigger(el, 'change');
          }
        }
      }
    };
    
    function setSelected (el, binding, vm) {
      var value = binding.value;
      var isMultiple = el.multiple;
      if (isMultiple && !Array.isArray(value)) {
        "development" !== 'production' && warn(
          "<select multiple v-model=\"" + (binding.expression) + "\"> " +
          "expects an Array value for its binding, but got " + (Object.prototype.toString.call(value).slice(8, -1)),
          vm
        );
        return
      }
      var selected, option;
      for (var i = 0, l = el.options.length; i < l; i++) {
        option = el.options[i];
        if (isMultiple) {
          selected = looseIndexOf(value, getValue(option)) > -1;
          if (option.selected !== selected) {
            option.selected = selected;
          }
        } else {
          if (looseEqual(getValue(option), value)) {
            if (el.selectedIndex !== i) {
              el.selectedIndex = i;
            }
            return
          }
        }
      }
      if (!isMultiple) {
        el.selectedIndex = -1;
      }
    }
    
    function hasNoMatchingOption (value, options) {
      for (var i = 0, l = options.length; i < l; i++) {
        if (looseEqual(getValue(options[i]), value)) {
          return false
        }
      }
      return true
    }
    
    function getValue (option) {
      return '_value' in option
        ? option._value
        : option.value
    }
    
    function onCompositionStart (e) {
      e.target.composing = true;
    }
    
    function onCompositionEnd (e) {
      e.target.composing = false;
      trigger(e.target, 'input');
    }
    
    function trigger (el, type) {
      var e = document.createEvent('HTMLEvents');
      e.initEvent(type, true, true);
      el.dispatchEvent(e);
    }
    
    /*  */
    
    // recursively search for possible transition defined inside the component root
    function locateNode (vnode) {
      return vnode.componentInstance && (!vnode.data || !vnode.data.transition)
        ? locateNode(vnode.componentInstance._vnode)
        : vnode
    }
    
    var show = {
      bind: function bind (el, ref, vnode) {
        var value = ref.value;
    
        vnode = locateNode(vnode);
        var transition = vnode.data && vnode.data.transition;
        var originalDisplay = el.__vOriginalDisplay =
          el.style.display === 'none' ? '' : el.style.display;
        if (value && transition && !isIE9) {
          vnode.data.show = true;
          enter(vnode, function () {
            el.style.display = originalDisplay;
          });
        } else {
          el.style.display = value ? originalDisplay : 'none';
        }
      },
    
      update: function update (el, ref, vnode) {
        var value = ref.value;
        var oldValue = ref.oldValue;
    
        /* istanbul ignore if */
        if (value === oldValue) { return }
        vnode = locateNode(vnode);
        var transition = vnode.data && vnode.data.transition;
        if (transition && !isIE9) {
          vnode.data.show = true;
          if (value) {
            enter(vnode, function () {
              el.style.display = el.__vOriginalDisplay;
            });
          } else {
            leave(vnode, function () {
              el.style.display = 'none';
            });
          }
        } else {
          el.style.display = value ? el.__vOriginalDisplay : 'none';
        }
      },
    
      unbind: function unbind (
        el,
        binding,
        vnode,
        oldVnode,
        isDestroy
      ) {
        if (!isDestroy) {
          el.style.display = el.__vOriginalDisplay;
        }
      }
    };
    
    var platformDirectives = {
      model: model$1,
      show: show
    };
    
    /*  */
    
    // Provides transition support for a single element/component.
    // supports transition mode (out-in / in-out)
    
    var transitionProps = {
      name: String,
      appear: Boolean,
      css: Boolean,
      mode: String,
      type: String,
      enterClass: String,
      leaveClass: String,
      enterToClass: String,
      leaveToClass: String,
      enterActiveClass: String,
      leaveActiveClass: String,
      appearClass: String,
      appearActiveClass: String,
      appearToClass: String,
      duration: [Number, String, Object]
    };
    
    // in case the child is also an abstract component, e.g. <keep-alive>
    // we want to recursively retrieve the real component to be rendered
    function getRealChild (vnode) {
      var compOptions = vnode && vnode.componentOptions;
      if (compOptions && compOptions.Ctor.options.abstract) {
        return getRealChild(getFirstComponentChild(compOptions.children))
      } else {
        return vnode
      }
    }
    
    function extractTransitionData (comp) {
      var data = {};
      var options = comp.$options;
      // props
      for (var key in options.propsData) {
        data[key] = comp[key];
      }
      // events.
      // extract listeners and pass them directly to the transition methods
      var listeners = options._parentListeners;
      for (var key$1 in listeners) {
        data[camelize(key$1)] = listeners[key$1];
      }
      return data
    }
    
    function placeholder (h, rawChild) {
      return /\d-keep-alive$/.test(rawChild.tag)
        ? h('keep-alive')
        : null
    }
    
    function hasParentTransition (vnode) {
      while ((vnode = vnode.parent)) {
        if (vnode.data.transition) {
          return true
        }
      }
    }
    
    function isSameChild (child, oldChild) {
      return oldChild.key === child.key && oldChild.tag === child.tag
    }
    
    var Transition = {
      name: 'transition',
      props: transitionProps,
      abstract: true,
    
      render: function render (h) {
        var this$1 = this;
    
        var children = this.$slots.default;
        if (!children) {
          return
        }
    
        // filter out text nodes (possible whitespaces)
        children = children.filter(function (c) { return c.tag; });
        /* istanbul ignore if */
        if (!children.length) {
          return
        }
    
        // warn multiple elements
        if ("development" !== 'production' && children.length > 1) {
          warn(
            '<transition> can only be used on a single element. Use ' +
            '<transition-group> for lists.',
            this.$parent
          );
        }
    
        var mode = this.mode;
    
        // warn invalid mode
        if ("development" !== 'production' &&
            mode && mode !== 'in-out' && mode !== 'out-in') {
          warn(
            'invalid <transition> mode: ' + mode,
            this.$parent
          );
        }
    
        var rawChild = children[0];
    
        // if this is a component root node and the component's
        // parent container node also has transition, skip.
        if (hasParentTransition(this.$vnode)) {
          return rawChild
        }
    
        // apply transition data to child
        // use getRealChild() to ignore abstract components e.g. keep-alive
        var child = getRealChild(rawChild);
        /* istanbul ignore if */
        if (!child) {
          return rawChild
        }
    
        if (this._leaving) {
          return placeholder(h, rawChild)
        }
    
        // ensure a key that is unique to the vnode type and to this transition
        // component instance. This key will be used to remove pending leaving nodes
        // during entering.
        var id = "__transition-" + (this._uid) + "-";
        child.key = child.key == null
          ? id + child.tag
          : isPrimitive(child.key)
            ? (String(child.key).indexOf(id) === 0 ? child.key : id + child.key)
            : child.key;
    
        var data = (child.data || (child.data = {})).transition = extractTransitionData(this);
        var oldRawChild = this._vnode;
        var oldChild = getRealChild(oldRawChild);
    
        // mark v-show
        // so that the transition module can hand over the control to the directive
        if (child.data.directives && child.data.directives.some(function (d) { return d.name === 'show'; })) {
          child.data.show = true;
        }
    
        if (oldChild && oldChild.data && !isSameChild(child, oldChild)) {
          // replace old child transition data with fresh one
          // important for dynamic transitions!
          var oldData = oldChild && (oldChild.data.transition = extend({}, data));
          // handle transition mode
          if (mode === 'out-in') {
            // return placeholder node and queue update when leave finishes
            this._leaving = true;
            mergeVNodeHook(oldData, 'afterLeave', function () {
              this$1._leaving = false;
              this$1.$forceUpdate();
            });
            return placeholder(h, rawChild)
          } else if (mode === 'in-out') {
            var delayedLeave;
            var performLeave = function () { delayedLeave(); };
            mergeVNodeHook(data, 'afterEnter', performLeave);
            mergeVNodeHook(data, 'enterCancelled', performLeave);
            mergeVNodeHook(oldData, 'delayLeave', function (leave) { delayedLeave = leave; });
          }
        }
    
        return rawChild
      }
    };
    
    /*  */
    
    // Provides transition support for list items.
    // supports move transitions using the FLIP technique.
    
    // Because the vdom's children update algorithm is "unstable" - i.e.
    // it doesn't guarantee the relative positioning of removed elements,
    // we force transition-group to update its children into two passes:
    // in the first pass, we remove all nodes that need to be removed,
    // triggering their leaving transition; in the second pass, we insert/move
    // into the final desired state. This way in the second pass removed
    // nodes will remain where they should be.
    
    var props = extend({
      tag: String,
      moveClass: String
    }, transitionProps);
    
    delete props.mode;
    
    var TransitionGroup = {
      props: props,
    
      render: function render (h) {
        var tag = this.tag || this.$vnode.data.tag || 'span';
        var map = Object.create(null);
        var prevChildren = this.prevChildren = this.children;
        var rawChildren = this.$slots.default || [];
        var children = this.children = [];
        var transitionData = extractTransitionData(this);
    
        for (var i = 0; i < rawChildren.length; i++) {
          var c = rawChildren[i];
          if (c.tag) {
            if (c.key != null && String(c.key).indexOf('__vlist') !== 0) {
              children.push(c);
              map[c.key] = c
              ;(c.data || (c.data = {})).transition = transitionData;
            } else {
              var opts = c.componentOptions;
              var name = opts ? (opts.Ctor.options.name || opts.tag || '') : c.tag;
              warn(("<transition-group> children must be keyed: <" + name + ">"));
            }
          }
        }
    
        if (prevChildren) {
          var kept = [];
          var removed = [];
          for (var i$1 = 0; i$1 < prevChildren.length; i$1++) {
            var c$1 = prevChildren[i$1];
            c$1.data.transition = transitionData;
            c$1.data.pos = c$1.elm.getBoundingClientRect();
            if (map[c$1.key]) {
              kept.push(c$1);
            } else {
              removed.push(c$1);
            }
          }
          this.kept = h(tag, null, kept);
          this.removed = removed;
        }
    
        return h(tag, null, children)
      },
    
      beforeUpdate: function beforeUpdate () {
        // force removing pass
        this.__patch__(
          this._vnode,
          this.kept,
          false, // hydrating
          true // removeOnly (!important, avoids unnecessary moves)
        );
        this._vnode = this.kept;
      },
    
      updated: function updated () {
        var children = this.prevChildren;
        var moveClass = this.moveClass || ((this.name || 'v') + '-move');
        if (!children.length || !this.hasMove(children[0].elm, moveClass)) {
          return
        }
    
        // we divide the work into three loops to avoid mixing DOM reads and writes
        // in each iteration - which helps prevent layout thrashing.
        children.forEach(callPendingCbs);
        children.forEach(recordPosition);
        children.forEach(applyTranslation);
    
        // force reflow to put everything in position
        var body = document.body;
        var f = body.offsetHeight; // eslint-disable-line
    
        children.forEach(function (c) {
          if (c.data.moved) {
            var el = c.elm;
            var s = el.style;
            addTransitionClass(el, moveClass);
            s.transform = s.WebkitTransform = s.transitionDuration = '';
            el.addEventListener(transitionEndEvent, el._moveCb = function cb (e) {
              if (!e || /transform$/.test(e.propertyName)) {
                el.removeEventListener(transitionEndEvent, cb);
                el._moveCb = null;
                removeTransitionClass(el, moveClass);
              }
            });
          }
        });
      },
    
      methods: {
        hasMove: function hasMove (el, moveClass) {
          /* istanbul ignore if */
          if (!hasTransition) {
            return false
          }
          if (this._hasMove != null) {
            return this._hasMove
          }
          // Detect whether an element with the move class applied has
          // CSS transitions. Since the element may be inside an entering
          // transition at this very moment, we make a clone of it and remove
          // all other transition classes applied to ensure only the move class
          // is applied.
          var clone = el.cloneNode();
          if (el._transitionClasses) {
            el._transitionClasses.forEach(function (cls) { removeClass(clone, cls); });
          }
          addClass(clone, moveClass);
          clone.style.display = 'none';
          this.$el.appendChild(clone);
          var info = getTransitionInfo(clone);
          this.$el.removeChild(clone);
          return (this._hasMove = info.hasTransform)
        }
      }
    };
    
    function callPendingCbs (c) {
      /* istanbul ignore if */
      if (c.elm._moveCb) {
        c.elm._moveCb();
      }
      /* istanbul ignore if */
      if (c.elm._enterCb) {
        c.elm._enterCb();
      }
    }
    
    function recordPosition (c) {
      c.data.newPos = c.elm.getBoundingClientRect();
    }
    
    function applyTranslation (c) {
      var oldPos = c.data.pos;
      var newPos = c.data.newPos;
      var dx = oldPos.left - newPos.left;
      var dy = oldPos.top - newPos.top;
      if (dx || dy) {
        c.data.moved = true;
        var s = c.elm.style;
        s.transform = s.WebkitTransform = "translate(" + dx + "px," + dy + "px)";
        s.transitionDuration = '0s';
      }
    }
    
    var platformComponents = {
      Transition: Transition,
      TransitionGroup: TransitionGroup
    };
    
    /*  */
    
    // install platform specific utils
    Vue$3.config.mustUseProp = mustUseProp;
    Vue$3.config.isReservedTag = isReservedTag;
    Vue$3.config.getTagNamespace = getTagNamespace;
    Vue$3.config.isUnknownElement = isUnknownElement;
    
    // install platform runtime directives & components
    extend(Vue$3.options.directives, platformDirectives);
    extend(Vue$3.options.components, platformComponents);
    
    // install platform patch function
    Vue$3.prototype.__patch__ = inBrowser ? patch : noop;
    
    // public mount method
    Vue$3.prototype.$mount = function (
      el,
      hydrating
    ) {
      el = el && inBrowser ? query(el) : undefined;
      return mountComponent(this, el, hydrating)
    };
    
    // devtools global hook
    /* istanbul ignore next */
    setTimeout(function () {
      if (config.devtools) {
        if (devtools) {
          devtools.emit('init', Vue$3);
        } else if ("development" !== 'production' && isChrome) {
          console[console.info ? 'info' : 'log'](
            'Download the Vue Devtools extension for a better development experience:\n' +
            'https://github.com/vuejs/vue-devtools'
          );
        }
      }
      if ("development" !== 'production' &&
          config.productionTip !== false &&
          inBrowser && typeof console !== 'undefined') {
        console[console.info ? 'info' : 'log'](
          "You are running Vue in development mode.\n" +
          "Make sure to turn on production mode when deploying for production.\n" +
          "See more tips at https://vuejs.org/guide/deployment.html"
        );
      }
    }, 0);
    
    /*  */
    
    // check whether current browser encodes a char inside attribute values
    function shouldDecode (content, encoded) {
      var div = document.createElement('div');
      div.innerHTML = "<div a=\"" + content + "\">";
      return div.innerHTML.indexOf(encoded) > 0
    }
    
    // #3663
    // IE encodes newlines inside attribute values while other browsers don't
    var shouldDecodeNewlines = inBrowser ? shouldDecode('\n', '&#10;') : false;
    
    /*  */
    
    var isUnaryTag = makeMap(
      'area,base,br,col,embed,frame,hr,img,input,isindex,keygen,' +
      'link,meta,param,source,track,wbr'
    );
    
    // Elements that you can, intentionally, leave open
    // (and which close themselves)
    var canBeLeftOpenTag = makeMap(
      'colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source'
    );
    
    // HTML5 tags https://html.spec.whatwg.org/multipage/indices.html#elements-3
    // Phrasing Content https://html.spec.whatwg.org/multipage/dom.html#phrasing-content
    var isNonPhrasingTag = makeMap(
      'address,article,aside,base,blockquote,body,caption,col,colgroup,dd,' +
      'details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,' +
      'h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,' +
      'optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,' +
      'title,tr,track'
    );
    
    /*  */
    
    var decoder;
    
    function decode (html) {
      decoder = decoder || document.createElement('div');
      decoder.innerHTML = html;
      return decoder.textContent
    }
    
    /**
     * Not type-checking this file because it's mostly vendor code.
     */
    
    /*!
     * HTML Parser By John Resig (ejohn.org)
     * Modified by Juriy "kangax" Zaytsev
     * Original code by Erik Arvidsson, Mozilla Public License
     * http://erik.eae.net/simplehtmlparser/simplehtmlparser.js
     */
    
    // Regular Expressions for parsing tags and attributes
    var singleAttrIdentifier = /([^\s"'<>/=]+)/;
    var singleAttrAssign = /(?:=)/;
    var singleAttrValues = [
      // attr value double quotes
      /"([^"]*)"+/.source,
      // attr value, single quotes
      /'([^']*)'+/.source,
      // attr value, no quotes
      /([^\s"'=<>`]+)/.source
    ];
    var attribute = new RegExp(
      '^\\s*' + singleAttrIdentifier.source +
      '(?:\\s*(' + singleAttrAssign.source + ')' +
      '\\s*(?:' + singleAttrValues.join('|') + '))?'
    );
    
    // could use https://www.w3.org/TR/1999/REC-xml-names-19990114/#NT-QName
    // but for Vue templates we can enforce a simple charset
    var ncname = '[a-zA-Z_][\\w\\-\\.]*';
    var qnameCapture = '((?:' + ncname + '\\:)?' + ncname + ')';
    var startTagOpen = new RegExp('^<' + qnameCapture);
    var startTagClose = /^\s*(\/?)>/;
    var endTag = new RegExp('^<\\/' + qnameCapture + '[^>]*>');
    var doctype = /^<!DOCTYPE [^>]+>/i;
    var comment = /^<!--/;
    var conditionalComment = /^<!\[/;
    
    var IS_REGEX_CAPTURING_BROKEN = false;
    'x'.replace(/x(.)?/g, function (m, g) {
      IS_REGEX_CAPTURING_BROKEN = g === '';
    });
    
    // Special Elements (can contain anything)
    var isPlainTextElement = makeMap('script,style,textarea', true);
    var reCache = {};
    
    var decodingMap = {
      '&lt;': '<',
      '&gt;': '>',
      '&quot;': '"',
      '&amp;': '&',
      '&#10;': '\n'
    };
    var encodedAttr = /&(?:lt|gt|quot|amp);/g;
    var encodedAttrWithNewLines = /&(?:lt|gt|quot|amp|#10);/g;
    
    function decodeAttr (value, shouldDecodeNewlines) {
      var re = shouldDecodeNewlines ? encodedAttrWithNewLines : encodedAttr;
      return value.replace(re, function (match) { return decodingMap[match]; })
    }
    
    function parseHTML (html, options) {
      var stack = [];
      var expectHTML = options.expectHTML;
      var isUnaryTag$$1 = options.isUnaryTag || no;
      var canBeLeftOpenTag$$1 = options.canBeLeftOpenTag || no;
      var index = 0;
      var last, lastTag;
      while (html) {
        last = html;
        // Make sure we're not in a plaintext content element like script/style
        if (!lastTag || !isPlainTextElement(lastTag)) {
          var textEnd = html.indexOf('<');
          if (textEnd === 0) {
            // Comment:
            if (comment.test(html)) {
              var commentEnd = html.indexOf('-->');
    
              if (commentEnd >= 0) {
                advance(commentEnd + 3);
                continue
              }
            }
    
            // http://en.wikipedia.org/wiki/Conditional_comment#Downlevel-revealed_conditional_comment
            if (conditionalComment.test(html)) {
              var conditionalEnd = html.indexOf(']>');
    
              if (conditionalEnd >= 0) {
                advance(conditionalEnd + 2);
                continue
              }
            }
    
            // Doctype:
            var doctypeMatch = html.match(doctype);
            if (doctypeMatch) {
              advance(doctypeMatch[0].length);
              continue
            }
    
            // End tag:
            var endTagMatch = html.match(endTag);
            if (endTagMatch) {
              var curIndex = index;
              advance(endTagMatch[0].length);
              parseEndTag(endTagMatch[1], curIndex, index);
              continue
            }
    
            // Start tag:
            var startTagMatch = parseStartTag();
            if (startTagMatch) {
              handleStartTag(startTagMatch);
              continue
            }
          }
    
          var text = (void 0), rest$1 = (void 0), next = (void 0);
          if (textEnd >= 0) {
            rest$1 = html.slice(textEnd);
            while (
              !endTag.test(rest$1) &&
              !startTagOpen.test(rest$1) &&
              !comment.test(rest$1) &&
              !conditionalComment.test(rest$1)
            ) {
              // < in plain text, be forgiving and treat it as text
              next = rest$1.indexOf('<', 1);
              if (next < 0) { break }
              textEnd += next;
              rest$1 = html.slice(textEnd);
            }
            text = html.substring(0, textEnd);
            advance(textEnd);
          }
    
          if (textEnd < 0) {
            text = html;
            html = '';
          }
    
          if (options.chars && text) {
            options.chars(text);
          }
        } else {
          var stackedTag = lastTag.toLowerCase();
          var reStackedTag = reCache[stackedTag] || (reCache[stackedTag] = new RegExp('([\\s\\S]*?)(</' + stackedTag + '[^>]*>)', 'i'));
          var endTagLength = 0;
          var rest = html.replace(reStackedTag, function (all, text, endTag) {
            endTagLength = endTag.length;
            if (!isPlainTextElement(stackedTag) && stackedTag !== 'noscript') {
              text = text
                .replace(/<!--([\s\S]*?)-->/g, '$1')
                .replace(/<!\[CDATA\[([\s\S]*?)]]>/g, '$1');
            }
            if (options.chars) {
              options.chars(text);
            }
            return ''
          });
          index += html.length - rest.length;
          html = rest;
          parseEndTag(stackedTag, index - endTagLength, index);
        }
    
        if (html === last) {
          options.chars && options.chars(html);
          if ("development" !== 'production' && !stack.length && options.warn) {
            options.warn(("Mal-formatted tag at end of template: \"" + html + "\""));
          }
          break
        }
      }
    
      // Clean up any remaining tags
      parseEndTag();
    
      function advance (n) {
        index += n;
        html = html.substring(n);
      }
    
      function parseStartTag () {
        var start = html.match(startTagOpen);
        if (start) {
          var match = {
            tagName: start[1],
            attrs: [],
            start: index
          };
          advance(start[0].length);
          var end, attr;
          while (!(end = html.match(startTagClose)) && (attr = html.match(attribute))) {
            advance(attr[0].length);
            match.attrs.push(attr);
          }
          if (end) {
            match.unarySlash = end[1];
            advance(end[0].length);
            match.end = index;
            return match
          }
        }
      }
    
      function handleStartTag (match) {
        var tagName = match.tagName;
        var unarySlash = match.unarySlash;
    
        if (expectHTML) {
          if (lastTag === 'p' && isNonPhrasingTag(tagName)) {
            parseEndTag(lastTag);
          }
          if (canBeLeftOpenTag$$1(tagName) && lastTag === tagName) {
            parseEndTag(tagName);
          }
        }
    
        var unary = isUnaryTag$$1(tagName) || tagName === 'html' && lastTag === 'head' || !!unarySlash;
    
        var l = match.attrs.length;
        var attrs = new Array(l);
        for (var i = 0; i < l; i++) {
          var args = match.attrs[i];
          // hackish work around FF bug https://bugzilla.mozilla.org/show_bug.cgi?id=369778
          if (IS_REGEX_CAPTURING_BROKEN && args[0].indexOf('""') === -1) {
            if (args[3] === '') { delete args[3]; }
            if (args[4] === '') { delete args[4]; }
            if (args[5] === '') { delete args[5]; }
          }
          var value = args[3] || args[4] || args[5] || '';
          attrs[i] = {
            name: args[1],
            value: decodeAttr(
              value,
              options.shouldDecodeNewlines
            )
          };
        }
    
        if (!unary) {
          stack.push({ tag: tagName, lowerCasedTag: tagName.toLowerCase(), attrs: attrs });
          lastTag = tagName;
        }
    
        if (options.start) {
          options.start(tagName, attrs, unary, match.start, match.end);
        }
      }
    
      function parseEndTag (tagName, start, end) {
        var pos, lowerCasedTagName;
        if (start == null) { start = index; }
        if (end == null) { end = index; }
    
        if (tagName) {
          lowerCasedTagName = tagName.toLowerCase();
        }
    
        // Find the closest opened tag of the same type
        if (tagName) {
          for (pos = stack.length - 1; pos >= 0; pos--) {
            if (stack[pos].lowerCasedTag === lowerCasedTagName) {
              break
            }
          }
        } else {
          // If no tag name is provided, clean shop
          pos = 0;
        }
    
        if (pos >= 0) {
          // Close all the open elements, up the stack
          for (var i = stack.length - 1; i >= pos; i--) {
            if ("development" !== 'production' &&
                (i > pos || !tagName) &&
                options.warn) {
              options.warn(
                ("tag <" + (stack[i].tag) + "> has no matching end tag.")
              );
            }
            if (options.end) {
              options.end(stack[i].tag, start, end);
            }
          }
    
          // Remove the open elements from the stack
          stack.length = pos;
          lastTag = pos && stack[pos - 1].tag;
        } else if (lowerCasedTagName === 'br') {
          if (options.start) {
            options.start(tagName, [], true, start, end);
          }
        } else if (lowerCasedTagName === 'p') {
          if (options.start) {
            options.start(tagName, [], false, start, end);
          }
          if (options.end) {
            options.end(tagName, start, end);
          }
        }
      }
    }
    
    /*  */
    
    var defaultTagRE = /\{\{((?:.|\n)+?)\}\}/g;
    var regexEscapeRE = /[-.*+?^${}()|[\]\/\\]/g;
    
    var buildRegex = cached(function (delimiters) {
      var open = delimiters[0].replace(regexEscapeRE, '\\$&');
      var close = delimiters[1].replace(regexEscapeRE, '\\$&');
      return new RegExp(open + '((?:.|\\n)+?)' + close, 'g')
    });
    
    function parseText (
      text,
      delimiters
    ) {
      var tagRE = delimiters ? buildRegex(delimiters) : defaultTagRE;
      if (!tagRE.test(text)) {
        return
      }
      var tokens = [];
      var lastIndex = tagRE.lastIndex = 0;
      var match, index;
      while ((match = tagRE.exec(text))) {
        index = match.index;
        // push text token
        if (index > lastIndex) {
          tokens.push(JSON.stringify(text.slice(lastIndex, index)));
        }
        // tag token
        var exp = parseFilters(match[1].trim());
        tokens.push(("_s(" + exp + ")"));
        lastIndex = index + match[0].length;
      }
      if (lastIndex < text.length) {
        tokens.push(JSON.stringify(text.slice(lastIndex)));
      }
      return tokens.join('+')
    }
    
    /*  */
    
    var onRE = /^@|^v-on:/;
    var dirRE = /^v-|^@|^:/;
    var forAliasRE = /(.*?)\s+(?:in|of)\s+(.*)/;
    var forIteratorRE = /\((\{[^}]*\}|[^,]*),([^,]*)(?:,([^,]*))?\)/;
    
    var argRE = /:(.*)$/;
    var bindRE = /^:|^v-bind:/;
    var modifierRE = /\.[^.]+/g;
    
    var decodeHTMLCached = cached(decode);
    
    // configurable state
    var warn$2;
    var delimiters;
    var transforms;
    var preTransforms;
    var postTransforms;
    var platformIsPreTag;
    var platformMustUseProp;
    var platformGetTagNamespace;
    
    /**
     * Convert HTML string to AST.
     */
    function parse (
      template,
      options
    ) {
      warn$2 = options.warn || baseWarn;
      platformGetTagNamespace = options.getTagNamespace || no;
      platformMustUseProp = options.mustUseProp || no;
      platformIsPreTag = options.isPreTag || no;
      preTransforms = pluckModuleFunction(options.modules, 'preTransformNode');
      transforms = pluckModuleFunction(options.modules, 'transformNode');
      postTransforms = pluckModuleFunction(options.modules, 'postTransformNode');
      delimiters = options.delimiters;
    
      var stack = [];
      var preserveWhitespace = options.preserveWhitespace !== false;
      var root;
      var currentParent;
      var inVPre = false;
      var inPre = false;
      var warned = false;
    
      function warnOnce (msg) {
        if (!warned) {
          warned = true;
          warn$2(msg);
        }
      }
    
      function endPre (element) {
        // check pre state
        if (element.pre) {
          inVPre = false;
        }
        if (platformIsPreTag(element.tag)) {
          inPre = false;
        }
      }
    
      parseHTML(template, {
        warn: warn$2,
        expectHTML: options.expectHTML,
        isUnaryTag: options.isUnaryTag,
        canBeLeftOpenTag: options.canBeLeftOpenTag,
        shouldDecodeNewlines: options.shouldDecodeNewlines,
        start: function start (tag, attrs, unary) {
          // check namespace.
          // inherit parent ns if there is one
          var ns = (currentParent && currentParent.ns) || platformGetTagNamespace(tag);
    
          // handle IE svg bug
          /* istanbul ignore if */
          if (isIE && ns === 'svg') {
            attrs = guardIESVGBug(attrs);
          }
    
          var element = {
            type: 1,
            tag: tag,
            attrsList: attrs,
            attrsMap: makeAttrsMap(attrs),
            parent: currentParent,
            children: []
          };
          if (ns) {
            element.ns = ns;
          }
    
          if (isForbiddenTag(element) && !isServerRendering()) {
            element.forbidden = true;
            "development" !== 'production' && warn$2(
              'Templates should only be responsible for mapping the state to the ' +
              'UI. Avoid placing tags with side-effects in your templates, such as ' +
              "<" + tag + ">" + ', as they will not be parsed.'
            );
          }
    
          // apply pre-transforms
          for (var i = 0; i < preTransforms.length; i++) {
            preTransforms[i](element, options);
          }
    
          if (!inVPre) {
            processPre(element);
            if (element.pre) {
              inVPre = true;
            }
          }
          if (platformIsPreTag(element.tag)) {
            inPre = true;
          }
          if (inVPre) {
            processRawAttrs(element);
          } else {
            processFor(element);
            processIf(element);
            processOnce(element);
            processKey(element);
    
            // determine whether this is a plain element after
            // removing structural attributes
            element.plain = !element.key && !attrs.length;
    
            processRef(element);
            processSlot(element);
            processComponent(element);
            for (var i$1 = 0; i$1 < transforms.length; i$1++) {
              transforms[i$1](element, options);
            }
            processAttrs(element);
          }
    
          function checkRootConstraints (el) {
            {
              if (el.tag === 'slot' || el.tag === 'template') {
                warnOnce(
                  "Cannot use <" + (el.tag) + "> as component root element because it may " +
                  'contain multiple nodes.'
                );
              }
              if (el.attrsMap.hasOwnProperty('v-for')) {
                warnOnce(
                  'Cannot use v-for on stateful component root element because ' +
                  'it renders multiple elements.'
                );
              }
            }
          }
    
          // tree management
          if (!root) {
            root = element;
            checkRootConstraints(root);
          } else if (!stack.length) {
            // allow root elements with v-if, v-else-if and v-else
            if (root.if && (element.elseif || element.else)) {
              checkRootConstraints(element);
              addIfCondition(root, {
                exp: element.elseif,
                block: element
              });
            } else {
              warnOnce(
                "Component template should contain exactly one root element. " +
                "If you are using v-if on multiple elements, " +
                "use v-else-if to chain them instead."
              );
            }
          }
          if (currentParent && !element.forbidden) {
            if (element.elseif || element.else) {
              processIfConditions(element, currentParent);
            } else if (element.slotScope) { // scoped slot
              currentParent.plain = false;
              var name = element.slotTarget || '"default"';(currentParent.scopedSlots || (currentParent.scopedSlots = {}))[name] = element;
            } else {
              currentParent.children.push(element);
              element.parent = currentParent;
            }
          }
          if (!unary) {
            currentParent = element;
            stack.push(element);
          } else {
            endPre(element);
          }
          // apply post-transforms
          for (var i$2 = 0; i$2 < postTransforms.length; i$2++) {
            postTransforms[i$2](element, options);
          }
        },
    
        end: function end () {
          // remove trailing whitespace
          var element = stack[stack.length - 1];
          var lastNode = element.children[element.children.length - 1];
          if (lastNode && lastNode.type === 3 && lastNode.text === ' ' && !inPre) {
            element.children.pop();
          }
          // pop stack
          stack.length -= 1;
          currentParent = stack[stack.length - 1];
          endPre(element);
        },
    
        chars: function chars (text) {
          if (!currentParent) {
            {
              if (text === template) {
                warnOnce(
                  'Component template requires a root element, rather than just text.'
                );
              } else if ((text = text.trim())) {
                warnOnce(
                  ("text \"" + text + "\" outside root element will be ignored.")
                );
              }
            }
            return
          }
          // IE textarea placeholder bug
          /* istanbul ignore if */
          if (isIE &&
              currentParent.tag === 'textarea' &&
              currentParent.attrsMap.placeholder === text) {
            return
          }
          var children = currentParent.children;
          text = inPre || text.trim()
            ? decodeHTMLCached(text)
            // only preserve whitespace if its not right after a starting tag
            : preserveWhitespace && children.length ? ' ' : '';
          if (text) {
            var expression;
            if (!inVPre && text !== ' ' && (expression = parseText(text, delimiters))) {
              children.push({
                type: 2,
                expression: expression,
                text: text
              });
            } else if (text !== ' ' || !children.length || children[children.length - 1].text !== ' ') {
              children.push({
                type: 3,
                text: text
              });
            }
          }
        }
      });
      return root
    }
    
    function processPre (el) {
      if (getAndRemoveAttr(el, 'v-pre') != null) {
        el.pre = true;
      }
    }
    
    function processRawAttrs (el) {
      var l = el.attrsList.length;
      if (l) {
        var attrs = el.attrs = new Array(l);
        for (var i = 0; i < l; i++) {
          attrs[i] = {
            name: el.attrsList[i].name,
            value: JSON.stringify(el.attrsList[i].value)
          };
        }
      } else if (!el.pre) {
        // non root node in pre blocks with no attributes
        el.plain = true;
      }
    }
    
    function processKey (el) {
      var exp = getBindingAttr(el, 'key');
      if (exp) {
        if ("development" !== 'production' && el.tag === 'template') {
          warn$2("<template> cannot be keyed. Place the key on real elements instead.");
        }
        el.key = exp;
      }
    }
    
    function processRef (el) {
      var ref = getBindingAttr(el, 'ref');
      if (ref) {
        el.ref = ref;
        el.refInFor = checkInFor(el);
      }
    }
    
    function processFor (el) {
      var exp;
      if ((exp = getAndRemoveAttr(el, 'v-for'))) {
        var inMatch = exp.match(forAliasRE);
        if (!inMatch) {
          "development" !== 'production' && warn$2(
            ("Invalid v-for expression: " + exp)
          );
          return
        }
        el.for = inMatch[2].trim();
        var alias = inMatch[1].trim();
        var iteratorMatch = alias.match(forIteratorRE);
        if (iteratorMatch) {
          el.alias = iteratorMatch[1].trim();
          el.iterator1 = iteratorMatch[2].trim();
          if (iteratorMatch[3]) {
            el.iterator2 = iteratorMatch[3].trim();
          }
        } else {
          el.alias = alias;
        }
      }
    }
    
    function processIf (el) {
      var exp = getAndRemoveAttr(el, 'v-if');
      if (exp) {
        el.if = exp;
        addIfCondition(el, {
          exp: exp,
          block: el
        });
      } else {
        if (getAndRemoveAttr(el, 'v-else') != null) {
          el.else = true;
        }
        var elseif = getAndRemoveAttr(el, 'v-else-if');
        if (elseif) {
          el.elseif = elseif;
        }
      }
    }
    
    function processIfConditions (el, parent) {
      var prev = findPrevElement(parent.children);
      if (prev && prev.if) {
        addIfCondition(prev, {
          exp: el.elseif,
          block: el
        });
      } else {
        warn$2(
          "v-" + (el.elseif ? ('else-if="' + el.elseif + '"') : 'else') + " " +
          "used on element <" + (el.tag) + "> without corresponding v-if."
        );
      }
    }
    
    function findPrevElement (children) {
      var i = children.length;
      while (i--) {
        if (children[i].type === 1) {
          return children[i]
        } else {
          if ("development" !== 'production' && children[i].text !== ' ') {
            warn$2(
              "text \"" + (children[i].text.trim()) + "\" between v-if and v-else(-if) " +
              "will be ignored."
            );
          }
          children.pop();
        }
      }
    }
    
    function addIfCondition (el, condition) {
      if (!el.ifConditions) {
        el.ifConditions = [];
      }
      el.ifConditions.push(condition);
    }
    
    function processOnce (el) {
      var once$$1 = getAndRemoveAttr(el, 'v-once');
      if (once$$1 != null) {
        el.once = true;
      }
    }
    
    function processSlot (el) {
      if (el.tag === 'slot') {
        el.slotName = getBindingAttr(el, 'name');
        if ("development" !== 'production' && el.key) {
          warn$2(
            "`key` does not work on <slot> because slots are abstract outlets " +
            "and can possibly expand into multiple elements. " +
            "Use the key on a wrapping element instead."
          );
        }
      } else {
        var slotTarget = getBindingAttr(el, 'slot');
        if (slotTarget) {
          el.slotTarget = slotTarget === '""' ? '"default"' : slotTarget;
        }
        if (el.tag === 'template') {
          el.slotScope = getAndRemoveAttr(el, 'scope');
        }
      }
    }
    
    function processComponent (el) {
      var binding;
      if ((binding = getBindingAttr(el, 'is'))) {
        el.component = binding;
      }
      if (getAndRemoveAttr(el, 'inline-template') != null) {
        el.inlineTemplate = true;
      }
    }
    
    function processAttrs (el) {
      var list = el.attrsList;
      var i, l, name, rawName, value, modifiers, isProp;
      for (i = 0, l = list.length; i < l; i++) {
        name = rawName = list[i].name;
        value = list[i].value;
        if (dirRE.test(name)) {
          // mark element as dynamic
          el.hasBindings = true;
          // modifiers
          modifiers = parseModifiers(name);
          if (modifiers) {
            name = name.replace(modifierRE, '');
          }
          if (bindRE.test(name)) { // v-bind
            name = name.replace(bindRE, '');
            value = parseFilters(value);
            isProp = false;
            if (modifiers) {
              if (modifiers.prop) {
                isProp = true;
                name = camelize(name);
                if (name === 'innerHtml') { name = 'innerHTML'; }
              }
              if (modifiers.camel) {
                name = camelize(name);
              }
            }
            if (isProp || platformMustUseProp(el.tag, el.attrsMap.type, name)) {
              addProp(el, name, value);
            } else {
              addAttr(el, name, value);
            }
          } else if (onRE.test(name)) { // v-on
            name = name.replace(onRE, '');
            addHandler(el, name, value, modifiers);
          } else { // normal directives
            name = name.replace(dirRE, '');
            // parse arg
            var argMatch = name.match(argRE);
            var arg = argMatch && argMatch[1];
            if (arg) {
              name = name.slice(0, -(arg.length + 1));
            }
            addDirective(el, name, rawName, value, arg, modifiers);
            if ("development" !== 'production' && name === 'model') {
              checkForAliasModel(el, value);
            }
          }
        } else {
          // literal attribute
          {
            var expression = parseText(value, delimiters);
            if (expression) {
              warn$2(
                name + "=\"" + value + "\": " +
                'Interpolation inside attributes has been removed. ' +
                'Use v-bind or the colon shorthand instead. For example, ' +
                'instead of <div id="{{ val }}">, use <div :id="val">.'
              );
            }
          }
          addAttr(el, name, JSON.stringify(value));
        }
      }
    }
    
    function checkInFor (el) {
      var parent = el;
      while (parent) {
        if (parent.for !== undefined) {
          return true
        }
        parent = parent.parent;
      }
      return false
    }
    
    function parseModifiers (name) {
      var match = name.match(modifierRE);
      if (match) {
        var ret = {};
        match.forEach(function (m) { ret[m.slice(1)] = true; });
        return ret
      }
    }
    
    function makeAttrsMap (attrs) {
      var map = {};
      for (var i = 0, l = attrs.length; i < l; i++) {
        if ("development" !== 'production' && map[attrs[i].name] && !isIE) {
          warn$2('duplicate attribute: ' + attrs[i].name);
        }
        map[attrs[i].name] = attrs[i].value;
      }
      return map
    }
    
    function isForbiddenTag (el) {
      return (
        el.tag === 'style' ||
        (el.tag === 'script' && (
          !el.attrsMap.type ||
          el.attrsMap.type === 'text/javascript'
        ))
      )
    }
    
    var ieNSBug = /^xmlns:NS\d+/;
    var ieNSPrefix = /^NS\d+:/;
    
    /* istanbul ignore next */
    function guardIESVGBug (attrs) {
      var res = [];
      for (var i = 0; i < attrs.length; i++) {
        var attr = attrs[i];
        if (!ieNSBug.test(attr.name)) {
          attr.name = attr.name.replace(ieNSPrefix, '');
          res.push(attr);
        }
      }
      return res
    }
    
    function checkForAliasModel (el, value) {
      var _el = el;
      while (_el) {
        if (_el.for && _el.alias === value) {
          warn$2(
            "<" + (el.tag) + " v-model=\"" + value + "\">: " +
            "You are binding v-model directly to a v-for iteration alias. " +
            "This will not be able to modify the v-for source array because " +
            "writing to the alias is like modifying a function local variable. " +
            "Consider using an array of objects and use v-model on an object property instead."
          );
        }
        _el = _el.parent;
      }
    }
    
    /*  */
    
    var isStaticKey;
    var isPlatformReservedTag;
    
    var genStaticKeysCached = cached(genStaticKeys$1);
    
    /**
     * Goal of the optimizer: walk the generated template AST tree
     * and detect sub-trees that are purely static, i.e. parts of
     * the DOM that never needs to change.
     *
     * Once we detect these sub-trees, we can:
     *
     * 1. Hoist them into constants, so that we no longer need to
     *    create fresh nodes for them on each re-render;
     * 2. Completely skip them in the patching process.
     */
    function optimize (root, options) {
      if (!root) { return }
      isStaticKey = genStaticKeysCached(options.staticKeys || '');
      isPlatformReservedTag = options.isReservedTag || no;
      // first pass: mark all non-static nodes.
      markStatic$1(root);
      // second pass: mark static roots.
      markStaticRoots(root, false);
    }
    
    function genStaticKeys$1 (keys) {
      return makeMap(
        'type,tag,attrsList,attrsMap,plain,parent,children,attrs' +
        (keys ? ',' + keys : '')
      )
    }
    
    function markStatic$1 (node) {
      node.static = isStatic(node);
      if (node.type === 1) {
        // do not make component slot content static. this avoids
        // 1. components not able to mutate slot nodes
        // 2. static slot content fails for hot-reloading
        if (
          !isPlatformReservedTag(node.tag) &&
          node.tag !== 'slot' &&
          node.attrsMap['inline-template'] == null
        ) {
          return
        }
        for (var i = 0, l = node.children.length; i < l; i++) {
          var child = node.children[i];
          markStatic$1(child);
          if (!child.static) {
            node.static = false;
          }
        }
      }
    }
    
    function markStaticRoots (node, isInFor) {
      if (node.type === 1) {
        if (node.static || node.once) {
          node.staticInFor = isInFor;
        }
        // For a node to qualify as a static root, it should have children that
        // are not just static text. Otherwise the cost of hoisting out will
        // outweigh the benefits and it's better off to just always render it fresh.
        if (node.static && node.children.length && !(
          node.children.length === 1 &&
          node.children[0].type === 3
        )) {
          node.staticRoot = true;
          return
        } else {
          node.staticRoot = false;
        }
        if (node.children) {
          for (var i = 0, l = node.children.length; i < l; i++) {
            markStaticRoots(node.children[i], isInFor || !!node.for);
          }
        }
        if (node.ifConditions) {
          walkThroughConditionsBlocks(node.ifConditions, isInFor);
        }
      }
    }
    
    function walkThroughConditionsBlocks (conditionBlocks, isInFor) {
      for (var i = 1, len = conditionBlocks.length; i < len; i++) {
        markStaticRoots(conditionBlocks[i].block, isInFor);
      }
    }
    
    function isStatic (node) {
      if (node.type === 2) { // expression
        return false
      }
      if (node.type === 3) { // text
        return true
      }
      return !!(node.pre || (
        !node.hasBindings && // no dynamic bindings
        !node.if && !node.for && // not v-if or v-for or v-else
        !isBuiltInTag(node.tag) && // not a built-in
        isPlatformReservedTag(node.tag) && // not a component
        !isDirectChildOfTemplateFor(node) &&
        Object.keys(node).every(isStaticKey)
      ))
    }
    
    function isDirectChildOfTemplateFor (node) {
      while (node.parent) {
        node = node.parent;
        if (node.tag !== 'template') {
          return false
        }
        if (node.for) {
          return true
        }
      }
      return false
    }
    
    /*  */
    
    var fnExpRE = /^\s*([\w$_]+|\([^)]*?\))\s*=>|^function\s*\(/;
    var simplePathRE = /^\s*[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['.*?']|\[".*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*\s*$/;
    
    // keyCode aliases
    var keyCodes = {
      esc: 27,
      tab: 9,
      enter: 13,
      space: 32,
      up: 38,
      left: 37,
      right: 39,
      down: 40,
      'delete': [8, 46]
    };
    
    // #4868: modifiers that prevent the execution of the listener
    // need to explicitly return null so that we can determine whether to remove
    // the listener for .once
    var genGuard = function (condition) { return ("if(" + condition + ")return null;"); };
    
    var modifierCode = {
      stop: '$event.stopPropagation();',
      prevent: '$event.preventDefault();',
      self: genGuard("$event.target !== $event.currentTarget"),
      ctrl: genGuard("!$event.ctrlKey"),
      shift: genGuard("!$event.shiftKey"),
      alt: genGuard("!$event.altKey"),
      meta: genGuard("!$event.metaKey"),
      left: genGuard("'button' in $event && $event.button !== 0"),
      middle: genGuard("'button' in $event && $event.button !== 1"),
      right: genGuard("'button' in $event && $event.button !== 2")
    };
    
    function genHandlers (events, native) {
      var res = native ? 'nativeOn:{' : 'on:{';
      for (var name in events) {
        res += "\"" + name + "\":" + (genHandler(name, events[name])) + ",";
      }
      return res.slice(0, -1) + '}'
    }
    
    function genHandler (
      name,
      handler
    ) {
      if (!handler) {
        return 'function(){}'
      }
    
      if (Array.isArray(handler)) {
        return ("[" + (handler.map(function (handler) { return genHandler(name, handler); }).join(',')) + "]")
      }
    
      var isMethodPath = simplePathRE.test(handler.value);
      var isFunctionExpression = fnExpRE.test(handler.value);
    
      if (!handler.modifiers) {
        return isMethodPath || isFunctionExpression
          ? handler.value
          : ("function($event){" + (handler.value) + "}") // inline statement
      } else {
        var code = '';
        var genModifierCode = '';
        var keys = [];
        for (var key in handler.modifiers) {
          if (modifierCode[key]) {
            genModifierCode += modifierCode[key];
            // left/right
            if (keyCodes[key]) {
              keys.push(key);
            }
          } else {
            keys.push(key);
          }
        }
        if (keys.length) {
          code += genKeyFilter(keys);
        }
        // Make sure modifiers like prevent and stop get executed after key filtering
        if (genModifierCode) {
          code += genModifierCode;
        }
        var handlerCode = isMethodPath
          ? handler.value + '($event)'
          : isFunctionExpression
            ? ("(" + (handler.value) + ")($event)")
            : handler.value;
        return ("function($event){" + code + handlerCode + "}")
      }
    }
    
    function genKeyFilter (keys) {
      return ("if(!('button' in $event)&&" + (keys.map(genFilterCode).join('&&')) + ")return null;")
    }
    
    function genFilterCode (key) {
      var keyVal = parseInt(key, 10);
      if (keyVal) {
        return ("$event.keyCode!==" + keyVal)
      }
      var alias = keyCodes[key];
      return ("_k($event.keyCode," + (JSON.stringify(key)) + (alias ? ',' + JSON.stringify(alias) : '') + ")")
    }
    
    /*  */
    
    function bind$1 (el, dir) {
      el.wrapData = function (code) {
        return ("_b(" + code + ",'" + (el.tag) + "'," + (dir.value) + (dir.modifiers && dir.modifiers.prop ? ',true' : '') + ")")
      };
    }
    
    /*  */
    
    var baseDirectives = {
      bind: bind$1,
      cloak: noop
    };
    
    /*  */
    
    // configurable state
    var warn$3;
    var transforms$1;
    var dataGenFns;
    var platformDirectives$1;
    var isPlatformReservedTag$1;
    var staticRenderFns;
    var onceCount;
    var currentOptions;
    
    function generate (
      ast,
      options
    ) {
      // save previous staticRenderFns so generate calls can be nested
      var prevStaticRenderFns = staticRenderFns;
      var currentStaticRenderFns = staticRenderFns = [];
      var prevOnceCount = onceCount;
      onceCount = 0;
      currentOptions = options;
      warn$3 = options.warn || baseWarn;
      transforms$1 = pluckModuleFunction(options.modules, 'transformCode');
      dataGenFns = pluckModuleFunction(options.modules, 'genData');
      platformDirectives$1 = options.directives || {};
      isPlatformReservedTag$1 = options.isReservedTag || no;
      var code = ast ? genElement(ast) : '_c("div")';
      staticRenderFns = prevStaticRenderFns;
      onceCount = prevOnceCount;
      return {
        render: ("with(this){return " + code + "}"),
        staticRenderFns: currentStaticRenderFns
      }
    }
    
    function genElement (el) {
      if (el.staticRoot && !el.staticProcessed) {
        return genStatic(el)
      } else if (el.once && !el.onceProcessed) {
        return genOnce(el)
      } else if (el.for && !el.forProcessed) {
        return genFor(el)
      } else if (el.if && !el.ifProcessed) {
        return genIf(el)
      } else if (el.tag === 'template' && !el.slotTarget) {
        return genChildren(el) || 'void 0'
      } else if (el.tag === 'slot') {
        return genSlot(el)
      } else {
        // component or element
        var code;
        if (el.component) {
          code = genComponent(el.component, el);
        } else {
          var data = el.plain ? undefined : genData(el);
    
          var children = el.inlineTemplate ? null : genChildren(el, true);
          code = "_c('" + (el.tag) + "'" + (data ? ("," + data) : '') + (children ? ("," + children) : '') + ")";
        }
        // module transforms
        for (var i = 0; i < transforms$1.length; i++) {
          code = transforms$1[i](el, code);
        }
        return code
      }
    }
    
    // hoist static sub-trees out
    function genStatic (el) {
      el.staticProcessed = true;
      staticRenderFns.push(("with(this){return " + (genElement(el)) + "}"));
      return ("_m(" + (staticRenderFns.length - 1) + (el.staticInFor ? ',true' : '') + ")")
    }
    
    // v-once
    function genOnce (el) {
      el.onceProcessed = true;
      if (el.if && !el.ifProcessed) {
        return genIf(el)
      } else if (el.staticInFor) {
        var key = '';
        var parent = el.parent;
        while (parent) {
          if (parent.for) {
            key = parent.key;
            break
          }
          parent = parent.parent;
        }
        if (!key) {
          "development" !== 'production' && warn$3(
            "v-once can only be used inside v-for that is keyed. "
          );
          return genElement(el)
        }
        return ("_o(" + (genElement(el)) + "," + (onceCount++) + (key ? ("," + key) : "") + ")")
      } else {
        return genStatic(el)
      }
    }
    
    function genIf (el) {
      el.ifProcessed = true; // avoid recursion
      return genIfConditions(el.ifConditions.slice())
    }
    
    function genIfConditions (conditions) {
      if (!conditions.length) {
        return '_e()'
      }
    
      var condition = conditions.shift();
      if (condition.exp) {
        return ("(" + (condition.exp) + ")?" + (genTernaryExp(condition.block)) + ":" + (genIfConditions(conditions)))
      } else {
        return ("" + (genTernaryExp(condition.block)))
      }
    
      // v-if with v-once should generate code like (a)?_m(0):_m(1)
      function genTernaryExp (el) {
        return el.once ? genOnce(el) : genElement(el)
      }
    }
    
    function genFor (el) {
      var exp = el.for;
      var alias = el.alias;
      var iterator1 = el.iterator1 ? ("," + (el.iterator1)) : '';
      var iterator2 = el.iterator2 ? ("," + (el.iterator2)) : '';
    
      if (
        "development" !== 'production' &&
        maybeComponent(el) && el.tag !== 'slot' && el.tag !== 'template' && !el.key
      ) {
        warn$3(
          "<" + (el.tag) + " v-for=\"" + alias + " in " + exp + "\">: component lists rendered with " +
          "v-for should have explicit keys. " +
          "See https://vuejs.org/guide/list.html#key for more info.",
          true /* tip */
        );
      }
    
      el.forProcessed = true; // avoid recursion
      return "_l((" + exp + ")," +
        "function(" + alias + iterator1 + iterator2 + "){" +
          "return " + (genElement(el)) +
        '})'
    }
    
    function genData (el) {
      var data = '{';
    
      // directives first.
      // directives may mutate the el's other properties before they are generated.
      var dirs = genDirectives(el);
      if (dirs) { data += dirs + ','; }
    
      // key
      if (el.key) {
        data += "key:" + (el.key) + ",";
      }
      // ref
      if (el.ref) {
        data += "ref:" + (el.ref) + ",";
      }
      if (el.refInFor) {
        data += "refInFor:true,";
      }
      // pre
      if (el.pre) {
        data += "pre:true,";
      }
      // record original tag name for components using "is" attribute
      if (el.component) {
        data += "tag:\"" + (el.tag) + "\",";
      }
      // module data generation functions
      for (var i = 0; i < dataGenFns.length; i++) {
        data += dataGenFns[i](el);
      }
      // attributes
      if (el.attrs) {
        data += "attrs:{" + (genProps(el.attrs)) + "},";
      }
      // DOM props
      if (el.props) {
        data += "domProps:{" + (genProps(el.props)) + "},";
      }
      // event handlers
      if (el.events) {
        data += (genHandlers(el.events)) + ",";
      }
      if (el.nativeEvents) {
        data += (genHandlers(el.nativeEvents, true)) + ",";
      }
      // slot target
      if (el.slotTarget) {
        data += "slot:" + (el.slotTarget) + ",";
      }
      // scoped slots
      if (el.scopedSlots) {
        data += (genScopedSlots(el.scopedSlots)) + ",";
      }
      // component v-model
      if (el.model) {
        data += "model:{value:" + (el.model.value) + ",callback:" + (el.model.callback) + ",expression:" + (el.model.expression) + "},";
      }
      // inline-template
      if (el.inlineTemplate) {
        var inlineTemplate = genInlineTemplate(el);
        if (inlineTemplate) {
          data += inlineTemplate + ",";
        }
      }
      data = data.replace(/,$/, '') + '}';
      // v-bind data wrap
      if (el.wrapData) {
        data = el.wrapData(data);
      }
      return data
    }
    
    function genDirectives (el) {
      var dirs = el.directives;
      if (!dirs) { return }
      var res = 'directives:[';
      var hasRuntime = false;
      var i, l, dir, needRuntime;
      for (i = 0, l = dirs.length; i < l; i++) {
        dir = dirs[i];
        needRuntime = true;
        var gen = platformDirectives$1[dir.name] || baseDirectives[dir.name];
        if (gen) {
          // compile-time directive that manipulates AST.
          // returns true if it also needs a runtime counterpart.
          needRuntime = !!gen(el, dir, warn$3);
        }
        if (needRuntime) {
          hasRuntime = true;
          res += "{name:\"" + (dir.name) + "\",rawName:\"" + (dir.rawName) + "\"" + (dir.value ? (",value:(" + (dir.value) + "),expression:" + (JSON.stringify(dir.value))) : '') + (dir.arg ? (",arg:\"" + (dir.arg) + "\"") : '') + (dir.modifiers ? (",modifiers:" + (JSON.stringify(dir.modifiers))) : '') + "},";
        }
      }
      if (hasRuntime) {
        return res.slice(0, -1) + ']'
      }
    }
    
    function genInlineTemplate (el) {
      var ast = el.children[0];
      if ("development" !== 'production' && (
        el.children.length > 1 || ast.type !== 1
      )) {
        warn$3('Inline-template components must have exactly one child element.');
      }
      if (ast.type === 1) {
        var inlineRenderFns = generate(ast, currentOptions);
        return ("inlineTemplate:{render:function(){" + (inlineRenderFns.render) + "},staticRenderFns:[" + (inlineRenderFns.staticRenderFns.map(function (code) { return ("function(){" + code + "}"); }).join(',')) + "]}")
      }
    }
    
    function genScopedSlots (slots) {
      return ("scopedSlots:_u([" + (Object.keys(slots).map(function (key) { return genScopedSlot(key, slots[key]); }).join(',')) + "])")
    }
    
    function genScopedSlot (key, el) {
      return "[" + key + ",function(" + (String(el.attrsMap.scope)) + "){" +
        "return " + (el.tag === 'template'
          ? genChildren(el) || 'void 0'
          : genElement(el)) + "}]"
    }
    
    function genChildren (el, checkSkip) {
      var children = el.children;
      if (children.length) {
        var el$1 = children[0];
        // optimize single v-for
        if (children.length === 1 &&
            el$1.for &&
            el$1.tag !== 'template' &&
            el$1.tag !== 'slot') {
          return genElement(el$1)
        }
        var normalizationType = checkSkip ? getNormalizationType(children) : 0;
        return ("[" + (children.map(genNode).join(',')) + "]" + (normalizationType ? ("," + normalizationType) : ''))
      }
    }
    
    // determine the normalization needed for the children array.
    // 0: no normalization needed
    // 1: simple normalization needed (possible 1-level deep nested array)
    // 2: full normalization needed
    function getNormalizationType (children) {
      var res = 0;
      for (var i = 0; i < children.length; i++) {
        var el = children[i];
        if (el.type !== 1) {
          continue
        }
        if (needsNormalization(el) ||
            (el.ifConditions && el.ifConditions.some(function (c) { return needsNormalization(c.block); }))) {
          res = 2;
          break
        }
        if (maybeComponent(el) ||
            (el.ifConditions && el.ifConditions.some(function (c) { return maybeComponent(c.block); }))) {
          res = 1;
        }
      }
      return res
    }
    
    function needsNormalization (el) {
      return el.for !== undefined || el.tag === 'template' || el.tag === 'slot'
    }
    
    function maybeComponent (el) {
      return !isPlatformReservedTag$1(el.tag)
    }
    
    function genNode (node) {
      if (node.type === 1) {
        return genElement(node)
      } else {
        return genText(node)
      }
    }
    
    function genText (text) {
      return ("_v(" + (text.type === 2
        ? text.expression // no need for () because already wrapped in _s()
        : transformSpecialNewlines(JSON.stringify(text.text))) + ")")
    }
    
    function genSlot (el) {
      var slotName = el.slotName || '"default"';
      var children = genChildren(el);
      var res = "_t(" + slotName + (children ? ("," + children) : '');
      var attrs = el.attrs && ("{" + (el.attrs.map(function (a) { return ((camelize(a.name)) + ":" + (a.value)); }).join(',')) + "}");
      var bind$$1 = el.attrsMap['v-bind'];
      if ((attrs || bind$$1) && !children) {
        res += ",null";
      }
      if (attrs) {
        res += "," + attrs;
      }
      if (bind$$1) {
        res += (attrs ? '' : ',null') + "," + bind$$1;
      }
      return res + ')'
    }
    
    // componentName is el.component, take it as argument to shun flow's pessimistic refinement
    function genComponent (componentName, el) {
      var children = el.inlineTemplate ? null : genChildren(el, true);
      return ("_c(" + componentName + "," + (genData(el)) + (children ? ("," + children) : '') + ")")
    }
    
    function genProps (props) {
      var res = '';
      for (var i = 0; i < props.length; i++) {
        var prop = props[i];
        res += "\"" + (prop.name) + "\":" + (transformSpecialNewlines(prop.value)) + ",";
      }
      return res.slice(0, -1)
    }
    
    // #3895, #4268
    function transformSpecialNewlines (text) {
      return text
        .replace(/\u2028/g, '\\u2028')
        .replace(/\u2029/g, '\\u2029')
    }
    
    /*  */
    
    // these keywords should not appear inside expressions, but operators like
    // typeof, instanceof and in are allowed
    var prohibitedKeywordRE = new RegExp('\\b' + (
      'do,if,for,let,new,try,var,case,else,with,await,break,catch,class,const,' +
      'super,throw,while,yield,delete,export,import,return,switch,default,' +
      'extends,finally,continue,debugger,function,arguments'
    ).split(',').join('\\b|\\b') + '\\b');
    
    // these unary operators should not be used as property/method names
    var unaryOperatorsRE = new RegExp('\\b' + (
      'delete,typeof,void'
    ).split(',').join('\\s*\\([^\\)]*\\)|\\b') + '\\s*\\([^\\)]*\\)');
    
    // check valid identifier for v-for
    var identRE = /[A-Za-z_$][\w$]*/;
    
    // strip strings in expressions
    var stripStringRE = /'(?:[^'\\]|\\.)*'|"(?:[^"\\]|\\.)*"|`(?:[^`\\]|\\.)*\$\{|\}(?:[^`\\]|\\.)*`|`(?:[^`\\]|\\.)*`/g;
    
    // detect problematic expressions in a template
    function detectErrors (ast) {
      var errors = [];
      if (ast) {
        checkNode(ast, errors);
      }
      return errors
    }
    
    function checkNode (node, errors) {
      if (node.type === 1) {
        for (var name in node.attrsMap) {
          if (dirRE.test(name)) {
            var value = node.attrsMap[name];
            if (value) {
              if (name === 'v-for') {
                checkFor(node, ("v-for=\"" + value + "\""), errors);
              } else if (onRE.test(name)) {
                checkEvent(value, (name + "=\"" + value + "\""), errors);
              } else {
                checkExpression(value, (name + "=\"" + value + "\""), errors);
              }
            }
          }
        }
        if (node.children) {
          for (var i = 0; i < node.children.length; i++) {
            checkNode(node.children[i], errors);
          }
        }
      } else if (node.type === 2) {
        checkExpression(node.expression, node.text, errors);
      }
    }
    
    function checkEvent (exp, text, errors) {
      var keywordMatch = exp.replace(stripStringRE, '').match(unaryOperatorsRE);
      if (keywordMatch) {
        errors.push(
          "avoid using JavaScript unary operator as property name: " +
          "\"" + (keywordMatch[0]) + "\" in expression " + (text.trim())
        );
      }
      checkExpression(exp, text, errors);
    }
    
    function checkFor (node, text, errors) {
      checkExpression(node.for || '', text, errors);
      checkIdentifier(node.alias, 'v-for alias', text, errors);
      checkIdentifier(node.iterator1, 'v-for iterator', text, errors);
      checkIdentifier(node.iterator2, 'v-for iterator', text, errors);
    }
    
    function checkIdentifier (ident, type, text, errors) {
      if (typeof ident === 'string' && !identRE.test(ident)) {
        errors.push(("invalid " + type + " \"" + ident + "\" in expression: " + (text.trim())));
      }
    }
    
    function checkExpression (exp, text, errors) {
      try {
        new Function(("return " + exp));
      } catch (e) {
        var keywordMatch = exp.replace(stripStringRE, '').match(prohibitedKeywordRE);
        if (keywordMatch) {
          errors.push(
            "avoid using JavaScript keyword as property name: " +
            "\"" + (keywordMatch[0]) + "\" in expression " + (text.trim())
          );
        } else {
          errors.push(("invalid expression: " + (text.trim())));
        }
      }
    }
    
    /*  */
    
    function baseCompile (
      template,
      options
    ) {
      var ast = parse(template.trim(), options);
      optimize(ast, options);
      var code = generate(ast, options);
      return {
        ast: ast,
        render: code.render,
        staticRenderFns: code.staticRenderFns
      }
    }
    
    function makeFunction (code, errors) {
      try {
        return new Function(code)
      } catch (err) {
        errors.push({ err: err, code: code });
        return noop
      }
    }
    
    function createCompiler (baseOptions) {
      var functionCompileCache = Object.create(null);
    
      function compile (
        template,
        options
      ) {
        var finalOptions = Object.create(baseOptions);
        var errors = [];
        var tips = [];
        finalOptions.warn = function (msg, tip$$1) {
          (tip$$1 ? tips : errors).push(msg);
        };
    
        if (options) {
          // merge custom modules
          if (options.modules) {
            finalOptions.modules = (baseOptions.modules || []).concat(options.modules);
          }
          // merge custom directives
          if (options.directives) {
            finalOptions.directives = extend(
              Object.create(baseOptions.directives),
              options.directives
            );
          }
          // copy other options
          for (var key in options) {
            if (key !== 'modules' && key !== 'directives') {
              finalOptions[key] = options[key];
            }
          }
        }
    
        var compiled = baseCompile(template, finalOptions);
        {
          errors.push.apply(errors, detectErrors(compiled.ast));
        }
        compiled.errors = errors;
        compiled.tips = tips;
        return compiled
      }
    
      function compileToFunctions (
        template,
        options,
        vm
      ) {
        options = options || {};
    
        /* istanbul ignore if */
        {
          // detect possible CSP restriction
          try {
            new Function('return 1');
          } catch (e) {
            if (e.toString().match(/unsafe-eval|CSP/)) {
              warn(
                'It seems you are using the standalone build of Vue.js in an ' +
                'environment with Content Security Policy that prohibits unsafe-eval. ' +
                'The template compiler cannot work in this environment. Consider ' +
                'relaxing the policy to allow unsafe-eval or pre-compiling your ' +
                'templates into render functions.'
              );
            }
          }
        }
    
        // check cache
        var key = options.delimiters
          ? String(options.delimiters) + template
          : template;
        if (functionCompileCache[key]) {
          return functionCompileCache[key]
        }
    
        // compile
        var compiled = compile(template, options);
    
        // check compilation errors/tips
        {
          if (compiled.errors && compiled.errors.length) {
            warn(
              "Error compiling template:\n\n" + template + "\n\n" +
              compiled.errors.map(function (e) { return ("- " + e); }).join('\n') + '\n',
              vm
            );
          }
          if (compiled.tips && compiled.tips.length) {
            compiled.tips.forEach(function (msg) { return tip(msg, vm); });
          }
        }
    
        // turn code into functions
        var res = {};
        var fnGenErrors = [];
        res.render = makeFunction(compiled.render, fnGenErrors);
        var l = compiled.staticRenderFns.length;
        res.staticRenderFns = new Array(l);
        for (var i = 0; i < l; i++) {
          res.staticRenderFns[i] = makeFunction(compiled.staticRenderFns[i], fnGenErrors);
        }
    
        // check function generation errors.
        // this should only happen if there is a bug in the compiler itself.
        // mostly for codegen development use
        /* istanbul ignore if */
        {
          if ((!compiled.errors || !compiled.errors.length) && fnGenErrors.length) {
            warn(
              "Failed to generate render function:\n\n" +
              fnGenErrors.map(function (ref) {
                var err = ref.err;
                var code = ref.code;
    
                return ((err.toString()) + " in\n\n" + code + "\n");
            }).join('\n'),
              vm
            );
          }
        }
    
        return (functionCompileCache[key] = res)
      }
    
      return {
        compile: compile,
        compileToFunctions: compileToFunctions
      }
    }
    
    /*  */
    
    function transformNode (el, options) {
      var warn = options.warn || baseWarn;
      var staticClass = getAndRemoveAttr(el, 'class');
      if ("development" !== 'production' && staticClass) {
        var expression = parseText(staticClass, options.delimiters);
        if (expression) {
          warn(
            "class=\"" + staticClass + "\": " +
            'Interpolation inside attributes has been removed. ' +
            'Use v-bind or the colon shorthand instead. For example, ' +
            'instead of <div class="{{ val }}">, use <div :class="val">.'
          );
        }
      }
      if (staticClass) {
        el.staticClass = JSON.stringify(staticClass);
      }
      var classBinding = getBindingAttr(el, 'class', false /* getStatic */);
      if (classBinding) {
        el.classBinding = classBinding;
      }
    }
    
    function genData$1 (el) {
      var data = '';
      if (el.staticClass) {
        data += "staticClass:" + (el.staticClass) + ",";
      }
      if (el.classBinding) {
        data += "class:" + (el.classBinding) + ",";
      }
      return data
    }
    
    var klass$1 = {
      staticKeys: ['staticClass'],
      transformNode: transformNode,
      genData: genData$1
    };
    
    /*  */
    
    function transformNode$1 (el, options) {
      var warn = options.warn || baseWarn;
      var staticStyle = getAndRemoveAttr(el, 'style');
      if (staticStyle) {
        /* istanbul ignore if */
        {
          var expression = parseText(staticStyle, options.delimiters);
          if (expression) {
            warn(
              "style=\"" + staticStyle + "\": " +
              'Interpolation inside attributes has been removed. ' +
              'Use v-bind or the colon shorthand instead. For example, ' +
              'instead of <div style="{{ val }}">, use <div :style="val">.'
            );
          }
        }
        el.staticStyle = JSON.stringify(parseStyleText(staticStyle));
      }
    
      var styleBinding = getBindingAttr(el, 'style', false /* getStatic */);
      if (styleBinding) {
        el.styleBinding = styleBinding;
      }
    }
    
    function genData$2 (el) {
      var data = '';
      if (el.staticStyle) {
        data += "staticStyle:" + (el.staticStyle) + ",";
      }
      if (el.styleBinding) {
        data += "style:(" + (el.styleBinding) + "),";
      }
      return data
    }
    
    var style$1 = {
      staticKeys: ['staticStyle'],
      transformNode: transformNode$1,
      genData: genData$2
    };
    
    var modules$1 = [
      klass$1,
      style$1
    ];
    
    /*  */
    
    function text (el, dir) {
      if (dir.value) {
        addProp(el, 'textContent', ("_s(" + (dir.value) + ")"));
      }
    }
    
    /*  */
    
    function html (el, dir) {
      if (dir.value) {
        addProp(el, 'innerHTML', ("_s(" + (dir.value) + ")"));
      }
    }
    
    var directives$1 = {
      model: model,
      text: text,
      html: html
    };
    
    /*  */
    
    var baseOptions = {
      expectHTML: true,
      modules: modules$1,
      directives: directives$1,
      isPreTag: isPreTag,
      isUnaryTag: isUnaryTag,
      mustUseProp: mustUseProp,
      canBeLeftOpenTag: canBeLeftOpenTag,
      isReservedTag: isReservedTag,
      getTagNamespace: getTagNamespace,
      staticKeys: genStaticKeys(modules$1)
    };
    
    var ref$1 = createCompiler(baseOptions);
    var compileToFunctions = ref$1.compileToFunctions;
    
    /*  */
    
    var idToTemplate = cached(function (id) {
      var el = query(id);
      return el && el.innerHTML
    });
    
    var mount = Vue$3.prototype.$mount;
    Vue$3.prototype.$mount = function (
      el,
      hydrating
    ) {
      el = el && query(el);
    
      /* istanbul ignore if */
      if (el === document.body || el === document.documentElement) {
        "development" !== 'production' && warn(
          "Do not mount Vue to <html> or <body> - mount to normal elements instead."
        );
        return this
      }
    
      var options = this.$options;
      // resolve template/el and convert to render function
      if (!options.render) {
        var template = options.template;
        if (template) {
          if (typeof template === 'string') {
            if (template.charAt(0) === '#') {
              template = idToTemplate(template);
              /* istanbul ignore if */
              if ("development" !== 'production' && !template) {
                warn(
                  ("Template element not found or is empty: " + (options.template)),
                  this
                );
              }
            }
          } else if (template.nodeType) {
            template = template.innerHTML;
          } else {
            {
              warn('invalid template option:' + template, this);
            }
            return this
          }
        } else if (el) {
          template = getOuterHTML(el);
        }
        if (template) {
          /* istanbul ignore if */
          if ("development" !== 'production' && config.performance && mark) {
            mark('compile');
          }
    
          var ref = compileToFunctions(template, {
            shouldDecodeNewlines: shouldDecodeNewlines,
            delimiters: options.delimiters
          }, this);
          var render = ref.render;
          var staticRenderFns = ref.staticRenderFns;
          options.render = render;
          options.staticRenderFns = staticRenderFns;
    
          /* istanbul ignore if */
          if ("development" !== 'production' && config.performance && mark) {
            mark('compile end');
            measure(((this._name) + " compile"), 'compile', 'compile end');
          }
        }
      }
      return mount.call(this, el, hydrating)
    };
    
    /**
     * Get outerHTML of elements, taking care
     * of SVG elements in IE as well.
     */
    function getOuterHTML (el) {
      if (el.outerHTML) {
        return el.outerHTML
      } else {
        var container = document.createElement('div');
        container.appendChild(el.cloneNode(true));
        return container.innerHTML
      }
    }
    
    Vue$3.compile = compileToFunctions;
    
    return Vue$3;
    
    })));
    
    /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))

/***/ }),
/* 556 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    
    var _components = __webpack_require__(557);
    
    var _components2 = _interopRequireDefault(_components);
    
    __webpack_require__(762);
    
    function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
    
    module.exports = _components2.default;

/***/ }),
/* 557 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    
    var _n3Alert = __webpack_require__(378);
    
    var _n3Alert2 = _interopRequireDefault(_n3Alert);
    
    var _n3AlertMethod = __webpack_require__(558);
    
    var _n3AlertMethod2 = _interopRequireDefault(_n3AlertMethod);
    
    var _n3Carousel = __webpack_require__(559);
    
    var _n3Carousel2 = _interopRequireDefault(_n3Carousel);
    
    var _n3Accordion = __webpack_require__(564);
    
    var _n3Accordion2 = _interopRequireDefault(_n3Accordion);
    
    var _n3Affix = __webpack_require__(567);
    
    var _n3Affix2 = _interopRequireDefault(_n3Affix);
    
    var _n3Aside = __webpack_require__(570);
    
    var _n3Aside2 = _interopRequireDefault(_n3Aside);
    
    var _n3CheckboxGroup = __webpack_require__(574);
    
    var _n3CheckboxGroup2 = _interopRequireDefault(_n3CheckboxGroup);
    
    var _n3Checkbox = __webpack_require__(583);
    
    var _n3Checkbox2 = _interopRequireDefault(_n3Checkbox);
    
    var _n3CheckboxBtn = __webpack_require__(586);
    
    var _n3CheckboxBtn2 = _interopRequireDefault(_n3CheckboxBtn);
    
    var _n3Cascader = __webpack_require__(589);
    
    var _n3Cascader2 = _interopRequireDefault(_n3Cascader);
    
    var _n3ToastMethod = __webpack_require__(597);
    
    var _n3ToastMethod2 = _interopRequireDefault(_n3ToastMethod);
    
    var _n3Label = __webpack_require__(601);
    
    var _n3Label2 = _interopRequireDefault(_n3Label);
    
    var _n3Input = __webpack_require__(591);
    
    var _n3Input2 = _interopRequireDefault(_n3Input);
    
    var _n3InputNumber = __webpack_require__(604);
    
    var _n3InputNumber2 = _interopRequireDefault(_n3InputNumber);
    
    var _n3Textarea = __webpack_require__(607);
    
    var _n3Textarea2 = _interopRequireDefault(_n3Textarea);
    
    var _n3Datepicker = __webpack_require__(610);
    
    var _n3Datepicker2 = _interopRequireDefault(_n3Datepicker);
    
    var _n3Timepicker = __webpack_require__(613);
    
    var _n3Timepicker2 = _interopRequireDefault(_n3Timepicker);
    
    var _n3Datetimepicker = __webpack_require__(623);
    
    var _n3Datetimepicker2 = _interopRequireDefault(_n3Datetimepicker);
    
    var _n3Dropdown = __webpack_require__(626);
    
    var _n3Dropdown2 = _interopRequireDefault(_n3Dropdown);
    
    var _n3Modal = __webpack_require__(633);
    
    var _n3Modal2 = _interopRequireDefault(_n3Modal);
    
    var _n3ModalMethod = __webpack_require__(636);
    
    var _n3ModalMethod2 = _interopRequireDefault(_n3ModalMethod);
    
    var _n3Option = __webpack_require__(637);
    
    var _n3Option2 = _interopRequireDefault(_n3Option);
    
    var _n3Panel = __webpack_require__(640);
    
    var _n3Panel2 = _interopRequireDefault(_n3Panel);
    
    var _n3Popover = __webpack_require__(643);
    
    var _n3Popover2 = _interopRequireDefault(_n3Popover);
    
    var _n3PopConfirm = __webpack_require__(646);
    
    var _n3PopConfirm2 = _interopRequireDefault(_n3PopConfirm);
    
    var _n3Progressbar = __webpack_require__(649);
    
    var _n3Progressbar2 = _interopRequireDefault(_n3Progressbar);
    
    var _n3Progress = __webpack_require__(652);
    
    var _n3Progress2 = _interopRequireDefault(_n3Progress);
    
    var _n3Radio = __webpack_require__(655);
    
    var _n3Radio2 = _interopRequireDefault(_n3Radio);
    
    var _n3RadioBtn = __webpack_require__(658);
    
    var _n3RadioBtn2 = _interopRequireDefault(_n3RadioBtn);
    
    var _n3RadioGroup = __webpack_require__(661);
    
    var _n3RadioGroup2 = _interopRequireDefault(_n3RadioGroup);
    
    var _n3Select = __webpack_require__(664);
    
    var _n3Select2 = _interopRequireDefault(_n3Select);
    
    var _n3Tab = __webpack_require__(669);
    
    var _n3Tab2 = _interopRequireDefault(_n3Tab);
    
    var _n3Tabs = __webpack_require__(672);
    
    var _n3Tabs2 = _interopRequireDefault(_n3Tabs);
    
    var _n3Tooltip = __webpack_require__(617);
    
    var _n3Tooltip2 = _interopRequireDefault(_n3Tooltip);
    
    var _n3Button = __webpack_require__(384);
    
    var _n3Button2 = _interopRequireDefault(_n3Button);
    
    var _n3ButtonGroup = __webpack_require__(675);
    
    var _n3ButtonGroup2 = _interopRequireDefault(_n3ButtonGroup);
    
    var _n3Container = __webpack_require__(678);
    
    var _n3Container2 = _interopRequireDefault(_n3Container);
    
    var _n3Row = __webpack_require__(681);
    
    var _n3Row2 = _interopRequireDefault(_n3Row);
    
    var _n3Nav = __webpack_require__(684);
    
    var _n3Nav2 = _interopRequireDefault(_n3Nav);
    
    var _n3SubNav = __webpack_require__(688);
    
    var _n3SubNav2 = _interopRequireDefault(_n3SubNav);
    
    var _n3NavItem = __webpack_require__(692);
    
    var _n3NavItem2 = _interopRequireDefault(_n3NavItem);
    
    var _n3NavGroup = __webpack_require__(695);
    
    var _n3NavGroup2 = _interopRequireDefault(_n3NavGroup);
    
    var _n3Column = __webpack_require__(698);
    
    var _n3Column2 = _interopRequireDefault(_n3Column);
    
    var _n3Switch = __webpack_require__(701);
    
    var _n3Switch2 = _interopRequireDefault(_n3Switch);
    
    var _n3MultipleInput = __webpack_require__(704);
    
    var _n3MultipleInput2 = _interopRequireDefault(_n3MultipleInput);
    
    var _n3Page = __webpack_require__(710);
    
    var _n3Page2 = _interopRequireDefault(_n3Page);
    
    var _n3Step = __webpack_require__(713);
    
    var _n3Step2 = _interopRequireDefault(_n3Step);
    
    var _n3DataTable = __webpack_require__(716);
    
    var _n3DataTable2 = _interopRequireDefault(_n3DataTable);
    
    var _n3Loading = __webpack_require__(386);
    
    var _n3Loading2 = _interopRequireDefault(_n3Loading);
    
    var _n3Timeline = __webpack_require__(719);
    
    var _n3Timeline2 = _interopRequireDefault(_n3Timeline);
    
    var _n3TimelineItem = __webpack_require__(721);
    
    var _n3TimelineItem2 = _interopRequireDefault(_n3TimelineItem);
    
    var _n3Typeahead = __webpack_require__(706);
    
    var _n3Typeahead2 = _interopRequireDefault(_n3Typeahead);
    
    var _n3Icon = __webpack_require__(380);
    
    var _n3Icon2 = _interopRequireDefault(_n3Icon);
    
    var _n3Tags = __webpack_require__(725);
    
    var _n3Tags2 = _interopRequireDefault(_n3Tags);
    
    var _n3Breadcrumb = __webpack_require__(728);
    
    var _n3Breadcrumb2 = _interopRequireDefault(_n3Breadcrumb);
    
    var _n3BreadcrumbItem = __webpack_require__(731);
    
    var _n3BreadcrumbItem2 = _interopRequireDefault(_n3BreadcrumbItem);
    
    var _n3Form = __webpack_require__(734);
    
    var _n3Form2 = _interopRequireDefault(_n3Form);
    
    var _n3FormItem = __webpack_require__(737);
    
    var _n3FormItem2 = _interopRequireDefault(_n3FormItem);
    
    var _n3Slider = __webpack_require__(615);
    
    var _n3Slider2 = _interopRequireDefault(_n3Slider);
    
    var _n3Slide = __webpack_require__(740);
    
    var _n3Slide2 = _interopRequireDefault(_n3Slide);
    
    var _n3Tree = __webpack_require__(743);
    
    var _n3Tree2 = _interopRequireDefault(_n3Tree);
    
    var _n3Card = __webpack_require__(752);
    
    var _n3Card2 = _interopRequireDefault(_n3Card);
    
    var _n3Rate = __webpack_require__(755);
    
    var _n3Rate2 = _interopRequireDefault(_n3Rate);
    
    var _n3Uploader = __webpack_require__(758);
    
    var _n3Uploader2 = _interopRequireDefault(_n3Uploader);
    
    var _n3CollapseTransition = __webpack_require__(628);
    
    var _n3CollapseTransition2 = _interopRequireDefault(_n3CollapseTransition);
    
    var _position = __webpack_require__(761);
    
    var _position2 = _interopRequireDefault(_position);
    
    function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
    
    var Components = {
      n3FormItem: _n3FormItem2.default,
      n3Form: _n3Form2.default,
      n3Alert: _n3Alert2.default,
      n3Carousel: _n3Carousel2.default,
      n3Accordion: _n3Accordion2.default,
      n3Container: _n3Container2.default,
      n3Loading: _n3Loading2.default,
      n3Slide: _n3Slide2.default,
      n3Row: _n3Row2.default,
      n3Column: _n3Column2.default,
      n3Switch: _n3Switch2.default,
      n3Button: _n3Button2.default,
      n3ButtonGroup: _n3ButtonGroup2.default,
      n3Affix: _n3Affix2.default,
      n3Aside: _n3Aside2.default,
      n3Checkbox: _n3Checkbox2.default,
      n3CheckboxBtn: _n3CheckboxBtn2.default,
      n3CheckboxGroup: _n3CheckboxGroup2.default,
      n3Datepicker: _n3Datepicker2.default,
      n3Timepicker: _n3Timepicker2.default,
      n3Datetimepicker: _n3Datetimepicker2.default,
      n3Uploader: _n3Uploader2.default,
      n3Cascader: _n3Cascader2.default,
      n3Label: _n3Label2.default,
      n3Rate: _n3Rate2.default,
      n3Input: _n3Input2.default,
      n3Textarea: _n3Textarea2.default,
      n3Dropdown: _n3Dropdown2.default,
      n3Modal: _n3Modal2.default,
      n3Option: _n3Option2.default,
      n3Nav: _n3Nav2.default,
      n3SubNav: _n3SubNav2.default,
      n3NavItem: _n3NavItem2.default,
      n3NavGroup: _n3NavGroup2.default,
      n3Panel: _n3Panel2.default,
      n3InputNumber: _n3InputNumber2.default,
      n3Popover: _n3Popover2.default,
      n3PopConfirm: _n3PopConfirm2.default,
      n3Progressbar: _n3Progressbar2.default,
      n3Progress: _n3Progress2.default,
      n3Card: _n3Card2.default,
      n3RadioGroup: _n3RadioGroup2.default,
      n3Radio: _n3Radio2.default,
      n3RadioBtn: _n3RadioBtn2.default,
      n3Select: _n3Select2.default,
      n3Icon: _n3Icon2.default,
      n3Tree: _n3Tree2.default,
      n3Slider: _n3Slider2.default,
      n3Tab: _n3Tab2.default,
      n3TimelineItem: _n3TimelineItem2.default,
      n3Timeline: _n3Timeline2.default,
      n3MultipleInput: _n3MultipleInput2.default,
      n3Tabs: _n3Tabs2.default,
      n3Tooltip: _n3Tooltip2.default,
      n3Typeahead: _n3Typeahead2.default,
      n3Page: _n3Page2.default,
      n3Step: _n3Step2.default,
      n3Tags: _n3Tags2.default,
      n3DataTable: _n3DataTable2.default,
      n3Breadcrumb: _n3Breadcrumb2.default,
      n3BreadcrumbItem: _n3BreadcrumbItem2.default,
      n3CollapseTransition: _n3CollapseTransition2.default
    };
    
    var install = function install(Vue) {
      for (var i in Components) {
        Vue.component(i, Components[i]);
      }
    
      Vue.directive('n3Position', _position2.default);
      Vue.prototype.n3Modal = _n3ModalMethod2.default;
      Vue.prototype.n3Alert = _n3AlertMethod2.default;
      Vue.prototype.n3Toast = _n3ToastMethod2.default;
    };
    
    if (typeof window !== 'undefined' && window.Vue) {
      install(window.Vue);
    }
    
    Components.install = install;
    
    module.exports = Components;

/***/ }),
/* 558 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    
    var _vue = __webpack_require__(555);
    
    var _vue2 = _interopRequireDefault(_vue);
    
    var _n3Alert = __webpack_require__(378);
    
    var _n3Alert2 = _interopRequireDefault(_n3Alert);
    
    function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
    
    var $body = document.querySelector('body');
    
    var createNode = function createNode() {
      var $node = document.createElement('div');
      $body.appendChild($node);
      return $node;
    };
    
    var removeNode = function removeNode($node) {
      $node.parentNode.removeChild($node);
    };
    
    var alert = function alert(options) {
      var description = options.description,
          type = options.type,
          dismissable = options.dismissable,
          duration = options.duration,
          width = options.width,
          small = options.small,
          placement = options.placement,
          message = options.message,
          content = options.content,
          icon = options.icon;
    
      var containerClass = 'n3-alert-container-' + (placement || 'top');
      var container = document.querySelector('.' + containerClass);
    
      if (!container) {
        container = createNode();
        container.classList.add(containerClass);
        container.classList.add('n3-alert-' + (placement || 'top'));
      }
    
      var dom = document.createElement('div');
      container.appendChild(dom);
    
      var instance = new _vue2.default({
        el: dom,
        data: function data() {
          return {
            show: false
          };
        },
    
        components: {
          Alert: _n3Alert2.default
        },
        template: '<alert \n      ref="alert" \n      :method="true"\n      ' + (icon ? 'icon="' + icon + '"' : '') + '\n      :description="' + (description || false) + '"\n      ' + (width ? 'width="' + width + '"' : '') + '\n      type="' + (type || 'default') + '"\n      :dismissable="' + (dismissable || true) + '"\n      :duration="' + duration + '"\n      :small="' + (small || false) + '"\n      ' + (placement ? 'placement="' + placement + '"' : 'top') + '\n      ' + (message ? 'message="' + message + '"' : 'top') + '\n      message="' + message + '"\n      @hide="destroy"\n      @close="destroy">\n        ' + content + '\n    </alert>',
        mounted: function mounted() {
          var _this = this;
    
          this.$nextTick(function () {
            _this.$refs.alert.open();
          });
        },
        destroyed: function destroyed() {
          removeNode(this.$el);
        },
    
        methods: {
          destroy: function destroy() {
            this.$destroy();
          }
        }
      });
    };
    
    exports.default = alert;

/***/ }),
/* 559 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(560)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] src/Carousel/n3Carousel.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(563)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-122b9550/n3Carousel.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 560 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    
    var _EventListener = __webpack_require__(561);
    
    var _EventListener2 = _interopRequireDefault(_EventListener);
    
    var _n3Icon = __webpack_require__(380);
    
    var _n3Icon2 = _interopRequireDefault(_n3Icon);
    
    var _element = __webpack_require__(562);
    
    var _element2 = _interopRequireDefault(_element);
    
    function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
    
    function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } // <template>
    // <div :class="`${prefixCls}-carousel ${prefixCls}-slide`">
    //   <ol :class="`${prefixCls}-carousel-indicators`" v-show="indicators">
    //     <transition-group name="fade">
    //     <li v-for="(i,index) in indicator" 
    //       :key="index"
    //       @click="handleIndicatorClick(index)" 
    //       :class="[index === activeIndex ? prefixCls + '-carousel-active'  : '']">
    //     </li>
    //     </transition-group>
    //   </ol>
    //   <div :class="`${prefixCls}-carousel-inner`">
    //     <slot></slot>
    //   </div>
    //   <a v-show="controls" :class="`${prefixCls}-carousel-left ${prefixCls}-carousel-control`" @click="prevClick">
    //     <n3-icon type="chevron-left"></n3-icon>
    //   </a>
    //   <a v-show="controls" :class="`${prefixCls}-carousel-right ${prefixCls}-carousel-control`" @click="nextClick">
    //     <n3-icon type="chevron-right"></n3-icon>
    //   </a>
    // </div>
    // </template>
    //
    // <script>
    
    
    exports.default = {
      name: 'n3Carousel',
      props: {
        indicators: {
          type: Boolean,
          default: true
        },
        controls: {
          type: Boolean,
          default: true
        },
        interval: {
          type: Number,
          default: 5000
        },
        prefixCls: {
          type: String,
          default: 'n3'
        }
      },
      data: function data() {
        return {
          intervalID: '',
          indicator: [],
          activeIndex: 0,
          isAnimating: false
        };
      },
    
      computed: {
        slider: function slider() {
          return this.$el.querySelectorAll('.' + this.prefixCls + '-carousel-item');
        }
      },
      watch: {
        activeIndex: function activeIndex(newVal, oldVal) {
          newVal > oldVal ? this.slide('left', newVal, oldVal) : this.slide('right', newVal, oldVal);
        }
      },
      components: {
        n3Icon: _n3Icon2.default
      },
      methods: {
        handleIndicatorClick: function handleIndicatorClick(index) {
          if (this.isAnimating) return false;
          this.isAnimating = true;
          this.activeIndex = index;
        },
        slide: function slide(direction, selected, prev) {
          var _this = this;
    
          if (this._prevSelectedEvent) this._prevSelectedEvent.remove();
          if (this._selectedEvent) this._selectedEvent.remove();
    
          var prevSelectedEl = this.slider[prev];
          var selectedEl = this.slider[selected];
          var transitionendFn = function transitionendFn() {
            [].concat(_toConsumableArray(_this.slider)).forEach(function (el) {
              _element2.default.setClass(el, _this.prefixCls + '-carousel-item');
            });
            _element2.default.addClass(selectedEl, _this.prefixCls + '-carousel-active');
            _this.isAnimating = false;
          };
    
          direction === 'left' ? _element2.default.addClass(selectedEl, this.prefixCls + '-carousel-next') : _element2.default.addClass(selectedEl, this.prefixCls + '-carousel-prev');
    
          this._prevSelectedEvent = _EventListener2.default.listen(prevSelectedEl, 'transitionend', transitionendFn);
          this._selectedEvent = _EventListener2.default.listen(selectedEl, 'transitionend', transitionendFn);
          // remove animation for IE9
          if (_element2.default.isIE9) {
            setTimeout(function () {
              transitionendFn();
            });
          }
          _element2.default.addClass(prevSelectedEl, this.prefixCls + '-carousel-' + direction);
          _element2.default.addClass(selectedEl, this.prefixCls + '-carousel-' + direction);
        },
        nextClick: function nextClick() {
          if (this.isAnimating) return false;
          this.isAnimating = true;
          this.activeIndex + 1 < this.slider.length ? this.activeIndex += 1 : this.activeIndex = 0;
        },
        prevClick: function prevClick() {
          if (this.isAnimating) return false;
          this.isAnimating = true;
          this.activeIndex === 0 ? this.activeIndex = this.slider.length - 1 : this.activeIndex -= 1;
        }
      },
      mounted: function mounted() {
        var _this2 = this;
    
        this.$nextTick(function () {
          var el = _this2.$el;
          var self = _this2;
          function intervalManager(flag, func, time) {
            flag ? self.intervalID = setInterval(func, time) : clearInterval(self.intervalID);
          }
          if (_this2.interval > 0) {
            intervalManager(true, _this2.nextClick, _this2.interval);
            el.addEventListener('mouseenter', function () {
              return intervalManager(false);
            });
            el.addEventListener('mouseleave', function () {
              return intervalManager(true, _this2.nextClick, _this2.interval);
            });
          }
        });
      },
      beforeDestroy: function beforeDestroy() {
        if (this.intervalID) clearInterval(this.intervalID);
      }
    };
    // </script>

    /* generated by vue-loader */

/***/ }),
/* 561 */
/***/ (function(module, exports) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var EventListener = {
      /**
       * Listen to DOM events during the bubble phase.
       *
       * @param {DOMEventTarget} target DOM element to register listener on.
       * @param {string} eventType Event type, e.g. 'click' or 'mouseover'.
       * @param {function} callback Callback function.
       * @return {object} Object with a `remove` method.
       */
      listen: function listen(target, eventType, callback) {
        if (target.addEventListener) {
          target.addEventListener(eventType, callback, false);
          return {
            remove: function remove() {
              target.removeEventListener(eventType, callback, false);
            }
          };
        } else if (target.attachEvent) {
          target.attachEvent('on' + eventType, callback);
          return {
            remove: function remove() {
              target.detachEvent('on' + eventType, callback);
            }
          };
        }
      }
    };
    
    exports.default = EventListener;

/***/ }),
/* 562 */
/***/ (function(module, exports) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: 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; };
    
    // Browser environment sniffing
    var inBrowser = typeof window !== 'undefined' && Object.prototype.toString.call(window) !== '[object Object]';
    
    // UA sniffing for working around browser-specific quirks
    var UA = inBrowser && window.navigator.userAgent.toLowerCase();
    var isIE9 = UA && UA.indexOf('msie 9.0') > 0;
    
    /**
     * For IE9 compat: when both class and :class are present
     * getAttribute('class') returns wrong value...
     *
     * @param {Element} el
     * @return {String}
     */
    
    function getClass(el) {
      var classname = el.className;
      if ((typeof classname === 'undefined' ? 'undefined' : _typeof(classname)) === 'object') {
        classname = classname.baseVal || '';
      }
      return classname;
    }
    
    /**
     * In IE9, setAttribute('class') will result in empty class
     * if the element also has the :class attribute; However in
     * PhantomJS, setting `className` does not work on SVG elements...
     * So we have to do a conditional check here.
     *
     * @param {Element} el
     * @param {String} cls
     */
    
    function setClass(el, cls) {
      /* istanbul ignore if */
      if (isIE9 && !/svg$/.test(el.namespaceURI)) {
        el.className = cls;
      } else {
        el.setAttribute('class', cls);
      }
    }
    
    /**
     * Add class with compatibility for IE & SVG
     *
     * @param {Element} el
     * @param {String} cls
     */
    
    function addClass(el, cls) {
      if (el.classList) {
        el.classList.add(cls);
      } else {
        var cur = ' ' + getClass(el) + ' ';
        if (cur.indexOf(' ' + cls + ' ') < 0) {
          setClass(el, (cur + cls).trim());
        }
      }
    }
    
    /**
     * Remove class with compatibility for IE & SVG
     *
     * @param {Element} el
     * @param {String} cls
     */
    
    function removeClass(el, cls) {
      if (el.classList) {
        el.classList.remove(cls);
      } else {
        var cur = ' ' + getClass(el) + ' ';
        var tar = ' ' + cls + ' ';
        while (cur.indexOf(tar) >= 0) {
          cur = cur.replace(tar, ' ');
        }
        setClass(el, cur.trim());
      }
      if (!el.className) {
        el.removeAttribute('class');
      }
    }
    
    exports.default = {
      getClass: getClass,
      removeClass: removeClass,
      addClass: addClass,
      setClass: setClass,
      inBrowser: inBrowser,
      UA: UA,
      isIE9: isIE9
    };

/***/ }),
/* 563 */
/***/ (function(module, exports) {

    module.exports = "\n<div :class=\"`${prefixCls}-carousel ${prefixCls}-slide`\">\n  <ol :class=\"`${prefixCls}-carousel-indicators`\" v-show=\"indicators\">\n    <transition-group name=\"fade\">\n    <li v-for=\"(i,index) in indicator\" \n      :key=\"index\"\n      @click=\"handleIndicatorClick(index)\" \n      :class=\"[index === activeIndex ? prefixCls + '-carousel-active'  : '']\">\n    </li>\n    </transition-group>\n  </ol>\n  <div :class=\"`${prefixCls}-carousel-inner`\">\n    <slot></slot>\n  </div>\n  <a v-show=\"controls\" :class=\"`${prefixCls}-carousel-left ${prefixCls}-carousel-control`\" @click=\"prevClick\">\n    <n3-icon type=\"chevron-left\"></n3-icon>\n  </a>\n  <a v-show=\"controls\" :class=\"`${prefixCls}-carousel-right ${prefixCls}-carousel-control`\" @click=\"nextClick\">\n    <n3-icon type=\"chevron-right\"></n3-icon>\n  </a>\n</div>\n";

/***/ }),
/* 564 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(565)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] src/Accordion/n3Accordion.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(566)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-11e9e740/n3Accordion.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 565 */
/***/ (function(module, exports) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    // <template>
    //   <div :class="`${prefixCls}-panel-group`">
    //     <slot></slot>
    //   </div>
    // </template>
    //
    // <script>
    exports.default = {
      name: 'n3Accordion',
      props: {
        oneAtTime: {
          type: Boolean,
          default: false
        },
        effect: {
          type: String,
          default: 'collapse'
        },
        prefixCls: {
          type: String,
          default: 'n3'
        }
      },
      methods: {
        change: function change(child) {
          var children = this.$children;
          var ret = [];
          if (this.oneAtTime) {
            children.forEach(function (item) {
              if (child !== item) {
                item.open = false;
              }
            });
          }
    
          children.forEach(function (item) {
            if (item.index) {
              ret.push({
                index: item.index,
                isOpen: item.open,
                header: item.header
              });
            }
          });
          this.$emit('change', ret);
        }
      }
    };
    // </script>
    /* generated by vue-loader */

/***/ }),
/* 566 */
/***/ (function(module, exports) {

    module.exports = "\n<div :class=\"`${prefixCls}-panel-group`\">\n  <slot></slot>\n</div>\n";

/***/ }),
/* 567 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(568)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] src/Affix/n3Affix.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(569)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-25f85650/n3Affix.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 568 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    
    var _EventListener = __webpack_require__(561);
    
    var _EventListener2 = _interopRequireDefault(_EventListener);
    
    function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
    
    exports.default = {
      name: 'n3Affix',
      props: {
        offset: {
          type: Number,
          default: 0
        },
        prefixCls: {
          type: String,
          default: 'n3'
        }
      },
      data: function data() {
        return {
          affixed: false,
          styles: {}
        };
      },
    
      computed: {
        style: function style() {
          return {
            width: this.$el.offsetWidth + 'px',
            height: this.$el.offsetHeight + 'px'
          };
        }
      },
      methods: {
        scrolling: function scrolling() {
          var scrollTop = this.getScroll(window, true);
          var elementOffset = this.getOffset(this.$el);
          if (!this.affixed && scrollTop > elementOffset.top) {
            this.affixed = true;
            this.styles = {
              top: this.offset + 'px',
              left: elementOffset.left + 'px',
              width: this.$el.offsetWidth + 'px',
              position: 'fixed'
            };
          }
          if (this.affixed && scrollTop < elementOffset.top) {
            this.affixed = false;
            this.styles = {};
          }
        },
        getScroll: function getScroll(w, top) {
          var ret = w['page' + (top ? 'Y' : 'X') + 'Offset'];
          var method = 'scroll' + (top ? 'Top' : 'Left');
          if (typeof ret !== 'number') {
            var d = w.document;
            ret = d.documentElement[method];
            if (typeof ret !== 'number') {
              ret = d.body[method];
            }
          }
          return ret;
        },
        getOffset: function getOffset(element) {
          var rect = element.getBoundingClientRect();
          var body = document.body;
          var clientTop = element.clientTop || body.clientTop || 0;
          var clientLeft = element.clientLeft || body.clientLeft || 0;
          var scrollTop = this.getScroll(window, true);
          var scrollLeft = this.getScroll(window);
          return {
            top: rect.top + scrollTop - clientTop,
            left: rect.left + scrollLeft - clientLeft
          };
        }
      },
      mounted: function mounted() {
        this._scrollEvent = _EventListener2.default.listen(window, 'scroll', this.scrolling);
        this._resizeEvent = _EventListener2.default.listen(window, 'resize', this.scrolling);
      },
      beforeDestroy: function beforeDestroy() {
        if (this._scrollEvent) {
          this._scrollEvent.remove();
        }
        if (this._resizeEvent) {
          this._resizeEvent.remove();
        }
      }
    };
    // </script>
    /* generated by vue-loader */
    // <template>
    // <div>
    //   <div v-if="affixed" :style="style"></div>
    //   <div :style="styles" >
    //     <slot></slot>
    //   </div>
    // </div>
    // </template>
    // <script>

/***/ }),
/* 569 */
/***/ (function(module, exports) {

    module.exports = "\n<div>\n  <div v-if=\"affixed\" :style=\"style\"></div>\n  <div :style=\"styles\" >\n    <slot></slot>\n  </div>\n</div>\n";

/***/ }),
/* 570 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(571)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] src/Aside/n3Aside.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(573)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-66726d20/n3Aside.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 571 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    
    var _EventListener = __webpack_require__(561);
    
    var _EventListener2 = _interopRequireDefault(_EventListener);
    
    var _getScrollBarWidth = __webpack_require__(572);
    
    var _getScrollBarWidth2 = _interopRequireDefault(_getScrollBarWidth);
    
    var _element = __webpack_require__(562);
    
    var _element2 = _interopRequireDefault(_element);
    
    function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
    
    exports.default = {
      name: 'n3Aside',
      props: {
        placement: {
          type: String,
          default: 'right'
        },
        title: {
          type: String
        },
        header: {
          type: Boolean,
          default: true
        },
        width: {
          type: String,
          default: '320px'
        },
        prefixCls: {
          type: String,
          default: 'n3'
        }
      },
      data: function data() {
        return {
          show: false
        };
      },
    
      computed: {
        classObj: function classObj() {
          var prefixCls = this.prefixCls,
              placement = this.placement;
    
          var klass = {};
    
          klass[prefixCls + '-aside'] = true;
          klass[prefixCls + '-aside-left'] = placement === 'left';
          klass[prefixCls + '-aside-right'] = placement === 'right';
    
          return klass;
        }
      },
      watch: {
        show: function show(val) {
          var backdrop = document.createElement('div');
          var prefixCls = this.prefixCls;
          var body = document.body;
          backdrop.className = prefixCls + '-aside-backdrop';
          var scrollBarWidth = (0, _getScrollBarWidth2.default)();
          if (val) {
            body.appendChild(backdrop);
            _element2.default.addClass(body, prefixCls + '-modal-open');
            backdrop.className += ' ' + prefixCls + '-aside-in';
            this._clickEvent = _EventListener2.default.listen(backdrop, 'click', this.close);
            this.$emit('show');
          } else {
            if (this._clickEvent) this._clickEvent.remove();
            backdrop = document.querySelector('.' + prefixCls + '-aside-backdrop');
            backdrop.className = prefixCls + '-aside-backdrop';
            setTimeout(function () {
              _element2.default.removeClass(body, prefixCls + '-modal-open');
              body.style.paddingRight = '0';
              body.removeChild(backdrop);
            }, 300);
            this.$emit('hide');
          }
        }
      },
      methods: {
        open: function open() {
          this.show = true;
        },
        close: function close() {
          this.show = false;
        }
      }
    };
    // </script>

    /* generated by vue-loader */
    // <template>
    //   <transition :name="(this.placement === 'left') ? 'slideleft' : 'slideright'">
    //     <div 
    //       :style="{width:width}"
    //       :class="classObj"
    //       v-show="show">
    //       <div :class="`${prefixCls}-aside-dialog`">
    //         <div :class="`${prefixCls}-aside-content`">
    //           <div :class="`${prefixCls}-aside-header`" v-if="header">
    //             <button type="button" :class="`${prefixCls}-close`" @click='close'><span>&times;</span></button>
    //             <h4 :class="`${prefixCls}-aside-title`">{{title}}</h4>
    //           </div>
    //           <div :class="`${prefixCls}-aside-body`">
    //             <slot></slot>
    //           </div>
    //         </div>
    //       </div>
    //     </div>
    //   </transition>
    // </template>
    //
    // <script>

/***/ }),
/* 572 */
/***/ (function(module, exports) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    
    exports.default = function () {
      var inner = document.createElement('p');
      inner.style.width = '100%';
      inner.style.height = '200px';
    
      var outer = document.createElement('div');
      outer.style.position = 'absolute';
      outer.style.top = '0px';
      outer.style.left = '0px';
      outer.style.visibility = 'hidden';
      outer.style.width = '200px';
      outer.style.height = '150px';
      outer.style.overflow = 'hidden';
      outer.appendChild(inner);
    
      document.body.appendChild(outer);
      var w1 = inner.offsetWidth;
      outer.style.overflow = 'scroll';
      var w2 = inner.offsetWidth;
      if (w1 === w2) w2 = outer.clientWidth;
    
      document.body.removeChild(outer);
    
      return w1 - w2;
    };

/***/ }),
/* 573 */
/***/ (function(module, exports) {

    module.exports = "\n<transition :name=\"(this.placement === 'left') ? 'slideleft' : 'slideright'\">\n  <div \n    :style=\"{width:width}\"\n    :class=\"classObj\"\n    v-show=\"show\">\n    <div :class=\"`${prefixCls}-aside-dialog`\">\n      <div :class=\"`${prefixCls}-aside-content`\">\n        <div :class=\"`${prefixCls}-aside-header`\" v-if=\"header\">\n          <button type=\"button\" :class=\"`${prefixCls}-close`\" @click='close'><span>&times;</span></button>\n          <h4 :class=\"`${prefixCls}-aside-title`\">{{title}}</h4>\n        </div>\n        <div :class=\"`${prefixCls}-aside-body`\">\n          <slot></slot>\n        </div>\n      </div>\n    </div>\n  </div>\n</transition>\n";

/***/ }),
/* 574 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(575)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] src/Checkbox/n3CheckboxGroup.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(582)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-608a9697/n3CheckboxGroup.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 575 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    
    var _valMixin = __webpack_require__(576);
    
    var _valMixin2 = _interopRequireDefault(_valMixin);
    
    var _validate = __webpack_require__(577);
    
    var _validate2 = _interopRequireDefault(_validate);
    
    var _events = __webpack_require__(580);
    
    var _events2 = _interopRequireDefault(_events);
    
    function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
    
    exports.default = {
      name: 'n3CheckboxGroup',
      mixins: [_valMixin2.default, _events2.default],
      props: {
        value: {
          type: Array,
          default: function _default() {
            return [];
          }
        },
        type: {
          type: String,
          default: 'checkbox'
        },
        prefixCls: {
          type: String,
          default: 'n3'
        }
      },
    
      data: function data() {
        return {
          currentValue: this.value
        };
      },
    
    
      methods: {
        init: function init() {
          var children = this.$children;
          var ret = [];
          children.forEach(function (item) {
            item.currentChecked ? ret.push(item.label) : '';
          });
          this.currentValue = ret;
        }
      },
    
      watch: {
        value: function value(val) {
          this.currentValue = val;
        },
        currentValue: function currentValue(val) {
          this.broadcast('n3Checkbox', 'n3@checkboxgroupChange', val);
          this.broadcast('n3CheckboxBtn', 'n3@checkboxgroupChange', val);
          this.$emit('input', val);
          this.$emit('change', val);
        }
      },
    
      created: function created() {
        var _this = this;
    
        this.$on('n3@checkboxChange', function () {
          _this.init();
        });
      },
      mounted: function mounted() {
        var _this2 = this;
    
        this.$nextTick(function () {
          _this2.init();
        });
      },
    
    
      components: {
        validate: _validate2.default
      }
    
    };
    // </script>
    /* generated by vue-loader */
    // <template>
    //   <div :class="`${prefixCls}-btn-group ${prefixCls}-checkbox-group`">
    //     <slot></slot>
    //     <validate
    //       :name="name"
    //       :rules="rules"
    //       :custom-validate="customValidate" 
    //       :current="currentValue">
    //     </validate>
    //   </div>
    // </template>
    //
    // <script>

/***/ }),
/* 576 */
/***/ (function(module, exports) {

    "use strict";
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = {
      props: {
        name: {
          type: String
        },
        customValidate: {
          type: Function
        },
        rules: {
          type: Array
        }
      }
    };

/***/ }),
/* 577 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(578)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] src/validate.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(581)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-4c7ed53c/validate.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 578 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    
    var _type = __webpack_require__(579);
    
    var _type2 = _interopRequireDefault(_type);
    
    var _events = __webpack_require__(580);
    
    var _events2 = _interopRequireDefault(_events);
    
    function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
    
    // <template>
    //     <div :class="`${prefixCls}-err-tip`" v-if="validate && tips" >{{tips}}</div>
    // </template>
    //
    // <script>
    exports.default = {
      name: 'n3Validate',
      mixins: [_events2.default],
      props: {
        value: {
          type: String
        },
        customValidate: {
          type: Function
        },
        rules: {
          type: Array
        },
        name: {
          type: String
        },
        current: {},
        prefixCls: {
          type: String,
          default: 'n3'
        }
      },
      data: function data() {
        return {
          tips: '',
          validate: false,
          status: '',
          vStatus: this.value,
          results: {}
        };
      },
      created: function created() {
        var _this = this;
    
        this.$on('n3@openValidate', function (val) {
          _this.validate = val;
          val ? _this.vStatus = _this.status : _this.vStatus = '';
        });
      },
    
    
      computed: {
        _results: {
          get: function get() {
            return this.results;
          },
          set: function set(val, oldVal) {
            var self = this;
            var tips = '';
            var status = '';
    
            for (var key in val) {
              var obj = val[key];
              if (_type2.default.isObject(obj)) {
                obj.tips ? tips += obj.tips + '  ' : '';
                if (obj.validStatus !== 'success') {
                  status = 'error';
                }
              }
            }
    
            status !== 'error' ? status = 'success' : 0;
    
            self.status = status;
    
            if (self.validate) {
              self.vStatus = self.status;
            }
    
            var isvalid = true;
            self.tips = tips;
    
            for (var i in val) {
              var validStatus = val[i]['validStatus'];
              if (validStatus === 'error') {
                isvalid = false;
                break;
              }
            }
    
            var newVal = Object.assign({}, val);
            newVal.isvalid = isvalid;
    
            if (this.isEqual(newVal, this.results)) {
              return;
            }
    
            this.results = newVal;
    
            self.dispatch('n3Form', 'n3@validateChange', {
              name: self.name,
              result: self.results
            });
          }
        }
      },
      watch: {
        current: {
          handler: function handler(newVal, oldVal) {
            this.valid(newVal);
          },
    
          immediate: true
        },
        vStatus: function vStatus(val) {
          this.$emit('input', val);
        }
      },
      methods: {
        isEqual: function isEqual(a, b) {
          var e = true;
          var propsA = Object.keys(a);
          var propsB = Object.keys(b);
    
          if (propsA.length !== propsB.length) {
            return false;
          }
    
          propsA.forEach(function (i) {
            if (a[i]['validStatus'] !== b[i]['validStatus']) {
              e = false;
              return false;
            }
          });
    
          return e;
        },
        setResult: function setResult(key, value) {
          var o = Object.assign({}, this.results);
          o[key] = value;
          this._results = o;
        },
        valid: function valid(val) {
          if (this.rules || _type2.default.isFunction(this.customValidate)) {
            this.rulesValid(val);
          }
        },
        rulesItemValid: function rulesItemValid(rule, value) {
          var self = this;
          var tip = rule.tip;
          var type = rule.type;
    
          switch (type) {
            case 'required':
              self.requiredValid(value, tip);
              break;
            case 'phone':
              self.phoneValid(value, tip);
              break;
            case 'number':
              self.numberValid(value, tip);
              break;
            case 'telephone':
              self.telValid(value, tip);
              break;
            case 'email':
              self.emailValid(value, tip);
              break;
          }
    
          if (type.indexOf('maxlength') > -1) {
            self.maxlengthValid(type, value, tip);
            return;
          }
          if (type.indexOf('minlength') > -1) {
            self.minlengthValid(type, value, tip);
            return;
          }
        },
        customValid: function customValid(val) {
          this.setResult('customValidate', this.customValidate(val));
        },
        requiredValid: function requiredValid(val, tip) {
          var self = this;
    
          self._results = self._results || {};
    
          if (_type2.default.isNullOrUndefined(val) || val.length === 0) {
            self.setResult('requiredValid', {
              validStatus: 'error',
              tips: tip || '不能为空'
            });
          } else {
            self.setResult('requiredValid', {
              validStatus: 'success',
              tips: ''
            });
          }
        },
        maxlengthValid: function maxlengthValid(type, val, tip) {
          var self = this;
          var maxlength = type.split('=')[1] - 0;
    
          self._results = self._results || {};
    
          if (val) {
            if (val.length > maxlength) {
              self.setResult('maxlengthValid', {
                validStatus: 'error',
                tips: tip || '输入字符数不能大于' + maxlength
              });
            } else {
              self.setResult('maxlengthValid', {
                validStatus: 'success',
                tips: ''
              });
            }
          }
        },
        minlengthValid: function minlengthValid(type, val, tip) {
          var self = this;
          var minlength = type.split('=')[1] - 0;
    
          self._results = self._results || {};
    
          if (val) {
            if (val.length < minlength) {
              self.setResult('minlengthValid', {
                validStatus: 'error',
                tips: tip || '输入字符数不能小于' + minlength
              });
            } else {
              self.setResult('minlengthValid', {
                validStatus: 'success',
                tips: ''
              });
            }
          }
        },
        rulesValid: function rulesValid(value) {
          var self = this;
    
          self.rules.forEach(function (val, index) {
            self.rulesItemValid(val, value);
          });
    
          if (_type2.default.isFunction(self.customValidate)) {
            self.customValid(value);
          }
        },
        phoneValid: function phoneValid(value, tip) {
          var rule = /^1\d{10}$/;
    
          if (rule.test(value) || value === '') {
            this.setResult('isPhoneValid', {
              validStatus: 'success',
              tips: ''
            });
          } else {
            this.setResult('isPhoneValid', {
              validStatus: 'error',
              tips: tip || '请输入正确的手机号码'
            });
          }
        },
        numberValid: function numberValid(value, tip) {
          var rule = /^\d*$/;
    
          if (rule.test(value) || value === '') {
            this.setResult('isNumberValid', {
              validStatus: 'success',
              tips: ''
            });
          } else {
            this.setResult('isNumberValid', {
              validStatus: 'error',
              tips: tip || '请输入数字'
            });
          }
        },
        telValid: function telValid(value, tip) {
          var rule = /^(([0\+]\d{2,3}-)?(0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$/;
    
          if (rule.test(value) || value === '') {
            this.setResult('isTelValid', {
              validStatus: 'success',
              tips: ''
            });
          } else {
            this.setResult('isTelValid', {
              validStatus: 'error',
              tips: tip || '输入固话格式错误,固话请用-'
            });
          }
        },
        emailValid: function emailValid(value, tip) {
          var rule = /^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/;
    
          if (rule.test(value) || value === '') {
            this.setResult('isEmailValid', {
              validStatus: 'success',
              tips: ''
            });
          } else {
            this.setResult('isEmailValid', {
              validStatus: 'error',
              tips: tip || '请输入正确的email'
            });
          }
        }
      }
    };
    // </script>
    /* generated by vue-loader */

/***/ }),
/* 579 */
/***/ (function(module, exports) {

    'use strict';
    
    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; };
    
    // Copyright Joyent, Inc. and other Node contributors.
    //
    // Permission is hereby granted, free of charge, to any person obtaining a
    // copy of this software and associated documentation files (the
    // "Software"), to deal in the Software without restriction, including
    // without limitation the rights to use, copy, modify, merge, publish,
    // distribute, sublicense, and/or sell copies of the Software, and to permit
    // persons to whom the Software is furnished to do so, subject to the
    // following conditions:
    //
    // The above copyright notice and this permission notice shall be included
    // in all copies or substantial portions of the Software.
    //
    // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
    // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
    // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
    // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
    // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
    // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
    // USE OR OTHER DEALINGS IN THE SOFTWARE.
    
    // NOTE: These type checking functions intentionally don't use `instanceof`
    // because it is fragile and can be easily faked with `Object.create()`.
    
    function isArray(arg) {
      if (Array.isArray) {
        return Array.isArray(arg);
      }
      return objectToString(arg) === '[object Array]';
    }
    exports.isArray = isArray;
    
    function isBoolean(arg) {
      return typeof arg === 'boolean';
    }
    exports.isBoolean = isBoolean;
    
    function isNull(arg) {
      return arg === null;
    }
    exports.isNull = isNull;
    
    function isNullOrUndefined(arg) {
      return arg == null;
    }
    exports.isNullOrUndefined = isNullOrUndefined;
    
    function isNumber(arg) {
      return typeof arg === 'number';
    }
    exports.isNumber = isNumber;
    
    function isString(arg) {
      return typeof arg === 'string';
    }
    exports.isString = isString;
    
    function isSymbol(arg) {
      return (typeof arg === 'undefined' ? 'undefined' : _typeof(arg)) === 'symbol';
    }
    exports.isSymbol = isSymbol;
    
    function isUndefined(arg) {
      return arg === void 0;
    }
    exports.isUndefined = isUndefined;
    
    function isRegExp(re) {
      return objectToString(re) === '[object RegExp]';
    }
    exports.isRegExp = isRegExp;
    
    function isObject(arg) {
      return (typeof arg === 'undefined' ? 'undefined' : _typeof(arg)) === 'object' && arg !== null;
    }
    exports.isObject = isObject;
    
    function isDate(d) {
      return objectToString(d) === '[object Date]';
    }
    exports.isDate = isDate;
    
    function isError(e) {
      return objectToString(e) === '[object Error]' || e instanceof Error;
    }
    exports.isError = isError;
    
    function isFunction(arg) {
      return typeof arg === 'function';
    }
    exports.isFunction = isFunction;
    
    function isPrimitive(arg) {
      return arg === null || typeof arg === 'boolean' || typeof arg === 'number' || typeof arg === 'string' || (typeof arg === 'undefined' ? 'undefined' : _typeof(arg)) === 'symbol' || // ES6 symbol
      typeof arg === 'undefined';
    }
    exports.isPrimitive = isPrimitive;
    
    function objectToString(o) {
      return Object.prototype.toString.call(o);
    }
    
    function isPromise(promise) {
      return isObject(promise) && isFunction(promise.then) && isFunction(promise.catch);
    }
    exports.isPromise = isPromise;

/***/ }),
/* 580 */
/***/ (function(module, exports) {

    "use strict";
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    function _broadcast(componentName, eventName, params) {
      this.$children.forEach(function (child) {
        var name = child.$options.name;
    
        if (name === componentName) {
          child.$emit(eventName, params);
        } else {
          _broadcast.call(child, componentName, eventName, params);
        }
      });
    }
    exports.default = {
      methods: {
        dispatch: function dispatch(componentName, eventName, params) {
          var parent = this.$parent || this.$root;
          var name = parent.$options.name;
    
          while (parent && (!name || name !== componentName)) {
            parent = parent.$parent;
    
            if (parent) {
              name = parent.$options.name;
            }
          }
          if (parent) {
            parent.$emit(eventName, params);
          }
        },
        broadcast: function broadcast(componentName, eventName, params) {
          _broadcast.call(this, componentName, eventName, params);
        }
      }
    };

/***/ }),
/* 581 */
/***/ (function(module, exports) {

    module.exports = "\n<div :class=\"`${prefixCls}-err-tip`\" v-if=\"validate && tips\" >{{tips}}</div>\n";

/***/ }),
/* 582 */
/***/ (function(module, exports) {

    module.exports = "\n<div :class=\"`${prefixCls}-btn-group ${prefixCls}-checkbox-group`\">\n  <slot></slot>\n  <validate\n    :name=\"name\"\n    :rules=\"rules\"\n    :custom-validate=\"customValidate\" \n    :current=\"currentValue\">\n  </validate>\n</div>\n";

/***/ }),
/* 583 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(584)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] src/Checkbox/n3Checkbox.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(585)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-01644d10/n3Checkbox.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 584 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    
    var _n3Icon = __webpack_require__(380);
    
    var _n3Icon2 = _interopRequireDefault(_n3Icon);
    
    var _events = __webpack_require__(580);
    
    var _events2 = _interopRequireDefault(_events);
    
    var _valMixin = __webpack_require__(576);
    
    var _valMixin2 = _interopRequireDefault(_valMixin);
    
    var _validate = __webpack_require__(577);
    
    var _validate2 = _interopRequireDefault(_validate);
    
    function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
    
    // <template>
    //   <label :class="wrapClass">
    //   <span>
    //     <span :class="`${prefixCls}-checkbox-inner`">
    //       <n3-icon type="check" color="#fff" :class="`${prefixCls}-checkbox-inner-check`"></n3-icon>
    //     </span>
    //     <input
    //       type="checkbox"
    //       :class="`${prefixCls}-checkbox-input`"
    //       :disabled="disabled"
    //       :checked="currentChecked"
    //       @click="handleClick"/>
    //   </span>
    //   <span><slot></slot></span>  
    //   <validate
    //     :name="name"
    //     :rules="rules"
    //     :custom-validate="customValidate" 
    //     :current="currentChecked">
    //   </validate>
    //   </label>
    // </template>
    //
    // <script>
    exports.default = {
      name: 'n3Checkbox',
      mixins: [_valMixin2.default, _events2.default],
      props: {
        value: {
          type: String
        },
        checked: {
          type: Boolean,
          default: false
        },
        label: {
          type: [String, Number]
        },
        disabled: {
          type: Boolean,
          default: false
        },
        prefixCls: {
          type: String,
          default: 'n3'
        }
      },
      components: {
        validate: _validate2.default,
        n3Icon: _n3Icon2.default
      },
      data: function data() {
        var checked = this.checked;
        if (checked !== undefined) {
          this.$emit('input', checked);
        } else {
          checked = !!this.value;
        }
    
        return {
          currentChecked: checked
        };
      },
    
      watch: {
        value: function value(val) {
          this.currentChecked = val;
        },
        checked: function checked(val) {
          this.currentChecked = val;
        },
        currentChecked: function currentChecked(val) {
          this.$emit('input', val);
        }
      },
      computed: {
        wrapClass: function wrapClass() {
          var klass = {};
          var prefixCls = this.prefixCls,
              currentChecked = this.currentChecked,
              disabled = this.disabled;
    
    
          klass[prefixCls + '-checkbox-label'] = true;
          klass[prefixCls + '-checkbox-checked'] = currentChecked;
          klass[prefixCls + '-checkbox-disabled'] = disabled;
    
          return klass;
        }
      },
      created: function created() {
        var _this = this;
    
        this.$on('n3@checkboxgroupChange', function (val) {
          _this.currentChecked = val.indexOf(_this.label) > -1;
        });
      },
    
      methods: {
        handleClick: function handleClick() {
          this.currentChecked = !this.currentChecked;
          this.dispatch('n3CheckboxGroup', 'n3@checkboxChange', this);
          this.$emit('change', this.currentChecked);
        }
      }
    };
    // </script>
    /* generated by vue-loader */

/***/ }),
/* 585 */
/***/ (function(module, exports) {

    module.exports = "\n<label :class=\"wrapClass\">\n<span>\n  <span :class=\"`${prefixCls}-checkbox-inner`\">\n    <n3-icon type=\"check\" color=\"#fff\" :class=\"`${prefixCls}-checkbox-inner-check`\"></n3-icon>\n  </span>\n  <input\n    type=\"checkbox\"\n    :class=\"`${prefixCls}-checkbox-input`\"\n    :disabled=\"disabled\"\n    :checked=\"currentChecked\"\n    @click=\"handleClick\"/>\n</span>\n<span><slot></slot></span>  \n<validate\n  :name=\"name\"\n  :rules=\"rules\"\n  :custom-validate=\"customValidate\" \n  :current=\"currentChecked\">\n</validate>\n</label>\n";

/***/ }),
/* 586 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(587)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] src/Checkbox/n3CheckboxBtn.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(588)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-228727f4/n3CheckboxBtn.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 587 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    
    var _n3Button = __webpack_require__(384);
    
    var _n3Button2 = _interopRequireDefault(_n3Button);
    
    var _events = __webpack_require__(580);
    
    var _events2 = _interopRequireDefault(_events);
    
    var _valMixin = __webpack_require__(576);
    
    var _valMixin2 = _interopRequireDefault(_valMixin);
    
    var _validate = __webpack_require__(577);
    
    var _validate2 = _interopRequireDefault(_validate);
    
    function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
    
    // <template>
    //   <n3-button 
    //     @click.prevent.native="handleClick"
    //     :class="classObj" 
    //     :disabled="disabled"
    //     :type="currentChecked ? 'primary' : 'default'">
    //     <slot></slot>
    //   </n3-button>
    // <!--   <validate
    //     :name="name"
    //     :rules="rules"
    //     :valid-status.sync="validStatus"
    //     :custom-validate="customValidate" 
    //     :value="currentChecked"
    //     :results.sync="validateResults">
    //   </validate> -->
    // </template>
    //
    // <script>
    exports.default = {
      name: 'n3CheckboxBtn',
      mixins: [_valMixin2.default, _events2.default],
      props: {
        value: {
          type: String
        },
        label: {
          type: [String, Number]
        },
        checked: {
          type: Boolean,
          default: false
        },
        disabled: {
          type: Boolean,
          default: false
        },
        prefixCls: {
          type: String,
          default: 'n3'
        }
      },
      computed: {
        classObj: function classObj() {
          var prefixCls = this.prefixCls;
    
          var klass = {};
          klass[prefixCls + '-checked-btn'] = true;
    
          return klass;
        }
      },
      watch: {
        value: function value(val) {
          this.currentChecked = val;
        },
        checked: function checked(val) {
          this.currentChecked = val;
        },
        currentChecked: function currentChecked(val) {
          this.$emit('input', val);
        }
      },
      data: function data() {
        var checked = this.checked;
        if (checked !== undefined) {
          this.$emit('input', checked);
        } else {
          checked = !!this.value;
        }
    
        return {
          currentChecked: checked
        };
      },
    
      methods: {
        handleClick: function handleClick() {
          this.currentChecked = !this.currentChecked;
          this.dispatch('n3CheckboxGroup', 'n3@checkboxChange', this);
          this.$emit('change', this.currentChecked);
        }
      },
      created: function created() {
        var _this = this;
    
        this.$on('n3@checkboxgroupChange', function (val) {
          _this.currentChecked = val.indexOf(_this.label) > -1;
        });
      },
    
      components: {
        n3Button: _n3Button2.default,
        validate: _validate2.default
      }
    };
    // </script>

    /* generated by vue-loader */

/***/ }),
/* 588 */
/***/ (function(module, exports) {

    module.exports = "\n  <n3-button \n    @click.prevent.native=\"handleClick\"\n    :class=\"classObj\" \n    :disabled=\"disabled\"\n    :type=\"currentChecked ? 'primary' : 'default'\">\n    <slot></slot>\n  </n3-button>\n<!--   <validate\n    :name=\"name\"\n    :rules=\"rules\"\n    :valid-status.sync=\"validStatus\"\n    :custom-validate=\"customValidate\" \n    :value=\"currentChecked\"\n    :results.sync=\"validateResults\">\n  </validate> -->\n";

/***/ }),
/* 589 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(590)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] src/Cascader/n3Cascader.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(596)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-b45f82d0/n3Cascader.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 590 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    
    var _EventListener = __webpack_require__(561);
    
    var _EventListener2 = _interopRequireDefault(_EventListener);
    
    var _n3Input = __webpack_require__(591);
    
    var _n3Input2 = _interopRequireDefault(_n3Input);
    
    var _inputMixin = __webpack_require__(593);
    
    var _inputMixin2 = _interopRequireDefault(_inputMixin);
    
    function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
    
    exports.default = {
      name: 'n3Cascader',
      mixins: [_inputMixin2.default],
      props: {
        options: {
          type: Array,
          required: true
        },
    
        displayRender: {
          type: Function,
          default: function _default(label) {
            return label.join(' / ');
          }
        },
        expandTrigger: {
          type: String,
          default: 'click'
        },
        value: {
          type: Array
        },
        onChange: {
          type: Function
        },
        selectChange: {
          type: Boolean,
          default: false
        },
        prefixCls: {
          type: String,
          default: 'n3'
        }
      },
      components: {
        n3Input: _n3Input2.default
      },
      data: function data() {
        return {
          menus: [],
          selectedOptions: [],
          displayValue: '',
          show: false,
          init: true,
          inner: false,
          currentValue: this.value
        };
      },
    
      computed: {
        selectedValue: function selectedValue() {
          var self = this;
          return self.selectedOptions.map(function (option) {
            return option.value;
          });
        },
        selectedLabel: function selectedLabel() {
          var self = this;
          return self.selectedOptions.map(function (option) {
            return option.label;
          });
        }
      },
      created: function created() {
        this.setMenu();
      },
      mounted: function mounted() {
        var _this = this;
    
        this.$nextTick(function () {
          var el = _this.$el;
          var self = _this;
          self._closeEvent = _EventListener2.default.listen(window, 'click', function (e) {
            if (!el.contains(e.target)) {
              self.show = false;
            }
          });
        });
      },
    
      watch: {
        options: function options() {
          this.setMenu();
        },
        displayValue: function displayValue(val) {
          var _this2 = this;
    
          if (val === '') {
            this.$emit('input', []);
            this.$nextTick(function () {
              _this2.setMenu();
            });
          }
        },
        value: function value(val) {
          this.currentValue = val;
        },
        currentValue: function currentValue(val) {
          if (this.inner) {
            this.inner = false;
            return;
          }
          this.setResult();
        }
      },
      methods: {
        itemClass: function itemClass(index, option) {
          var prefixCls = this.prefixCls;
    
          var klass = {};
    
          klass[prefixCls + '-cascader-menu-item'] = true;
          klass[prefixCls + '-cascader-menu-item-selected'] = this.selectedOptions[index] === option;
          klass[prefixCls + '-cascader-menu-item-disabled'] = option.disabled;
    
          return klass;
        },
        setResult: function setResult() {
          var self = this;
          self.displayValue = '';
          self.selectedOptions = [];
    
          if (self.currentValue) {
            self.currentValue.forEach(function (value, i) {
              if (self.menus[i] && self.menus[i].length) {
                var option = self.menus[i].filter(function (option) {
                  return option.value === value;
                });
                if (option[0]) self.changeOption(i, option[0]);
              }
            });
          }
        },
        setMenu: function setMenu() {
          var self = this;
          self.menus = [[]];
          self.displayValue = '';
          self.init = true;
    
          self.options.forEach(function (option, i) {
            self.menus[0].push({
              label: option.label,
              value: option.value,
              children: option.children,
              disabled: option.disabled
            });
          });
    
          self.setResult();
          self.init = false;
        },
        changeOption: function changeOption(index, option, event) {
          var self = this;
          var menus = self.menus.slice(0, index + 1);
    
          if (option.disabled) {
            return;
          }
    
          self.selectedOptions = self.selectedOptions.slice(0, index + 1);
          self.selectedOptions[index] = option;
    
          if (option.children) {
            menus.push(option.children);
          }
    
          if (this.selectChange || !option.children) {
            self.displayValue = self.displayRender(self.selectedLabel);
            self.inner = true;
            self.currentValue = self.selectedValue;
            this.$emit('input', self.currentValue);
            if (!this.init) {
              self.$emit('change', self.currentValue);
            }
          }
    
          if (!option.children) {
            self.show = false;
          }
    
          self.menus = menus;
        },
        toggleMenus: function toggleMenus() {
          if (this.disabled) return;
          this.show = !this.show;
        }
      }
    };
    // </script>
    /* generated by vue-loader */
    // <template>
    //   <div :class="`${prefixCls}-cascader`">
    //     <span :class="`${prefixCls}-cascader-picker`">
    //       <n3-input 
    //         :width="width"
    //         :name="name" 
    //         :rules="rules" 
    //         :placeholder="placeholder"
    //         :custom-validate="customValidate"
    //         v-model="displayValue"
    //         :readonly="true"
    //         :show-clean="true"
    //         :disabled="disabled"
    //         @click.native="toggleMenus">
    //       </n3-input>
    //     </span>
    //     <transition name="fadeDown">
    //       <div :class="`${prefixCls}-cascader-menus`" v-show="show" v-n3-position="show">
    //         <ul :class="`${prefixCls}-cascader-menu`" v-for="(menu, index) in menus">
    //           <li :class="itemClass(index,option)" 
    //             v-for="option in menu" @click="changeOption(index,option)">{{option.label}}
    //           </li>
    //         </ul>
    //       </div>
    //     </transition>
    //   </div>
    // </template>
    // <script>

/***/ }),
/* 591 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(592)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] src/Input/n3Input.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(595)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-1d2eae44/n3Input.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 592 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    
    var _n3Icon = __webpack_require__(380);
    
    var _n3Icon2 = _interopRequireDefault(_n3Icon);
    
    var _inputMixin = __webpack_require__(593);
    
    var _inputMixin2 = _interopRequireDefault(_inputMixin);
    
    var _validate = __webpack_require__(577);
    
    var _validate2 = _interopRequireDefault(_validate);
    
    var _vueFocus = __webpack_require__(594);
    
    function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
    
    // <template>
    // <div :class="classObj"  :style="{'width':width}">
    //   <input
    //     ref="input"
    //     auto-complete="off"
    //     :class="`${prefixCls}-form-control`"
    //     :style="{'width':width}"
    //     :readonly="readonly"
    //     :disabled="disabled"
    //     :placeholder="placeholder"
    //         :type="type"
    //     @blur="blur"
    //     @focus="focus"
    //     @input="update($event.target.value)"
    //     v-focus="focused" 
    //     :value="value" />
    //
    //   <n3-icon 
    //     type="times-circle" 
    //     v-if="showClean"  
    //     :class="`${prefixCls}-input-show-clean`" 
    //     @click.native.stop="clean">
    //   </n3-icon>
    //
    //   <n3-icon
    //     :class="`${prefixCls}-input-show-icon`"  
    //     :type="icon">
    //   </n3-icon>
    //
    //   <validate
    //     :name="name"
    //     v-model="validStatus"
    //     :rules="rules"
    //     :custom-validate="customValidate"
    //     :current="value">
    //   </validate>
    //
    // </div>
    // </template>
    // <script>
    exports.default = {
      name: 'n3Input',
      mixins: [_inputMixin2.default],
      props: {
        value: {
          type: [String, Number]
        },
        onChange: {
          type: Function
        },
        prefixCls: {
          type: String,
          default: 'n3'
        },
        type: {
          type: String,
          default: 'text'
        },
        icon: {
          type: String
        },
        showClean: {
          type: Boolean,
          default: false
        }
      },
      components: {
        n3Icon: _n3Icon2.default,
        validate: _validate2.default
      },
      directives: {
        focus: _vueFocus.focus
      },
      data: function data() {
        return {
          focused: false
        };
      },
    
      computed: {
        classObj: function classObj() {
          var prefixCls = this.prefixCls,
              validStatus = this.validStatus,
              showClean = this.showClean,
              icon = this.icon;
    
          var klass = {};
    
          klass[prefixCls + '-has-error'] = validStatus === 'error';
          klass[prefixCls + '-has-success'] = validStatus === 'success';
          klass[prefixCls + '-has-warn'] = validStatus === 'warn';
          klass[prefixCls + '-input-con'] = true;
          klass[prefixCls + '-show-clean'] = showClean;
          klass[prefixCls + '-show-icon'] = icon ? true : false;
          klass['inline'] = true;
    
          return klass;
        }
      },
    
      methods: {
        clean: function clean() {
          this.$emit('input', '');
          this.$emit('clean');
        },
        update: function update(val) {
          this.$emit('input', val);
          this.$emit('change', val);
        },
        blur: function blur() {
          this.focused = false;
          this.$emit('blur', this.value);
        },
        focus: function focus() {
          this.focused = true;
          this.$emit('focus', this.value);
        }
      }
    };
    // </script>

    /* generated by vue-loader */

/***/ }),
/* 593 */
/***/ (function(module, exports) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = {
      props: {
        name: {
          type: String
        },
        disabled: {
          type: Boolean
        },
        placeholder: {
          type: String,
          default: ''
        },
        width: {
          type: String,
          default: '220px'
        },
        customValidate: {
          type: Function
        },
        rules: {
          type: Array
        },
        readonly: {
          type: Boolean,
          default: false
        }
      },
      data: function data() {
        return {
          validStatus: ''
        };
      }
    };

/***/ }),
/* 594 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    
    var Vue = __webpack_require__(555);
    Vue = 'default' in Vue ? Vue['default'] : Vue;
    
    var version = '2.1.0';
    
    var compatible = (/^2\./).test(Vue.version);
    if (!compatible) {
      Vue.util.warn('VueFocus ' + version + ' only supports Vue 2.x, and does not support Vue ' + Vue.version);
    }
    
    var focus = {
      inserted: function(el, binding) {
        if (binding.value) el.focus();
        else el.blur();
      },
    
      componentUpdated: function(el, binding) {
        if (binding.modifiers.lazy) {
          if (Boolean(binding.value) === Boolean(binding.oldValue)) {
            return;
          }
        }
    
        if (binding.value) el.focus();
        else el.blur();
      },
    };
    
    var mixin = {
      directives: {
        focus: focus,
      },
    };
    
    exports.version = version;
    exports.focus = focus;
    exports.mixin = mixin;

/***/ }),
/* 595 */
/***/ (function(module, exports) {

    module.exports = "\n<div :class=\"classObj\"  :style=\"{'width':width}\">\n  <input\n    ref=\"input\"\n    auto-complete=\"off\"\n    :class=\"`${prefixCls}-form-control`\"\n    :style=\"{'width':width}\"\n    :readonly=\"readonly\"\n    :disabled=\"disabled\"\n    :placeholder=\"placeholder\"\n\t\t:type=\"type\"\n    @blur=\"blur\"\n    @focus=\"focus\"\n    @input=\"update($event.target.value)\"\n    v-focus=\"focused\" \n    :value=\"value\" />\n\n  <n3-icon \n    type=\"times-circle\" \n    v-if=\"showClean\"  \n    :class=\"`${prefixCls}-input-show-clean`\" \n    @click.native.stop=\"clean\">\n  </n3-icon>\n\n  <n3-icon\n    :class=\"`${prefixCls}-input-show-icon`\"  \n    :type=\"icon\">\n  </n3-icon>\n\n  <validate\n    :name=\"name\"\n    v-model=\"validStatus\"\n    :rules=\"rules\"\n    :custom-validate=\"customValidate\"\n    :current=\"value\">\n  </validate>\n\n</div>\n";

/***/ }),
/* 596 */
/***/ (function(module, exports) {

    module.exports = "\n<div :class=\"`${prefixCls}-cascader`\">\n  <span :class=\"`${prefixCls}-cascader-picker`\">\n    <n3-input \n      :width=\"width\"\n      :name=\"name\" \n      :rules=\"rules\" \n      :placeholder=\"placeholder\"\n      :custom-validate=\"customValidate\"\n      v-model=\"displayValue\"\n      :readonly=\"true\"\n      :show-clean=\"true\"\n      :disabled=\"disabled\"\n      @click.native=\"toggleMenus\">\n    </n3-input>\n  </span>\n  <transition name=\"fadeDown\">\n    <div :class=\"`${prefixCls}-cascader-menus`\" v-show=\"show\" v-n3-position=\"show\">\n      <ul :class=\"`${prefixCls}-cascader-menu`\" v-for=\"(menu, index) in menus\">\n        <li :class=\"itemClass(index,option)\" \n          v-for=\"option in menu\" @click=\"changeOption(index,option)\">{{option.label}}\n        </li>\n      </ul>\n    </div>\n  </transition>\n</div>\n";

/***/ }),
/* 597 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    
    exports.default = function (obj) {
      var domNode = document.createElement('div');
      document.body.appendChild(domNode);
      var instance = new n3Toast({
        el: domNode
      });
    
      instance.placement = obj.placement || 'center';
      instance.type = obj.type || 'default';
      instance.closeOnClick = obj.closeOnClick;
      instance.duration = obj.duration === undefined ? 3000 : obj.duration;
      instance.width = obj.width;
      instance.text = obj.text;
    
      instance.show = true;
    
      if (instance.duration > 0) {
        setTimeout(function () {
          instance.show = false;
          _vue2.default.nextTick(function () {
            instance.$destroy();
          });
        }, instance.duration);
      }
    };
    
    var _vue = __webpack_require__(555);
    
    var _vue2 = _interopRequireDefault(_vue);
    
    function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
    
    var n3Toast = _vue2.default.extend(__webpack_require__(598));

/***/ }),
/* 598 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(599)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] src/Toast/n3Toast.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(600)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-186110fe/n3Toast.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 599 */
/***/ (function(module, exports) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    // <template>
    //   <transition name="fade">
    //       <div 
    //       ref="dom"
    //       :class="classObj"
    //           @click="handleClick"
    //           v-if="show">
    //           <h5 v-text="text"></h5>
    //       </div>
    //   </transition>
    // </template>
    //
    // <script>
    exports.default = {
      name: 'n3Toast',
      props: {
        top: {
          type: Boolean,
          default: false
        },
        placement: {
          type: String,
          default: 'center'
        },
        type: {
          type: String,
          default: 'default'
        },
        duration: {
          type: Number,
          default: 3000
        },
        closeOnClick: {
          type: Boolean,
          default: true
        },
        text: {
          type: String
        },
        width: {
          type: String
        },
        prefixCls: {
          type: String,
          default: 'n3'
        }
      },
    
      data: function data() {
        return {
          setT: '',
          show: false
        };
      },
    
    
      computed: {
        classObj: function classObj() {
          var prefixCls = this.prefixCls,
              placement = this.placement,
              type = this.type;
    
          var klass = {};
    
          klass[prefixCls + '-toast'] = true;
          klass[prefixCls + '-toast-' + type] = true;
          klass[prefixCls + '-toast-' + placement] = true;
    
          return klass;
        }
      },
    
      methods: {
        handleClick: function handleClick() {
          if (this.closeOnClick) {
            this.show = false;
          }
        }
      },
    
      watch: {
        show: {
          handler: function handler(val, newVal) {
            this.setT = window.clearTimeout(this.setT);
            if (val) {
              this.$nextTick(function () {
                if (this.placement === 'top' || this.placement === 'bottom') {
                  this.$refs.dom.style.marginLeft = -1 * this.$refs.dom.offsetWidth / 2 + 'px';
                } else if (this.placement === 'center') {
                  this.$refs.dom.style.marginLeft = -1 * this.$refs.dom.offsetWidth / 2 + 'px';
                  this.$refs.dom.style.marginTop = -1 * this.$refs.dom.offsetHeight / 2 + 'px';
                }
              });
            }
            /* if (val && this.duration) {
              this.setT = window.setTimeout(() => {
                self.show = false
              }, this.duration)
            } */
          },
    
          immediate: true
        }
      }
    };
    // </script>

    /* generated by vue-loader */

/***/ }),
/* 600 */
/***/ (function(module, exports) {

    module.exports = "\n<transition name=\"fade\">\n\t<div \n    ref=\"dom\"\n    :class=\"classObj\"\n\t\t@click=\"handleClick\"\n\t\tv-if=\"show\">\n\t\t<h5 v-text=\"text\"></h5>\n\t</div>\n</transition>\n";

/***/ }),
/* 601 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(602)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] src/Label/n3Label.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(603)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-d6502ed0/n3Label.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 602 */
/***/ (function(module, exports) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    // <template>
    //     <span :class="classObj">
    //         <slot></slot>
    //     </span>
    // </template>
    //
    // <script>
    exports.default = {
      name: 'n3Label',
      props: {
        type: {
          type: String,
          default: 'default'
        },
        prefixCls: {
          type: String,
          default: 'n3'
        },
        hover: {
          type: Boolean,
          default: true
        }
      },
      computed: {
        classObj: function classObj() {
          var prefixCls = this.prefixCls,
              type = this.type,
              hover = this.hover;
    
          var klass = {};
    
          klass[prefixCls + '-label'] = true;
          klass[prefixCls + '-label-' + type] = true;
          klass[prefixCls + '-label-hover'] = hover;
    
          return klass;
        }
      }
    };
    // </script>
    /* generated by vue-loader */

/***/ }),
/* 603 */
/***/ (function(module, exports) {

    module.exports = "\n<span :class=\"classObj\">\n\t<slot></slot>\n</span>\n";

/***/ }),
/* 604 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(605)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] src/InputNumber/n3InputNumber.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(606)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-4efef6d6/n3InputNumber.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 605 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    
    var _n3Input = __webpack_require__(591);
    
    var _n3Input2 = _interopRequireDefault(_n3Input);
    
    var _n3Icon = __webpack_require__(380);
    
    var _n3Icon2 = _interopRequireDefault(_n3Icon);
    
    var _inputMixin = __webpack_require__(593);
    
    var _inputMixin2 = _interopRequireDefault(_inputMixin);
    
    function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
    
    function isValueNumber(value) {
      return !isNaN(Number(value));
    } // <template>
    // <div :class="classObj" :style="{width: width}">
    //   <div :class="`${prefixCls}-input-number-handler-wrap`">
    //     <a unselectable="unselectable"
    //       ref="up"
    //       @click="_up"
    //       @mouse.down="preventDefault"
    //       :class="[prefixCls + '-input-number-handler',prefixCls + '-input-number-handler-up',upDisabledClass]">
    //         <n3-icon
    //           :class="`${prefixCls}-input-number-handler-up-inner`" 
    //           type="angle-up" 
    //           @click="preventDefault" 
    //           unselectable="unselectable">
    //         </n3-icon>
    //     </a>
    //     <a unselectable="unselectable"
    //        ref="down"
    //        @mouse.down="preventDefault"
    //        @click="_down"
    //        :class="[prefixCls + '-input-number-handler', prefixCls + '-input-number-handler-down', downDisabledClass]">
    //        <n3-icon
    //           :class="`${prefixCls}-input-number-handler-down-inner`" 
    //           type="angle-down" 
    //           @click="preventDefault" 
    //           unselectable="unselectable">
    //         </n3-icon>
    //     </a>
    //   </div>
    //   <div :class="prefixCls + '-input-number-input-wrap'">
    //     <n3-input
    //       @focus="_onFocus"
    //       :width="width"
    //       :rules="rules" 
    //       :placeholder="placeholder"
    //       :custom-validate="customValidate"
    //       @blur="_onBlur"
    //       @keydown.native.stop="_onKeyDown"
    //       @change="_onChange"
    //       :readonly="readonly"
    //       :disabled="disabled"
    //       :name="name"
    //       :value="currentValue">
    //     </n3-input> 
    //   </div>
    // </div>
    // </template>
    //
    // <script>
    
    
    function calNum(num1, num2, symb) {
      var sq1 = void 0,
          sq2 = void 0,
          m = void 0;
    
      try {
        sq1 = num1.toString().split('.')[1].length;
      } catch (e) {
        sq1 = 0;
      }
      try {
        sq2 = num2.toString().split('.')[1].length;
      } catch (e) {
        sq2 = 0;
      }
      m = Math.pow(10, Math.max(sq1, sq2));
    
      if (symb === '+') {
        return (num1 * m + num2 * m) / m;
      } else if (symb === '-') {
        return (num1 * m - num2 * m) / m;
      }
    }
    
    function preventDefault(e) {
      e.preventDefault();
    }
    
    exports.default = {
      name: 'n3InputNumber',
      mixins: [_inputMixin2.default],
      props: {
        prefixCls: {
          type: String,
          default: 'n3'
        },
        max: {
          type: Number
        },
        min: {
          type: Number
        },
        value: {
          type: [Number, String]
        },
        step: {
          type: Number,
          default: 1
        },
        onChange: {
          type: Function
        }
      },
    
      data: function data() {
        var value = this.value;
        if (value < this.min) {
          this.$emit('input', this.min);
          value = this.min;
        }
        if (value > this.max) {
          this.$emit('input', this.max);
          value = this.max;
        }
    
        return {
          noop: function noop() {},
          preventDefault: preventDefault,
          upDisabledClass: '',
          downDisabledClass: '',
          currentValue: value
        };
      },
    
    
      components: {
        n3Input: _n3Input2.default,
        n3Icon: _n3Icon2.default
      },
    
      computed: {
        classObj: function classObj() {
          var prefixCls = this.prefixCls,
              disabled = this.disabled,
              readonly = this.readonly;
    
          var klass = {};
    
          klass[prefixCls + '-input-number'] = true;
          klass[prefixCls + '-input-number-disabled'] = disabled;
          klass[prefixCls + '-input-number-readonly'] = readonly;
    
          return klass;
        }
      },
    
      watch: {
        currentValue: function currentValue(val) {
          this.$emit('input', val);
        },
        value: function value(val) {
          if (isValueNumber(val)) {
            val = Number(val);
            if (val >= this.max) {
              this.upDisabledClass = this.prefixCls + '-input-number-handler-up-disabled';
            } else if (val <= this.min) {
              this.downDisabledClass = this.prefixCls + '-input-number-handler-down-disabled';
            } else {
              this.upDisabledClass = '';
              this.downDisabledClass = '';
            }
          } else {
            this.upDisabledClass = this.prefixCls + '-input-number-handler-up-disabled';
            this.downDisabledClass = this.prefixCls + '-input-number-handler-down-disabled';
          }
        }
      },
    
      methods: {
        _setValue: function _setValue(value) {
          this.currentValue = value;
          this.$emit('change', value);
        },
        _onChange: function _onChange(value) {
          var val = String(value).trim();
    
          if (!val) {
            this._setValue(val);
          } else if (isValueNumber(val)) {
            val = Number(val);
            if (val < this.min) return;
            if (val > this.max) return;
            this._setValue(val);
          } else if (val === '-') {
            if (this.min >= 0) return;
            this.currentValue = val;
          }
        },
        _onKeyDown: function _onKeyDown(e) {
          if (e.keyCode === 38) {
            this._up(e);
          } else if (e.keyCode === 40) {
            this._down(e);
          }
        },
        _onFocus: function _onFocus() {
          this.$emit('focus');
        },
        _onBlur: function _onBlur() {
          if (this.value === '-') {
            this._setValue('');
          }
          this.$emit('blur');
        },
        _step: function _step(type, e) {
          if (this.disabled || this.readonly) return;
    
          var value = Number(this.value);
          var stepNum = Number(this.step);
    
          if (isNaN(value)) return;
          if (type === 'down') value = calNum(value, stepNum, '-');else if (type === 'up') value = calNum(value, stepNum, '+');
    
          if (value > this.max || value < this.min) return;
    
          this._setValue(value);
        },
        _down: function _down(e) {
          if (this.downDisabledClass) {
            return;
          }
          this._step('down', e);
        },
        _up: function _up(e) {
          if (this.upDisabledClass) {
            return;
          }
          this._step('up', e);
        }
      }
    };
    
    // </script>

    /* generated by vue-loader */

/***/ }),
/* 606 */
/***/ (function(module, exports) {

    module.exports = "\n<div :class=\"classObj\" :style=\"{width: width}\">\n  <div :class=\"`${prefixCls}-input-number-handler-wrap`\">\n    <a unselectable=\"unselectable\"\n      ref=\"up\"\n      @click=\"_up\"\n      @mouse.down=\"preventDefault\"\n      :class=\"[prefixCls + '-input-number-handler',prefixCls + '-input-number-handler-up',upDisabledClass]\">\n        <n3-icon\n          :class=\"`${prefixCls}-input-number-handler-up-inner`\" \n          type=\"angle-up\" \n          @click=\"preventDefault\" \n          unselectable=\"unselectable\">\n        </n3-icon>\n    </a>\n    <a unselectable=\"unselectable\"\n       ref=\"down\"\n       @mouse.down=\"preventDefault\"\n       @click=\"_down\"\n       :class=\"[prefixCls + '-input-number-handler', prefixCls + '-input-number-handler-down', downDisabledClass]\">\n       <n3-icon\n          :class=\"`${prefixCls}-input-number-handler-down-inner`\" \n          type=\"angle-down\" \n          @click=\"preventDefault\" \n          unselectable=\"unselectable\">\n        </n3-icon>\n    </a>\n  </div>\n  <div :class=\"prefixCls + '-input-number-input-wrap'\">\n    <n3-input\n      @focus=\"_onFocus\"\n      :width=\"width\"\n      :rules=\"rules\" \n      :placeholder=\"placeholder\"\n      :custom-validate=\"customValidate\"\n      @blur=\"_onBlur\"\n      @keydown.native.stop=\"_onKeyDown\"\n      @change=\"_onChange\"\n      :readonly=\"readonly\"\n      :disabled=\"disabled\"\n      :name=\"name\"\n      :value=\"currentValue\">\n    </n3-input> \n  </div>\n</div>\n";

/***/ }),
/* 607 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(608)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] src/Textarea/n3Textarea.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(609)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-6b3a0918/n3Textarea.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 608 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    
    var _validate = __webpack_require__(577);
    
    var _validate2 = _interopRequireDefault(_validate);
    
    var _valMixin = __webpack_require__(576);
    
    var _valMixin2 = _interopRequireDefault(_valMixin);
    
    function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
    
    // <template>
    // <div :class="classObj" :style="{width:width}">
    //   <textarea
    //     :class="`${prefixCls}-form-control`"  
    //     :disabled="disabled"
    //     :readonly="readonly"
    //     :maxlength="maxLength"
    //     :style="styleObj"
    //     :name="name"
    //     @input="update($event.target.value)"
    //     @focus="_onFocus"
    //     @blur="_onBlur"
    //     :placeholder="placeholder"
    //     :value="value">
    //   </textarea>
    //
    //   <validate
    //     :name="name"
    //     :rules="rules"
    //     :custom-validate="customValidate" 
    //     :current="value">
    //   </validate>
    //
    // </div>
    // </template>
    //
    // <script>
    exports.default = {
      name: 'n3Textarea',
      mixins: [_valMixin2.default],
      props: {
        disabled: {
          type: Boolean
        },
        readonly: {
          type: Boolean
        },
        placeholder: {
          type: String,
          default: ''
        },
        resize: {
          type: Boolean,
          default: true
        },
        width: {
          type: String,
          default: '220px'
        },
        maxLength: {
          type: Number
        },
        maxHeight: {
          type: String
        },
        minHeight: {
          type: String
        },
        value: {
          type: String
        },
        prefixCls: {
          type: String,
          default: 'n3'
        }
      },
      components: {
        validate: _validate2.default
      },
      methods: {
        update: function update(val) {
          this.$emit('input', val);
          this.$emit('change', val);
        },
        _onFocus: function _onFocus() {
          this.$emit('focus');
        },
        _onBlur: function _onBlur() {
          this.$emit('blur');
        }
      },
      computed: {
        styleObj: function styleObj() {
          var resize = this.resize,
              maxHeight = this.maxHeight,
              minHeight = this.minHeight;
    
          var style = {};
    
          style['maxWidth'] = '100%';
          style['width'] = '100%';
          style['maxHeight'] = maxHeight;
          style['minHeight'] = minHeight;
          !resize ? style['resize'] = 'none' : '';
    
          return style;
        },
        classObj: function classObj() {
          var prefixCls = this.prefixCls;
    
          var klass = {};
    
          klass[prefixCls + '-textarea-con'] = true;
          klass['inline'] = true;
    
          return klass;
        }
      }
    };
    // </script>

    /* generated by vue-loader */

/***/ }),
/* 609 */
/***/ (function(module, exports) {

    module.exports = "\n<div :class=\"classObj\" :style=\"{width:width}\">\n  <textarea\n    :class=\"`${prefixCls}-form-control`\"  \n    :disabled=\"disabled\"\n    :readonly=\"readonly\"\n    :maxlength=\"maxLength\"\n    :style=\"styleObj\"\n    :name=\"name\"\n    @input=\"update($event.target.value)\"\n    @focus=\"_onFocus\"\n    @blur=\"_onBlur\"\n    :placeholder=\"placeholder\"\n    :value=\"value\">\n  </textarea>\n\n  <validate\n    :name=\"name\"\n    :rules=\"rules\"\n    :custom-validate=\"customValidate\" \n    :current=\"value\">\n  </validate>\n\n</div>\n";

/***/ }),
/* 610 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(611)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] src/Datepicker/n3Datepicker.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(612)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-1c3d57d8/n3Datepicker.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 611 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    
    var _name$mixins$props$da;
    
    var _EventListener = __webpack_require__(561);
    
    var _EventListener2 = _interopRequireDefault(_EventListener);
    
    var _n3Input = __webpack_require__(591);
    
    var _n3Input2 = _interopRequireDefault(_n3Input);
    
    var _inputMixin = __webpack_require__(593);
    
    var _inputMixin2 = _interopRequireDefault(_inputMixin);
    
    function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
    
    function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } // <template>
    //   <div :class="`${prefixCls}-datepicker`">
    //     <n3-input
    //       :width="width"
    //       :name="name"
    //       :rules="rules"
    //       :placeholder="placeholder"
    //       :custom-validate="customValidate"
    //       :disabled="disabled"
    //       :readonly="true"
    //       :show-clean="true"
    //       icon="calendar"
    //       @clean="clean"
    //       @click.native="inputClick"
    //       v-model="currentValue">
    //     </n3-input>
    //
    //     <transition name="fadeDown">
    //       <div :class="`${prefixCls}-datepicker-popup`" v-show ="displayDayView" v-n3-position="displayDayView">
    //         <div :class="`${prefixCls}-datepicker-inner`">
    //           <div :class="`${prefixCls}-datepicker-body`">
    //             <div :class="`${prefixCls}-datepicker-ctrl`">
    //               <span
    //                 :class="`${prefixCls}-month-btn ${prefixCls}-datepicker-preBtn`"
    //                 @click="preNextMonthClick(0)">&lt;</span>
    //               <span
    //                 :class="`${prefixCls}-month-btn ${prefixCls}-datepicker-nextBtn`"
    //                 @click="preNextMonthClick(1)">&gt;</span>
    //               <p @click="switchMouthView">
    //               {{stringifyDayHeader(currDate)}}
    //               </p>
    //             </div>
    //             <div :class="`${prefixCls}-datepicker-weekRange`">
    //               <span v-for="w in weekRange">{{w}}</span>
    //             </div>
    //             <div :class="`${prefixCls}-datepicker-dateRange`">
    //               <span
    //                 v-for="d in dateRange" :class="d.sclass"
    //                 @click="daySelect(d.date,d.sclass)">
    //                 {{d.text}}
    //               </span>
    //             </div>
    //           </div>
    //         </div>
    //       </div>
    //     </transition>
    //     <div :class="`${prefixCls}-datepicker-popup`" v-show ="displayMouthView" >
    //       <div :class="`${prefixCls}-datepicker-inner`">
    //         <div :class="`${prefixCls}-datepicker-body`">
    //           <div :class="`${prefixCls}-datepicker-ctrl`">
    //             <span
    //               :class="`${prefixCls}-month-btn ${prefixCls}-datepicker-preBtn`"
    //               @click="preNextYearClick(0)">&lt;</span>
    //             <span
    //               :class="`${prefixCls}-month-btn ${prefixCls}-datepicker-nextBtn`"
    //               @click="preNextYearClick(1)">&gt;</span>
    //             <p @click="switchDecadeView">
    //             {{stringifyYearHeader(currDate)}}
    //             </p>
    //           </div>
    //           <div :class="`${prefixCls}-datepicker-mouthRange`">
    //               <template v-for="(m, index) in mouthNames">
    //               <span
    //                 :class="monthClassObj(m)"
    //                 @click="mouthSelect(index)">
    //                 {{m.substr(0,3)}}
    //               </span>
    //             </template>
    //           </div>
    //         </div>
    //       </div>
    //     </div>
    //     <div :class="`${prefixCls}-datepicker-popup`" v-show ="displayYearView">
    //       <div :class="`${prefixCls}-datepicker-inner`">
    //         <div :class="`${prefixCls}-datepicker-body`">
    //           <div :class="`${prefixCls}-datepicker-ctrl`">
    //             <span
    //               :class="`${prefixCls}-month-btn ${prefixCls}-datepicker-preBtn`"
    //               @click="preNextDecadeClick(0)">&lt;</span>
    //             <span
    //               :class="`${prefixCls}-month-btn ${prefixCls}-datepicker-nextBtn`"
    //               @click="preNextDecadeClick(1)">&gt;</span>
    //             <p>
    //             {{stringifyDecadeHeader(currDate)}}
    //             </p>
    //           </div>
    //           <div :class="`${prefixCls}-datepicker-mouthRange ${prefixCls}-datepicker-decadeRange`">
    //               <template v-for="decade in decadeRange">
    //                   <span
    //                 :class="yearClassObj(decade)"
    //                 @click.stop="yearSelect(decade.text)">
    //                 {{decade.text}}
    //                  </span>
    //                 </template>
    //           </div>
    //         </div>
    //       </div>
    //     </div>
    // </div>
    // </template>
    //
    // <script>
    
    
    exports.default = (_name$mixins$props$da = {
      name: 'n3Datepicker',
      mixins: [_inputMixin2.default],
      props: {
        value: {
          type: String
        },
        format: {
          default: 'yyyy-MM-dd'
        },
        prefixCls: {
          type: String,
          default: 'n3'
        },
        manual: {
          type: Boolean,
          default: false
        }
      },
      data: function data() {
        return {
          currentValue: this.value,
          today: '',
          weekRange: ['日', '一', '二', '三', '四', '五', '六'],
          dateRange: [],
          decadeRange: [],
          currDate: new Date(),
          displayDayView: false,
          displayMouthView: false,
          displayYearView: false,
          mouthNames: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月']
        };
      },
    
      watch: {
        currDate: function currDate() {
          this.getDateRange();
        },
        currentValue: function currentValue(val) {
          this.$emit('input', val);
          this.$emit('change', this.currentValue);
        }
      },
      methods: {
        clean: function clean() {
          this.currDate = new Date();
        },
        monthClassObj: function monthClassObj(m) {
          var prefixCls = this.prefixCls,
              currentValue = this.currentValue,
              mouthNames = this.mouthNames,
              parse = this.parse,
              currDate = this.currDate;
    
          var klass = {};
    
          klass[prefixCls + '-datepicker-dateRange-item-active'] = currentValue && parse(currentValue) && mouthNames[parse(currentValue).getMonth()] === m && currDate.getFullYear() === parse(currentValue).getFullYear();
    
          return klass;
        },
        yearClassObj: function yearClassObj(decade) {
          var prefixCls = this.prefixCls,
              currentValue = this.currentValue,
              parse = this.parse;
    
          var klass = {};
    
          klass[prefixCls + '-datepicker-dateRange-item-active'] = currentValue && parse(currentValue) && parse(currentValue).getFullYear() === decade.text;
    
          return klass;
        },
        close: function close() {
          this.displayDayView = this.displayMouthView = this.displayMouthView = false;
        },
        inputClick: function inputClick() {
          if (this.disabled) return;
          if (this.displayMouthView || this.displayYearView) {
            this.displayDayView = false;
          } else {
            this.displayDayView = !this.displayDayView;
          }
        },
        preNextDecadeClick: function preNextDecadeClick(flag) {
          var year = this.currDate.getFullYear();
          var mouths = this.currDate.getMonth();
          var date = this.currDate.getDate();
    
          if (flag === 0) {
            this.currDate = new Date(year - 10, mouths, date);
          } else {
            this.currDate = new Date(year + 10, mouths, date);
          }
        },
        preNextMonthClick: function preNextMonthClick(flag) {
          var year = this.currDate.getFullYear();
          var month = this.currDate.getMonth();
          var date = this.currDate.getDate();
    
          if (flag === 0) {
            var preMonth = this.getYearMonth(year, month - 1);
            this.currDate = new Date(preMonth.year, preMonth.month, date);
          } else {
            var nextMonth = this.getYearMonth(year, month + 1);
            this.currDate = new Date(nextMonth.year, nextMonth.month, date);
          }
        },
        preNextYearClick: function preNextYearClick(flag) {
          var year = this.currDate.getFullYear();
          var mouths = this.currDate.getMonth();
          var date = this.currDate.getDate();
    
          if (flag === 0) {
            this.currDate = new Date(year - 1, mouths, date);
          } else {
            this.currDate = new Date(year + 1, mouths, date);
          }
        },
        yearSelect: function yearSelect(year) {
          this.displayYearView = false;
          this.displayMouthView = true;
          this.currDate = new Date(year, this.currDate.getMonth(), this.currDate.getDate());
        },
        daySelect: function daySelect(date, klass) {
          if (klass.indexOf(this.prefixCls + '-datepicker-item-disable') > -1) {
            return false;
          } else {
            this.currDate = date;
            this.currentValue = this.stringify(this.currDate);
            this.displayDayView = false;
          }
        },
        switchMouthView: function switchMouthView() {
          this.displayDayView = false;
          this.displayMouthView = true;
        },
        switchDecadeView: function switchDecadeView() {
          this.displayMouthView = false;
          this.displayYearView = true;
        },
        mouthSelect: function mouthSelect(index) {
          this.displayMouthView = false;
          this.displayDayView = true;
          this.currDate = new Date(this.currDate.getFullYear(), index, this.currDate.getDate());
        },
        getYearMonth: function getYearMonth(year, month) {
          if (month > 11) {
            year++;
            month = 0;
          } else if (month < 0) {
            year--;
            month = 11;
          }
          return { year: year, month: month };
        },
        stringifyDecadeHeader: function stringifyDecadeHeader(date) {
          var yearStr = date.getFullYear().toString();
          var firstYearOfDecade = yearStr.substring(0, yearStr.length - 1) + 0;
          var lastYearOfDecade = parseInt(firstYearOfDecade, 10) + 10;
          return firstYearOfDecade + '-' + lastYearOfDecade;
        },
        stringifyDayHeader: function stringifyDayHeader(date) {
          return this.mouthNames[date.getMonth()] + ' ' + date.getFullYear();
        },
        parseMouth: function parseMouth(date) {
          return this.mouthNames[date.getMonth()];
        },
        stringifyYearHeader: function stringifyYearHeader(date) {
          return date.getFullYear();
        },
        stringify: function stringify(date) {
          var format = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.format;
    
          if (isNaN(date.getFullYear())) return '';
          var year = date.getFullYear();
          var month = date.getMonth() + 1;
          var day = date.getDate();
    
          return format.replace(/yyyy/g, year).replace(/MMMM/g, month).replace(/MMM/g, month).replace(/MM/g, ('0' + month).slice(-2)).replace(/dd/g, ('0' + day).slice(-2)).replace(/yy/g, year).replace(/M(?!a)/g, month).replace(/d/g, day);
        },
        parse: function parse(str) {
          var date = new Date(str);
          return isNaN(date.getFullYear()) ? null : date;
        },
        getDayCount: function getDayCount(year, month) {
          var dict = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
    
          if (month === 1) {
            if (year % 400 === 0 || year % 4 === 0 && year % 100 !== 0) {
              return 29;
            }
            return 28;
          }
    
          return dict[month];
        },
        getDateRange: function getDateRange() {
          this.dateRange = [];
          this.decadeRange = [];
          var time = {
            year: this.currDate.getFullYear(),
            month: this.currDate.getMonth(),
            day: this.currDate.getDate()
          };
          var yearStr = time.year.toString();
          var firstYearOfDecade = yearStr.substring(0, yearStr.length - 1) + 0 - 1;
          for (var i = 0; i < 12; i++) {
            this.decadeRange.push({
              text: firstYearOfDecade + i
            });
          }
    
          var currMonthFirstDay = new Date(time.year, time.month, 1);
          var firstDayWeek = currMonthFirstDay.getDay() + 1;
          if (firstDayWeek === 0) {
            firstDayWeek = 7;
          }
          var dayCount = this.getDayCount(time.year, time.month);
          if (firstDayWeek > 1) {
            var preMonth = this.getYearMonth(time.year, time.month - 1);
            var prevMonthDayCount = this.getDayCount(preMonth.year, preMonth.month);
            for (var _i = 1; _i < firstDayWeek; _i++) {
              var dayText = prevMonthDayCount - firstDayWeek + _i + 1;
              this.dateRange.push({
                text: dayText,
                date: new Date(preMonth.year, preMonth.month, dayText),
                sclass: this.prefixCls + '-datepicker-item-gray'
              });
            }
          }
    
          for (var _i2 = 1; _i2 <= dayCount; _i2++) {
            var date = new Date(time.year, time.month, _i2);
            var week = date.getDay();
            var sclass = '';
    
            if (_i2 === time.day) {
              if (this.currentValue) {
                var valueDate = this.parse(this.currentValue);
                if (valueDate) {
                  if (valueDate.getFullYear() === time.year && valueDate.getMonth() === time.month) {
                    sclass = this.prefixCls + '-datepicker-dateRange-item-active';
                  }
                }
              }
            }
            this.dateRange.push({
              text: _i2,
              date: date,
              sclass: sclass
            });
          }
    
          if (this.dateRange.length < 42) {
            var nextMonthNeed = 42 - this.dateRange.length;
            var nextMonth = this.getYearMonth(time.year, time.month + 1);
    
            for (var _i3 = 1; _i3 <= nextMonthNeed; _i3++) {
              this.dateRange.push({
                text: _i3,
                date: new Date(nextMonth.year, nextMonth.month, _i3),
                sclass: this.prefixCls + '-datepicker-item-gray'
              });
            }
          }
        }
      },
      components: {
        n3Input: _n3Input2.default
      },
      created: function created() {
        this.today = this.stringify(new Date());
      }
    }, _defineProperty(_name$mixins$props$da, 'watch', {
      'value': function value(val) {
        this.currentValue = val;
      }
    }), _defineProperty(_name$mixins$props$da, 'mounted', function mounted() {
      var _this = this;
    
      this.currDate = this.parse(this.currentValue) || this.parse(new Date());
      this._closeEvent = _EventListener2.default.listen(window, 'click', function (e) {
        if (!_this.$el.contains(e.target)) _this.close();
      });
    }), _defineProperty(_name$mixins$props$da, 'beforeDestroy', function beforeDestroy() {
      if (this._closeEvent) this._closeEvent.remove();
    }), _name$mixins$props$da);
    // </script>

    /* generated by vue-loader */

/***/ }),
/* 612 */
/***/ (function(module, exports) {

    module.exports = "\n  <div :class=\"`${prefixCls}-datepicker`\">\n    <n3-input\n      :width=\"width\"\n      :name=\"name\"\n      :rules=\"rules\"\n      :placeholder=\"placeholder\"\n      :custom-validate=\"customValidate\"\n      :disabled=\"disabled\"\n      :readonly=\"true\"\n      :show-clean=\"true\"\n      icon=\"calendar\"\n      @clean=\"clean\"\n      @click.native=\"inputClick\"\n      v-model=\"currentValue\">\n    </n3-input>\n\n    <transition name=\"fadeDown\">\n      <div :class=\"`${prefixCls}-datepicker-popup`\" v-show =\"displayDayView\" v-n3-position=\"displayDayView\">\n        <div :class=\"`${prefixCls}-datepicker-inner`\">\n          <div :class=\"`${prefixCls}-datepicker-body`\">\n            <div :class=\"`${prefixCls}-datepicker-ctrl`\">\n              <span\n                :class=\"`${prefixCls}-month-btn ${prefixCls}-datepicker-preBtn`\"\n                @click=\"preNextMonthClick(0)\">&lt;</span>\n              <span\n                :class=\"`${prefixCls}-month-btn ${prefixCls}-datepicker-nextBtn`\"\n                @click=\"preNextMonthClick(1)\">&gt;</span>\n              <p @click=\"switchMouthView\">\n              {{stringifyDayHeader(currDate)}}\n              </p>\n            </div>\n            <div :class=\"`${prefixCls}-datepicker-weekRange`\">\n              <span v-for=\"w in weekRange\">{{w}}</span>\n            </div>\n            <div :class=\"`${prefixCls}-datepicker-dateRange`\">\n              <span\n                v-for=\"d in dateRange\" :class=\"d.sclass\"\n                @click=\"daySelect(d.date,d.sclass)\">\n                {{d.text}}\n              </span>\n            </div>\n          </div>\n        </div>\n      </div>\n    </transition>\n    <div :class=\"`${prefixCls}-datepicker-popup`\" v-show =\"displayMouthView\" >\n      <div :class=\"`${prefixCls}-datepicker-inner`\">\n        <div :class=\"`${prefixCls}-datepicker-body`\">\n          <div :class=\"`${prefixCls}-datepicker-ctrl`\">\n            <span\n              :class=\"`${prefixCls}-month-btn ${prefixCls}-datepicker-preBtn`\"\n              @click=\"preNextYearClick(0)\">&lt;</span>\n            <span\n              :class=\"`${prefixCls}-month-btn ${prefixCls}-datepicker-nextBtn`\"\n              @click=\"preNextYearClick(1)\">&gt;</span>\n            <p @click=\"switchDecadeView\">\n            {{stringifyYearHeader(currDate)}}\n            </p>\n          </div>\n          <div :class=\"`${prefixCls}-datepicker-mouthRange`\">\n          \t<template v-for=\"(m, index) in mouthNames\">\n              <span\n                :class=\"monthClassObj(m)\"\n                @click=\"mouthSelect(index)\">\n                {{m.substr(0,3)}}\n              </span>\n            </template>\n          </div>\n        </div>\n      </div>\n    </div>\n    <div :class=\"`${prefixCls}-datepicker-popup`\" v-show =\"displayYearView\">\n      <div :class=\"`${prefixCls}-datepicker-inner`\">\n        <div :class=\"`${prefixCls}-datepicker-body`\">\n          <div :class=\"`${prefixCls}-datepicker-ctrl`\">\n            <span\n              :class=\"`${prefixCls}-month-btn ${prefixCls}-datepicker-preBtn`\"\n              @click=\"preNextDecadeClick(0)\">&lt;</span>\n            <span\n              :class=\"`${prefixCls}-month-btn ${prefixCls}-datepicker-nextBtn`\"\n              @click=\"preNextDecadeClick(1)\">&gt;</span>\n            <p>\n            {{stringifyDecadeHeader(currDate)}}\n            </p>\n          </div>\n          <div :class=\"`${prefixCls}-datepicker-mouthRange ${prefixCls}-datepicker-decadeRange`\">\n          \t<template v-for=\"decade in decadeRange\">\n          \t\t<span\n                :class=\"yearClassObj(decade)\"\n                @click.stop=\"yearSelect(decade.text)\">\n                {{decade.text}}\n             \t</span>\n\t\t        </template>\n          </div>\n        </div>\n      </div>\n    </div>\n</div>\n";

/***/ }),
/* 613 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(614)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] src/Timepicker/n3Timepicker.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(622)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-7ee02a38/n3Timepicker.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 614 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    
    var _EventListener = __webpack_require__(561);
    
    var _EventListener2 = _interopRequireDefault(_EventListener);
    
    var _n3Slider = __webpack_require__(615);
    
    var _n3Slider2 = _interopRequireDefault(_n3Slider);
    
    var _n3Input = __webpack_require__(591);
    
    var _n3Input2 = _interopRequireDefault(_n3Input);
    
    var _inputMixin = __webpack_require__(593);
    
    var _inputMixin2 = _interopRequireDefault(_inputMixin);
    
    function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
    
    // <template>
    //   <div :class="`${prefixCls}-timepicker`">
    //     <n3-input
    //       :width="width"
    //       :name="name"
    //       :rules="rules"
    //       :placeholder="placeholder"
    //       :custom-validate="customValidate"
    //       :disabled="disabled"
    //       :readonly="true"
    //       @clean="clean"
    //       @click.native="inputClick"
    //       :show-clean="true"
    //       icon="clock-o"
    //       v-model="currentValue">
    //     </n3-input>
    //     <transition name="fadeDown">
    //       <div :class="`${prefixCls}-timepicker-popup`" v-show="show"  v-n3-position="show">
    //         <div :class="`${prefixCls}-timepicker-slider-sin-wrap`" v-if="hour" data-role="hour">
    //           <n3-slider
    //             v-model="time.hour"
    //             orientation="vertical"
    //             :max="hourRange[1]" :min="hourRange[0]"
    //             :class="`${prefixCls}-timepicker-slider`">
    //           </n3-slider>
    //         </div>
    //         <div :class="`${prefixCls}-timepicker-slider-sin-wrap`" v-if="minute" data-role="minute">
    //           <n3-slider
    //             v-model="time.minute"
    //             orientation="vertical"
    //             :max="minuteRange[1]"
    //             :min="minuteRange[0]"
    //             :class="`${prefixCls}-timepicker-slider`">
    //           </n3-slider>
    //         </div>
    //         <div :class="`${prefixCls}-timepicker-slider-sin-wrap`" v-if="second" data-role="second">
    //           <n3-slider
    //             v-model="time.second"
    //             orientation="vertical"
    //             :max="secondRange[1]"
    //             :min="secondRange[0]"
    //             :class="`${prefixCls}-timepicker-slider`">
    //           </n3-slider>
    //         </div>
    //       </div>
    //     </transition>
    //   </div>
    // </template>
    //
    // <script>
    exports.default = {
      name: 'n3Timepicker',
      mixins: [_inputMixin2.default],
      props: {
        value: {
          type: String
        },
        format: {
          type: String,
          default: 'hh:mm:ss'
        },
        hourRange: {
          type: Array,
          default: function _default() {
            return [0, 23];
          }
        },
        minuteRange: {
          type: Array,
          default: function _default() {
            return [0, 59];
          }
        },
        secondRange: {
          type: Array,
          default: function _default() {
            return [0, 59];
          }
        },
        prefixCls: {
          type: String,
          default: 'n3'
        }
      },
      filters: {
        fix: {
          read: function read(val) {
            return this.fix(val, 2);
          },
          write: function write(val) {
            return parseInt(val);
          }
        }
      },
      watch: {
        show: function show(val) {
          if (!val) this.$emit('hide', this.currentValue);
        },
        value: function value(val) {
          this.currentValue = val;
        },
        currentValue: function currentValue(val) {
          this.$emit('input', val);
          this.$emit('change', val);
        },
    
        time: {
          deep: true,
          handler: function handler(val) {
            var ret = '';
            this.time.hour > this.hourRange[1] ? this.time.hour = this.hourRange[1] : 0;
            this.time.minute > this.minuteRange[1] ? this.time.minute = this.minuteRange[1] : 0;
            this.time.second > this.secondRange[1] ? this.time.second = this.secondRange[1] : 0;
            this.time.hour < this.hourRange[0] ? this.time.hour = this.hourRange[0] : 0;
            this.time.minute < this.minuteRange[0] ? this.time.minute = this.minuteRange[0] : 0;
            this.time.second < this.secondRange[0] ? this.time.second = this.secondRange[0] : 0;
    
            if (this.hour) {
              ret += this.fix(this.time.hour, 2) + ':';
            }
    
            if (this.minute) {
              ret += this.fix(this.time.minute, 2) + ':';
            }
    
            if (this.second) {
              ret += this.fix(this.time.second, 2) + ':';
            }
    
            ret = ret.substr(0, ret.length - 1);
    
            this.currentValue = ret;
          }
        }
      },
      methods: {
        clean: function clean() {
          var _this = this;
    
          this.time = {
            hour: 0,
            minute: 0,
            second: 0
          };
          this.$nextTick(function () {
            _this.currentValue = '';
          });
        },
        close: function close() {
          this.show = false;
        },
        inputClick: function inputClick() {
          if (this.disabled) return;
          this.show = !this.show;
        },
        fix: function fix(num, length) {
          num = parseInt(num);
          num = isNaN(num) ? 0 : num;
    
          return ('' + num).length < length ? (new Array(length + 1).join('0') + num).slice(-length) : '' + num;
        },
        _format: function _format(str) {
          var a = str.split(':');
          if (this.hour) {
            this.time.hour = parseInt(a[0] ? a[0] : 0);
          }
          if (this.minute) {
            this.time.minute = parseInt(a[1] ? a[1] : 0);
          }
          if (this.second) {
            this.time.second = parseInt(a[2] ? a[2] : 0);
          }
        }
      },
      computed: {
        hour: function hour() {
          return this.format.indexOf('hh') > -1;
        },
        minute: function minute() {
          return this.format.indexOf('mm') > -1;
        },
        second: function second() {
          return this.format.indexOf('ss') > -1;
        }
      },
      data: function data() {
        return {
          show: false,
          time: {
            hour: 0,
            minute: 0,
            second: 0
          },
          currentValue: this.value
        };
      },
      created: function created() {
        this._format(this.currentValue);
      },
      mounted: function mounted() {
        var _this2 = this;
    
        this._closeEvent = _EventListener2.default.listen(window, 'click', function (e) {
          if (!_this2.$el.contains(e.target)) _this2.close();
        });
      },
      beforeDestroy: function beforeDestroy() {
        if (this._closeEvent) this._closeEvent.remove();
      },
    
      components: {
        n3Slider: _n3Slider2.default,
        n3Input: _n3Input2.default
      }
    };
    // </script>

    /* generated by vue-loader */

/***/ }),
/* 615 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(616)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] src/Slider/n3Slider.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(621)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-1966d978/n3Slider.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 616 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    
    var _EventListener = __webpack_require__(561);
    
    var _EventListener2 = _interopRequireDefault(_EventListener);
    
    var _n3Tooltip = __webpack_require__(617);
    
    var _n3Tooltip2 = _interopRequireDefault(_n3Tooltip);
    
    var _valMixin = __webpack_require__(576);
    
    var _valMixin2 = _interopRequireDefault(_valMixin);
    
    var _validate = __webpack_require__(577);
    
    var _validate2 = _interopRequireDefault(_validate);
    
    var _type = __webpack_require__(579);
    
    var _type2 = _interopRequireDefault(_type);
    
    var _element = __webpack_require__(562);
    
    var _element2 = _interopRequireDefault(_element);
    
    function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
    
    // <template>
    // <div class="inline">
    //     <div :class="classObj" ref="slider" :style="styleObj">
    //       <n3-tooltip  :placement="orientation === 'horizontal' ? 'top' : 'right'" :noresize="true" trigger="mouse">
    //         <div :class="`${prefixCls}-slider-track`">
    //           <div :class="`${prefixCls}-slider-track-low`"></div>
    //           <div :class="`${prefixCls}-slider-selection`" ref="selection"></div>
    //           <div :class="`${prefixCls}-slider-track-high`" ref="noSelection"></div>
    //           <div :class="`${prefixCls}-slider-handle ${prefixCls}-slider-min-slider-handle ${prefixCls}-slider-round`" ref="minSlider"></div>
    //           <div :class="`${prefixCls}-slider-handle ${prefixCls}-slider-max-slider-handle ${prefixCls}-slider-round`" ref="maxSlider"></div>
    //         </div>
    //       </n3-tooltip>
    //     </div>
    //   <validate
    //     :name="name"
    //     :rules="rules"
    //     :custom-validate="customValidate" 
    //     :current="value">
    //   </validate>
    // </div>
    // </template>
    //
    // <script>
    exports.default = {
      name: 'n3Silder',
      mixins: [_valMixin2.default],
      props: {
        orientation: {
          type: String,
          default: 'horizontal'
        },
        tooltip: {
          type: String,
          default: 'show'
        },
        value: {
          default: 0
        },
        min: {
          type: Number,
          default: 0
        },
        step: {
          type: Number,
          default: 1
        },
        max: {
          type: Number,
          default: 10
        },
        range: {
          type: Boolean,
          default: true
        },
        disabled: {
          type: Boolean,
          default: false
        },
        width: {
          type: String,
          default: '220px'
        },
        height: {
          type: String,
          default: '220px'
        },
        formatter: {
          type: Function,
          default: function _default(val) {
            if (Array.isArray(val)) {
              return val[0] + ' : ' + val[1];
            } else {
              return val;
            }
          }
        },
        prefixCls: {
          type: String,
          default: 'n3'
        }
      },
      data: function data() {
        return {
          flag: false,
          tempValue: [0, 0],
          tempFlag: 0,
          btnValue: 0,
          currentValue: this.value
        };
      },
    
      computed: {
        styleObj: function styleObj() {
          if (this.orientation === 'horizontal') {
            return {
              width: this.width
            };
          } else {
            return {
              height: this.height
            };
          }
        },
        classObj: function classObj() {
          var prefixCls = this.prefixCls,
              orientation = this.orientation;
    
          var klass = {};
    
          klass[prefixCls + '-slider'] = true;
          klass[prefixCls + '-slider-' + orientation] = true;
    
          return klass;
        },
    
        eValue: {
          get: function get() {
            return this.eValue;
          },
          set: function set(val) {
            if (_type2.default.isArray(this.currentValue) && this.range) {
              this.currentValue = [Math.min(this.tempValue[0], this.tempValue[1]), Math.max(this.tempValue[0], this.tempValue[1])];
            } else {
              this.currentValue = this.tempValue[1];
            }
          }
        }
      },
      watch: {
        value: function value(val) {
          this.currentValue = val;
        },
        currentValue: function currentValue(val) {
          this.setTempValue();
          this.setPosition();
          this.$emit('input', val);
          this.$emit('change', val);
        }
      },
      methods: {
        setTempValue: function setTempValue() {
          var val = this.currentValue;
          if (_type2.default.isArray(val) && this.range) {
            _element2.default.removeClass(this.$refs.maxSlider, this.prefixCls + '-slider-hide');
            this.tempValue = val;
          } else {
            _element2.default.addClass(this.$refs.maxSlider, this.prefixCls + '-slider-hide');
            this.tempValue = [this.min, val];
          }
        },
        setPosition: function setPosition() {
          var selection = this.$refs.selection;
          var bar = this.$refs.minSlider;
          var maxBar = this.$refs.maxSlider;
          var rangeSlider = this.$refs.slider;
          var tooltip = bar.parentNode.parentNode.nextElementSibling;
    
          if (this.orientation === 'horizontal') {
            bar.style.left = (this.tempValue[1] - this.min) / (this.max - this.min) * 100 + '%';
            maxBar.style.left = (this.tempValue[0] - this.min) / (this.max - this.min) * 100 + '%';
            selection.style.width = Math.abs(this.tempValue[1] - this.tempValue[0]) / (this.max - this.min) * 100 + '%';
            selection.style.left = (Math.min(this.tempValue[0], this.tempValue[1]) - this.min) / (this.max - this.min) * 100 + '%';
    
            if (_type2.default.isArray(this.currentValue) && this.range) {
              tooltip.style.left = (this.tempValue[1] + this.tempValue[0] - 2 * this.min) / ((this.max - this.min) * 2) * rangeSlider.offsetWidth + 'px';
            } else {
              tooltip.style.left = (this.tempValue[1] - this.min) / (this.max - this.min) * rangeSlider.offsetWidth + 'px';
            }
            tooltip.style.top = 0;
          } else if (this.orientation === 'vertical') {
            bar.style.top = (this.tempValue[1] - this.min) / (this.max - this.min) * 100 + '%';
            maxBar.style.top = (this.tempValue[0] - this.min) / (this.max - this.min) * 100 + '%';
            selection.style.height = Math.abs(this.tempValue[1] - this.tempValue[0]) / (this.max - this.min) * 100 + '%';
            selection.style.top = (Math.min(this.tempValue[0], this.tempValue[1]) - this.min) / (this.max - this.min) * 100 + '%';
    
            if (_type2.default.isArray(this.currentValue) && this.range) {
              tooltip.style.top = (this.tempValue[1] + this.tempValue[0] - 2 * this.min) / ((this.max - this.min) * 2) * rangeSlider.offsetHeight + 'px';
            } else {
              tooltip.style.top = (this.tempValue[1] - this.min) / (this.max - this.min) * rangeSlider.offsetHeight + 'px';
            }
    
            tooltip.style.left = 0;
          }
    
          tooltip.querySelectorAll('.' + this.prefixCls + '-tooltip-inner')[0].innerHTML = this.formatter(this.currentValue);
        },
        setRange: function setRange(now, range) {
          return now < 0 ? 0 : now > range ? range : now;
        },
        setStep: function setStep(num) {
          return Math.round(num / this.step) * this.step;
        },
        startDrag: function startDrag(bar, maxBar, rangeSlider) {
          var self = this;
    
          if (!self.disabled) {
            _element2.default.removeClass(rangeSlider, this.prefixCls + '-slider-disabled');
            this._mousedownEvent = _EventListener2.default.listen(rangeSlider, 'mousedown', function (event) {
              self.flag = true;
              if (!event) {
                event = window.event;
                bar.onselectstart = function () {
                  return false;
                };
              }
              var e = event || window.event;
              var mousedownPositionPercent;
    
              if (self.orientation === 'horizontal') {
                mousedownPositionPercent = self.setRange(e.clientX - rangeSlider.getBoundingClientRect().left, rangeSlider.offsetWidth) * 100 / rangeSlider.offsetWidth;
              } else if (self.orientation === 'vertical') {
                mousedownPositionPercent = self.setRange(e.clientY - rangeSlider.getBoundingClientRect().top, rangeSlider.offsetHeight) * 100 / rangeSlider.offsetHeight;
              }
              var value = self.setStep(mousedownPositionPercent * (self.max - self.min) / 100 + self.min);
    
              if (value * 2 > self.tempValue[0] + self.tempValue[1]) {
                if (self.tempValue[1] > self.tempValue[0]) {
                  self.tempValue[1] = value;
                  self.btnValue = self.tempValue[0];
                  self.tempFlag = 2;
                } else {
                  self.tempValue[0] = value;
                  self.btnValue = self.tempValue[1];
                  self.tempFlag = 1;
                }
              } else {
                if (self.tempValue[1] > self.tempValue[0]) {
                  self.tempValue[0] = value;
                  self.btnValue = self.tempValue[1];
                  self.tempFlag = 1;
                } else {
                  self.tempValue[1] = value;
                  self.btnValue = self.tempValue[0];
                  self.tempFlag = 2;
                }
              }
              self.eValue = value;
            });
    
            this._mousemoveEvent = _EventListener2.default.listen(document, 'mousemove', function (event) {
              var e = event || window.event;
              if (self.flag) {
                var mousedownPositionPercent;
                if (self.orientation === 'horizontal') {
                  mousedownPositionPercent = self.setRange(e.clientX - rangeSlider.getBoundingClientRect().left, rangeSlider.offsetWidth) * 100 / rangeSlider.offsetWidth;
                } else if (self.orientation === 'vertical') {
                  mousedownPositionPercent = self.setRange(e.clientY - rangeSlider.getBoundingClientRect().top, rangeSlider.offsetHeight) * 100 / rangeSlider.offsetHeight;
                }
                var value = self.setStep(mousedownPositionPercent * (self.max - self.min) / 100 + self.min);
    
                if (self.tempValue[0] > value && self.tempValue[1] > value) {
                  self.tempFlag = 1;
                }
                if (self.tempValue[0] < value && self.tempValue[1] < value) {
                  self.tempFlag = 2;
                }
                self.tempValue[self.tempFlag - 1] = value;
                self.tempValue[self.tempFlag === 1 ? 1 : 0] = self.btnValue;
                self.eValue = value;
              }
            });
    
            this._mouseupEvent = _EventListener2.default.listen(document, 'mouseup', function (e) {
              self.flag = false;
              self.tempFlag = 0;
            });
          } else {
            _element2.default.addClass(rangeSlider, this.prefixCls + '-slider-disabled');
          }
        },
        tooltipInit: function tooltipInit() {
          var tooltip = this.$refs.minSlider.parentNode.parentNode.nextElementSibling;
    
          tooltip.style.left = 0;
          tooltip.style.top = 0;
          tooltip.querySelectorAll('.' + this.prefixCls + '-tooltip-inner')[0].innerHTML = this.formatter(this.currentValue);
    
          if (this.orientation === 'horizontal') {
            _element2.default.addClass(tooltip, this.prefixCls + '-slider-top');
            _element2.default.removeClass(tooltip, this.prefixCls + '-slider-right');
          } else if (this.orientation === 'vertical') {
            _element2.default.addClass(tooltip, this.prefixCls + '-slider-right');
            _element2.default.removeClass(tooltip, this.prefixCls + '-slider-top');
          }
          if (this.tooltip === 'always') {
            _element2.default.addClass(tooltip, this.prefixCls + '-slider-tooltip-always');
            _element2.default.removeClass(tooltip, this.prefixCls + '-slider-tooltip-hide');
          } else if (this.tooltip === 'hide') {
            _element2.default.addClass(tooltip, this.prefixCls + '-slider-tooltip-hide');
            _element2.default.removeClass(tooltip, this.prefixCls + '-slider-tooltip-always');
          }
        },
        init: function init() {
          var bar = this.$refs.minSlider;
          var rangeSlider = this.$refs.slider;
          var maxBar = this.$refs.maxSlider;
    
          this.startDrag(bar, maxBar, rangeSlider);
          this.tooltipInit();
          this.setTempValue();
          this.setPosition();
        }
      },
      mounted: function mounted() {
        var _this = this;
    
        this.$nextTick(function () {
          _this.init();
        });
      },
      beforeDestroy: function beforeDestroy() {
        if (this._mousemoveEvent) {
          this._mousemoveEvent.remove();
        }
        if (this._mousedownEvent) {
          this._mousedownEvent.remove();
        }
        if (this._mouseupEvent) {
          this._mouseupEvent.remove();
        }
      },
    
      components: {
        n3Tooltip: _n3Tooltip2.default,
        validate: _validate2.default
      }
    };
    // </script>

    /* generated by vue-loader */

/***/ }),
/* 617 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(618)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] src/Tooltip/n3Tooltip.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(620)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-33095214/n3Tooltip.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 618 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    
    var _popoverMixins = __webpack_require__(619);
    
    var _popoverMixins2 = _interopRequireDefault(_popoverMixins);
    
    function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
    
    exports.default = {
      name: 'n3Tooltip',
      props: {
        prefixCls: {
          type: String,
          default: 'n3'
        }
      },
      mixins: [_popoverMixins2.default],
      computed: {
        classObj: function classObj() {
          var prefixCls = this.prefixCls,
              placement = this.placement;
    
          var klass = {};
    
          klass[prefixCls + '-tooltip'] = true;
          klass[prefixCls + '-tooltip-top'] = placement === 'top';
          klass[prefixCls + '-tooltip-left'] = placement === 'left';
          klass[prefixCls + '-tooltip-right'] = placement === 'right';
          klass[prefixCls + '-tooltip-bottom'] = placement === 'bottom';
    
          return klass;
        }
      }
    };
    // </script>

    /* generated by vue-loader */
    // <template>
    // <span>
    //   <span ref="trigger">
    //     <slot>
    //     </slot>
    //   </span>
    //   <transition :name="effect">
    //     <div :class="classObj"
    //       ref="popover"
    //       v-show="isShow">
    //       <div :class="`${prefixCls}-tooltip-arrow`"></div>
    //       <div :class="`${prefixCls}-tooltip-inner`">
    //         <span v-html="content"></span>
    //       </div>
    //     </div>
    //   </transition>
    // </span>
    // </template>
    //
    // <script>

/***/ }),
/* 619 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    
    var _EventListener = __webpack_require__(561);
    
    var _EventListener2 = _interopRequireDefault(_EventListener);
    
    var _type = __webpack_require__(579);
    
    var _type2 = _interopRequireDefault(_type);
    
    function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
    
    var PopoverMixin = {
      props: {
        trigger: {
          type: String,
          default: 'click'
        },
        effect: {
          type: String,
          default: 'scale'
        },
        title: {
          type: String
        },
        content: {
          type: String
        },
        header: {
          type: Boolean,
          default: true
        },
        placement: {
          type: String
        },
        noresize: {
          type: Boolean,
          default: false
        },
        show: {
          type: Boolean,
          default: false
        },
        onClick: {
          type: Function
        }
      },
      data: function data() {
        var show = this.show;
        return {
          isShow: show,
          position: {
            top: 0,
            left: 0
          }
        };
      },
    
      watch: {
        isShow: function isShow(val) {
          var _this = this;
    
          if (val && !this.noresize) {
            this.$nextTick(function () {
              _this.resize();
            });
          }
        }
      },
    
      methods: {
        toggle: function toggle() {
          this.isShow = !this.isShow;
        },
        resize: function resize() {
          var popover = this.$refs.popover;
          var triger = this.$refs.trigger.children[0];
          popover.style.display = 'block';
          triger.style.position = 'relative';
    
          switch (this.placement) {
            case 'top':
              this.position.left = triger.offsetLeft - popover.offsetWidth / 2 + triger.offsetWidth / 2;
              this.position.top = triger.offsetTop - popover.offsetHeight;
              break;
            case 'left':
              this.position.left = triger.offsetLeft - popover.offsetWidth;
              this.position.top = triger.offsetTop + triger.offsetHeight / 2 - popover.offsetHeight / 2;
              break;
            case 'right':
              this.position.left = triger.offsetLeft + triger.offsetWidth;
              this.position.top = triger.offsetTop + triger.offsetHeight / 2 - popover.offsetHeight / 2;
              break;
            case 'bottom':
              this.position.left = triger.offsetLeft - popover.offsetWidth / 2 + triger.offsetWidth / 2;
              this.position.top = triger.offsetTop + triger.offsetHeight;
              break;
            default:
              console.log('Wrong placement prop');
          }
          popover.style.top = this.position.top + 'px';
          popover.style.left = this.position.left + 'px';
        }
      },
      mounted: function mounted() {
        var _this2 = this;
    
        if (!this.$refs.popover) return;
    
        this.$nextTick(function () {
          var popover = _this2.$refs.popover;
          var triger = _this2.$refs.trigger.children[0];
          if (_this2.trigger === 'hover') {
            _this2._mouseenterEvent = _EventListener2.default.listen(triger, 'mouseenter', function () {
              _this2.isShow = true;
            });
            _this2._mouseleaveEvent = _EventListener2.default.listen(triger, 'mouseleave', function () {
              _this2.isShow = false;
            });
          } else if (_this2.trigger === 'focus') {
            var input = _this2.$refs.trigger.querySelector('input');
            if (input) {
              _this2._focusEvent = _EventListener2.default.listen(input, 'focus', function () {
                _this2.isShow = true;
              });
              _this2._blurEvent = _EventListener2.default.listen(input, 'blur', function () {
                _this2.isShow = false;
              });
            }
          } else if (_this2.trigger === 'mouse') {
            _this2._mousedownEvent = _EventListener2.default.listen(triger, 'mousedown', function () {
              _this2.isShow = true;
            });
            _this2._mouseupEvent = _EventListener2.default.listen(window, 'mouseup', function () {
              _this2.isShow = false;
            });
          } else {
            _this2._clickEvent = _EventListener2.default.listen(triger, 'click', _this2.toggle);
            _this2._closeEvent = _EventListener2.default.listen(window, 'click', function (e) {
              if (!_this2.$el.contains(e.target)) _this2.isShow = false;
              if (_this2.$refs.content && _this2.$refs.content.contains(e.target) && _type2.default.isFunction(_this2.onClick)) {
                _this2.onClick(e, _this2);
              }
            });
          }
          _this2.resize();
          popover.style.display = 'none';
          _this2.isShow = false;
        });
      },
      beforeDestroy: function beforeDestroy() {
        if (this._blurEvent) {
          this._blurEvent.remove();
          this._focusEvent.remove();
        }
        if (this._mouseenterEvent) {
          this._mouseenterEvent.remove();
          this._mouseleaveEvent.remove();
        }
        if (this._clickEvent) {
          this._clickEvent.remove();
          this._closeEvent.remove();
        }
        if (this._mousedownEvent) {
          this._mousedownEvent.remove();
          this._mouseupEvent.remove();
        }
      }
    };
    exports.default = PopoverMixin;

/***/ }),
/* 620 */
/***/ (function(module, exports) {

    module.exports = "\n<span>\n  <span ref=\"trigger\">\n    <slot>\n    </slot>\n  </span>\n  <transition :name=\"effect\">\n    <div :class=\"classObj\"\n      ref=\"popover\"\n      v-show=\"isShow\">\n      <div :class=\"`${prefixCls}-tooltip-arrow`\"></div>\n      <div :class=\"`${prefixCls}-tooltip-inner`\">\n        <span v-html=\"content\"></span>\n      </div>\n    </div>\n  </transition>\n</span>\n";

/***/ }),
/* 621 */
/***/ (function(module, exports) {

    module.exports = "\n<div class=\"inline\">\n    <div :class=\"classObj\" ref=\"slider\" :style=\"styleObj\">\n      <n3-tooltip  :placement=\"orientation === 'horizontal' ? 'top' : 'right'\" :noresize=\"true\" trigger=\"mouse\">\n        <div :class=\"`${prefixCls}-slider-track`\">\n          <div :class=\"`${prefixCls}-slider-track-low`\"></div>\n          <div :class=\"`${prefixCls}-slider-selection`\" ref=\"selection\"></div>\n          <div :class=\"`${prefixCls}-slider-track-high`\" ref=\"noSelection\"></div>\n          <div :class=\"`${prefixCls}-slider-handle ${prefixCls}-slider-min-slider-handle ${prefixCls}-slider-round`\" ref=\"minSlider\"></div>\n          <div :class=\"`${prefixCls}-slider-handle ${prefixCls}-slider-max-slider-handle ${prefixCls}-slider-round`\" ref=\"maxSlider\"></div>\n        </div>\n      </n3-tooltip>\n    </div>\n  <validate\n    :name=\"name\"\n    :rules=\"rules\"\n    :custom-validate=\"customValidate\" \n    :current=\"value\">\n  </validate>\n</div>\n";

/***/ }),
/* 622 */
/***/ (function(module, exports) {

    module.exports = "\n<div :class=\"`${prefixCls}-timepicker`\">\n  <n3-input\n    :width=\"width\"\n    :name=\"name\"\n    :rules=\"rules\"\n    :placeholder=\"placeholder\"\n    :custom-validate=\"customValidate\"\n    :disabled=\"disabled\"\n    :readonly=\"true\"\n    @clean=\"clean\"\n    @click.native=\"inputClick\"\n    :show-clean=\"true\"\n    icon=\"clock-o\"\n    v-model=\"currentValue\">\n  </n3-input>\n  <transition name=\"fadeDown\">\n    <div :class=\"`${prefixCls}-timepicker-popup`\" v-show=\"show\"  v-n3-position=\"show\">\n      <div :class=\"`${prefixCls}-timepicker-slider-sin-wrap`\" v-if=\"hour\" data-role=\"hour\">\n        <n3-slider\n          v-model=\"time.hour\"\n          orientation=\"vertical\"\n          :max=\"hourRange[1]\" :min=\"hourRange[0]\"\n          :class=\"`${prefixCls}-timepicker-slider`\">\n        </n3-slider>\n      </div>\n      <div :class=\"`${prefixCls}-timepicker-slider-sin-wrap`\" v-if=\"minute\" data-role=\"minute\">\n        <n3-slider\n          v-model=\"time.minute\"\n          orientation=\"vertical\"\n          :max=\"minuteRange[1]\"\n          :min=\"minuteRange[0]\"\n          :class=\"`${prefixCls}-timepicker-slider`\">\n        </n3-slider>\n      </div>\n      <div :class=\"`${prefixCls}-timepicker-slider-sin-wrap`\" v-if=\"second\" data-role=\"second\">\n        <n3-slider\n          v-model=\"time.second\"\n          orientation=\"vertical\"\n          :max=\"secondRange[1]\"\n          :min=\"secondRange[0]\"\n          :class=\"`${prefixCls}-timepicker-slider`\">\n        </n3-slider>\n      </div>\n    </div>\n  </transition>\n</div>\n";

/***/ }),
/* 623 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(624)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] src/Datetimepicker/n3Datetimepicker.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(625)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-0fb52b78/n3Datetimepicker.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 624 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    
    var _n3Slider = __webpack_require__(615);
    
    var _n3Slider2 = _interopRequireDefault(_n3Slider);
    
    var _n3Input = __webpack_require__(591);
    
    var _n3Input2 = _interopRequireDefault(_n3Input);
    
    var _inputMixin = __webpack_require__(593);
    
    var _inputMixin2 = _interopRequireDefault(_inputMixin);
    
    var _EventListener = __webpack_require__(561);
    
    var _EventListener2 = _interopRequireDefault(_EventListener);
    
    function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
    
    // <template>
    //   <div :class="`${prefixCls}-datepicker ${prefixCls}-timepicker ${prefixCls}-datetimepicker`" ref="datetimepicker">
    //     <n3-input
    //       :width="width"
    //       :name="name"
    //       :rules="rules"
    //       :placeholder="placeholder"
    //       :custom-validate="customValidate"
    //       :disabled="disabled"
    //       :readonly="true"
    //       @clean="clean"
    //       @click.native="inputClick"
    //       icon="calendar"
    //       :show-clean="true"
    //       v-model="currentValue">
    //     </n3-input>
    //       <transition name="fadeDown">
    //         <div
    //           v-n3-position="displayDayView"
    //           :class="`${prefixCls}-datepicker-popup`"
    //           v-show="displayDayView"
    //           :style="{width:popWidth}">
    //             <div :class="`${prefixCls}-datepicker-inner`" ref="datepicker">
    //                 <div :class="`${prefixCls}-datepicker-body`">
    //                     <div :class="`${prefixCls}-datepicker-ctrl`">
    //                         <span
    //                           :class="`${prefixCls}-month-btn ${prefixCls}-datepicker-preBtn`"
    //                           @click="preNextMonthClick(0)">&lt;</span>
    //                         <span
    //                           :class="`${prefixCls}-month-btn ${prefixCls}-datepicker-nextBtn`"
    //                           @click="preNextMonthClick(1)">&gt;</span>
    //                         <p @click="switchMouthView">
    //                         {{stringifyDayHeader(currDate)}}
    //                         </p>
    //                     </div>
    //                     <div :class="`${prefixCls}-datepicker-weekRange`">
    //                         <span v-for="w in weekRange">{{w}}</span>
    //                     </div>
    //                     <div :class="`${prefixCls}-datepicker-dateRange`">
    //                         <span v-for="d in dateRange"
    //                         :class="[d.sclass,prefixCls + '-datetimepicker-date-span']"
    //                         @click="daySelect(d.date,d.sclass)">{{d.text}}</span>
    //                     </div>
    //                 </div>
    //             </div>
    //             <div :class="`${prefixCls}-timepicker-con`">
    //               <div :class="`${prefixCls}-timepicker-slider-sin-wrap`" v-if="hour" data-role="hour">
    //                 <n3-slider
    //                   :class="`${prefixCls}-timepicker-slider`"
    //                   v-model="time.hour"
    //                   orientation="vertical"
    //                   :max="hourRange[1]"
    //                   :min="hourRange[0]" >
    //                 </n3-slider>
    //               </div>
    //               <div :class="`${prefixCls}-timepicker-slider-sin-wrap`" v-if="minute" data-role="minute">
    //                 <n3-slider
    //                   :class="`${prefixCls}-timepicker-slider`"
    //                   v-model="time.minute"
    //                   orientation="vertical"
    //                   :max="minuteRange[1]"
    //                   :min="minuteRange[0]" >
    //                 </n3-slider>
    //               </div>
    //               <div :class="`${prefixCls}-timepicker-slider-sin-wrap`" v-if="second" data-role="second">
    //                 <n3-slider
    //                   :class="`${prefixCls}-timepicker-slider`"
    //                   v-model="time.second"
    //                   orientation="vertical"
    //                   :max="secondRange[1]"
    //                   :min="secondRange[0]" >
    //                 </n3-slider>
    //               </div>
    //             </div>
    //         </div>
    //       </transition>
    //       <div :class="`${prefixCls}-datepicker-popup`" v-show="displayMouthView">
    //         <div :class="`${prefixCls}-datepicker-inner`">
    //             <div :class="`${prefixCls}-datepicker-body`">
    //                 <div :class="`${prefixCls}-datepicker-ctrl`">
    //                     <span
    //                       :class="`${prefixCls}-month-btn ${prefixCls}-datepicker-preBtn`"
    //                       @click="preNextYearClick(0)">&lt;</span>
    //                     <span
    //                       :class="`${prefixCls}-month-btn ${prefixCls}-datepicker-nextBtn`"
    //                       @click="preNextYearClick(1)">&gt;</span>
    //                     <p @click="switchDecadeView">
    //                     {{stringifyYearHeader(currDate)}}
    //                     </p>
    //                 </div>
    //                 <div :class="`${prefixCls}-datepicker-mouthRange`">
    //                     <template v-for="(m,index) in mouthNames">
    //                         <span
    //                         :class="monthClassobj(m)"
    //                         @click="mouthSelect(index)">
    //                           {{m.substr(0,3)}}
    //                         </span>
    //                     </template>
    //                 </div>
    //             </div>
    //         </div>
    //       </div>
    //       <div :class="`${prefixCls}-datepicker-popup`" v-show="displayYearView">
    //         <div :class="`${prefixCls}-datepicker-inner`">
    //             <div :class="`${prefixCls}-datepicker-body`">
    //                 <div :class="`${prefixCls}-datepicker-ctrl`">
    //                     <span
    //                       :class="`${prefixCls}-month-btn ${prefixCls}-datepicker-preBtn`"
    //                       @click="preNextDecadeClick(0)">&lt;</span>
    //                     <span
    //                       :class="`${prefixCls}-month-btn ${prefixCls}-datepicker-nextBtn`"
    //                       @click="preNextDecadeClick(1)">&gt;</span>
    //                     <p>
    //                     {{stringifyDecadeHeader(currDate)}}
    //                     </p>
    //                 </div>
    //                 <div :class="`${prefixCls}-datepicker-mouthRange ${prefixCls}-datepicker-decadeRange`">
    //                     <template v-for="decade in decadeRange">
    //                         <span
    //                       :class="yearClassobj(decade)"
    //                         @click.stop="yearSelect(decade.text)">
    //                           {{decade.text}}
    //                       </span>
    //                             </template>
    //                 </div>
    //             </div>
    //         </div>
    //       </div>
    // </div>
    // </template>
    //
    // <script>
    exports.default = {
      name: 'n3Datetimepicker',
      mixins: [_inputMixin2.default],
      props: {
        value: {
          type: String
        },
        format: {
          default: 'yyyy-MM-dd hh:mm:ss'
        },
        disabledDaysOfWeek: {
          type: Array,
          default: function _default() {
            return [];
          }
        },
        hourRange: {
          type: Array,
          default: function _default() {
            return [0, 23];
          }
        },
        minuteRange: {
          type: Array,
          default: function _default() {
            return [0, 59];
          }
        },
        secondRange: {
          type: Array,
          default: function _default() {
            return [0, 59];
          }
        },
        prefixCls: {
          type: String,
          default: 'n3'
        }
      },
      data: function data() {
        return {
          weekRange: ['日', '一', '二', '三', '四', '五', '六'],
          dateRange: [],
          decadeRange: [],
          currDate: new Date(),
          displayDayView: false,
          displayMouthView: false,
          displayYearView: false,
          time: {
            hour: 0,
            minute: 0,
            second: 0
          },
          popWidth: '',
          date: '',
          currentValue: this.value,
          mouthNames: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月']
        };
      },
    
      watch: {
        value: function value(val) {
          this.currentValue = val;
        },
        currentValue: function currentValue(val) {
          this.$emit('input', val);
          this.$emit('change', val);
        },
        displayMouthView: function displayMouthView() {
          this.dispatchHide();
        },
        displayYearView: function displayYearView() {
          this.dispatchHide();
        },
        currDate: function currDate() {
          this.getDateRange();
        },
        displayDayView: function displayDayView(val) {
          var _this = this;
    
          this.dispatchHide();
          if (val) {
            this.$nextTick(function () {
              var width = _this.$refs.datepicker.offsetWidth * 1 + 30;
              _this.hour ? width += 42 : 0;
              _this.minute ? width += 42 : 0;
              _this.second ? width += 42 : 0;
              _this.popWidth = width + 'px';
            });
          }
        },
        date: function date() {
          this.currentValue = this.date + ' ' + this.handTime();
        },
    
        time: {
          deep: true,
          handler: function handler(val) {
            this.currentValue = this.date + ' ' + this.handTime();
          }
        }
      },
      computed: {
        hour: function hour() {
          if (this.format.indexOf('hh') > -1) {
            return true;
          } else {
            return false;
          }
        },
        minute: function minute() {
          if (this.format.indexOf('mm') > -1) {
            return true;
          } else {
            return false;
          }
        },
        second: function second() {
          if (this.format.indexOf('ss') > -1) {
            return true;
          } else {
            return false;
          }
        }
      },
      methods: {
        clean: function clean() {
          var _this2 = this;
    
          this.currDate = new Date();
          this.time = {
            hour: 0,
            minute: 0,
            second: 0
          };
          this.$nextTick(function () {
            _this2.currentValue = '';
          });
        },
        monthClassobj: function monthClassobj(m) {
          var prefixCls = this.prefixCls,
              date = this.date,
              mouthNames = this.mouthNames,
              parse = this.parse,
              currDate = this.currDate;
    
          var klass = {};
    
          klass[prefixCls + '-datepicker-dateRange-item-active'] = date && parse(date) && mouthNames[parse(date).getMonth()] === m && currDate.getFullYear() === parse(date).getFullYear();
    
          return klass;
        },
        yearClassobj: function yearClassobj(decade) {
          var prefixCls = this.prefixCls,
              date = this.date,
              parse = this.parse;
    
          var klass = {};
    
          klass[prefixCls + '-datepicker-dateRange-item-active'] = date && parse(date) && parse(date).getFullYear() === decade.text;
    
          return klass;
        },
        dispatchHide: function dispatchHide() {
          var show = this.displayDayView || this.displayMouthView || this.displayYearView;
          if (!show) {
            this.$emit('hide', this.value);
          }
        },
        close: function close() {
          this.displayDayView = this.displayMouthView = this.displayMouthView = false;
        },
        handTime: function handTime() {
          var ret = '';
          this.time.hour > this.hourRange[1] ? this.time.hour = this.hourRange[1] : 0;
          this.time.minute > this.minuteRange[1] ? this.time.minute = this.minuteRange[1] : 0;
          this.time.second > this.secondRange[1] ? this.time.second = this.secondRange[1] : 0;
          this.time.hour < this.hourRange[0] ? this.time.hour = this.hourRange[0] : 0;
          this.time.minute < this.minuteRange[0] ? this.time.minute = this.minuteRange[0] : 0;
          this.time.second < this.secondRange[0] ? this.time.second = this.secondRange[0] : 0;
    
          if (this.hour) {
            ret += this.fix(this.time.hour, 2) + ':';
          }
    
          if (this.minute) {
            ret += this.fix(this.time.minute, 2) + ':';
          }
    
          if (this.second) {
            ret += this.fix(this.time.second, 2) + ':';
          }
    
          return ret.substr(0, ret.length - 1);
        },
        fix: function fix(num, length) {
          num = parseInt(num);
          num = isNaN(num) ? 0 : num;
          return ('' + num).length < length ? (new Array(length + 1).join('0') + num).slice(-length) : '' + num;
        },
        inputClick: function inputClick() {
          if (this.disabled) return;
          if (this.displayMouthView || this.displayYearView) {
            this.displayDayView = false;
          } else {
            this.displayDayView = !this.displayDayView;
          }
        },
        preNextDecadeClick: function preNextDecadeClick(flag) {
          var year = this.currDate.getFullYear();
          var mouths = this.currDate.getMonth();
          var date = this.currDate.getDate();
    
          if (flag === 0) {
            this.currDate = new Date(year - 10, mouths, date);
          } else {
            this.currDate = new Date(year + 10, mouths, date);
          }
        },
        preNextMonthClick: function preNextMonthClick(flag) {
          var year = this.currDate.getFullYear();
          var month = this.currDate.getMonth();
          var date = this.currDate.getDate();
    
          if (flag === 0) {
            var preMonth = this.getYearMonth(year, month - 1);
            this.currDate = new Date(preMonth.year, preMonth.month, date);
          } else {
            var nextMonth = this.getYearMonth(year, month + 1);
            this.currDate = new Date(nextMonth.year, nextMonth.month, date);
          }
        },
        preNextYearClick: function preNextYearClick(flag) {
          var year = this.currDate.getFullYear();
          var mouths = this.currDate.getMonth();
          var date = this.currDate.getDate();
    
          if (flag === 0) {
            this.currDate = new Date(year - 1, mouths, date);
          } else {
            this.currDate = new Date(year + 1, mouths, date);
          }
        },
        yearSelect: function yearSelect(year) {
          this.displayYearView = false;
          this.displayMouthView = true;
          this.currDate = new Date(year, this.currDate.getMonth(), this.currDate.getDate());
        },
        daySelect: function daySelect(date, klass) {
          if (klass.indexOf(this.prefixCls + '-datepicker-item-disable') > -1) {
            return false;
          } else {
            this.currDate = date;
            this.date = this.stringify(this.currDate);
          }
        },
        switchMouthView: function switchMouthView() {
          this.displayDayView = false;
          this.displayMouthView = true;
        },
        switchDecadeView: function switchDecadeView() {
          this.displayMouthView = false;
          this.displayYearView = true;
        },
        mouthSelect: function mouthSelect(index) {
          this.displayMouthView = false;
          this.displayDayView = true;
          this.currDate = new Date(this.currDate.getFullYear(), index, this.currDate.getDate());
        },
        getYearMonth: function getYearMonth(year, month) {
          if (month > 11) {
            year++;
            month = 0;
          } else if (month < 0) {
            year--;
            month = 11;
          }
          return { year: year, month: month };
        },
        stringifyDecadeHeader: function stringifyDecadeHeader(date) {
          var yearStr = date.getFullYear().toString();
          var firstYearOfDecade = yearStr.substring(0, yearStr.length - 1) + 0;
          var lastYearOfDecade = parseInt(firstYearOfDecade, 10) + 10;
          return firstYearOfDecade + '-' + lastYearOfDecade;
        },
        stringifyDayHeader: function stringifyDayHeader(date) {
          return this.mouthNames[date.getMonth()] + ' ' + date.getFullYear();
        },
        parseMouth: function parseMouth(date) {
          return this.mouthNames[date.getMonth()];
        },
        stringifyYearHeader: function stringifyYearHeader(date) {
          return date.getFullYear();
        },
        stringifyTime: function stringifyTime(date) {
          var hour = date.getHours();
          var minute = date.getMinutes();
          var second = date.getSeconds();
    
          return {
            hour: hour,
            minute: minute,
            second: second
          };
        },
        stringify: function stringify(date) {
          var format = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.format;
    
          if (isNaN(date.getFullYear())) return '';
          var dateFormat = format.split(/\s+/)[0];
          var year = date.getFullYear();
          var month = date.getMonth() + 1;
          var day = date.getDate();
    
          return dateFormat.replace(/yyyy/g, year).replace(/MMMM/g, month).replace(/MMM/g, month).replace(/MM/g, ('0' + month).slice(-2)).replace(/dd/g, ('0' + day).slice(-2)).replace(/yy/g, year).replace(/M(?!a)/g, month).replace(/d/g, day);
        },
        parse: function parse(str) {
          var date = new Date(str);
          return isNaN(date.getFullYear()) ? null : date;
        },
        getDayCount: function getDayCount(year, month) {
          var dict = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
    
          if (month === 1) {
            if (year % 400 === 0 || year % 4 === 0 && year % 100 !== 0) {
              return 29;
            }
            return 28;
          }
    
          return dict[month];
        },
        getDateRange: function getDateRange() {
          var _this3 = this;
    
          this.dateRange = [];
          this.decadeRange = [];
          var time = {
            year: this.currDate.getFullYear(),
            month: this.currDate.getMonth(),
            day: this.currDate.getDate()
          };
          var yearStr = time.year.toString();
          var firstYearOfDecade = yearStr.substring(0, yearStr.length - 1) + 0 - 1;
          for (var i = 0; i < 12; i++) {
            this.decadeRange.push({
              text: firstYearOfDecade + i
            });
          }
    
          var currMonthFirstDay = new Date(time.year, time.month, 1);
          var firstDayWeek = currMonthFirstDay.getDay() + 1;
          if (firstDayWeek === 0) {
            firstDayWeek = 7;
          }
          var dayCount = this.getDayCount(time.year, time.month);
          if (firstDayWeek > 1) {
            var preMonth = this.getYearMonth(time.year, time.month - 1);
            var prevMonthDayCount = this.getDayCount(preMonth.year, preMonth.month);
            for (var _i = 1; _i < firstDayWeek; _i++) {
              var dayText = prevMonthDayCount - firstDayWeek + _i + 1;
              this.dateRange.push({
                text: dayText,
                date: new Date(preMonth.year, preMonth.month, dayText),
                sclass: this.prefixCls + '-datepicker-item-gray'
              });
            }
          }
    
          var _loop = function _loop(_i2) {
            var date = new Date(time.year, time.month, _i2);
            var week = date.getDay();
            var sclass = '';
            _this3.disabledDaysOfWeek.forEach(function (el) {
              if (week === parseInt(el, 10)) sclass = _this3.prefixCls + '-datepicker-item-disable';
            });
    
            if (_i2 === time.day) {
              if (_this3.date) {
                var valueDate = _this3.parse(_this3.date);
                if (valueDate) {
                  if (valueDate.getFullYear() === time.year && valueDate.getMonth() === time.month) {
                    sclass = _this3.prefixCls + '-datepicker-dateRange-item-active';
                  }
                }
              }
            }
            _this3.dateRange.push({
              text: _i2,
              date: date,
              sclass: sclass
            });
          };
    
          for (var _i2 = 1; _i2 <= dayCount; _i2++) {
            _loop(_i2);
          }
          if (this.dateRange.length < 42) {
            var nextMonthNeed = 42 - this.dateRange.length;
            var nextMonth = this.getYearMonth(time.year, time.month + 1);
    
            for (var _i3 = 1; _i3 <= nextMonthNeed; _i3++) {
              this.dateRange.push({
                text: _i3,
                date: new Date(nextMonth.year, nextMonth.month, _i3),
                sclass: this.prefixCls + '-datepicker-item-gray'
              });
            }
          }
        }
      },
      created: function created() {
        if (this.value) {
          this.date = this.stringify(new Date(this.value));
          this.time = this.stringifyTime(new Date(this.value));
        }
      },
      mounted: function mounted() {
        var _this4 = this;
    
        var self = this;
        this.currDate = this.parse(this.date) || this.parse(new Date());
        this._closeEvent = _EventListener2.default.listen(window, 'click', function (e) {
          if (!self.displayDayView && !self.displayMouthView && !self.displayMouthView) {
            return;
          }
          var check = e.target.className.indexOf(_this4.prefixCls + '-datetimepicker-date-span') > -1;
          if (!self.$el.contains(e.target) && !check) self.close();
        });
      },
      beforeDestroy: function beforeDestroy() {
        if (this._closeEvent) this._closeEvent.remove();
      },
    
      components: {
        n3Slider: _n3Slider2.default,
        n3Input: _n3Input2.default
      },
      filters: {
        fix: {
          read: function read(val) {
            return this.fix(val, 2);
          },
          write: function write(val) {
            return parseInt(val);
          }
        }
      }
    };
    // </script>

    /* generated by vue-loader */

/***/ }),
/* 625 */
/***/ (function(module, exports) {

    module.exports = "\n  <div :class=\"`${prefixCls}-datepicker ${prefixCls}-timepicker ${prefixCls}-datetimepicker`\" ref=\"datetimepicker\">\n    <n3-input\n      :width=\"width\"\n      :name=\"name\"\n      :rules=\"rules\"\n      :placeholder=\"placeholder\"\n      :custom-validate=\"customValidate\"\n      :disabled=\"disabled\"\n      :readonly=\"true\"\n      @clean=\"clean\"\n      @click.native=\"inputClick\"\n      icon=\"calendar\"\n      :show-clean=\"true\"\n      v-model=\"currentValue\">\n    </n3-input>\n      <transition name=\"fadeDown\">\n        <div\n          v-n3-position=\"displayDayView\"\n          :class=\"`${prefixCls}-datepicker-popup`\"\n          v-show=\"displayDayView\"\n          :style=\"{width:popWidth}\">\n            <div :class=\"`${prefixCls}-datepicker-inner`\" ref=\"datepicker\">\n                <div :class=\"`${prefixCls}-datepicker-body`\">\n                    <div :class=\"`${prefixCls}-datepicker-ctrl`\">\n                        <span\n                          :class=\"`${prefixCls}-month-btn ${prefixCls}-datepicker-preBtn`\"\n                          @click=\"preNextMonthClick(0)\">&lt;</span>\n                        <span\n                          :class=\"`${prefixCls}-month-btn ${prefixCls}-datepicker-nextBtn`\"\n                          @click=\"preNextMonthClick(1)\">&gt;</span>\n                        <p @click=\"switchMouthView\">\n                        {{stringifyDayHeader(currDate)}}\n                        </p>\n                    </div>\n                    <div :class=\"`${prefixCls}-datepicker-weekRange`\">\n                        <span v-for=\"w in weekRange\">{{w}}</span>\n                    </div>\n                    <div :class=\"`${prefixCls}-datepicker-dateRange`\">\n                        <span v-for=\"d in dateRange\"\n                        :class=\"[d.sclass,prefixCls + '-datetimepicker-date-span']\"\n                        @click=\"daySelect(d.date,d.sclass)\">{{d.text}}</span>\n                    </div>\n                </div>\n            </div>\n            <div :class=\"`${prefixCls}-timepicker-con`\">\n              <div :class=\"`${prefixCls}-timepicker-slider-sin-wrap`\" v-if=\"hour\" data-role=\"hour\">\n                <n3-slider\n                  :class=\"`${prefixCls}-timepicker-slider`\"\n                  v-model=\"time.hour\"\n                  orientation=\"vertical\"\n                  :max=\"hourRange[1]\"\n                  :min=\"hourRange[0]\" >\n                </n3-slider>\n              </div>\n              <div :class=\"`${prefixCls}-timepicker-slider-sin-wrap`\" v-if=\"minute\" data-role=\"minute\">\n                <n3-slider\n                  :class=\"`${prefixCls}-timepicker-slider`\"\n                  v-model=\"time.minute\"\n                  orientation=\"vertical\"\n                  :max=\"minuteRange[1]\"\n                  :min=\"minuteRange[0]\" >\n                </n3-slider>\n              </div>\n              <div :class=\"`${prefixCls}-timepicker-slider-sin-wrap`\" v-if=\"second\" data-role=\"second\">\n                <n3-slider\n                  :class=\"`${prefixCls}-timepicker-slider`\"\n                  v-model=\"time.second\"\n                  orientation=\"vertical\"\n                  :max=\"secondRange[1]\"\n                  :min=\"secondRange[0]\" >\n                </n3-slider>\n              </div>\n            </div>\n        </div>\n      </transition>\n      <div :class=\"`${prefixCls}-datepicker-popup`\" v-show=\"displayMouthView\">\n        <div :class=\"`${prefixCls}-datepicker-inner`\">\n            <div :class=\"`${prefixCls}-datepicker-body`\">\n                <div :class=\"`${prefixCls}-datepicker-ctrl`\">\n                    <span\n                      :class=\"`${prefixCls}-month-btn ${prefixCls}-datepicker-preBtn`\"\n                      @click=\"preNextYearClick(0)\">&lt;</span>\n                    <span\n                      :class=\"`${prefixCls}-month-btn ${prefixCls}-datepicker-nextBtn`\"\n                      @click=\"preNextYearClick(1)\">&gt;</span>\n                    <p @click=\"switchDecadeView\">\n                    {{stringifyYearHeader(currDate)}}\n                    </p>\n                </div>\n                <div :class=\"`${prefixCls}-datepicker-mouthRange`\">\n                \t<template v-for=\"(m,index) in mouthNames\">\n\t                    <span\n                        :class=\"monthClassobj(m)\"\n                        @click=\"mouthSelect(index)\">\n\t                      {{m.substr(0,3)}}\n\t                    </span>\n                    </template>\n                </div>\n            </div>\n        </div>\n      </div>\n      <div :class=\"`${prefixCls}-datepicker-popup`\" v-show=\"displayYearView\">\n        <div :class=\"`${prefixCls}-datepicker-inner`\">\n            <div :class=\"`${prefixCls}-datepicker-body`\">\n                <div :class=\"`${prefixCls}-datepicker-ctrl`\">\n                    <span\n                      :class=\"`${prefixCls}-month-btn ${prefixCls}-datepicker-preBtn`\"\n                      @click=\"preNextDecadeClick(0)\">&lt;</span>\n                    <span\n                      :class=\"`${prefixCls}-month-btn ${prefixCls}-datepicker-nextBtn`\"\n                      @click=\"preNextDecadeClick(1)\">&gt;</span>\n                    <p>\n                    {{stringifyDecadeHeader(currDate)}}\n                    </p>\n                </div>\n                <div :class=\"`${prefixCls}-datepicker-mouthRange ${prefixCls}-datepicker-decadeRange`\">\n                \t<template v-for=\"decade in decadeRange\">\n                \t\t<span\n                      :class=\"yearClassobj(decade)\"\n\t                    @click.stop=\"yearSelect(decade.text)\">\n\t                      {{decade.text}}\n\t                  </span>\n\t\t\t\t\t        </template>\n                </div>\n            </div>\n        </div>\n      </div>\n</div>\n";

/***/ }),
/* 626 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(627)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] src/Dropdown/n3Dropdown.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(632)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-a43cc690/n3Dropdown.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 627 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    
    var _EventListener = __webpack_require__(561);
    
    var _EventListener2 = _interopRequireDefault(_EventListener);
    
    var _n3CollapseTransition = __webpack_require__(628);
    
    var _n3CollapseTransition2 = _interopRequireDefault(_n3CollapseTransition);
    
    function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
    
    // <template>
    //   <div :class="`${prefixCls}-dropdown-con`">   
    //     <span ref="trigger"> 
    //       <slot name="trigger" ></slot>
    //     </span>
    //
    //     <transition :name="effect" v-if="effect!='collapse'">
    //       <ul v-n3-position="isShow" :class="`${prefixCls}-dropdown-menu`" v-show="isShow" >
    //           <slot></slot>
    //       </ul>
    //     </transition>
    //     <n3-collapse-transition v-if="effect=='collapse'">
    //       <ul :class="`${prefixCls}-dropdown-menu`" v-show="isShow" >
    //           <slot></slot>
    //       </ul>
    //     </n3-collapse-transition>
    //
    //   </div>
    // </template>
    // <script>
    exports.default = {
      name: 'n3Dropdown',
      props: {
        show: {
          type: Boolean,
          default: false
        },
        trigger: {
          type: String,
          default: 'click'
        },
        clickClose: {
          type: Boolean,
          default: false
        },
        effect: {
          type: String,
          default: 'fadeDown'
        },
        prefixCls: {
          type: String,
          default: 'n3'
        }
      },
      data: function data() {
        var show = this.show;
        return {
          isShow: show
        };
      },
    
      methods: {
        open: function open() {
          this.isShow = true;
          this.$emit('show');
        },
        close: function close() {
          this.isShow = false;
          this.$emit('hide');
        },
        toggleDropdown: function toggleDropdown() {
          this.$emit('toggle');
          this.isShow ? this.close() : this.open();
        }
      },
      components: {
        n3CollapseTransition: _n3CollapseTransition2.default
      },
      mounted: function mounted() {
        var _this = this;
    
        this.$nextTick(function () {
          var el = _this.$el;
          var triger = _this.$refs.trigger.children[0];
          if (_this.trigger === 'click') {
            _this._clickEvent = _EventListener2.default.listen(triger, 'click', _this.toggleDropdown);
            _this._closeEvent = _EventListener2.default.listen(window, 'click', function (e) {
              if (!_this.clickClose && !el.contains(e.target)) {
                _this.close();
              }
            });
          } else if (_this.trigger === 'hover') {
            _this._mouseenterEvent = _EventListener2.default.listen(triger, 'mouseenter', function () {
              _this.open();
            });
            _this._closeEvent = _EventListener2.default.listen(_this.$el, 'mouseleave', function () {
              _this.close();
            });
          }
        });
      },
      beforeDestroy: function beforeDestroy() {
        if (this._closeEvent) this._closeEvent.remove();
        if (this._clickEvent) this._clickEvent.remove();
        if (this._mouseenterEvent) this._mouseenterEvent.remove();
      }
    };
    // </script>
    /* generated by vue-loader */

/***/ }),
/* 628 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(629)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] src/n3CollapseTransition.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(631)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-17385913/n3CollapseTransition.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 629 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    
    var _velocityAnimate = __webpack_require__(630);
    
    var _velocityAnimate2 = _interopRequireDefault(_velocityAnimate);
    
    function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
    
    function animate(node, show, transitionName, done) {
      var ok = void 0;
      function complete() {
        if (!ok) {
          ok = true;
          done();
        }
      }
    
      node.style.display = show ? 'block' : 'none';
      (0, _velocityAnimate2.default)(node, transitionName, {
        duration: 200,
        complete: complete,
        easing: 'easeInOutQuad'
      });
      return {
        stop: function stop() {
          (0, _velocityAnimate2.default)(node, 'finish');
          complete();
        }
      };
    } // <template>
    //   <transition
    //     name="n3CollapseTransition"
    //     @enter="enter"
    //     @leave="leave"
    //   >
    //     <slot></slot>
    //   </transition>
    // </template>
    // <script>
    exports.default = {
      name: 'n3CollapseTransition',
      methods: {
        enter: function enter(el, done) {
          return animate(el, false, 'slideDown', done);
        },
        leave: function leave(el, done) {
          return animate(el, true, 'slideUp', done);
        }
      }
    };
    // </script>
    //

    /* generated by vue-loader */

/***/ }),
/* 630 */
/***/ (function(module, exports, __webpack_require__) {

    var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/*! VelocityJS.org (1.5.0). (C) 2014 Julian Shapiro. MIT @license: en.wikipedia.org/wiki/MIT_License */
    
    /*************************
     Velocity jQuery Shim
     *************************/
    
    /*! VelocityJS.org jQuery Shim (1.0.1). (C) 2014 The jQuery Foundation. MIT @license: en.wikipedia.org/wiki/MIT_License. */
    
    /* This file contains the jQuery functions that Velocity relies on, thereby removing Velocity's dependency on a full copy of jQuery, and allowing it to work in any environment. */
    /* These shimmed functions are only used if jQuery isn't present. If both this shim and jQuery are loaded, Velocity defaults to jQuery proper. */
    /* Browser support: Using this shim instead of jQuery proper removes support for IE8. */
    
    (function(window) {
        "use strict";
        /***************
         Setup
         ***************/
    
        /* If jQuery is already loaded, there's no point in loading this shim. */
        if (window.jQuery) {
            return;
        }
    
        /* jQuery base. */
        var $ = function(selector, context) {
            return new $.fn.init(selector, context);
        };
    
        /********************
         Private Methods
         ********************/
    
        /* jQuery */
        $.isWindow = function(obj) {
            /* jshint eqeqeq: false */
            return obj && obj === obj.window;
        };
    
        /* jQuery */
        $.type = function(obj) {
            if (!obj) {
                return obj + "";
            }
    
            return typeof obj === "object" || typeof obj === "function" ?
                    class2type[toString.call(obj)] || "object" :
                    typeof obj;
        };
    
        /* jQuery */
        $.isArray = Array.isArray || function(obj) {
            return $.type(obj) === "array";
        };
    
        /* jQuery */
        function isArraylike(obj) {
            var length = obj.length,
                    type = $.type(obj);
    
            if (type === "function" || $.isWindow(obj)) {
                return false;
            }
    
            if (obj.nodeType === 1 && length) {
                return true;
            }
    
            return type === "array" || length === 0 || typeof length === "number" && length > 0 && (length - 1) in obj;
        }
    
        /***************
         $ Methods
         ***************/
    
        /* jQuery: Support removed for IE<9. */
        $.isPlainObject = function(obj) {
            var key;
    
            if (!obj || $.type(obj) !== "object" || obj.nodeType || $.isWindow(obj)) {
                return false;
            }
    
            try {
                if (obj.constructor &&
                        !hasOwn.call(obj, "constructor") &&
                        !hasOwn.call(obj.constructor.prototype, "isPrototypeOf")) {
                    return false;
                }
            } catch (e) {
                return false;
            }
    
            for (key in obj) {
            }
    
            return key === undefined || hasOwn.call(obj, key);
        };
    
        /* jQuery */
        $.each = function(obj, callback, args) {
            var value,
                    i = 0,
                    length = obj.length,
                    isArray = isArraylike(obj);
    
            if (args) {
                if (isArray) {
                    for (; i < length; i++) {
                        value = callback.apply(obj[i], args);
    
                        if (value === false) {
                            break;
                        }
                    }
                } else {
                    for (i in obj) {
                        if (!obj.hasOwnProperty(i)) {
                            continue;
                        }
                        value = callback.apply(obj[i], args);
    
                        if (value === false) {
                            break;
                        }
                    }
                }
    
            } else {
                if (isArray) {
                    for (; i < length; i++) {
                        value = callback.call(obj[i], i, obj[i]);
    
                        if (value === false) {
                            break;
                        }
                    }
                } else {
                    for (i in obj) {
                        if (!obj.hasOwnProperty(i)) {
                            continue;
                        }
                        value = callback.call(obj[i], i, obj[i]);
    
                        if (value === false) {
                            break;
                        }
                    }
                }
            }
    
            return obj;
        };
    
        /* Custom */
        $.data = function(node, key, value) {
            /* $.getData() */
            if (value === undefined) {
                var getId = node[$.expando],
                        store = getId && cache[getId];
    
                if (key === undefined) {
                    return store;
                } else if (store) {
                    if (key in store) {
                        return store[key];
                    }
                }
                /* $.setData() */
            } else if (key !== undefined) {
                var setId = node[$.expando] || (node[$.expando] = ++$.uuid);
    
                cache[setId] = cache[setId] || {};
                cache[setId][key] = value;
    
                return value;
            }
        };
    
        /* Custom */
        $.removeData = function(node, keys) {
            var id = node[$.expando],
                    store = id && cache[id];
    
            if (store) {
                // Cleanup the entire store if no keys are provided.
                if (!keys) {
                    delete cache[id];
                } else {
                    $.each(keys, function(_, key) {
                        delete store[key];
                    });
                }
            }
        };
    
        /* jQuery */
        $.extend = function() {
            var src, copyIsArray, copy, name, options, clone,
                    target = arguments[0] || {},
                    i = 1,
                    length = arguments.length,
                    deep = false;
    
            if (typeof target === "boolean") {
                deep = target;
    
                target = arguments[i] || {};
                i++;
            }
    
            if (typeof target !== "object" && $.type(target) !== "function") {
                target = {};
            }
    
            if (i === length) {
                target = this;
                i--;
            }
    
            for (; i < length; i++) {
                if ((options = arguments[i])) {
                    for (name in options) {
                        if (!options.hasOwnProperty(name)) {
                            continue;
                        }
                        src = target[name];
                        copy = options[name];
    
                        if (target === copy) {
                            continue;
                        }
    
                        if (deep && copy && ($.isPlainObject(copy) || (copyIsArray = $.isArray(copy)))) {
                            if (copyIsArray) {
                                copyIsArray = false;
                                clone = src && $.isArray(src) ? src : [];
    
                            } else {
                                clone = src && $.isPlainObject(src) ? src : {};
                            }
    
                            target[name] = $.extend(deep, clone, copy);
    
                        } else if (copy !== undefined) {
                            target[name] = copy;
                        }
                    }
                }
            }
    
            return target;
        };
    
        /* jQuery 1.4.3 */
        $.queue = function(elem, type, data) {
            function $makeArray(arr, results) {
                var ret = results || [];
    
                if (arr) {
                    if (isArraylike(Object(arr))) {
                        /* $.merge */
                        (function(first, second) {
                            var len = +second.length,
                                    j = 0,
                                    i = first.length;
    
                            while (j < len) {
                                first[i++] = second[j++];
                            }
    
                            if (len !== len) {
                                while (second[j] !== undefined) {
                                    first[i++] = second[j++];
                                }
                            }
    
                            first.length = i;
    
                            return first;
                        })(ret, typeof arr === "string" ? [arr] : arr);
                    } else {
                        [].push.call(ret, arr);
                    }
                }
    
                return ret;
            }
    
            if (!elem) {
                return;
            }
    
            type = (type || "fx") + "queue";
    
            var q = $.data(elem, type);
    
            if (!data) {
                return q || [];
            }
    
            if (!q || $.isArray(data)) {
                q = $.data(elem, type, $makeArray(data));
            } else {
                q.push(data);
            }
    
            return q;
        };
    
        /* jQuery 1.4.3 */
        $.dequeue = function(elems, type) {
            /* Custom: Embed element iteration. */
            $.each(elems.nodeType ? [elems] : elems, function(i, elem) {
                type = type || "fx";
    
                var queue = $.queue(elem, type),
                        fn = queue.shift();
    
                if (fn === "inprogress") {
                    fn = queue.shift();
                }
    
                if (fn) {
                    if (type === "fx") {
                        queue.unshift("inprogress");
                    }
    
                    fn.call(elem, function() {
                        $.dequeue(elem, type);
                    });
                }
            });
        };
    
        /******************
         $.fn Methods
         ******************/
    
        /* jQuery */
        $.fn = $.prototype = {
            init: function(selector) {
                /* Just return the element wrapped inside an array; don't proceed with the actual jQuery node wrapping process. */
                if (selector.nodeType) {
                    this[0] = selector;
    
                    return this;
                } else {
                    throw new Error("Not a DOM node.");
                }
            },
            offset: function() {
                /* jQuery altered code: Dropped disconnected DOM node checking. */
                var box = this[0].getBoundingClientRect ? this[0].getBoundingClientRect() : {top: 0, left: 0};
    
                return {
                    top: box.top + (window.pageYOffset || document.scrollTop || 0) - (document.clientTop || 0),
                    left: box.left + (window.pageXOffset || document.scrollLeft || 0) - (document.clientLeft || 0)
                };
            },
            position: function() {
                /* jQuery */
                function offsetParentFn(elem) {
                    var offsetParent = elem.offsetParent;
    
                    while (offsetParent && offsetParent.nodeName.toLowerCase() !== "html" && offsetParent.style && offsetParent.style.position === "static") {
                        offsetParent = offsetParent.offsetParent;
                    }
    
                    return offsetParent || document;
                }
    
                /* Zepto */
                var elem = this[0],
                        offsetParent = offsetParentFn(elem),
                        offset = this.offset(),
                        parentOffset = /^(?:body|html)$/i.test(offsetParent.nodeName) ? {top: 0, left: 0} : $(offsetParent).offset();
    
                offset.top -= parseFloat(elem.style.marginTop) || 0;
                offset.left -= parseFloat(elem.style.marginLeft) || 0;
    
                if (offsetParent.style) {
                    parentOffset.top += parseFloat(offsetParent.style.borderTopWidth) || 0;
                    parentOffset.left += parseFloat(offsetParent.style.borderLeftWidth) || 0;
                }
    
                return {
                    top: offset.top - parentOffset.top,
                    left: offset.left - parentOffset.left
                };
            }
        };
    
        /**********************
         Private Variables
         **********************/
    
        /* For $.data() */
        var cache = {};
        $.expando = "velocity" + (new Date().getTime());
        $.uuid = 0;
    
        /* For $.queue() */
        var class2type = {},
                hasOwn = class2type.hasOwnProperty,
                toString = class2type.toString;
    
        var types = "Boolean Number String Function Array Date RegExp Object Error".split(" ");
        for (var i = 0; i < types.length; i++) {
            class2type["[object " + types[i] + "]"] = types[i].toLowerCase();
        }
    
        /* Makes $(node) possible, without having to call init. */
        $.fn.init.prototype = $.fn;
    
        /* Globalize Velocity onto the window, and assign its Utilities property. */
        window.Velocity = {Utilities: $};
    })(window);
    
    /******************
     Velocity.js
     ******************/
    
    (function(factory) {
        "use strict";
        /* CommonJS module. */
        if (typeof module === "object" && typeof module.exports === "object") {
            module.exports = factory();
            /* AMD module. */
        } else if (true) {
            !(__WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
            /* Browser globals. */
        } else {
            factory();
        }
    }(function() {
        "use strict";
        return function(global, window, document, undefined) {
    
            /***************
             Summary
             ***************/
    
            /*
             - CSS: CSS stack that works independently from the rest of Velocity.
             - animate(): Core animation method that iterates over the targeted elements and queues the incoming call onto each element individually.
             - Pre-Queueing: Prepare the element for animation by instantiating its data cache and processing the call's options.
             - Queueing: The logic that runs once the call has reached its point of execution in the element's $.queue() stack.
             Most logic is placed here to avoid risking it becoming stale (if the element's properties have changed).
             - Pushing: Consolidation of the tween data followed by its push onto the global in-progress calls container.
             - tick(): The single requestAnimationFrame loop responsible for tweening all in-progress calls.
             - completeCall(): Handles the cleanup process for each Velocity call.
             */
    
            /*********************
             Helper Functions
             *********************/
    
            /* IE detection. Gist: https://gist.github.com/julianshapiro/9098609 */
            var IE = (function() {
                if (document.documentMode) {
                    return document.documentMode;
                } else {
                    for (var i = 7; i > 4; i--) {
                        var div = document.createElement("div");
    
                        div.innerHTML = "<!--[if IE " + i + "]><span></span><![endif]-->";
    
                        if (div.getElementsByTagName("span").length) {
                            div = null;
    
                            return i;
                        }
                    }
                }
    
                return undefined;
            })();
    
            /* rAF shim. Gist: https://gist.github.com/julianshapiro/9497513 */
            var rAFShim = (function() {
                var timeLast = 0;
    
                return window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || function(callback) {
                    var timeCurrent = (new Date()).getTime(),
                            timeDelta;
    
                    /* Dynamically set delay on a per-tick basis to match 60fps. */
                    /* Technique by Erik Moller. MIT license: https://gist.github.com/paulirish/1579671 */
                    timeDelta = Math.max(0, 16 - (timeCurrent - timeLast));
                    timeLast = timeCurrent + timeDelta;
    
                    return setTimeout(function() {
                        callback(timeCurrent + timeDelta);
                    }, timeDelta);
                };
            })();
    
            var performance = (function() {
                var perf = window.performance || {};
    
                if (typeof perf.now !== "function") {
                    var nowOffset = perf.timing && perf.timing.navigationStart ? perf.timing.navigationStart : (new Date()).getTime();
    
                    perf.now = function() {
                        return (new Date()).getTime() - nowOffset;
                    };
                }
                return perf;
            })();
    
            /* Array compacting. Copyright Lo-Dash. MIT License: https://github.com/lodash/lodash/blob/master/LICENSE.txt */
            function compactSparseArray(array) {
                var index = -1,
                        length = array ? array.length : 0,
                        result = [];
    
                while (++index < length) {
                    var value = array[index];
    
                    if (value) {
                        result.push(value);
                    }
                }
    
                return result;
            }
    
            /**
             * Shim for "fixing" IE's lack of support (IE < 9) for applying slice
             * on host objects like NamedNodeMap, NodeList, and HTMLCollection
             * (technically, since host objects have been implementation-dependent,
             * at least before ES2015, IE hasn't needed to work this way).
             * Also works on strings, fixes IE < 9 to allow an explicit undefined
             * for the 2nd argument (as in Firefox), and prevents errors when
             * called on other DOM objects.
             */
            var _slice = (function() {
                var slice = Array.prototype.slice;
    
                try {
                    // Can't be used with DOM elements in IE < 9
                    slice.call(document.documentElement);
                    return slice;
                } catch (e) { // Fails in IE < 9
    
                    // This will work for genuine arrays, array-like objects, 
                    // NamedNodeMap (attributes, entities, notations),
                    // NodeList (e.g., getElementsByTagName), HTMLCollection (e.g., childNodes),
                    // and will not fail on other DOM objects (as do DOM elements in IE < 9)
                    return function(begin, end) {
                        var len = this.length;
    
                        if (typeof begin !== "number") {
                            begin = 0;
                        }
                        // IE < 9 gets unhappy with an undefined end argument
                        if (typeof end !== "number") {
                            end = len;
                        }
                        // For native Array objects, we use the native slice function
                        if (this.slice) {
                            return slice.call(this, begin, end);
                        }
                        // For array like object we handle it ourselves.
                        var i,
                                cloned = [],
                                // Handle negative value for "begin"
                                start = (begin >= 0) ? begin : Math.max(0, len + begin),
                                // Handle negative value for "end"
                                upTo = end < 0 ? len + end : Math.min(end, len),
                                // Actual expected size of the slice
                                size = upTo - start;
    
                        if (size > 0) {
                            cloned = new Array(size);
                            if (this.charAt) {
                                for (i = 0; i < size; i++) {
                                    cloned[i] = this.charAt(start + i);
                                }
                            } else {
                                for (i = 0; i < size; i++) {
                                    cloned[i] = this[start + i];
                                }
                            }
                        }
                        return cloned;
                    };
                }
            })();
    
            /* .indexOf doesn't exist in IE<9 */
            var _inArray = (function() {
                if (Array.prototype.includes) {
                    return function(arr, val) {
                        return arr.includes(val);
                    };
                }
                if (Array.prototype.indexOf) {
                    return function(arr, val) {
                        return arr.indexOf(val) >= 0;
                    };
                }
                return function(arr, val) {
                    for (var i = 0; i < arr.length; i++) {
                        if (arr[i] === val) {
                            return true;
                        }
                    }
                    return false;
                };
            });
    
            function sanitizeElements(elements) {
                /* Unwrap jQuery/Zepto objects. */
                if (Type.isWrapped(elements)) {
                    elements = _slice.call(elements);
                    /* Wrap a single element in an array so that $.each() can iterate with the element instead of its node's children. */
                } else if (Type.isNode(elements)) {
                    elements = [elements];
                }
    
                return elements;
            }
    
            var Type = {
                isNumber: function(variable) {
                    return (typeof variable === "number");
                },
                isString: function(variable) {
                    return (typeof variable === "string");
                },
                isArray: Array.isArray || function(variable) {
                    return Object.prototype.toString.call(variable) === "[object Array]";
                },
                isFunction: function(variable) {
                    return Object.prototype.toString.call(variable) === "[object Function]";
                },
                isNode: function(variable) {
                    return variable && variable.nodeType;
                },
                /* Determine if variable is an array-like wrapped jQuery, Zepto or similar element, or even a NodeList etc. */
                /* NOTE: HTMLFormElements also have a length. */
                isWrapped: function(variable) {
                    return variable
                            && variable !== window
                            && Type.isNumber(variable.length)
                            && !Type.isString(variable)
                            && !Type.isFunction(variable)
                            && !Type.isNode(variable)
                            && (variable.length === 0 || Type.isNode(variable[0]));
                },
                isSVG: function(variable) {
                    return window.SVGElement && (variable instanceof window.SVGElement);
                },
                isEmptyObject: function(variable) {
                    for (var name in variable) {
                        if (variable.hasOwnProperty(name)) {
                            return false;
                        }
                    }
    
                    return true;
                }
            };
    
            /*****************
             Dependencies
             *****************/
    
            var $,
                    isJQuery = false;
    
            if (global.fn && global.fn.jquery) {
                $ = global;
                isJQuery = true;
            } else {
                $ = window.Velocity.Utilities;
            }
    
            if (IE <= 8 && !isJQuery) {
                throw new Error("Velocity: IE8 and below require jQuery to be loaded before Velocity.");
            } else if (IE <= 7) {
                /* Revert to jQuery's $.animate(), and lose Velocity's extra features. */
                jQuery.fn.velocity = jQuery.fn.animate;
    
                /* Now that $.fn.velocity is aliased, abort this Velocity declaration. */
                return;
            }
    
            /*****************
             Constants
             *****************/
    
            var DURATION_DEFAULT = 400,
                    EASING_DEFAULT = "swing";
    
            /*************
             State
             *************/
    
            var Velocity = {
                /* Container for page-wide Velocity state data. */
                State: {
                    /* Detect mobile devices to determine if mobileHA should be turned on. */
                    isMobile: /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),
                    /* The mobileHA option's behavior changes on older Android devices (Gingerbread, versions 2.3.3-2.3.7). */
                    isAndroid: /Android/i.test(navigator.userAgent),
                    isGingerbread: /Android 2\.3\.[3-7]/i.test(navigator.userAgent),
                    isChrome: window.chrome,
                    isFirefox: /Firefox/i.test(navigator.userAgent),
                    /* Create a cached element for re-use when checking for CSS property prefixes. */
                    prefixElement: document.createElement("div"),
                    /* Cache every prefix match to avoid repeating lookups. */
                    prefixMatches: {},
                    /* Cache the anchor used for animating window scrolling. */
                    scrollAnchor: null,
                    /* Cache the browser-specific property names associated with the scroll anchor. */
                    scrollPropertyLeft: null,
                    scrollPropertyTop: null,
                    /* Keep track of whether our RAF tick is running. */
                    isTicking: false,
                    /* Container for every in-progress call to Velocity. */
                    calls: [],
                    delayedElements: {
                        count: 0
                    }
                },
                /* Velocity's custom CSS stack. Made global for unit testing. */
                CSS: {/* Defined below. */},
                /* A shim of the jQuery utility functions used by Velocity -- provided by Velocity's optional jQuery shim. */
                Utilities: $,
                /* Container for the user's custom animation redirects that are referenced by name in place of the properties map argument. */
                Redirects: {/* Manually registered by the user. */},
                Easings: {/* Defined below. */},
                /* Attempt to use ES6 Promises by default. Users can override this with a third-party promises library. */
                Promise: window.Promise,
                /* Velocity option defaults, which can be overriden by the user. */
                defaults: {
                    queue: "",
                    duration: DURATION_DEFAULT,
                    easing: EASING_DEFAULT,
                    begin: undefined,
                    complete: undefined,
                    progress: undefined,
                    display: undefined,
                    visibility: undefined,
                    loop: false,
                    delay: false,
                    mobileHA: true,
                    /* Advanced: Set to false to prevent property values from being cached between consecutive Velocity-initiated chain calls. */
                    _cacheValues: true,
                    /* Advanced: Set to false if the promise should always resolve on empty element lists. */
                    promiseRejectEmpty: true
                },
                /* A design goal of Velocity is to cache data wherever possible in order to avoid DOM requerying. Accordingly, each element has a data cache. */
                init: function(element) {
                    $.data(element, "velocity", {
                        /* Store whether this is an SVG element, since its properties are retrieved and updated differently than standard HTML elements. */
                        isSVG: Type.isSVG(element),
                        /* Keep track of whether the element is currently being animated by Velocity.
                         This is used to ensure that property values are not transferred between non-consecutive (stale) calls. */
                        isAnimating: false,
                        /* A reference to the element's live computedStyle object. Learn more here: https://developer.mozilla.org/en/docs/Web/API/window.getComputedStyle */
                        computedStyle: null,
                        /* Tween data is cached for each animation on the element so that data can be passed across calls --
                         in particular, end values are used as subsequent start values in consecutive Velocity calls. */
                        tweensContainer: null,
                        /* The full root property values of each CSS hook being animated on this element are cached so that:
                         1) Concurrently-animating hooks sharing the same root can have their root values' merged into one while tweening.
                         2) Post-hook-injection root values can be transferred over to consecutively chained Velocity calls as starting root values. */
                        rootPropertyValueCache: {},
                        /* A cache for transform updates, which must be manually flushed via CSS.flushTransformCache(). */
                        transformCache: {}
                    });
                },
                /* A parallel to jQuery's $.css(), used for getting/setting Velocity's hooked CSS properties. */
                hook: null, /* Defined below. */
                /* Velocity-wide animation time remapping for testing purposes. */
                mock: false,
                version: {major: 1, minor: 5, patch: 0},
                /* Set to 1 or 2 (most verbose) to output debug info to console. */
                debug: false,
                /* Use rAF high resolution timestamp when available */
                timestamp: true,
                /* Pause all animations */
                pauseAll: function(queueName) {
                    var currentTime = (new Date()).getTime();
    
                    $.each(Velocity.State.calls, function(i, activeCall) {
    
                        if (activeCall) {
    
                            /* If we have a queueName and this call is not on that queue, skip */
                            if (queueName !== undefined && ((activeCall[2].queue !== queueName) || (activeCall[2].queue === false))) {
                                return true;
                            }
    
                            /* Set call to paused */
                            activeCall[5] = {
                                resume: false
                            };
                        }
                    });
    
                    /* Pause timers on any currently delayed calls */
                    $.each(Velocity.State.delayedElements, function(k, element) {
                        if (!element) {
                            return;
                        }
                        pauseDelayOnElement(element, currentTime);
                    });
                },
                /* Resume all animations */
                resumeAll: function(queueName) {
                    var currentTime = (new Date()).getTime();
    
                    $.each(Velocity.State.calls, function(i, activeCall) {
    
                        if (activeCall) {
    
                            /* If we have a queueName and this call is not on that queue, skip */
                            if (queueName !== undefined && ((activeCall[2].queue !== queueName) || (activeCall[2].queue === false))) {
                                return true;
                            }
    
                            /* Set call to resumed if it was paused */
                            if (activeCall[5]) {
                                activeCall[5].resume = true;
                            }
                        }
                    });
                    /* Resume timers on any currently delayed calls */
                    $.each(Velocity.State.delayedElements, function(k, element) {
                        if (!element) {
                            return;
                        }
                        resumeDelayOnElement(element, currentTime);
                    });
                }
            };
    
            /* Retrieve the appropriate scroll anchor and property name for the browser: https://developer.mozilla.org/en-US/docs/Web/API/Window.scrollY */
            if (window.pageYOffset !== undefined) {
                Velocity.State.scrollAnchor = window;
                Velocity.State.scrollPropertyLeft = "pageXOffset";
                Velocity.State.scrollPropertyTop = "pageYOffset";
            } else {
                Velocity.State.scrollAnchor = document.documentElement || document.body.parentNode || document.body;
                Velocity.State.scrollPropertyLeft = "scrollLeft";
                Velocity.State.scrollPropertyTop = "scrollTop";
            }
    
            /* Shorthand alias for jQuery's $.data() utility. */
            function Data(element) {
                /* Hardcode a reference to the plugin name. */
                var response = $.data(element, "velocity");
    
                /* jQuery <=1.4.2 returns null instead of undefined when no match is found. We normalize this behavior. */
                return response === null ? undefined : response;
            }
    
            /**************
             Delay Timer
             **************/
    
            function pauseDelayOnElement(element, currentTime) {
                /* Check for any delay timers, and pause the set timeouts (while preserving time data)
                 to be resumed when the "resume" command is issued */
                var data = Data(element);
                if (data && data.delayTimer && !data.delayPaused) {
                    data.delayRemaining = data.delay - currentTime + data.delayBegin;
                    data.delayPaused = true;
                    clearTimeout(data.delayTimer.setTimeout);
                }
            }
    
            function resumeDelayOnElement(element, currentTime) {
                /* Check for any paused timers and resume */
                var data = Data(element);
                if (data && data.delayTimer && data.delayPaused) {
                    /* If the element was mid-delay, re initiate the timeout with the remaining delay */
                    data.delayPaused = false;
                    data.delayTimer.setTimeout = setTimeout(data.delayTimer.next, data.delayRemaining);
                }
            }
    
    
    
            /**************
             Easing
             **************/
    
            /* Step easing generator. */
            function generateStep(steps) {
                return function(p) {
                    return Math.round(p * steps) * (1 / steps);
                };
            }
    
            /* Bezier curve function generator. Copyright Gaetan Renaudeau. MIT License: http://en.wikipedia.org/wiki/MIT_License */
            function generateBezier(mX1, mY1, mX2, mY2) {
                var NEWTON_ITERATIONS = 4,
                        NEWTON_MIN_SLOPE = 0.001,
                        SUBDIVISION_PRECISION = 0.0000001,
                        SUBDIVISION_MAX_ITERATIONS = 10,
                        kSplineTableSize = 11,
                        kSampleStepSize = 1.0 / (kSplineTableSize - 1.0),
                        float32ArraySupported = "Float32Array" in window;
    
                /* Must contain four arguments. */
                if (arguments.length !== 4) {
                    return false;
                }
    
                /* Arguments must be numbers. */
                for (var i = 0; i < 4; ++i) {
                    if (typeof arguments[i] !== "number" || isNaN(arguments[i]) || !isFinite(arguments[i])) {
                        return false;
                    }
                }
    
                /* X values must be in the [0, 1] range. */
                mX1 = Math.min(mX1, 1);
                mX2 = Math.min(mX2, 1);
                mX1 = Math.max(mX1, 0);
                mX2 = Math.max(mX2, 0);
    
                var mSampleValues = float32ArraySupported ? new Float32Array(kSplineTableSize) : new Array(kSplineTableSize);
    
                function A(aA1, aA2) {
                    return 1.0 - 3.0 * aA2 + 3.0 * aA1;
                }
                function B(aA1, aA2) {
                    return 3.0 * aA2 - 6.0 * aA1;
                }
                function C(aA1) {
                    return 3.0 * aA1;
                }
    
                function calcBezier(aT, aA1, aA2) {
                    return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT;
                }
    
                function getSlope(aT, aA1, aA2) {
                    return 3.0 * A(aA1, aA2) * aT * aT + 2.0 * B(aA1, aA2) * aT + C(aA1);
                }
    
                function newtonRaphsonIterate(aX, aGuessT) {
                    for (var i = 0; i < NEWTON_ITERATIONS; ++i) {
                        var currentSlope = getSlope(aGuessT, mX1, mX2);
    
                        if (currentSlope === 0.0) {
                            return aGuessT;
                        }
    
                        var currentX = calcBezier(aGuessT, mX1, mX2) - aX;
                        aGuessT -= currentX / currentSlope;
                    }
    
                    return aGuessT;
                }
    
                function calcSampleValues() {
                    for (var i = 0; i < kSplineTableSize; ++i) {
                        mSampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);
                    }
                }
    
                function binarySubdivide(aX, aA, aB) {
                    var currentX, currentT, i = 0;
    
                    do {
                        currentT = aA + (aB - aA) / 2.0;
                        currentX = calcBezier(currentT, mX1, mX2) - aX;
                        if (currentX > 0.0) {
                            aB = currentT;
                        } else {
                            aA = currentT;
                        }
                    } while (Math.abs(currentX) > SUBDIVISION_PRECISION && ++i < SUBDIVISION_MAX_ITERATIONS);
    
                    return currentT;
                }
    
                function getTForX(aX) {
                    var intervalStart = 0.0,
                            currentSample = 1,
                            lastSample = kSplineTableSize - 1;
    
                    for (; currentSample !== lastSample && mSampleValues[currentSample] <= aX; ++currentSample) {
                        intervalStart += kSampleStepSize;
                    }
    
                    --currentSample;
    
                    var dist = (aX - mSampleValues[currentSample]) / (mSampleValues[currentSample + 1] - mSampleValues[currentSample]),
                            guessForT = intervalStart + dist * kSampleStepSize,
                            initialSlope = getSlope(guessForT, mX1, mX2);
    
                    if (initialSlope >= NEWTON_MIN_SLOPE) {
                        return newtonRaphsonIterate(aX, guessForT);
                    } else if (initialSlope === 0.0) {
                        return guessForT;
                    } else {
                        return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize);
                    }
                }
    
                var _precomputed = false;
    
                function precompute() {
                    _precomputed = true;
                    if (mX1 !== mY1 || mX2 !== mY2) {
                        calcSampleValues();
                    }
                }
    
                var f = function(aX) {
                    if (!_precomputed) {
                        precompute();
                    }
                    if (mX1 === mY1 && mX2 === mY2) {
                        return aX;
                    }
                    if (aX === 0) {
                        return 0;
                    }
                    if (aX === 1) {
                        return 1;
                    }
    
                    return calcBezier(getTForX(aX), mY1, mY2);
                };
    
                f.getControlPoints = function() {
                    return [{x: mX1, y: mY1}, {x: mX2, y: mY2}];
                };
    
                var str = "generateBezier(" + [mX1, mY1, mX2, mY2] + ")";
                f.toString = function() {
                    return str;
                };
    
                return f;
            }
    
            /* Runge-Kutta spring physics function generator. Adapted from Framer.js, copyright Koen Bok. MIT License: http://en.wikipedia.org/wiki/MIT_License */
            /* Given a tension, friction, and duration, a simulation at 60FPS will first run without a defined duration in order to calculate the full path. A second pass
             then adjusts the time delta -- using the relation between actual time and duration -- to calculate the path for the duration-constrained animation. */
            var generateSpringRK4 = (function() {
                function springAccelerationForState(state) {
                    return (-state.tension * state.x) - (state.friction * state.v);
                }
    
                function springEvaluateStateWithDerivative(initialState, dt, derivative) {
                    var state = {
                        x: initialState.x + derivative.dx * dt,
                        v: initialState.v + derivative.dv * dt,
                        tension: initialState.tension,
                        friction: initialState.friction
                    };
    
                    return {dx: state.v, dv: springAccelerationForState(state)};
                }
    
                function springIntegrateState(state, dt) {
                    var a = {
                        dx: state.v,
                        dv: springAccelerationForState(state)
                    },
                            b = springEvaluateStateWithDerivative(state, dt * 0.5, a),
                            c = springEvaluateStateWithDerivative(state, dt * 0.5, b),
                            d = springEvaluateStateWithDerivative(state, dt, c),
                            dxdt = 1.0 / 6.0 * (a.dx + 2.0 * (b.dx + c.dx) + d.dx),
                            dvdt = 1.0 / 6.0 * (a.dv + 2.0 * (b.dv + c.dv) + d.dv);
    
                    state.x = state.x + dxdt * dt;
                    state.v = state.v + dvdt * dt;
    
                    return state;
                }
    
                return function springRK4Factory(tension, friction, duration) {
    
                    var initState = {
                        x: -1,
                        v: 0,
                        tension: null,
                        friction: null
                    },
                            path = [0],
                            time_lapsed = 0,
                            tolerance = 1 / 10000,
                            DT = 16 / 1000,
                            have_duration, dt, last_state;
    
                    tension = parseFloat(tension) || 500;
                    friction = parseFloat(friction) || 20;
                    duration = duration || null;
    
                    initState.tension = tension;
                    initState.friction = friction;
    
                    have_duration = duration !== null;
    
                    /* Calculate the actual time it takes for this animation to complete with the provided conditions. */
                    if (have_duration) {
                        /* Run the simulation without a duration. */
                        time_lapsed = springRK4Factory(tension, friction);
                        /* Compute the adjusted time delta. */
                        dt = time_lapsed / duration * DT;
                    } else {
                        dt = DT;
                    }
    
                    while (true) {
                        /* Next/step function .*/
                        last_state = springIntegrateState(last_state || initState, dt);
                        /* Store the position. */
                        path.push(1 + last_state.x);
                        time_lapsed += 16;
                        /* If the change threshold is reached, break. */
                        if (!(Math.abs(last_state.x) > tolerance && Math.abs(last_state.v) > tolerance)) {
                            break;
                        }
                    }
    
                    /* If duration is not defined, return the actual time required for completing this animation. Otherwise, return a closure that holds the
                     computed path and returns a snapshot of the position according to a given percentComplete. */
                    return !have_duration ? time_lapsed : function(percentComplete) {
                        return path[ (percentComplete * (path.length - 1)) | 0 ];
                    };
                };
            }());
    
            /* jQuery easings. */
            Velocity.Easings = {
                linear: function(p) {
                    return p;
                },
                swing: function(p) {
                    return 0.5 - Math.cos(p * Math.PI) / 2;
                },
                /* Bonus "spring" easing, which is a less exaggerated version of easeInOutElastic. */
                spring: function(p) {
                    return 1 - (Math.cos(p * 4.5 * Math.PI) * Math.exp(-p * 6));
                }
            };
    
            /* CSS3 and Robert Penner easings. */
            $.each(
                    [
                        ["ease", [0.25, 0.1, 0.25, 1.0]],
                        ["ease-in", [0.42, 0.0, 1.00, 1.0]],
                        ["ease-out", [0.00, 0.0, 0.58, 1.0]],
                        ["ease-in-out", [0.42, 0.0, 0.58, 1.0]],
                        ["easeInSine", [0.47, 0, 0.745, 0.715]],
                        ["easeOutSine", [0.39, 0.575, 0.565, 1]],
                        ["easeInOutSine", [0.445, 0.05, 0.55, 0.95]],
                        ["easeInQuad", [0.55, 0.085, 0.68, 0.53]],
                        ["easeOutQuad", [0.25, 0.46, 0.45, 0.94]],
                        ["easeInOutQuad", [0.455, 0.03, 0.515, 0.955]],
                        ["easeInCubic", [0.55, 0.055, 0.675, 0.19]],
                        ["easeOutCubic", [0.215, 0.61, 0.355, 1]],
                        ["easeInOutCubic", [0.645, 0.045, 0.355, 1]],
                        ["easeInQuart", [0.895, 0.03, 0.685, 0.22]],
                        ["easeOutQuart", [0.165, 0.84, 0.44, 1]],
                        ["easeInOutQuart", [0.77, 0, 0.175, 1]],
                        ["easeInQuint", [0.755, 0.05, 0.855, 0.06]],
                        ["easeOutQuint", [0.23, 1, 0.32, 1]],
                        ["easeInOutQuint", [0.86, 0, 0.07, 1]],
                        ["easeInExpo", [0.95, 0.05, 0.795, 0.035]],
                        ["easeOutExpo", [0.19, 1, 0.22, 1]],
                        ["easeInOutExpo", [1, 0, 0, 1]],
                        ["easeInCirc", [0.6, 0.04, 0.98, 0.335]],
                        ["easeOutCirc", [0.075, 0.82, 0.165, 1]],
                        ["easeInOutCirc", [0.785, 0.135, 0.15, 0.86]]
                    ], function(i, easingArray) {
                Velocity.Easings[easingArray[0]] = generateBezier.apply(null, easingArray[1]);
            });
    
            /* Determine the appropriate easing type given an easing input. */
            function getEasing(value, duration) {
                var easing = value;
    
                /* The easing option can either be a string that references a pre-registered easing,
                 or it can be a two-/four-item array of integers to be converted into a bezier/spring function. */
                if (Type.isString(value)) {
                    /* Ensure that the easing has been assigned to jQuery's Velocity.Easings object. */
                    if (!Velocity.Easings[value]) {
                        easing = false;
                    }
                } else if (Type.isArray(value) && value.length === 1) {
                    easing = generateStep.apply(null, value);
                } else if (Type.isArray(value) && value.length === 2) {
                    /* springRK4 must be passed the animation's duration. */
                    /* Note: If the springRK4 array contains non-numbers, generateSpringRK4() returns an easing
                     function generated with default tension and friction values. */
                    easing = generateSpringRK4.apply(null, value.concat([duration]));
                } else if (Type.isArray(value) && value.length === 4) {
                    /* Note: If the bezier array contains non-numbers, generateBezier() returns false. */
                    easing = generateBezier.apply(null, value);
                } else {
                    easing = false;
                }
    
                /* Revert to the Velocity-wide default easing type, or fall back to "swing" (which is also jQuery's default)
                 if the Velocity-wide default has been incorrectly modified. */
                if (easing === false) {
                    if (Velocity.Easings[Velocity.defaults.easing]) {
                        easing = Velocity.defaults.easing;
                    } else {
                        easing = EASING_DEFAULT;
                    }
                }
    
                return easing;
            }
    
            /*****************
             CSS Stack
             *****************/
    
            /* The CSS object is a highly condensed and performant CSS stack that fully replaces jQuery's.
             It handles the validation, getting, and setting of both standard CSS properties and CSS property hooks. */
            /* Note: A "CSS" shorthand is aliased so that our code is easier to read. */
            var CSS = Velocity.CSS = {
                /*************
                 RegEx
                 *************/
    
                RegEx: {
                    isHex: /^#([A-f\d]{3}){1,2}$/i,
                    /* Unwrap a property value's surrounding text, e.g. "rgba(4, 3, 2, 1)" ==> "4, 3, 2, 1" and "rect(4px 3px 2px 1px)" ==> "4px 3px 2px 1px". */
                    valueUnwrap: /^[A-z]+\((.*)\)$/i,
                    wrappedValueAlreadyExtracted: /[0-9.]+ [0-9.]+ [0-9.]+( [0-9.]+)?/,
                    /* Split a multi-value property into an array of subvalues, e.g. "rgba(4, 3, 2, 1) 4px 3px 2px 1px" ==> [ "rgba(4, 3, 2, 1)", "4px", "3px", "2px", "1px" ]. */
                    valueSplit: /([A-z]+\(.+\))|(([A-z0-9#-.]+?)(?=\s|$))/ig
                },
                /************
                 Lists
                 ************/
    
                Lists: {
                    colors: ["fill", "stroke", "stopColor", "color", "backgroundColor", "borderColor", "borderTopColor", "borderRightColor", "borderBottomColor", "borderLeftColor", "outlineColor"],
                    transformsBase: ["translateX", "translateY", "scale", "scaleX", "scaleY", "skewX", "skewY", "rotateZ"],
                    transforms3D: ["transformPerspective", "translateZ", "scaleZ", "rotateX", "rotateY"],
                    units: [
                        "%", // relative
                        "em", "ex", "ch", "rem", // font relative
                        "vw", "vh", "vmin", "vmax", // viewport relative
                        "cm", "mm", "Q", "in", "pc", "pt", "px", // absolute lengths
                        "deg", "grad", "rad", "turn", // angles
                        "s", "ms" // time
                    ],
                    colorNames: {
                        "aliceblue": "240,248,255",
                        "antiquewhite": "250,235,215",
                        "aquamarine": "127,255,212",
                        "aqua": "0,255,255",
                        "azure": "240,255,255",
                        "beige": "245,245,220",
                        "bisque": "255,228,196",
                        "black": "0,0,0",
                        "blanchedalmond": "255,235,205",
                        "blueviolet": "138,43,226",
                        "blue": "0,0,255",
                        "brown": "165,42,42",
                        "burlywood": "222,184,135",
                        "cadetblue": "95,158,160",
                        "chartreuse": "127,255,0",
                        "chocolate": "210,105,30",
                        "coral": "255,127,80",
                        "cornflowerblue": "100,149,237",
                        "cornsilk": "255,248,220",
                        "crimson": "220,20,60",
                        "cyan": "0,255,255",
                        "darkblue": "0,0,139",
                        "darkcyan": "0,139,139",
                        "darkgoldenrod": "184,134,11",
                        "darkgray": "169,169,169",
                        "darkgrey": "169,169,169",
                        "darkgreen": "0,100,0",
                        "darkkhaki": "189,183,107",
                        "darkmagenta": "139,0,139",
                        "darkolivegreen": "85,107,47",
                        "darkorange": "255,140,0",
                        "darkorchid": "153,50,204",
                        "darkred": "139,0,0",
                        "darksalmon": "233,150,122",
                        "darkseagreen": "143,188,143",
                        "darkslateblue": "72,61,139",
                        "darkslategray": "47,79,79",
                        "darkturquoise": "0,206,209",
                        "darkviolet": "148,0,211",
                        "deeppink": "255,20,147",
                        "deepskyblue": "0,191,255",
                        "dimgray": "105,105,105",
                        "dimgrey": "105,105,105",
                        "dodgerblue": "30,144,255",
                        "firebrick": "178,34,34",
                        "floralwhite": "255,250,240",
                        "forestgreen": "34,139,34",
                        "fuchsia": "255,0,255",
                        "gainsboro": "220,220,220",
                        "ghostwhite": "248,248,255",
                        "gold": "255,215,0",
                        "goldenrod": "218,165,32",
                        "gray": "128,128,128",
                        "grey": "128,128,128",
                        "greenyellow": "173,255,47",
                        "green": "0,128,0",
                        "honeydew": "240,255,240",
                        "hotpink": "255,105,180",
                        "indianred": "205,92,92",
                        "indigo": "75,0,130",
                        "ivory": "255,255,240",
                        "khaki": "240,230,140",
                        "lavenderblush": "255,240,245",
                        "lavender": "230,230,250",
                        "lawngreen": "124,252,0",
                        "lemonchiffon": "255,250,205",
                        "lightblue": "173,216,230",
                        "lightcoral": "240,128,128",
                        "lightcyan": "224,255,255",
                        "lightgoldenrodyellow": "250,250,210",
                        "lightgray": "211,211,211",
                        "lightgrey": "211,211,211",
                        "lightgreen": "144,238,144",
                        "lightpink": "255,182,193",
                        "lightsalmon": "255,160,122",
                        "lightseagreen": "32,178,170",
                        "lightskyblue": "135,206,250",
                        "lightslategray": "119,136,153",
                        "lightsteelblue": "176,196,222",
                        "lightyellow": "255,255,224",
                        "limegreen": "50,205,50",
                        "lime": "0,255,0",
                        "linen": "250,240,230",
                        "magenta": "255,0,255",
                        "maroon": "128,0,0",
                        "mediumaquamarine": "102,205,170",
                        "mediumblue": "0,0,205",
                        "mediumorchid": "186,85,211",
                        "mediumpurple": "147,112,219",
                        "mediumseagreen": "60,179,113",
                        "mediumslateblue": "123,104,238",
                        "mediumspringgreen": "0,250,154",
                        "mediumturquoise": "72,209,204",
                        "mediumvioletred": "199,21,133",
                        "midnightblue": "25,25,112",
                        "mintcream": "245,255,250",
                        "mistyrose": "255,228,225",
                        "moccasin": "255,228,181",
                        "navajowhite": "255,222,173",
                        "navy": "0,0,128",
                        "oldlace": "253,245,230",
                        "olivedrab": "107,142,35",
                        "olive": "128,128,0",
                        "orangered": "255,69,0",
                        "orange": "255,165,0",
                        "orchid": "218,112,214",
                        "palegoldenrod": "238,232,170",
                        "palegreen": "152,251,152",
                        "paleturquoise": "175,238,238",
                        "palevioletred": "219,112,147",
                        "papayawhip": "255,239,213",
                        "peachpuff": "255,218,185",
                        "peru": "205,133,63",
                        "pink": "255,192,203",
                        "plum": "221,160,221",
                        "powderblue": "176,224,230",
                        "purple": "128,0,128",
                        "red": "255,0,0",
                        "rosybrown": "188,143,143",
                        "royalblue": "65,105,225",
                        "saddlebrown": "139,69,19",
                        "salmon": "250,128,114",
                        "sandybrown": "244,164,96",
                        "seagreen": "46,139,87",
                        "seashell": "255,245,238",
                        "sienna": "160,82,45",
                        "silver": "192,192,192",
                        "skyblue": "135,206,235",
                        "slateblue": "106,90,205",
                        "slategray": "112,128,144",
                        "snow": "255,250,250",
                        "springgreen": "0,255,127",
                        "steelblue": "70,130,180",
                        "tan": "210,180,140",
                        "teal": "0,128,128",
                        "thistle": "216,191,216",
                        "tomato": "255,99,71",
                        "turquoise": "64,224,208",
                        "violet": "238,130,238",
                        "wheat": "245,222,179",
                        "whitesmoke": "245,245,245",
                        "white": "255,255,255",
                        "yellowgreen": "154,205,50",
                        "yellow": "255,255,0"
                    }
                },
                /************
                 Hooks
                 ************/
    
                /* Hooks allow a subproperty (e.g. "boxShadowBlur") of a compound-value CSS property
                 (e.g. "boxShadow: X Y Blur Spread Color") to be animated as if it were a discrete property. */
                /* Note: Beyond enabling fine-grained property animation, hooking is necessary since Velocity only
                 tweens properties with single numeric values; unlike CSS transitions, Velocity does not interpolate compound-values. */
                Hooks: {
                    /********************
                     Registration
                     ********************/
    
                    /* Templates are a concise way of indicating which subproperties must be individually registered for each compound-value CSS property. */
                    /* Each template consists of the compound-value's base name, its constituent subproperty names, and those subproperties' default values. */
                    templates: {
                        "textShadow": ["Color X Y Blur", "black 0px 0px 0px"],
                        "boxShadow": ["Color X Y Blur Spread", "black 0px 0px 0px 0px"],
                        "clip": ["Top Right Bottom Left", "0px 0px 0px 0px"],
                        "backgroundPosition": ["X Y", "0% 0%"],
                        "transformOrigin": ["X Y Z", "50% 50% 0px"],
                        "perspectiveOrigin": ["X Y", "50% 50%"]
                    },
                    /* A "registered" hook is one that has been converted from its template form into a live,
                     tweenable property. It contains data to associate it with its root property. */
                    registered: {
                        /* Note: A registered hook looks like this ==> textShadowBlur: [ "textShadow", 3 ],
                         which consists of the subproperty's name, the associated root property's name,
                         and the subproperty's position in the root's value. */
                    },
                    /* Convert the templates into individual hooks then append them to the registered object above. */
                    register: function() {
                        /* Color hooks registration: Colors are defaulted to white -- as opposed to black -- since colors that are
                         currently set to "transparent" default to their respective template below when color-animated,
                         and white is typically a closer match to transparent than black is. An exception is made for text ("color"),
                         which is almost always set closer to black than white. */
                        for (var i = 0; i < CSS.Lists.colors.length; i++) {
                            var rgbComponents = (CSS.Lists.colors[i] === "color") ? "0 0 0 1" : "255 255 255 1";
                            CSS.Hooks.templates[CSS.Lists.colors[i]] = ["Red Green Blue Alpha", rgbComponents];
                        }
    
                        var rootProperty,
                                hookTemplate,
                                hookNames;
    
                        /* In IE, color values inside compound-value properties are positioned at the end the value instead of at the beginning.
                         Thus, we re-arrange the templates accordingly. */
                        if (IE) {
                            for (rootProperty in CSS.Hooks.templates) {
                                if (!CSS.Hooks.templates.hasOwnProperty(rootProperty)) {
                                    continue;
                                }
                                hookTemplate = CSS.Hooks.templates[rootProperty];
                                hookNames = hookTemplate[0].split(" ");
    
                                var defaultValues = hookTemplate[1].match(CSS.RegEx.valueSplit);
    
                                if (hookNames[0] === "Color") {
                                    /* Reposition both the hook's name and its default value to the end of their respective strings. */
                                    hookNames.push(hookNames.shift());
                                    defaultValues.push(defaultValues.shift());
    
                                    /* Replace the existing template for the hook's root property. */
                                    CSS.Hooks.templates[rootProperty] = [hookNames.join(" "), defaultValues.join(" ")];
                                }
                            }
                        }
    
                        /* Hook registration. */
                        for (rootProperty in CSS.Hooks.templates) {
                            if (!CSS.Hooks.templates.hasOwnProperty(rootProperty)) {
                                continue;
                            }
                            hookTemplate = CSS.Hooks.templates[rootProperty];
                            hookNames = hookTemplate[0].split(" ");
    
                            for (var j in hookNames) {
                                if (!hookNames.hasOwnProperty(j)) {
                                    continue;
                                }
                                var fullHookName = rootProperty + hookNames[j],
                                        hookPosition = j;
    
                                /* For each hook, register its full name (e.g. textShadowBlur) with its root property (e.g. textShadow)
                                 and the hook's position in its template's default value string. */
                                CSS.Hooks.registered[fullHookName] = [rootProperty, hookPosition];
                            }
                        }
                    },
                    /*****************************
                     Injection and Extraction
                     *****************************/
    
                    /* Look up the root property associated with the hook (e.g. return "textShadow" for "textShadowBlur"). */
                    /* Since a hook cannot be set directly (the browser won't recognize it), style updating for hooks is routed through the hook's root property. */
                    getRoot: function(property) {
                        var hookData = CSS.Hooks.registered[property];
    
                        if (hookData) {
                            return hookData[0];
                        } else {
                            /* If there was no hook match, return the property name untouched. */
                            return property;
                        }
                    },
                    getUnit: function(str, start) {
                        var unit = (str.substr(start || 0, 5).match(/^[a-z%]+/) || [])[0] || "";
    
                        if (unit && _inArray(CSS.Lists.units, unit)) {
                            return unit;
                        }
                        return "";
                    },
                    fixColors: function(str) {
                        return str.replace(/(rgba?\(\s*)?(\b[a-z]+\b)/g, function($0, $1, $2) {
                            if (CSS.Lists.colorNames.hasOwnProperty($2)) {
                                return ($1 ? $1 : "rgba(") + CSS.Lists.colorNames[$2] + ($1 ? "" : ",1)");
                            }
                            return $1 + $2;
                        });
                    },
                    /* Convert any rootPropertyValue, null or otherwise, into a space-delimited list of hook values so that
                     the targeted hook can be injected or extracted at its standard position. */
                    cleanRootPropertyValue: function(rootProperty, rootPropertyValue) {
                        /* If the rootPropertyValue is wrapped with "rgb()", "clip()", etc., remove the wrapping to normalize the value before manipulation. */
                        if (CSS.RegEx.valueUnwrap.test(rootPropertyValue)) {
                            rootPropertyValue = rootPropertyValue.match(CSS.RegEx.valueUnwrap)[1];
                        }
    
                        /* If rootPropertyValue is a CSS null-value (from which there's inherently no hook value to extract),
                         default to the root's default value as defined in CSS.Hooks.templates. */
                        /* Note: CSS null-values include "none", "auto", and "transparent". They must be converted into their
                         zero-values (e.g. textShadow: "none" ==> textShadow: "0px 0px 0px black") for hook manipulation to proceed. */
                        if (CSS.Values.isCSSNullValue(rootPropertyValue)) {
                            rootPropertyValue = CSS.Hooks.templates[rootProperty][1];
                        }
    
                        return rootPropertyValue;
                    },
                    /* Extracted the hook's value from its root property's value. This is used to get the starting value of an animating hook. */
                    extractValue: function(fullHookName, rootPropertyValue) {
                        var hookData = CSS.Hooks.registered[fullHookName];
    
                        if (hookData) {
                            var hookRoot = hookData[0],
                                    hookPosition = hookData[1];
    
                            rootPropertyValue = CSS.Hooks.cleanRootPropertyValue(hookRoot, rootPropertyValue);
    
                            /* Split rootPropertyValue into its constituent hook values then grab the desired hook at its standard position. */
                            return rootPropertyValue.toString().match(CSS.RegEx.valueSplit)[hookPosition];
                        } else {
                            /* If the provided fullHookName isn't a registered hook, return the rootPropertyValue that was passed in. */
                            return rootPropertyValue;
                        }
                    },
                    /* Inject the hook's value into its root property's value. This is used to piece back together the root property
                     once Velocity has updated one of its individually hooked values through tweening. */
                    injectValue: function(fullHookName, hookValue, rootPropertyValue) {
                        var hookData = CSS.Hooks.registered[fullHookName];
    
                        if (hookData) {
                            var hookRoot = hookData[0],
                                    hookPosition = hookData[1],
                                    rootPropertyValueParts,
                                    rootPropertyValueUpdated;
    
                            rootPropertyValue = CSS.Hooks.cleanRootPropertyValue(hookRoot, rootPropertyValue);
    
                            /* Split rootPropertyValue into its individual hook values, replace the targeted value with hookValue,
                             then reconstruct the rootPropertyValue string. */
                            rootPropertyValueParts = rootPropertyValue.toString().match(CSS.RegEx.valueSplit);
                            rootPropertyValueParts[hookPosition] = hookValue;
                            rootPropertyValueUpdated = rootPropertyValueParts.join(" ");
    
                            return rootPropertyValueUpdated;
                        } else {
                            /* If the provided fullHookName isn't a registered hook, return the rootPropertyValue that was passed in. */
                            return rootPropertyValue;
                        }
                    }
                },
                /*******************
                 Normalizations
                 *******************/
    
                /* Normalizations standardize CSS property manipulation by pollyfilling browser-specific implementations (e.g. opacity)
                 and reformatting special properties (e.g. clip, rgba) to look like standard ones. */
                Normalizations: {
                    /* Normalizations are passed a normalization target (either the property's name, its extracted value, or its injected value),
                     the targeted element (which may need to be queried), and the targeted property value. */
                    registered: {
                        clip: function(type, element, propertyValue) {
                            switch (type) {
                                case "name":
                                    return "clip";
                                    /* Clip needs to be unwrapped and stripped of its commas during extraction. */
                                case "extract":
                                    var extracted;
    
                                    /* If Velocity also extracted this value, skip extraction. */
                                    if (CSS.RegEx.wrappedValueAlreadyExtracted.test(propertyValue)) {
                                        extracted = propertyValue;
                                    } else {
                                        /* Remove the "rect()" wrapper. */
                                        extracted = propertyValue.toString().match(CSS.RegEx.valueUnwrap);
    
                                        /* Strip off commas. */
                                        extracted = extracted ? extracted[1].replace(/,(\s+)?/g, " ") : propertyValue;
                                    }
    
                                    return extracted;
                                    /* Clip needs to be re-wrapped during injection. */
                                case "inject":
                                    return "rect(" + propertyValue + ")";
                            }
                        },
                        blur: function(type, element, propertyValue) {
                            switch (type) {
                                case "name":
                                    return Velocity.State.isFirefox ? "filter" : "-webkit-filter";
                                case "extract":
                                    var extracted = parseFloat(propertyValue);
    
                                    /* If extracted is NaN, meaning the value isn't already extracted. */
                                    if (!(extracted || extracted === 0)) {
                                        var blurComponent = propertyValue.toString().match(/blur\(([0-9]+[A-z]+)\)/i);
    
                                        /* If the filter string had a blur component, return just the blur value and unit type. */
                                        if (blurComponent) {
                                            extracted = blurComponent[1];
                                            /* If the component doesn't exist, default blur to 0. */
                                        } else {
                                            extracted = 0;
                                        }
                                    }
    
                                    return extracted;
                                    /* Blur needs to be re-wrapped during injection. */
                                case "inject":
                                    /* For the blur effect to be fully de-applied, it needs to be set to "none" instead of 0. */
                                    if (!parseFloat(propertyValue)) {
                                        return "none";
                                    } else {
                                        return "blur(" + propertyValue + ")";
                                    }
                            }
                        },
                        /* <=IE8 do not support the standard opacity property. They use filter:alpha(opacity=INT) instead. */
                        opacity: function(type, element, propertyValue) {
                            if (IE <= 8) {
                                switch (type) {
                                    case "name":
                                        return "filter";
                                    case "extract":
                                        /* <=IE8 return a "filter" value of "alpha(opacity=\d{1,3})".
                                         Extract the value and convert it to a decimal value to match the standard CSS opacity property's formatting. */
                                        var extracted = propertyValue.toString().match(/alpha\(opacity=(.*)\)/i);
    
                                        if (extracted) {
                                            /* Convert to decimal value. */
                                            propertyValue = extracted[1] / 100;
                                        } else {
                                            /* When extracting opacity, default to 1 since a null value means opacity hasn't been set. */
                                            propertyValue = 1;
                                        }
    
                                        return propertyValue;
                                    case "inject":
                                        /* Opacified elements are required to have their zoom property set to a non-zero value. */
                                        element.style.zoom = 1;
    
                                        /* Setting the filter property on elements with certain font property combinations can result in a
                                         highly unappealing ultra-bolding effect. There's no way to remedy this throughout a tween, but dropping the
                                         value altogether (when opacity hits 1) at leasts ensures that the glitch is gone post-tweening. */
                                        if (parseFloat(propertyValue) >= 1) {
                                            return "";
                                        } else {
                                            /* As per the filter property's spec, convert the decimal value to a whole number and wrap the value. */
                                            return "alpha(opacity=" + parseInt(parseFloat(propertyValue) * 100, 10) + ")";
                                        }
                                }
                                /* With all other browsers, normalization is not required; return the same values that were passed in. */
                            } else {
                                switch (type) {
                                    case "name":
                                        return "opacity";
                                    case "extract":
                                        return propertyValue;
                                    case "inject":
                                        return propertyValue;
                                }
                            }
                        }
                    },
                    /*****************************
                     Batched Registrations
                     *****************************/
    
                    /* Note: Batched normalizations extend the CSS.Normalizations.registered object. */
                    register: function() {
    
                        /*****************
                         Transforms
                         *****************/
    
                        /* Transforms are the subproperties contained by the CSS "transform" property. Transforms must undergo normalization
                         so that they can be referenced in a properties map by their individual names. */
                        /* Note: When transforms are "set", they are actually assigned to a per-element transformCache. When all transform
                         setting is complete complete, CSS.flushTransformCache() must be manually called to flush the values to the DOM.
                         Transform setting is batched in this way to improve performance: the transform style only needs to be updated
                         once when multiple transform subproperties are being animated simultaneously. */
                        /* Note: IE9 and Android Gingerbread have support for 2D -- but not 3D -- transforms. Since animating unsupported
                         transform properties results in the browser ignoring the *entire* transform string, we prevent these 3D values
                         from being normalized for these browsers so that tweening skips these properties altogether
                         (since it will ignore them as being unsupported by the browser.) */
                        if ((!IE || IE > 9) && !Velocity.State.isGingerbread) {
                            /* Note: Since the standalone CSS "perspective" property and the CSS transform "perspective" subproperty
                             share the same name, the latter is given a unique token within Velocity: "transformPerspective". */
                            CSS.Lists.transformsBase = CSS.Lists.transformsBase.concat(CSS.Lists.transforms3D);
                        }
    
                        for (var i = 0; i < CSS.Lists.transformsBase.length; i++) {
                            /* Wrap the dynamically generated normalization function in a new scope so that transformName's value is
                             paired with its respective function. (Otherwise, all functions would take the final for loop's transformName.) */
                            (function() {
                                var transformName = CSS.Lists.transformsBase[i];
    
                                CSS.Normalizations.registered[transformName] = function(type, element, propertyValue) {
                                    switch (type) {
                                        /* The normalized property name is the parent "transform" property -- the property that is actually set in CSS. */
                                        case "name":
                                            return "transform";
                                            /* Transform values are cached onto a per-element transformCache object. */
                                        case "extract":
                                            /* If this transform has yet to be assigned a value, return its null value. */
                                            if (Data(element) === undefined || Data(element).transformCache[transformName] === undefined) {
                                                /* Scale CSS.Lists.transformsBase default to 1 whereas all other transform properties default to 0. */
                                                return /^scale/i.test(transformName) ? 1 : 0;
                                                /* When transform values are set, they are wrapped in parentheses as per the CSS spec.
                                                 Thus, when extracting their values (for tween calculations), we strip off the parentheses. */
                                            }
                                            return Data(element).transformCache[transformName].replace(/[()]/g, "");
                                        case "inject":
                                            var invalid = false;
    
                                            /* If an individual transform property contains an unsupported unit type, the browser ignores the *entire* transform property.
                                             Thus, protect users from themselves by skipping setting for transform values supplied with invalid unit types. */
                                            /* Switch on the base transform type; ignore the axis by removing the last letter from the transform's name. */
                                            switch (transformName.substr(0, transformName.length - 1)) {
                                                /* Whitelist unit types for each transform. */
                                                case "translate":
                                                    invalid = !/(%|px|em|rem|vw|vh|\d)$/i.test(propertyValue);
                                                    break;
                                                    /* Since an axis-free "scale" property is supported as well, a little hack is used here to detect it by chopping off its last letter. */
                                                case "scal":
                                                case "scale":
                                                    /* Chrome on Android has a bug in which scaled elements blur if their initial scale
                                                     value is below 1 (which can happen with forcefeeding). Thus, we detect a yet-unset scale property
                                                     and ensure that its first value is always 1. More info: http://stackoverflow.com/questions/10417890/css3-animations-with-transform-causes-blurred-elements-on-webkit/10417962#10417962 */
                                                    if (Velocity.State.isAndroid && Data(element).transformCache[transformName] === undefined && propertyValue < 1) {
                                                        propertyValue = 1;
                                                    }
    
                                                    invalid = !/(\d)$/i.test(propertyValue);
                                                    break;
                                                case "skew":
                                                    invalid = !/(deg|\d)$/i.test(propertyValue);
                                                    break;
                                                case "rotate":
                                                    invalid = !/(deg|\d)$/i.test(propertyValue);
                                                    break;
                                            }
    
                                            if (!invalid) {
                                                /* As per the CSS spec, wrap the value in parentheses. */
                                                Data(element).transformCache[transformName] = "(" + propertyValue + ")";
                                            }
    
                                            /* Although the value is set on the transformCache object, return the newly-updated value for the calling code to process as normal. */
                                            return Data(element).transformCache[transformName];
                                    }
                                };
                            })();
                        }
    
                        /*************
                         Colors
                         *************/
    
                        /* Since Velocity only animates a single numeric value per property, color animation is achieved by hooking the individual RGBA components of CSS color properties.
                         Accordingly, color values must be normalized (e.g. "#ff0000", "red", and "rgb(255, 0, 0)" ==> "255 0 0 1") so that their components can be injected/extracted by CSS.Hooks logic. */
                        for (var j = 0; j < CSS.Lists.colors.length; j++) {
                            /* Wrap the dynamically generated normalization function in a new scope so that colorName's value is paired with its respective function.
                             (Otherwise, all functions would take the final for loop's colorName.) */
                            (function() {
                                var colorName = CSS.Lists.colors[j];
    
                                /* Note: In IE<=8, which support rgb but not rgba, color properties are reverted to rgb by stripping off the alpha component. */
                                CSS.Normalizations.registered[colorName] = function(type, element, propertyValue) {
                                    switch (type) {
                                        case "name":
                                            return colorName;
                                            /* Convert all color values into the rgb format. (Old IE can return hex values and color names instead of rgb/rgba.) */
                                        case "extract":
                                            var extracted;
    
                                            /* If the color is already in its hookable form (e.g. "255 255 255 1") due to having been previously extracted, skip extraction. */
                                            if (CSS.RegEx.wrappedValueAlreadyExtracted.test(propertyValue)) {
                                                extracted = propertyValue;
                                            } else {
                                                var converted,
                                                        colorNames = {
                                                            black: "rgb(0, 0, 0)",
                                                            blue: "rgb(0, 0, 255)",
                                                            gray: "rgb(128, 128, 128)",
                                                            green: "rgb(0, 128, 0)",
                                                            red: "rgb(255, 0, 0)",
                                                            white: "rgb(255, 255, 255)"
                                                        };
    
                                                /* Convert color names to rgb. */
                                                if (/^[A-z]+$/i.test(propertyValue)) {
                                                    if (colorNames[propertyValue] !== undefined) {
                                                        converted = colorNames[propertyValue];
                                                    } else {
                                                        /* If an unmatched color name is provided, default to black. */
                                                        converted = colorNames.black;
                                                    }
                                                    /* Convert hex values to rgb. */
                                                } else if (CSS.RegEx.isHex.test(propertyValue)) {
                                                    converted = "rgb(" + CSS.Values.hexToRgb(propertyValue).join(" ") + ")";
                                                    /* If the provided color doesn't match any of the accepted color formats, default to black. */
                                                } else if (!(/^rgba?\(/i.test(propertyValue))) {
                                                    converted = colorNames.black;
                                                }
    
                                                /* Remove the surrounding "rgb/rgba()" string then replace commas with spaces and strip
                                                 repeated spaces (in case the value included spaces to begin with). */
                                                extracted = (converted || propertyValue).toString().match(CSS.RegEx.valueUnwrap)[1].replace(/,(\s+)?/g, " ");
                                            }
    
                                            /* So long as this isn't <=IE8, add a fourth (alpha) component if it's missing and default it to 1 (visible). */
                                            if ((!IE || IE > 8) && extracted.split(" ").length === 3) {
                                                extracted += " 1";
                                            }
    
                                            return extracted;
                                        case "inject":
                                            /* If we have a pattern then it might already have the right values */
                                            if (/^rgb/.test(propertyValue)) {
                                                return propertyValue;
                                            }
    
                                            /* If this is IE<=8 and an alpha component exists, strip it off. */
                                            if (IE <= 8) {
                                                if (propertyValue.split(" ").length === 4) {
                                                    propertyValue = propertyValue.split(/\s+/).slice(0, 3).join(" ");
                                                }
                                                /* Otherwise, add a fourth (alpha) component if it's missing and default it to 1 (visible). */
                                            } else if (propertyValue.split(" ").length === 3) {
                                                propertyValue += " 1";
                                            }
    
                                            /* Re-insert the browser-appropriate wrapper("rgb/rgba()"), insert commas, and strip off decimal units
                                             on all values but the fourth (R, G, and B only accept whole numbers). */
                                            return (IE <= 8 ? "rgb" : "rgba") + "(" + propertyValue.replace(/\s+/g, ",").replace(/\.(\d)+(?=,)/g, "") + ")";
                                    }
                                };
                            })();
                        }
    
                        /**************
                         Dimensions
                         **************/
                        function augmentDimension(name, element, wantInner) {
                            var isBorderBox = CSS.getPropertyValue(element, "boxSizing").toString().toLowerCase() === "border-box";
    
                            if (isBorderBox === (wantInner || false)) {
                                /* in box-sizing mode, the CSS width / height accessors already give the outerWidth / outerHeight. */
                                var i,
                                        value,
                                        augment = 0,
                                        sides = name === "width" ? ["Left", "Right"] : ["Top", "Bottom"],
                                        fields = ["padding" + sides[0], "padding" + sides[1], "border" + sides[0] + "Width", "border" + sides[1] + "Width"];
    
                                for (i = 0; i < fields.length; i++) {
                                    value = parseFloat(CSS.getPropertyValue(element, fields[i]));
                                    if (!isNaN(value)) {
                                        augment += value;
                                    }
                                }
                                return wantInner ? -augment : augment;
                            }
                            return 0;
                        }
                        function getDimension(name, wantInner) {
                            return function(type, element, propertyValue) {
                                switch (type) {
                                    case "name":
                                        return name;
                                    case "extract":
                                        return parseFloat(propertyValue) + augmentDimension(name, element, wantInner);
                                    case "inject":
                                        return (parseFloat(propertyValue) - augmentDimension(name, element, wantInner)) + "px";
                                }
                            };
                        }
                        CSS.Normalizations.registered.innerWidth = getDimension("width", true);
                        CSS.Normalizations.registered.innerHeight = getDimension("height", true);
                        CSS.Normalizations.registered.outerWidth = getDimension("width");
                        CSS.Normalizations.registered.outerHeight = getDimension("height");
                    }
                },
                /************************
                 CSS Property Names
                 ************************/
    
                Names: {
                    /* Camelcase a property name into its JavaScript notation (e.g. "background-color" ==> "backgroundColor").
                     Camelcasing is used to normalize property names between and across calls. */
                    camelCase: function(property) {
                        return property.replace(/-(\w)/g, function(match, subMatch) {
                            return subMatch.toUpperCase();
                        });
                    },
                    /* For SVG elements, some properties (namely, dimensional ones) are GET/SET via the element's HTML attributes (instead of via CSS styles). */
                    SVGAttribute: function(property) {
                        var SVGAttributes = "width|height|x|y|cx|cy|r|rx|ry|x1|x2|y1|y2";
    
                        /* Certain browsers require an SVG transform to be applied as an attribute. (Otherwise, application via CSS is preferable due to 3D support.) */
                        if (IE || (Velocity.State.isAndroid && !Velocity.State.isChrome)) {
                            SVGAttributes += "|transform";
                        }
    
                        return new RegExp("^(" + SVGAttributes + ")$", "i").test(property);
                    },
                    /* Determine whether a property should be set with a vendor prefix. */
                    /* If a prefixed version of the property exists, return it. Otherwise, return the original property name.
                     If the property is not at all supported by the browser, return a false flag. */
                    prefixCheck: function(property) {
                        /* If this property has already been checked, return the cached value. */
                        if (Velocity.State.prefixMatches[property]) {
                            return [Velocity.State.prefixMatches[property], true];
                        } else {
                            var vendors = ["", "Webkit", "Moz", "ms", "O"];
    
                            for (var i = 0, vendorsLength = vendors.length; i < vendorsLength; i++) {
                                var propertyPrefixed;
    
                                if (i === 0) {
                                    propertyPrefixed = property;
                                } else {
                                    /* Capitalize the first letter of the property to conform to JavaScript vendor prefix notation (e.g. webkitFilter). */
                                    propertyPrefixed = vendors[i] + property.replace(/^\w/, function(match) {
                                        return match.toUpperCase();
                                    });
                                }
    
                                /* Check if the browser supports this property as prefixed. */
                                if (Type.isString(Velocity.State.prefixElement.style[propertyPrefixed])) {
                                    /* Cache the match. */
                                    Velocity.State.prefixMatches[property] = propertyPrefixed;
    
                                    return [propertyPrefixed, true];
                                }
                            }
    
                            /* If the browser doesn't support this property in any form, include a false flag so that the caller can decide how to proceed. */
                            return [property, false];
                        }
                    }
                },
                /************************
                 CSS Property Values
                 ************************/
    
                Values: {
                    /* Hex to RGB conversion. Copyright Tim Down: http://stackoverflow.com/questions/5623838/rgb-to-hex-and-hex-to-rgb */
                    hexToRgb: function(hex) {
                        var shortformRegex = /^#?([a-f\d])([a-f\d])([a-f\d])$/i,
                                longformRegex = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i,
                                rgbParts;
    
                        hex = hex.replace(shortformRegex, function(m, r, g, b) {
                            return r + r + g + g + b + b;
                        });
    
                        rgbParts = longformRegex.exec(hex);
    
                        return rgbParts ? [parseInt(rgbParts[1], 16), parseInt(rgbParts[2], 16), parseInt(rgbParts[3], 16)] : [0, 0, 0];
                    },
                    isCSSNullValue: function(value) {
                        /* The browser defaults CSS values that have not been set to either 0 or one of several possible null-value strings.
                         Thus, we check for both falsiness and these special strings. */
                        /* Null-value checking is performed to default the special strings to 0 (for the sake of tweening) or their hook
                         templates as defined as CSS.Hooks (for the sake of hook injection/extraction). */
                        /* Note: Chrome returns "rgba(0, 0, 0, 0)" for an undefined color whereas IE returns "transparent". */
                        return (!value || /^(none|auto|transparent|(rgba\(0, ?0, ?0, ?0\)))$/i.test(value));
                    },
                    /* Retrieve a property's default unit type. Used for assigning a unit type when one is not supplied by the user. */
                    getUnitType: function(property) {
                        if (/^(rotate|skew)/i.test(property)) {
                            return "deg";
                        } else if (/(^(scale|scaleX|scaleY|scaleZ|alpha|flexGrow|flexHeight|zIndex|fontWeight)$)|((opacity|red|green|blue|alpha)$)/i.test(property)) {
                            /* The above properties are unitless. */
                            return "";
                        } else {
                            /* Default to px for all other properties. */
                            return "px";
                        }
                    },
                    /* HTML elements default to an associated display type when they're not set to display:none. */
                    /* Note: This function is used for correctly setting the non-"none" display value in certain Velocity redirects, such as fadeIn/Out. */
                    getDisplayType: function(element) {
                        var tagName = element && element.tagName.toString().toLowerCase();
    
                        if (/^(b|big|i|small|tt|abbr|acronym|cite|code|dfn|em|kbd|strong|samp|var|a|bdo|br|img|map|object|q|script|span|sub|sup|button|input|label|select|textarea)$/i.test(tagName)) {
                            return "inline";
                        } else if (/^(li)$/i.test(tagName)) {
                            return "list-item";
                        } else if (/^(tr)$/i.test(tagName)) {
                            return "table-row";
                        } else if (/^(table)$/i.test(tagName)) {
                            return "table";
                        } else if (/^(tbody)$/i.test(tagName)) {
                            return "table-row-group";
                            /* Default to "block" when no match is found. */
                        } else {
                            return "block";
                        }
                    },
                    /* The class add/remove functions are used to temporarily apply a "velocity-animating" class to elements while they're animating. */
                    addClass: function(element, className) {
                        if (element) {
                            if (element.classList) {
                                element.classList.add(className);
                            } else if (Type.isString(element.className)) {
                                // Element.className is around 15% faster then set/getAttribute
                                element.className += (element.className.length ? " " : "") + className;
                            } else {
                                // Work around for IE strict mode animating SVG - and anything else that doesn't behave correctly - the same way jQuery does it
                                var currentClass = element.getAttribute(IE <= 7 ? "className" : "class") || "";
    
                                element.setAttribute("class", currentClass + (currentClass ? " " : "") + className);
                            }
                        }
                    },
                    removeClass: function(element, className) {
                        if (element) {
                            if (element.classList) {
                                element.classList.remove(className);
                            } else if (Type.isString(element.className)) {
                                // Element.className is around 15% faster then set/getAttribute
                                // TODO: Need some jsperf tests on performance - can we get rid of the regex and maybe use split / array manipulation?
                                element.className = element.className.toString().replace(new RegExp("(^|\\s)" + className.split(" ").join("|") + "(\\s|$)", "gi"), " ");
                            } else {
                                // Work around for IE strict mode animating SVG - and anything else that doesn't behave correctly - the same way jQuery does it
                                var currentClass = element.getAttribute(IE <= 7 ? "className" : "class") || "";
    
                                element.setAttribute("class", currentClass.replace(new RegExp("(^|\s)" + className.split(" ").join("|") + "(\s|$)", "gi"), " "));
                            }
                        }
                    }
                },
                /****************************
                 Style Getting & Setting
                 ****************************/
    
                /* The singular getPropertyValue, which routes the logic for all normalizations, hooks, and standard CSS properties. */
                getPropertyValue: function(element, property, rootPropertyValue, forceStyleLookup) {
                    /* Get an element's computed property value. */
                    /* Note: Retrieving the value of a CSS property cannot simply be performed by checking an element's
                     style attribute (which only reflects user-defined values). Instead, the browser must be queried for a property's
                     *computed* value. You can read more about getComputedStyle here: https://developer.mozilla.org/en/docs/Web/API/window.getComputedStyle */
                    function computePropertyValue(element, property) {
                        /* When box-sizing isn't set to border-box, height and width style values are incorrectly computed when an
                         element's scrollbars are visible (which expands the element's dimensions). Thus, we defer to the more accurate
                         offsetHeight/Width property, which includes the total dimensions for interior, border, padding, and scrollbar.
                         We subtract border and padding to get the sum of interior + scrollbar. */
                        var computedValue = 0;
    
                        /* IE<=8 doesn't support window.getComputedStyle, thus we defer to jQuery, which has an extensive array
                         of hacks to accurately retrieve IE8 property values. Re-implementing that logic here is not worth bloating the
                         codebase for a dying browser. The performance repercussions of using jQuery here are minimal since
                         Velocity is optimized to rarely (and sometimes never) query the DOM. Further, the $.css() codepath isn't that slow. */
                        if (IE <= 8) {
                            computedValue = $.css(element, property); /* GET */
                            /* All other browsers support getComputedStyle. The returned live object reference is cached onto its
                             associated element so that it does not need to be refetched upon every GET. */
                        } else {
                            /* Browsers do not return height and width values for elements that are set to display:"none". Thus, we temporarily
                             toggle display to the element type's default value. */
                            var toggleDisplay = false;
    
                            if (/^(width|height)$/.test(property) && CSS.getPropertyValue(element, "display") === 0) {
                                toggleDisplay = true;
                                CSS.setPropertyValue(element, "display", CSS.Values.getDisplayType(element));
                            }
    
                            var revertDisplay = function() {
                                if (toggleDisplay) {
                                    CSS.setPropertyValue(element, "display", "none");
                                }
                            };
    
                            if (!forceStyleLookup) {
                                if (property === "height" && CSS.getPropertyValue(element, "boxSizing").toString().toLowerCase() !== "border-box") {
                                    var contentBoxHeight = element.offsetHeight - (parseFloat(CSS.getPropertyValue(element, "borderTopWidth")) || 0) - (parseFloat(CSS.getPropertyValue(element, "borderBottomWidth")) || 0) - (parseFloat(CSS.getPropertyValue(element, "paddingTop")) || 0) - (parseFloat(CSS.getPropertyValue(element, "paddingBottom")) || 0);
                                    revertDisplay();
    
                                    return contentBoxHeight;
                                } else if (property === "width" && CSS.getPropertyValue(element, "boxSizing").toString().toLowerCase() !== "border-box") {
                                    var contentBoxWidth = element.offsetWidth - (parseFloat(CSS.getPropertyValue(element, "borderLeftWidth")) || 0) - (parseFloat(CSS.getPropertyValue(element, "borderRightWidth")) || 0) - (parseFloat(CSS.getPropertyValue(element, "paddingLeft")) || 0) - (parseFloat(CSS.getPropertyValue(element, "paddingRight")) || 0);
                                    revertDisplay();
    
                                    return contentBoxWidth;
                                }
                            }
    
                            var computedStyle;
    
                            /* For elements that Velocity hasn't been called on directly (e.g. when Velocity queries the DOM on behalf
                             of a parent of an element its animating), perform a direct getComputedStyle lookup since the object isn't cached. */
                            if (Data(element) === undefined) {
                                computedStyle = window.getComputedStyle(element, null); /* GET */
                                /* If the computedStyle object has yet to be cached, do so now. */
                            } else if (!Data(element).computedStyle) {
                                computedStyle = Data(element).computedStyle = window.getComputedStyle(element, null); /* GET */
                                /* If computedStyle is cached, use it. */
                            } else {
                                computedStyle = Data(element).computedStyle;
                            }
    
                            /* IE and Firefox do not return a value for the generic borderColor -- they only return individual values for each border side's color.
                             Also, in all browsers, when border colors aren't all the same, a compound value is returned that Velocity isn't setup to parse.
                             So, as a polyfill for querying individual border side colors, we just return the top border's color and animate all borders from that value. */
                            if (property === "borderColor") {
                                property = "borderTopColor";
                            }
    
                            /* IE9 has a bug in which the "filter" property must be accessed from computedStyle using the getPropertyValue method
                             instead of a direct property lookup. The getPropertyValue method is slower than a direct lookup, which is why we avoid it by default. */
                            if (IE === 9 && property === "filter") {
                                computedValue = computedStyle.getPropertyValue(property); /* GET */
                            } else {
                                computedValue = computedStyle[property];
                            }
    
                            /* Fall back to the property's style value (if defined) when computedValue returns nothing,
                             which can happen when the element hasn't been painted. */
                            if (computedValue === "" || computedValue === null) {
                                computedValue = element.style[property];
                            }
    
                            revertDisplay();
                        }
    
                        /* For top, right, bottom, and left (TRBL) values that are set to "auto" on elements of "fixed" or "absolute" position,
                         defer to jQuery for converting "auto" to a numeric value. (For elements with a "static" or "relative" position, "auto" has the same
                         effect as being set to 0, so no conversion is necessary.) */
                        /* An example of why numeric conversion is necessary: When an element with "position:absolute" has an untouched "left"
                         property, which reverts to "auto", left's value is 0 relative to its parent element, but is often non-zero relative
                         to its *containing* (not parent) element, which is the nearest "position:relative" ancestor or the viewport (and always the viewport in the case of "position:fixed"). */
                        if (computedValue === "auto" && /^(top|right|bottom|left)$/i.test(property)) {
                            var position = computePropertyValue(element, "position"); /* GET */
    
                            /* For absolute positioning, jQuery's $.position() only returns values for top and left;
                             right and bottom will have their "auto" value reverted to 0. */
                            /* Note: A jQuery object must be created here since jQuery doesn't have a low-level alias for $.position().
                             Not a big deal since we're currently in a GET batch anyway. */
                            if (position === "fixed" || (position === "absolute" && /top|left/i.test(property))) {
                                /* Note: jQuery strips the pixel unit from its returned values; we re-add it here to conform with computePropertyValue's behavior. */
                                computedValue = $(element).position()[property] + "px"; /* GET */
                            }
                        }
    
                        return computedValue;
                    }
    
                    var propertyValue;
    
                    /* If this is a hooked property (e.g. "clipLeft" instead of the root property of "clip"),
                     extract the hook's value from a normalized rootPropertyValue using CSS.Hooks.extractValue(). */
                    if (CSS.Hooks.registered[property]) {
                        var hook = property,
                                hookRoot = CSS.Hooks.getRoot(hook);
    
                        /* If a cached rootPropertyValue wasn't passed in (which Velocity always attempts to do in order to avoid requerying the DOM),
                         query the DOM for the root property's value. */
                        if (rootPropertyValue === undefined) {
                            /* Since the browser is now being directly queried, use the official post-prefixing property name for this lookup. */
                            rootPropertyValue = CSS.getPropertyValue(element, CSS.Names.prefixCheck(hookRoot)[0]); /* GET */
                        }
    
                        /* If this root has a normalization registered, peform the associated normalization extraction. */
                        if (CSS.Normalizations.registered[hookRoot]) {
                            rootPropertyValue = CSS.Normalizations.registered[hookRoot]("extract", element, rootPropertyValue);
                        }
    
                        /* Extract the hook's value. */
                        propertyValue = CSS.Hooks.extractValue(hook, rootPropertyValue);
    
                        /* If this is a normalized property (e.g. "opacity" becomes "filter" in <=IE8) or "translateX" becomes "transform"),
                         normalize the property's name and value, and handle the special case of transforms. */
                        /* Note: Normalizing a property is mutually exclusive from hooking a property since hook-extracted values are strictly
                         numerical and therefore do not require normalization extraction. */
                    } else if (CSS.Normalizations.registered[property]) {
                        var normalizedPropertyName,
                                normalizedPropertyValue;
    
                        normalizedPropertyName = CSS.Normalizations.registered[property]("name", element);
    
                        /* Transform values are calculated via normalization extraction (see below), which checks against the element's transformCache.
                         At no point do transform GETs ever actually query the DOM; initial stylesheet values are never processed.
                         This is because parsing 3D transform matrices is not always accurate and would bloat our codebase;
                         thus, normalization extraction defaults initial transform values to their zero-values (e.g. 1 for scaleX and 0 for translateX). */
                        if (normalizedPropertyName !== "transform") {
                            normalizedPropertyValue = computePropertyValue(element, CSS.Names.prefixCheck(normalizedPropertyName)[0]); /* GET */
    
                            /* If the value is a CSS null-value and this property has a hook template, use that zero-value template so that hooks can be extracted from it. */
                            if (CSS.Values.isCSSNullValue(normalizedPropertyValue) && CSS.Hooks.templates[property]) {
                                normalizedPropertyValue = CSS.Hooks.templates[property][1];
                            }
                        }
    
                        propertyValue = CSS.Normalizations.registered[property]("extract", element, normalizedPropertyValue);
                    }
    
                    /* If a (numeric) value wasn't produced via hook extraction or normalization, query the DOM. */
                    if (!/^[\d-]/.test(propertyValue)) {
                        /* For SVG elements, dimensional properties (which SVGAttribute() detects) are tweened via
                         their HTML attribute values instead of their CSS style values. */
                        var data = Data(element);
    
                        if (data && data.isSVG && CSS.Names.SVGAttribute(property)) {
                            /* Since the height/width attribute values must be set manually, they don't reflect computed values.
                             Thus, we use use getBBox() to ensure we always get values for elements with undefined height/width attributes. */
                            if (/^(height|width)$/i.test(property)) {
                                /* Firefox throws an error if .getBBox() is called on an SVG that isn't attached to the DOM. */
                                try {
                                    propertyValue = element.getBBox()[property];
                                } catch (error) {
                                    propertyValue = 0;
                                }
                                /* Otherwise, access the attribute value directly. */
                            } else {
                                propertyValue = element.getAttribute(property);
                            }
                        } else {
                            propertyValue = computePropertyValue(element, CSS.Names.prefixCheck(property)[0]); /* GET */
                        }
                    }
    
                    /* Since property lookups are for animation purposes (which entails computing the numeric delta between start and end values),
                     convert CSS null-values to an integer of value 0. */
                    if (CSS.Values.isCSSNullValue(propertyValue)) {
                        propertyValue = 0;
                    }
    
                    if (Velocity.debug >= 2) {
                        console.log("Get " + property + ": " + propertyValue);
                    }
    
                    return propertyValue;
                },
                /* The singular setPropertyValue, which routes the logic for all normalizations, hooks, and standard CSS properties. */
                setPropertyValue: function(element, property, propertyValue, rootPropertyValue, scrollData) {
                    var propertyName = property;
    
                    /* In order to be subjected to call options and element queueing, scroll animation is routed through Velocity as if it were a standard CSS property. */
                    if (property === "scroll") {
                        /* If a container option is present, scroll the container instead of the browser window. */
                        if (scrollData.container) {
                            scrollData.container["scroll" + scrollData.direction] = propertyValue;
                            /* Otherwise, Velocity defaults to scrolling the browser window. */
                        } else {
                            if (scrollData.direction === "Left") {
                                window.scrollTo(propertyValue, scrollData.alternateValue);
                            } else {
                                window.scrollTo(scrollData.alternateValue, propertyValue);
                            }
                        }
                    } else {
                        /* Transforms (translateX, rotateZ, etc.) are applied to a per-element transformCache object, which is manually flushed via flushTransformCache().
                         Thus, for now, we merely cache transforms being SET. */
                        if (CSS.Normalizations.registered[property] && CSS.Normalizations.registered[property]("name", element) === "transform") {
                            /* Perform a normalization injection. */
                            /* Note: The normalization logic handles the transformCache updating. */
                            CSS.Normalizations.registered[property]("inject", element, propertyValue);
    
                            propertyName = "transform";
                            propertyValue = Data(element).transformCache[property];
                        } else {
                            /* Inject hooks. */
                            if (CSS.Hooks.registered[property]) {
                                var hookName = property,
                                        hookRoot = CSS.Hooks.getRoot(property);
    
                                /* If a cached rootPropertyValue was not provided, query the DOM for the hookRoot's current value. */
                                rootPropertyValue = rootPropertyValue || CSS.getPropertyValue(element, hookRoot); /* GET */
    
                                propertyValue = CSS.Hooks.injectValue(hookName, propertyValue, rootPropertyValue);
                                property = hookRoot;
                            }
    
                            /* Normalize names and values. */
                            if (CSS.Normalizations.registered[property]) {
                                propertyValue = CSS.Normalizations.registered[property]("inject", element, propertyValue);
                                property = CSS.Normalizations.registered[property]("name", element);
                            }
    
                            /* Assign the appropriate vendor prefix before performing an official style update. */
                            propertyName = CSS.Names.prefixCheck(property)[0];
    
                            /* A try/catch is used for IE<=8, which throws an error when "invalid" CSS values are set, e.g. a negative width.
                             Try/catch is avoided for other browsers since it incurs a performance overhead. */
                            if (IE <= 8) {
                                try {
                                    element.style[propertyName] = propertyValue;
                                } catch (error) {
                                    if (Velocity.debug) {
                                        console.log("Browser does not support [" + propertyValue + "] for [" + propertyName + "]");
                                    }
                                }
                                /* SVG elements have their dimensional properties (width, height, x, y, cx, etc.) applied directly as attributes instead of as styles. */
                                /* Note: IE8 does not support SVG elements, so it's okay that we skip it for SVG animation. */
                            } else {
                                var data = Data(element);
    
                                if (data && data.isSVG && CSS.Names.SVGAttribute(property)) {
                                    /* Note: For SVG attributes, vendor-prefixed property names are never used. */
                                    /* Note: Not all CSS properties can be animated via attributes, but the browser won't throw an error for unsupported properties. */
                                    element.setAttribute(property, propertyValue);
                                } else {
                                    element.style[propertyName] = propertyValue;
                                }
                            }
    
                            if (Velocity.debug >= 2) {
                                console.log("Set " + property + " (" + propertyName + "): " + propertyValue);
                            }
                        }
                    }
    
                    /* Return the normalized property name and value in case the caller wants to know how these values were modified before being applied to the DOM. */
                    return [propertyName, propertyValue];
                },
                /* To increase performance by batching transform updates into a single SET, transforms are not directly applied to an element until flushTransformCache() is called. */
                /* Note: Velocity applies transform properties in the same order that they are chronogically introduced to the element's CSS styles. */
                flushTransformCache: function(element) {
                    var transformString = "",
                            data = Data(element);
    
                    /* Certain browsers require that SVG transforms be applied as an attribute. However, the SVG transform attribute takes a modified version of CSS's transform string
                     (units are dropped and, except for skewX/Y, subproperties are merged into their master property -- e.g. scaleX and scaleY are merged into scale(X Y). */
                    if ((IE || (Velocity.State.isAndroid && !Velocity.State.isChrome)) && data && data.isSVG) {
                        /* Since transform values are stored in their parentheses-wrapped form, we use a helper function to strip out their numeric values.
                         Further, SVG transform properties only take unitless (representing pixels) values, so it's okay that parseFloat() strips the unit suffixed to the float value. */
                        var getTransformFloat = function(transformProperty) {
                            return parseFloat(CSS.getPropertyValue(element, transformProperty));
                        };
    
                        /* Create an object to organize all the transforms that we'll apply to the SVG element. To keep the logic simple,
                         we process *all* transform properties -- even those that may not be explicitly applied (since they default to their zero-values anyway). */
                        var SVGTransforms = {
                            translate: [getTransformFloat("translateX"), getTransformFloat("translateY")],
                            skewX: [getTransformFloat("skewX")], skewY: [getTransformFloat("skewY")],
                            /* If the scale property is set (non-1), use that value for the scaleX and scaleY values
                             (this behavior mimics the result of animating all these properties at once on HTML elements). */
                            scale: getTransformFloat("scale") !== 1 ? [getTransformFloat("scale"), getTransformFloat("scale")] : [getTransformFloat("scaleX"), getTransformFloat("scaleY")],
                            /* Note: SVG's rotate transform takes three values: rotation degrees followed by the X and Y values
                             defining the rotation's origin point. We ignore the origin values (default them to 0). */
                            rotate: [getTransformFloat("rotateZ"), 0, 0]
                        };
    
                        /* Iterate through the transform properties in the user-defined property map order.
                         (This mimics the behavior of non-SVG transform animation.) */
                        $.each(Data(element).transformCache, function(transformName) {
                            /* Except for with skewX/Y, revert the axis-specific transform subproperties to their axis-free master
                             properties so that they match up with SVG's accepted transform properties. */
                            if (/^translate/i.test(transformName)) {
                                transformName = "translate";
                            } else if (/^scale/i.test(transformName)) {
                                transformName = "scale";
                            } else if (/^rotate/i.test(transformName)) {
                                transformName = "rotate";
                            }
    
                            /* Check that we haven't yet deleted the property from the SVGTransforms container. */
                            if (SVGTransforms[transformName]) {
                                /* Append the transform property in the SVG-supported transform format. As per the spec, surround the space-delimited values in parentheses. */
                                transformString += transformName + "(" + SVGTransforms[transformName].join(" ") + ")" + " ";
    
                                /* After processing an SVG transform property, delete it from the SVGTransforms container so we don't
                                 re-insert the same master property if we encounter another one of its axis-specific properties. */
                                delete SVGTransforms[transformName];
                            }
                        });
                    } else {
                        var transformValue,
                                perspective;
    
                        /* Transform properties are stored as members of the transformCache object. Concatenate all the members into a string. */
                        $.each(Data(element).transformCache, function(transformName) {
                            transformValue = Data(element).transformCache[transformName];
    
                            /* Transform's perspective subproperty must be set first in order to take effect. Store it temporarily. */
                            if (transformName === "transformPerspective") {
                                perspective = transformValue;
                                return true;
                            }
    
                            /* IE9 only supports one rotation type, rotateZ, which it refers to as "rotate". */
                            if (IE === 9 && transformName === "rotateZ") {
                                transformName = "rotate";
                            }
    
                            transformString += transformName + transformValue + " ";
                        });
    
                        /* If present, set the perspective subproperty first. */
                        if (perspective) {
                            transformString = "perspective" + perspective + " " + transformString;
                        }
                    }
    
                    CSS.setPropertyValue(element, "transform", transformString);
                }
            };
    
            /* Register hooks and normalizations. */
            CSS.Hooks.register();
            CSS.Normalizations.register();
    
            /* Allow hook setting in the same fashion as jQuery's $.css(). */
            Velocity.hook = function(elements, arg2, arg3) {
                var value;
    
                elements = sanitizeElements(elements);
    
                $.each(elements, function(i, element) {
                    /* Initialize Velocity's per-element data cache if this element hasn't previously been animated. */
                    if (Data(element) === undefined) {
                        Velocity.init(element);
                    }
    
                    /* Get property value. If an element set was passed in, only return the value for the first element. */
                    if (arg3 === undefined) {
                        if (value === undefined) {
                            value = CSS.getPropertyValue(element, arg2);
                        }
                        /* Set property value. */
                    } else {
                        /* sPV returns an array of the normalized propertyName/propertyValue pair used to update the DOM. */
                        var adjustedSet = CSS.setPropertyValue(element, arg2, arg3);
    
                        /* Transform properties don't automatically set. They have to be flushed to the DOM. */
                        if (adjustedSet[0] === "transform") {
                            Velocity.CSS.flushTransformCache(element);
                        }
    
                        value = adjustedSet;
                    }
                });
    
                return value;
            };
    
            /*****************
             Animation
             *****************/
    
            var animate = function() {
                var opts;
    
                /******************
                 Call Chain
                 ******************/
    
                /* Logic for determining what to return to the call stack when exiting out of Velocity. */
                function getChain() {
                    /* If we are using the utility function, attempt to return this call's promise. If no promise library was detected,
                     default to null instead of returning the targeted elements so that utility function's return value is standardized. */
                    if (isUtility) {
                        return promiseData.promise || null;
                        /* Otherwise, if we're using $.fn, return the jQuery-/Zepto-wrapped element set. */
                    } else {
                        return elementsWrapped;
                    }
                }
    
                /*************************
                 Arguments Assignment
                 *************************/
    
                /* To allow for expressive CoffeeScript code, Velocity supports an alternative syntax in which "elements" (or "e"), "properties" (or "p"), and "options" (or "o")
                 objects are defined on a container object that's passed in as Velocity's sole argument. */
                /* Note: Some browsers automatically populate arguments with a "properties" object. We detect it by checking for its default "names" property. */
                var syntacticSugar = (arguments[0] && (arguments[0].p || (($.isPlainObject(arguments[0].properties) && !arguments[0].properties.names) || Type.isString(arguments[0].properties)))),
                        /* Whether Velocity was called via the utility function (as opposed to on a jQuery/Zepto object). */
                        isUtility,
                        /* When Velocity is called via the utility function ($.Velocity()/Velocity()), elements are explicitly
                         passed in as the first parameter. Thus, argument positioning varies. We normalize them here. */
                        elementsWrapped,
                        argumentIndex;
    
                var elements,
                        propertiesMap,
                        options;
    
                /* Detect jQuery/Zepto elements being animated via the $.fn method. */
                if (Type.isWrapped(this)) {
                    isUtility = false;
    
                    argumentIndex = 0;
                    elements = this;
                    elementsWrapped = this;
                    /* Otherwise, raw elements are being animated via the utility function. */
                } else {
                    isUtility = true;
    
                    argumentIndex = 1;
                    elements = syntacticSugar ? (arguments[0].elements || arguments[0].e) : arguments[0];
                }
    
                /***************
                 Promises
                 ***************/
    
                var promiseData = {
                    promise: null,
                    resolver: null,
                    rejecter: null
                };
    
                /* If this call was made via the utility function (which is the default method of invocation when jQuery/Zepto are not being used), and if
                 promise support was detected, create a promise object for this call and store references to its resolver and rejecter methods. The resolve
                 method is used when a call completes naturally or is prematurely stopped by the user. In both cases, completeCall() handles the associated
                 call cleanup and promise resolving logic. The reject method is used when an invalid set of arguments is passed into a Velocity call. */
                /* Note: Velocity employs a call-based queueing architecture, which means that stopping an animating element actually stops the full call that
                 triggered it -- not that one element exclusively. Similarly, there is one promise per call, and all elements targeted by a Velocity call are
                 grouped together for the purposes of resolving and rejecting a promise. */
                if (isUtility && Velocity.Promise) {
                    promiseData.promise = new Velocity.Promise(function(resolve, reject) {
                        promiseData.resolver = resolve;
                        promiseData.rejecter = reject;
                    });
                }
    
                if (syntacticSugar) {
                    propertiesMap = arguments[0].properties || arguments[0].p;
                    options = arguments[0].options || arguments[0].o;
                } else {
                    propertiesMap = arguments[argumentIndex];
                    options = arguments[argumentIndex + 1];
                }
    
                elements = sanitizeElements(elements);
    
                if (!elements) {
                    if (promiseData.promise) {
                        if (!propertiesMap || !options || options.promiseRejectEmpty !== false) {
                            promiseData.rejecter();
                        } else {
                            promiseData.resolver();
                        }
                    }
                    return;
                }
    
                /* The length of the element set (in the form of a nodeList or an array of elements) is defaulted to 1 in case a
                 single raw DOM element is passed in (which doesn't contain a length property). */
                var elementsLength = elements.length,
                        elementsIndex = 0;
    
                /***************************
                 Argument Overloading
                 ***************************/
    
                /* Support is included for jQuery's argument overloading: $.animate(propertyMap [, duration] [, easing] [, complete]).
                 Overloading is detected by checking for the absence of an object being passed into options. */
                /* Note: The stop/finish/pause/resume actions do not accept animation options, and are therefore excluded from this check. */
                if (!/^(stop|finish|finishAll|pause|resume)$/i.test(propertiesMap) && !$.isPlainObject(options)) {
                    /* The utility function shifts all arguments one position to the right, so we adjust for that offset. */
                    var startingArgumentPosition = argumentIndex + 1;
    
                    options = {};
    
                    /* Iterate through all options arguments */
                    for (var i = startingArgumentPosition; i < arguments.length; i++) {
                        /* Treat a number as a duration. Parse it out. */
                        /* Note: The following RegEx will return true if passed an array with a number as its first item.
                         Thus, arrays are skipped from this check. */
                        if (!Type.isArray(arguments[i]) && (/^(fast|normal|slow)$/i.test(arguments[i]) || /^\d/.test(arguments[i]))) {
                            options.duration = arguments[i];
                            /* Treat strings and arrays as easings. */
                        } else if (Type.isString(arguments[i]) || Type.isArray(arguments[i])) {
                            options.easing = arguments[i];
                            /* Treat a function as a complete callback. */
                        } else if (Type.isFunction(arguments[i])) {
                            options.complete = arguments[i];
                        }
                    }
                }
    
                /*********************
                 Action Detection
                 *********************/
    
                /* Velocity's behavior is categorized into "actions": Elements can either be specially scrolled into view,
                 or they can be started, stopped, paused, resumed, or reversed . If a literal or referenced properties map is passed in as Velocity's
                 first argument, the associated action is "start". Alternatively, "scroll", "reverse", "pause", "resume" or "stop" can be passed in 
                 instead of a properties map. */
                var action;
    
                switch (propertiesMap) {
                    case "scroll":
                        action = "scroll";
                        break;
    
                    case "reverse":
                        action = "reverse";
                        break;
    
                    case "pause":
    
                        /*******************
                         Action: Pause
                         *******************/
    
                        var currentTime = (new Date()).getTime();
    
                        /* Handle delay timers */
                        $.each(elements, function(i, element) {
                            pauseDelayOnElement(element, currentTime);
                        });
    
                        /* Pause and Resume are call-wide (not on a per element basis). Thus, calling pause or resume on a 
                         single element will cause any calls that containt tweens for that element to be paused/resumed
                         as well. */
    
                        /* Iterate through all calls and pause any that contain any of our elements */
                        $.each(Velocity.State.calls, function(i, activeCall) {
    
                            var found = false;
                            /* Inactive calls are set to false by the logic inside completeCall(). Skip them. */
                            if (activeCall) {
                                /* Iterate through the active call's targeted elements. */
                                $.each(activeCall[1], function(k, activeElement) {
                                    var queueName = (options === undefined) ? "" : options;
    
                                    if (queueName !== true && (activeCall[2].queue !== queueName) && !(options === undefined && activeCall[2].queue === false)) {
                                        return true;
                                    }
    
                                    /* Iterate through the calls targeted by the stop command. */
                                    $.each(elements, function(l, element) {
                                        /* Check that this call was applied to the target element. */
                                        if (element === activeElement) {
    
                                            /* Set call to paused */
                                            activeCall[5] = {
                                                resume: false
                                            };
    
                                            /* Once we match an element, we can bounce out to the next call entirely */
                                            found = true;
                                            return false;
                                        }
                                    });
    
                                    /* Proceed to check next call if we have already matched */
                                    if (found) {
                                        return false;
                                    }
                                });
                            }
    
                        });
    
                        /* Since pause creates no new tweens, exit out of Velocity. */
                        return getChain();
    
                    case "resume":
    
                        /*******************
                         Action: Resume
                         *******************/
    
                        /* Handle delay timers */
                        $.each(elements, function(i, element) {
                            resumeDelayOnElement(element, currentTime);
                        });
    
                        /* Pause and Resume are call-wide (not on a per elemnt basis). Thus, calling pause or resume on a 
                         single element will cause any calls that containt tweens for that element to be paused/resumed
                         as well. */
    
                        /* Iterate through all calls and pause any that contain any of our elements */
                        $.each(Velocity.State.calls, function(i, activeCall) {
                            var found = false;
                            /* Inactive calls are set to false by the logic inside completeCall(). Skip them. */
                            if (activeCall) {
                                /* Iterate through the active call's targeted elements. */
                                $.each(activeCall[1], function(k, activeElement) {
                                    var queueName = (options === undefined) ? "" : options;
    
                                    if (queueName !== true && (activeCall[2].queue !== queueName) && !(options === undefined && activeCall[2].queue === false)) {
                                        return true;
                                    }
    
                                    /* Skip any calls that have never been paused */
                                    if (!activeCall[5]) {
                                        return true;
                                    }
    
                                    /* Iterate through the calls targeted by the stop command. */
                                    $.each(elements, function(l, element) {
                                        /* Check that this call was applied to the target element. */
                                        if (element === activeElement) {
    
                                            /* Flag a pause object to be resumed, which will occur during the next tick. In
                                             addition, the pause object will at that time be deleted */
                                            activeCall[5].resume = true;
    
                                            /* Once we match an element, we can bounce out to the next call entirely */
                                            found = true;
                                            return false;
                                        }
                                    });
    
                                    /* Proceed to check next call if we have already matched */
                                    if (found) {
                                        return false;
                                    }
                                });
                            }
    
                        });
    
                        /* Since resume creates no new tweens, exit out of Velocity. */
                        return getChain();
    
                    case "finish":
                    case "finishAll":
                    case "stop":
                        /*******************
                         Action: Stop
                         *******************/
    
                        /* Clear the currently-active delay on each targeted element. */
                        $.each(elements, function(i, element) {
                            if (Data(element) && Data(element).delayTimer) {
                                /* Stop the timer from triggering its cached next() function. */
                                clearTimeout(Data(element).delayTimer.setTimeout);
    
                                /* Manually call the next() function so that the subsequent queue items can progress. */
                                if (Data(element).delayTimer.next) {
                                    Data(element).delayTimer.next();
                                }
    
                                delete Data(element).delayTimer;
                            }
    
                            /* If we want to finish everything in the queue, we have to iterate through it
                             and call each function. This will make them active calls below, which will
                             cause them to be applied via the duration setting. */
                            if (propertiesMap === "finishAll" && (options === true || Type.isString(options))) {
                                /* Iterate through the items in the element's queue. */
                                $.each($.queue(element, Type.isString(options) ? options : ""), function(_, item) {
                                    /* The queue array can contain an "inprogress" string, which we skip. */
                                    if (Type.isFunction(item)) {
                                        item();
                                    }
                                });
    
                                /* Clearing the $.queue() array is achieved by resetting it to []. */
                                $.queue(element, Type.isString(options) ? options : "", []);
                            }
                        });
    
                        var callsToStop = [];
    
                        /* When the stop action is triggered, the elements' currently active call is immediately stopped. The active call might have
                         been applied to multiple elements, in which case all of the call's elements will be stopped. When an element
                         is stopped, the next item in its animation queue is immediately triggered. */
                        /* An additional argument may be passed in to clear an element's remaining queued calls. Either true (which defaults to the "fx" queue)
                         or a custom queue string can be passed in. */
                        /* Note: The stop command runs prior to Velocity's Queueing phase since its behavior is intended to take effect *immediately*,
                         regardless of the element's current queue state. */
    
                        /* Iterate through every active call. */
                        $.each(Velocity.State.calls, function(i, activeCall) {
                            /* Inactive calls are set to false by the logic inside completeCall(). Skip them. */
                            if (activeCall) {
                                /* Iterate through the active call's targeted elements. */
                                $.each(activeCall[1], function(k, activeElement) {
                                    /* If true was passed in as a secondary argument, clear absolutely all calls on this element. Otherwise, only
                                     clear calls associated with the relevant queue. */
                                    /* Call stopping logic works as follows:
                                     - options === true --> stop current default queue calls (and queue:false calls), including remaining queued ones.
                                     - options === undefined --> stop current queue:"" call and all queue:false calls.
                                     - options === false --> stop only queue:false calls.
                                     - options === "custom" --> stop current queue:"custom" call, including remaining queued ones (there is no functionality to only clear the currently-running queue:"custom" call). */
                                    var queueName = (options === undefined) ? "" : options;
    
                                    if (queueName !== true && (activeCall[2].queue !== queueName) && !(options === undefined && activeCall[2].queue === false)) {
                                        return true;
                                    }
    
                                    /* Iterate through the calls targeted by the stop command. */
                                    $.each(elements, function(l, element) {
                                        /* Check that this call was applied to the target element. */
                                        if (element === activeElement) {
                                            /* Optionally clear the remaining queued calls. If we're doing "finishAll" this won't find anything,
                                             due to the queue-clearing above. */
                                            if (options === true || Type.isString(options)) {
                                                /* Iterate through the items in the element's queue. */
                                                $.each($.queue(element, Type.isString(options) ? options : ""), function(_, item) {
                                                    /* The queue array can contain an "inprogress" string, which we skip. */
                                                    if (Type.isFunction(item)) {
                                                        /* Pass the item's callback a flag indicating that we want to abort from the queue call.
                                                         (Specifically, the queue will resolve the call's associated promise then abort.)  */
                                                        item(null, true);
                                                    }
                                                });
    
                                                /* Clearing the $.queue() array is achieved by resetting it to []. */
                                                $.queue(element, Type.isString(options) ? options : "", []);
                                            }
    
                                            if (propertiesMap === "stop") {
                                                /* Since "reverse" uses cached start values (the previous call's endValues), these values must be
                                                 changed to reflect the final value that the elements were actually tweened to. */
                                                /* Note: If only queue:false animations are currently running on an element, it won't have a tweensContainer
                                                 object. Also, queue:false animations can't be reversed. */
                                                var data = Data(element);
                                                if (data && data.tweensContainer && queueName !== false) {
                                                    $.each(data.tweensContainer, function(m, activeTween) {
                                                        activeTween.endValue = activeTween.currentValue;
                                                    });
                                                }
    
                                                callsToStop.push(i);
                                            } else if (propertiesMap === "finish" || propertiesMap === "finishAll") {
                                                /* To get active tweens to finish immediately, we forcefully shorten their durations to 1ms so that
                                                 they finish upon the next rAf tick then proceed with normal call completion logic. */
                                                activeCall[2].duration = 1;
                                            }
                                        }
                                    });
                                });
                            }
                        });
    
                        /* Prematurely call completeCall() on each matched active call. Pass an additional flag for "stop" to indicate
                         that the complete callback and display:none setting should be skipped since we're completing prematurely. */
                        if (propertiesMap === "stop") {
                            $.each(callsToStop, function(i, j) {
                                completeCall(j, true);
                            });
    
                            if (promiseData.promise) {
                                /* Immediately resolve the promise associated with this stop call since stop runs synchronously. */
                                promiseData.resolver(elements);
                            }
                        }
    
                        /* Since we're stopping, and not proceeding with queueing, exit out of Velocity. */
                        return getChain();
    
                    default:
                        /* Treat a non-empty plain object as a literal properties map. */
                        if ($.isPlainObject(propertiesMap) && !Type.isEmptyObject(propertiesMap)) {
                            action = "start";
    
                            /****************
                             Redirects
                             ****************/
    
                            /* Check if a string matches a registered redirect (see Redirects above). */
                        } else if (Type.isString(propertiesMap) && Velocity.Redirects[propertiesMap]) {
                            opts = $.extend({}, options);
    
                            var durationOriginal = opts.duration,
                                    delayOriginal = opts.delay || 0;
    
                            /* If the backwards option was passed in, reverse the element set so that elements animate from the last to the first. */
                            if (opts.backwards === true) {
                                elements = $.extend(true, [], elements).reverse();
                            }
    
                            /* Individually trigger the redirect for each element in the set to prevent users from having to handle iteration logic in their redirect. */
                            $.each(elements, function(elementIndex, element) {
                                /* If the stagger option was passed in, successively delay each element by the stagger value (in ms). Retain the original delay value. */
                                if (parseFloat(opts.stagger)) {
                                    opts.delay = delayOriginal + (parseFloat(opts.stagger) * elementIndex);
                                } else if (Type.isFunction(opts.stagger)) {
                                    opts.delay = delayOriginal + opts.stagger.call(element, elementIndex, elementsLength);
                                }
    
                                /* If the drag option was passed in, successively increase/decrease (depending on the presense of opts.backwards)
                                 the duration of each element's animation, using floors to prevent producing very short durations. */
                                if (opts.drag) {
                                    /* Default the duration of UI pack effects (callouts and transitions) to 1000ms instead of the usual default duration of 400ms. */
                                    opts.duration = parseFloat(durationOriginal) || (/^(callout|transition)/.test(propertiesMap) ? 1000 : DURATION_DEFAULT);
    
                                    /* For each element, take the greater duration of: A) animation completion percentage relative to the original duration,
                                     B) 75% of the original duration, or C) a 200ms fallback (in case duration is already set to a low value).
                                     The end result is a baseline of 75% of the redirect's duration that increases/decreases as the end of the element set is approached. */
                                    opts.duration = Math.max(opts.duration * (opts.backwards ? 1 - elementIndex / elementsLength : (elementIndex + 1) / elementsLength), opts.duration * 0.75, 200);
                                }
    
                                /* Pass in the call's opts object so that the redirect can optionally extend it. It defaults to an empty object instead of null to
                                 reduce the opts checking logic required inside the redirect. */
                                Velocity.Redirects[propertiesMap].call(element, element, opts || {}, elementIndex, elementsLength, elements, promiseData.promise ? promiseData : undefined);
                            });
    
                            /* Since the animation logic resides within the redirect's own code, abort the remainder of this call.
                             (The performance overhead up to this point is virtually non-existant.) */
                            /* Note: The jQuery call chain is kept intact by returning the complete element set. */
                            return getChain();
                        } else {
                            var abortError = "Velocity: First argument (" + propertiesMap + ") was not a property map, a known action, or a registered redirect. Aborting.";
    
                            if (promiseData.promise) {
                                promiseData.rejecter(new Error(abortError));
                            } else if (window.console) {
                                console.log(abortError);
                            }
    
                            return getChain();
                        }
                }
    
                /**************************
                 Call-Wide Variables
                 **************************/
    
                /* A container for CSS unit conversion ratios (e.g. %, rem, and em ==> px) that is used to cache ratios across all elements
                 being animated in a single Velocity call. Calculating unit ratios necessitates DOM querying and updating, and is therefore
                 avoided (via caching) wherever possible. This container is call-wide instead of page-wide to avoid the risk of using stale
                 conversion metrics across Velocity animations that are not immediately consecutively chained. */
                var callUnitConversionData = {
                    lastParent: null,
                    lastPosition: null,
                    lastFontSize: null,
                    lastPercentToPxWidth: null,
                    lastPercentToPxHeight: null,
                    lastEmToPx: null,
                    remToPx: null,
                    vwToPx: null,
                    vhToPx: null
                };
    
                /* A container for all the ensuing tween data and metadata associated with this call. This container gets pushed to the page-wide
                 Velocity.State.calls array that is processed during animation ticking. */
                var call = [];
    
                /************************
                 Element Processing
                 ************************/
    
                /* Element processing consists of three parts -- data processing that cannot go stale and data processing that *can* go stale (i.e. third-party style modifications):
                 1) Pre-Queueing: Element-wide variables, including the element's data storage, are instantiated. Call options are prepared. If triggered, the Stop action is executed.
                 2) Queueing: The logic that runs once this call has reached its point of execution in the element's $.queue() stack. Most logic is placed here to avoid risking it becoming stale.
                 3) Pushing: Consolidation of the tween data followed by its push onto the global in-progress calls container.
                 `elementArrayIndex` allows passing index of the element in the original array to value functions.
                 If `elementsIndex` were used instead the index would be determined by the elements' per-element queue.
                 */
                function processElement(element, elementArrayIndex) {
    
                    /*************************
                     Part I: Pre-Queueing
                     *************************/
    
                    /***************************
                     Element-Wide Variables
                     ***************************/
    
                    var /* The runtime opts object is the extension of the current call's options and Velocity's page-wide option defaults. */
                            opts = $.extend({}, Velocity.defaults, options),
                            /* A container for the processed data associated with each property in the propertyMap.
                             (Each property in the map produces its own "tween".) */
                            tweensContainer = {},
                            elementUnitConversionData;
    
                    /******************
                     Element Init
                     ******************/
    
                    if (Data(element) === undefined) {
                        Velocity.init(element);
                    }
    
                    /******************
                     Option: Delay
                     ******************/
    
                    /* Since queue:false doesn't respect the item's existing queue, we avoid injecting its delay here (it's set later on). */
                    /* Note: Velocity rolls its own delay function since jQuery doesn't have a utility alias for $.fn.delay()
                     (and thus requires jQuery element creation, which we avoid since its overhead includes DOM querying). */
                    if (parseFloat(opts.delay) && opts.queue !== false) {
                        $.queue(element, opts.queue, function(next) {
                            /* This is a flag used to indicate to the upcoming completeCall() function that this queue entry was initiated by Velocity. See completeCall() for further details. */
                            Velocity.velocityQueueEntryFlag = true;
    
                            /* The ensuing queue item (which is assigned to the "next" argument that $.queue() automatically passes in) will be triggered after a setTimeout delay.
                             The setTimeout is stored so that it can be subjected to clearTimeout() if this animation is prematurely stopped via Velocity's "stop" command, and
                             delayBegin/delayTime is used to ensure we can "pause" and "resume" a tween that is still mid-delay. */
    
                            /* Temporarily store delayed elements to facilite access for global pause/resume */
                            var callIndex = Velocity.State.delayedElements.count++;
                            Velocity.State.delayedElements[callIndex] = element;
    
                            var delayComplete = (function(index) {
                                return function() {
                                    /* Clear the temporary element */
                                    Velocity.State.delayedElements[index] = false;
    
                                    /* Finally, issue the call */
                                    next();
                                };
                            })(callIndex);
    
    
                            Data(element).delayBegin = (new Date()).getTime();
                            Data(element).delay = parseFloat(opts.delay);
                            Data(element).delayTimer = {
                                setTimeout: setTimeout(next, parseFloat(opts.delay)),
                                next: delayComplete
                            };
                        });
                    }
    
                    /*********************
                     Option: Duration
                     *********************/
    
                    /* Support for jQuery's named durations. */
                    switch (opts.duration.toString().toLowerCase()) {
                        case "fast":
                            opts.duration = 200;
                            break;
    
                        case "normal":
                            opts.duration = DURATION_DEFAULT;
                            break;
    
                        case "slow":
                            opts.duration = 600;
                            break;
    
                        default:
                            /* Remove the potential "ms" suffix and default to 1 if the user is attempting to set a duration of 0 (in order to produce an immediate style change). */
                            opts.duration = parseFloat(opts.duration) || 1;
                    }
    
                    /************************
                     Global Option: Mock
                     ************************/
    
                    if (Velocity.mock !== false) {
                        /* In mock mode, all animations are forced to 1ms so that they occur immediately upon the next rAF tick.
                         Alternatively, a multiplier can be passed in to time remap all delays and durations. */
                        if (Velocity.mock === true) {
                            opts.duration = opts.delay = 1;
                        } else {
                            opts.duration *= parseFloat(Velocity.mock) || 1;
                            opts.delay *= parseFloat(Velocity.mock) || 1;
                        }
                    }
    
                    /*******************
                     Option: Easing
                     *******************/
    
                    opts.easing = getEasing(opts.easing, opts.duration);
    
                    /**********************
                     Option: Callbacks
                     **********************/
    
                    /* Callbacks must functions. Otherwise, default to null. */
                    if (opts.begin && !Type.isFunction(opts.begin)) {
                        opts.begin = null;
                    }
    
                    if (opts.progress && !Type.isFunction(opts.progress)) {
                        opts.progress = null;
                    }
    
                    if (opts.complete && !Type.isFunction(opts.complete)) {
                        opts.complete = null;
                    }
    
                    /*********************************
                     Option: Display & Visibility
                     *********************************/
    
                    /* Refer to Velocity's documentation (VelocityJS.org/#displayAndVisibility) for a description of the display and visibility options' behavior. */
                    /* Note: We strictly check for undefined instead of falsiness because display accepts an empty string value. */
                    if (opts.display !== undefined && opts.display !== null) {
                        opts.display = opts.display.toString().toLowerCase();
    
                        /* Users can pass in a special "auto" value to instruct Velocity to set the element to its default display value. */
                        if (opts.display === "auto") {
                            opts.display = Velocity.CSS.Values.getDisplayType(element);
                        }
                    }
    
                    if (opts.visibility !== undefined && opts.visibility !== null) {
                        opts.visibility = opts.visibility.toString().toLowerCase();
                    }
    
                    /**********************
                     Option: mobileHA
                     **********************/
    
                    /* When set to true, and if this is a mobile device, mobileHA automatically enables hardware acceleration (via a null transform hack)
                     on animating elements. HA is removed from the element at the completion of its animation. */
                    /* Note: Android Gingerbread doesn't support HA. If a null transform hack (mobileHA) is in fact set, it will prevent other tranform subproperties from taking effect. */
                    /* Note: You can read more about the use of mobileHA in Velocity's documentation: VelocityJS.org/#mobileHA. */
                    opts.mobileHA = (opts.mobileHA && Velocity.State.isMobile && !Velocity.State.isGingerbread);
    
                    /***********************
                     Part II: Queueing
                     ***********************/
    
                    /* When a set of elements is targeted by a Velocity call, the set is broken up and each element has the current Velocity call individually queued onto it.
                     In this way, each element's existing queue is respected; some elements may already be animating and accordingly should not have this current Velocity call triggered immediately. */
                    /* In each queue, tween data is processed for each animating property then pushed onto the call-wide calls array. When the last element in the set has had its tweens processed,
                     the call array is pushed to Velocity.State.calls for live processing by the requestAnimationFrame tick. */
                    function buildQueue(next) {
                        var data, lastTweensContainer;
    
                        /*******************
                         Option: Begin
                         *******************/
    
                        /* The begin callback is fired once per call -- not once per elemenet -- and is passed the full raw DOM element set as both its context and its first argument. */
                        if (opts.begin && elementsIndex === 0) {
                            /* We throw callbacks in a setTimeout so that thrown errors don't halt the execution of Velocity itself. */
                            try {
                                opts.begin.call(elements, elements);
                            } catch (error) {
                                setTimeout(function() {
                                    throw error;
                                }, 1);
                            }
                        }
    
                        /*****************************************
                         Tween Data Construction (for Scroll)
                         *****************************************/
    
                        /* Note: In order to be subjected to chaining and animation options, scroll's tweening is routed through Velocity as if it were a standard CSS property animation. */
                        if (action === "scroll") {
                            /* The scroll action uniquely takes an optional "offset" option -- specified in pixels -- that offsets the targeted scroll position. */
                            var scrollDirection = (/^x$/i.test(opts.axis) ? "Left" : "Top"),
                                    scrollOffset = parseFloat(opts.offset) || 0,
                                    scrollPositionCurrent,
                                    scrollPositionCurrentAlternate,
                                    scrollPositionEnd;
    
                            /* Scroll also uniquely takes an optional "container" option, which indicates the parent element that should be scrolled --
                             as opposed to the browser window itself. This is useful for scrolling toward an element that's inside an overflowing parent element. */
                            if (opts.container) {
                                /* Ensure that either a jQuery object or a raw DOM element was passed in. */
                                if (Type.isWrapped(opts.container) || Type.isNode(opts.container)) {
                                    /* Extract the raw DOM element from the jQuery wrapper. */
                                    opts.container = opts.container[0] || opts.container;
                                    /* Note: Unlike other properties in Velocity, the browser's scroll position is never cached since it so frequently changes
                                     (due to the user's natural interaction with the page). */
                                    scrollPositionCurrent = opts.container["scroll" + scrollDirection]; /* GET */
    
                                    /* $.position() values are relative to the container's currently viewable area (without taking into account the container's true dimensions
                                     -- say, for example, if the container was not overflowing). Thus, the scroll end value is the sum of the child element's position *and*
                                     the scroll container's current scroll position. */
                                    scrollPositionEnd = (scrollPositionCurrent + $(element).position()[scrollDirection.toLowerCase()]) + scrollOffset; /* GET */
                                    /* If a value other than a jQuery object or a raw DOM element was passed in, default to null so that this option is ignored. */
                                } else {
                                    opts.container = null;
                                }
                            } else {
                                /* If the window itself is being scrolled -- not a containing element -- perform a live scroll position lookup using
                                 the appropriate cached property names (which differ based on browser type). */
                                scrollPositionCurrent = Velocity.State.scrollAnchor[Velocity.State["scrollProperty" + scrollDirection]]; /* GET */
                                /* When scrolling the browser window, cache the alternate axis's current value since window.scrollTo() doesn't let us change only one value at a time. */
                                scrollPositionCurrentAlternate = Velocity.State.scrollAnchor[Velocity.State["scrollProperty" + (scrollDirection === "Left" ? "Top" : "Left")]]; /* GET */
    
                                /* Unlike $.position(), $.offset() values are relative to the browser window's true dimensions -- not merely its currently viewable area --
                                 and therefore end values do not need to be compounded onto current values. */
                                scrollPositionEnd = $(element).offset()[scrollDirection.toLowerCase()] + scrollOffset; /* GET */
                            }
    
                            /* Since there's only one format that scroll's associated tweensContainer can take, we create it manually. */
                            tweensContainer = {
                                scroll: {
                                    rootPropertyValue: false,
                                    startValue: scrollPositionCurrent,
                                    currentValue: scrollPositionCurrent,
                                    endValue: scrollPositionEnd,
                                    unitType: "",
                                    easing: opts.easing,
                                    scrollData: {
                                        container: opts.container,
                                        direction: scrollDirection,
                                        alternateValue: scrollPositionCurrentAlternate
                                    }
                                },
                                element: element
                            };
    
                            if (Velocity.debug) {
                                console.log("tweensContainer (scroll): ", tweensContainer.scroll, element);
                            }
    
                            /******************************************
                             Tween Data Construction (for Reverse)
                             ******************************************/
    
                            /* Reverse acts like a "start" action in that a property map is animated toward. The only difference is
                             that the property map used for reverse is the inverse of the map used in the previous call. Thus, we manipulate
                             the previous call to construct our new map: use the previous map's end values as our new map's start values. Copy over all other data. */
                            /* Note: Reverse can be directly called via the "reverse" parameter, or it can be indirectly triggered via the loop option. (Loops are composed of multiple reverses.) */
                            /* Note: Reverse calls do not need to be consecutively chained onto a currently-animating element in order to operate on cached values;
                             there is no harm to reverse being called on a potentially stale data cache since reverse's behavior is simply defined
                             as reverting to the element's values as they were prior to the previous *Velocity* call. */
                        } else if (action === "reverse") {
                            data = Data(element);
    
                            /* Abort if there is no prior animation data to reverse to. */
                            if (!data) {
                                return;
                            }
    
                            if (!data.tweensContainer) {
                                /* Dequeue the element so that this queue entry releases itself immediately, allowing subsequent queue entries to run. */
                                $.dequeue(element, opts.queue);
    
                                return;
                            } else {
                                /*********************
                                 Options Parsing
                                 *********************/
    
                                /* If the element was hidden via the display option in the previous call,
                                 revert display to "auto" prior to reversal so that the element is visible again. */
                                if (data.opts.display === "none") {
                                    data.opts.display = "auto";
                                }
    
                                if (data.opts.visibility === "hidden") {
                                    data.opts.visibility = "visible";
                                }
    
                                /* If the loop option was set in the previous call, disable it so that "reverse" calls aren't recursively generated.
                                 Further, remove the previous call's callback options; typically, users do not want these to be refired. */
                                data.opts.loop = false;
                                data.opts.begin = null;
                                data.opts.complete = null;
    
                                /* Since we're extending an opts object that has already been extended with the defaults options object,
                                 we remove non-explicitly-defined properties that are auto-assigned values. */
                                if (!options.easing) {
                                    delete opts.easing;
                                }
    
                                if (!options.duration) {
                                    delete opts.duration;
                                }
    
                                /* The opts object used for reversal is an extension of the options object optionally passed into this
                                 reverse call plus the options used in the previous Velocity call. */
                                opts = $.extend({}, data.opts, opts);
    
                                /*************************************
                                 Tweens Container Reconstruction
                                 *************************************/
    
                                /* Create a deepy copy (indicated via the true flag) of the previous call's tweensContainer. */
                                lastTweensContainer = $.extend(true, {}, data ? data.tweensContainer : null);
    
                                /* Manipulate the previous tweensContainer by replacing its end values and currentValues with its start values. */
                                for (var lastTween in lastTweensContainer) {
                                    /* In addition to tween data, tweensContainers contain an element property that we ignore here. */
                                    if (lastTweensContainer.hasOwnProperty(lastTween) && lastTween !== "element") {
                                        var lastStartValue = lastTweensContainer[lastTween].startValue;
    
                                        lastTweensContainer[lastTween].startValue = lastTweensContainer[lastTween].currentValue = lastTweensContainer[lastTween].endValue;
                                        lastTweensContainer[lastTween].endValue = lastStartValue;
    
                                        /* Easing is the only option that embeds into the individual tween data (since it can be defined on a per-property basis).
                                         Accordingly, every property's easing value must be updated when an options object is passed in with a reverse call.
                                         The side effect of this extensibility is that all per-property easing values are forcefully reset to the new value. */
                                        if (!Type.isEmptyObject(options)) {
                                            lastTweensContainer[lastTween].easing = opts.easing;
                                        }
    
                                        if (Velocity.debug) {
                                            console.log("reverse tweensContainer (" + lastTween + "): " + JSON.stringify(lastTweensContainer[lastTween]), element);
                                        }
                                    }
                                }
    
                                tweensContainer = lastTweensContainer;
                            }
    
                            /*****************************************
                             Tween Data Construction (for Start)
                             *****************************************/
    
                        } else if (action === "start") {
    
                            /*************************
                             Value Transferring
                             *************************/
    
                            /* If this queue entry follows a previous Velocity-initiated queue entry *and* if this entry was created
                             while the element was in the process of being animated by Velocity, then this current call is safe to use
                             the end values from the prior call as its start values. Velocity attempts to perform this value transfer
                             process whenever possible in order to avoid requerying the DOM. */
                            /* If values aren't transferred from a prior call and start values were not forcefed by the user (more on this below),
                             then the DOM is queried for the element's current values as a last resort. */
                            /* Note: Conversely, animation reversal (and looping) *always* perform inter-call value transfers; they never requery the DOM. */
    
                            data = Data(element);
    
                            /* The per-element isAnimating flag is used to indicate whether it's safe (i.e. the data isn't stale)
                             to transfer over end values to use as start values. If it's set to true and there is a previous
                             Velocity call to pull values from, do so. */
                            if (data && data.tweensContainer && data.isAnimating === true) {
                                lastTweensContainer = data.tweensContainer;
                            }
    
                            /***************************
                             Tween Data Calculation
                             ***************************/
    
                            /* This function parses property data and defaults endValue, easing, and startValue as appropriate. */
                            /* Property map values can either take the form of 1) a single value representing the end value,
                             or 2) an array in the form of [ endValue, [, easing] [, startValue] ].
                             The optional third parameter is a forcefed startValue to be used instead of querying the DOM for
                             the element's current value. Read Velocity's docmentation to learn more about forcefeeding: VelocityJS.org/#forcefeeding */
                            var parsePropertyValue = function(valueData, skipResolvingEasing) {
                                var endValue, easing, startValue;
    
                                /* If we have a function as the main argument then resolve it first, in case it returns an array that needs to be split */
                                if (Type.isFunction(valueData)) {
                                    valueData = valueData.call(element, elementArrayIndex, elementsLength);
                                }
    
                                /* Handle the array format, which can be structured as one of three potential overloads:
                                 A) [ endValue, easing, startValue ], B) [ endValue, easing ], or C) [ endValue, startValue ] */
                                if (Type.isArray(valueData)) {
                                    /* endValue is always the first item in the array. Don't bother validating endValue's value now
                                     since the ensuing property cycling logic does that. */
                                    endValue = valueData[0];
    
                                    /* Two-item array format: If the second item is a number, function, or hex string, treat it as a
                                     start value since easings can only be non-hex strings or arrays. */
                                    if ((!Type.isArray(valueData[1]) && /^[\d-]/.test(valueData[1])) || Type.isFunction(valueData[1]) || CSS.RegEx.isHex.test(valueData[1])) {
                                        startValue = valueData[1];
                                        /* Two or three-item array: If the second item is a non-hex string easing name or an array, treat it as an easing. */
                                    } else if ((Type.isString(valueData[1]) && !CSS.RegEx.isHex.test(valueData[1]) && Velocity.Easings[valueData[1]]) || Type.isArray(valueData[1])) {
                                        easing = skipResolvingEasing ? valueData[1] : getEasing(valueData[1], opts.duration);
    
                                        /* Don't bother validating startValue's value now since the ensuing property cycling logic inherently does that. */
                                        startValue = valueData[2];
                                    } else {
                                        startValue = valueData[1] || valueData[2];
                                    }
                                    /* Handle the single-value format. */
                                } else {
                                    endValue = valueData;
                                }
    
                                /* Default to the call's easing if a per-property easing type was not defined. */
                                if (!skipResolvingEasing) {
                                    easing = easing || opts.easing;
                                }
    
                                /* If functions were passed in as values, pass the function the current element as its context,
                                 plus the element's index and the element set's size as arguments. Then, assign the returned value. */
                                if (Type.isFunction(endValue)) {
                                    endValue = endValue.call(element, elementArrayIndex, elementsLength);
                                }
    
                                if (Type.isFunction(startValue)) {
                                    startValue = startValue.call(element, elementArrayIndex, elementsLength);
                                }
    
                                /* Allow startValue to be left as undefined to indicate to the ensuing code that its value was not forcefed. */
                                return [endValue || 0, easing, startValue];
                            };
    
                            var fixPropertyValue = function(property, valueData) {
                                /* In case this property is a hook, there are circumstances where we will intend to work on the hook's root property and not the hooked subproperty. */
                                var rootProperty = CSS.Hooks.getRoot(property),
                                        rootPropertyValue = false,
                                        /* Parse out endValue, easing, and startValue from the property's data. */
                                        endValue = valueData[0],
                                        easing = valueData[1],
                                        startValue = valueData[2],
                                        pattern;
    
                                /**************************
                                 Start Value Sourcing
                                 **************************/
    
                                /* Other than for the dummy tween property, properties that are not supported by the browser (and do not have an associated normalization) will
                                 inherently produce no style changes when set, so they are skipped in order to decrease animation tick overhead.
                                 Property support is determined via prefixCheck(), which returns a false flag when no supported is detected. */
                                /* Note: Since SVG elements have some of their properties directly applied as HTML attributes,
                                 there is no way to check for their explicit browser support, and so we skip skip this check for them. */
                                if ((!data || !data.isSVG) && rootProperty !== "tween" && CSS.Names.prefixCheck(rootProperty)[1] === false && CSS.Normalizations.registered[rootProperty] === undefined) {
                                    if (Velocity.debug) {
                                        console.log("Skipping [" + rootProperty + "] due to a lack of browser support.");
                                    }
                                    return;
                                }
    
                                /* If the display option is being set to a non-"none" (e.g. "block") and opacity (filter on IE<=8) is being
                                 animated to an endValue of non-zero, the user's intention is to fade in from invisible, thus we forcefeed opacity
                                 a startValue of 0 if its startValue hasn't already been sourced by value transferring or prior forcefeeding. */
                                if (((opts.display !== undefined && opts.display !== null && opts.display !== "none") || (opts.visibility !== undefined && opts.visibility !== "hidden")) && /opacity|filter/.test(property) && !startValue && endValue !== 0) {
                                    startValue = 0;
                                }
    
                                /* If values have been transferred from the previous Velocity call, extract the endValue and rootPropertyValue
                                 for all of the current call's properties that were *also* animated in the previous call. */
                                /* Note: Value transferring can optionally be disabled by the user via the _cacheValues option. */
                                if (opts._cacheValues && lastTweensContainer && lastTweensContainer[property]) {
                                    if (startValue === undefined) {
                                        startValue = lastTweensContainer[property].endValue + lastTweensContainer[property].unitType;
                                    }
    
                                    /* The previous call's rootPropertyValue is extracted from the element's data cache since that's the
                                     instance of rootPropertyValue that gets freshly updated by the tweening process, whereas the rootPropertyValue
                                     attached to the incoming lastTweensContainer is equal to the root property's value prior to any tweening. */
                                    rootPropertyValue = data.rootPropertyValueCache[rootProperty];
                                    /* If values were not transferred from a previous Velocity call, query the DOM as needed. */
                                } else {
                                    /* Handle hooked properties. */
                                    if (CSS.Hooks.registered[property]) {
                                        if (startValue === undefined) {
                                            rootPropertyValue = CSS.getPropertyValue(element, rootProperty); /* GET */
                                            /* Note: The following getPropertyValue() call does not actually trigger a DOM query;
                                             getPropertyValue() will extract the hook from rootPropertyValue. */
                                            startValue = CSS.getPropertyValue(element, property, rootPropertyValue);
                                            /* If startValue is already defined via forcefeeding, do not query the DOM for the root property's value;
                                             just grab rootProperty's zero-value template from CSS.Hooks. This overwrites the element's actual
                                             root property value (if one is set), but this is acceptable since the primary reason users forcefeed is
                                             to avoid DOM queries, and thus we likewise avoid querying the DOM for the root property's value. */
                                        } else {
                                            /* Grab this hook's zero-value template, e.g. "0px 0px 0px black". */
                                            rootPropertyValue = CSS.Hooks.templates[rootProperty][1];
                                        }
                                        /* Handle non-hooked properties that haven't already been defined via forcefeeding. */
                                    } else if (startValue === undefined) {
                                        startValue = CSS.getPropertyValue(element, property); /* GET */
                                    }
                                }
    
                                /**************************
                                 Value Data Extraction
                                 **************************/
    
                                var separatedValue,
                                        endValueUnitType,
                                        startValueUnitType,
                                        operator = false;
    
                                /* Separates a property value into its numeric value and its unit type. */
                                var separateValue = function(property, value) {
                                    var unitType,
                                            numericValue;
    
                                    numericValue = (value || "0")
                                            .toString()
                                            .toLowerCase()
                                            /* Match the unit type at the end of the value. */
                                            .replace(/[%A-z]+$/, function(match) {
                                                /* Grab the unit type. */
                                                unitType = match;
    
                                                /* Strip the unit type off of value. */
                                                return "";
                                            });
    
                                    /* If no unit type was supplied, assign one that is appropriate for this property (e.g. "deg" for rotateZ or "px" for width). */
                                    if (!unitType) {
                                        unitType = CSS.Values.getUnitType(property);
                                    }
    
                                    return [numericValue, unitType];
                                };
    
                                if (startValue !== endValue && Type.isString(startValue) && Type.isString(endValue)) {
                                    pattern = "";
                                    var iStart = 0, // index in startValue
                                            iEnd = 0, // index in endValue
                                            aStart = [], // array of startValue numbers
                                            aEnd = [], // array of endValue numbers
                                            inCalc = 0, // Keep track of being inside a "calc()" so we don't duplicate it
                                            inRGB = 0, // Keep track of being inside an RGB as we can't use fractional values
                                            inRGBA = 0; // Keep track of being inside an RGBA as we must pass fractional for the alpha channel
    
                                    startValue = CSS.Hooks.fixColors(startValue);
                                    endValue = CSS.Hooks.fixColors(endValue);
                                    while (iStart < startValue.length && iEnd < endValue.length) {
                                        var cStart = startValue[iStart],
                                                cEnd = endValue[iEnd];
    
                                        if (/[\d\.-]/.test(cStart) && /[\d\.-]/.test(cEnd)) {
                                            var tStart = cStart, // temporary character buffer
                                                    tEnd = cEnd, // temporary character buffer
                                                    dotStart = ".", // Make sure we can only ever match a single dot in a decimal
                                                    dotEnd = "."; // Make sure we can only ever match a single dot in a decimal
    
                                            while (++iStart < startValue.length) {
                                                cStart = startValue[iStart];
                                                if (cStart === dotStart) {
                                                    dotStart = ".."; // Can never match two characters
                                                } else if (!/\d/.test(cStart)) {
                                                    break;
                                                }
                                                tStart += cStart;
                                            }
                                            while (++iEnd < endValue.length) {
                                                cEnd = endValue[iEnd];
                                                if (cEnd === dotEnd) {
                                                    dotEnd = ".."; // Can never match two characters
                                                } else if (!/\d/.test(cEnd)) {
                                                    break;
                                                }
                                                tEnd += cEnd;
                                            }
                                            var uStart = CSS.Hooks.getUnit(startValue, iStart), // temporary unit type
                                                    uEnd = CSS.Hooks.getUnit(endValue, iEnd); // temporary unit type
    
                                            iStart += uStart.length;
                                            iEnd += uEnd.length;
                                            if (uStart === uEnd) {
                                                // Same units
                                                if (tStart === tEnd) {
                                                    // Same numbers, so just copy over
                                                    pattern += tStart + uStart;
                                                } else {
                                                    // Different numbers, so store them
                                                    pattern += "{" + aStart.length + (inRGB ? "!" : "") + "}" + uStart;
                                                    aStart.push(parseFloat(tStart));
                                                    aEnd.push(parseFloat(tEnd));
                                                }
                                            } else {
                                                // Different units, so put into a "calc(from + to)" and animate each side to/from zero
                                                var nStart = parseFloat(tStart),
                                                        nEnd = parseFloat(tEnd);
    
                                                pattern += (inCalc < 5 ? "calc" : "") + "("
                                                        + (nStart ? "{" + aStart.length + (inRGB ? "!" : "") + "}" : "0") + uStart
                                                        + " + "
                                                        + (nEnd ? "{" + (aStart.length + (nStart ? 1 : 0)) + (inRGB ? "!" : "") + "}" : "0") + uEnd
                                                        + ")";
                                                if (nStart) {
                                                    aStart.push(nStart);
                                                    aEnd.push(0);
                                                }
                                                if (nEnd) {
                                                    aStart.push(0);
                                                    aEnd.push(nEnd);
                                                }
                                            }
                                        } else if (cStart === cEnd) {
                                            pattern += cStart;
                                            iStart++;
                                            iEnd++;
                                            // Keep track of being inside a calc()
                                            if (inCalc === 0 && cStart === "c"
                                                    || inCalc === 1 && cStart === "a"
                                                    || inCalc === 2 && cStart === "l"
                                                    || inCalc === 3 && cStart === "c"
                                                    || inCalc >= 4 && cStart === "("
                                                    ) {
                                                inCalc++;
                                            } else if ((inCalc && inCalc < 5)
                                                    || inCalc >= 4 && cStart === ")" && --inCalc < 5) {
                                                inCalc = 0;
                                            }
                                            // Keep track of being inside an rgb() / rgba()
                                            if (inRGB === 0 && cStart === "r"
                                                    || inRGB === 1 && cStart === "g"
                                                    || inRGB === 2 && cStart === "b"
                                                    || inRGB === 3 && cStart === "a"
                                                    || inRGB >= 3 && cStart === "("
                                                    ) {
                                                if (inRGB === 3 && cStart === "a") {
                                                    inRGBA = 1;
                                                }
                                                inRGB++;
                                            } else if (inRGBA && cStart === ",") {
                                                if (++inRGBA > 3) {
                                                    inRGB = inRGBA = 0;
                                                }
                                            } else if ((inRGBA && inRGB < (inRGBA ? 5 : 4))
                                                    || inRGB >= (inRGBA ? 4 : 3) && cStart === ")" && --inRGB < (inRGBA ? 5 : 4)) {
                                                inRGB = inRGBA = 0;
                                            }
                                        } else {
                                            inCalc = 0;
                                            // TODO: changing units, fixing colours
                                            break;
                                        }
                                    }
                                    if (iStart !== startValue.length || iEnd !== endValue.length) {
                                        if (Velocity.debug) {
                                            console.error("Trying to pattern match mis-matched strings [\"" + endValue + "\", \"" + startValue + "\"]");
                                        }
                                        pattern = undefined;
                                    }
                                    if (pattern) {
                                        if (aStart.length) {
                                            if (Velocity.debug) {
                                                console.log("Pattern found \"" + pattern + "\" -> ", aStart, aEnd, "[" + startValue + "," + endValue + "]");
                                            }
                                            startValue = aStart;
                                            endValue = aEnd;
                                            endValueUnitType = startValueUnitType = "";
                                        } else {
                                            pattern = undefined;
                                        }
                                    }
                                }
    
                                if (!pattern) {
                                    /* Separate startValue. */
                                    separatedValue = separateValue(property, startValue);
                                    startValue = separatedValue[0];
                                    startValueUnitType = separatedValue[1];
    
                                    /* Separate endValue, and extract a value operator (e.g. "+=", "-=") if one exists. */
                                    separatedValue = separateValue(property, endValue);
                                    endValue = separatedValue[0].replace(/^([+-\/*])=/, function(match, subMatch) {
                                        operator = subMatch;
    
                                        /* Strip the operator off of the value. */
                                        return "";
                                    });
                                    endValueUnitType = separatedValue[1];
    
                                    /* Parse float values from endValue and startValue. Default to 0 if NaN is returned. */
                                    startValue = parseFloat(startValue) || 0;
                                    endValue = parseFloat(endValue) || 0;
    
                                    /***************************************
                                     Property-Specific Value Conversion
                                     ***************************************/
    
                                    /* Custom support for properties that don't actually accept the % unit type, but where pollyfilling is trivial and relatively foolproof. */
                                    if (endValueUnitType === "%") {
                                        /* A %-value fontSize/lineHeight is relative to the parent's fontSize (as opposed to the parent's dimensions),
                                         which is identical to the em unit's behavior, so we piggyback off of that. */
                                        if (/^(fontSize|lineHeight)$/.test(property)) {
                                            /* Convert % into an em decimal value. */
                                            endValue = endValue / 100;
                                            endValueUnitType = "em";
                                            /* For scaleX and scaleY, convert the value into its decimal format and strip off the unit type. */
                                        } else if (/^scale/.test(property)) {
                                            endValue = endValue / 100;
                                            endValueUnitType = "";
                                            /* For RGB components, take the defined percentage of 255 and strip off the unit type. */
                                        } else if (/(Red|Green|Blue)$/i.test(property)) {
                                            endValue = (endValue / 100) * 255;
                                            endValueUnitType = "";
                                        }
                                    }
                                }
    
                                /***************************
                                 Unit Ratio Calculation
                                 ***************************/
    
                                /* When queried, the browser returns (most) CSS property values in pixels. Therefore, if an endValue with a unit type of
                                 %, em, or rem is animated toward, startValue must be converted from pixels into the same unit type as endValue in order
                                 for value manipulation logic (increment/decrement) to proceed. Further, if the startValue was forcefed or transferred
                                 from a previous call, startValue may also not be in pixels. Unit conversion logic therefore consists of two steps:
                                 1) Calculating the ratio of %/em/rem/vh/vw relative to pixels
                                 2) Converting startValue into the same unit of measurement as endValue based on these ratios. */
                                /* Unit conversion ratios are calculated by inserting a sibling node next to the target node, copying over its position property,
                                 setting values with the target unit type then comparing the returned pixel value. */
                                /* Note: Even if only one of these unit types is being animated, all unit ratios are calculated at once since the overhead
                                 of batching the SETs and GETs together upfront outweights the potential overhead
                                 of layout thrashing caused by re-querying for uncalculated ratios for subsequently-processed properties. */
                                /* Todo: Shift this logic into the calls' first tick instance so that it's synced with RAF. */
                                var calculateUnitRatios = function() {
    
                                    /************************
                                     Same Ratio Checks
                                     ************************/
    
                                    /* The properties below are used to determine whether the element differs sufficiently from this call's
                                     previously iterated element to also differ in its unit conversion ratios. If the properties match up with those
                                     of the prior element, the prior element's conversion ratios are used. Like most optimizations in Velocity,
                                     this is done to minimize DOM querying. */
                                    var sameRatioIndicators = {
                                        myParent: element.parentNode || document.body, /* GET */
                                        position: CSS.getPropertyValue(element, "position"), /* GET */
                                        fontSize: CSS.getPropertyValue(element, "fontSize") /* GET */
                                    },
                                            /* Determine if the same % ratio can be used. % is based on the element's position value and its parent's width and height dimensions. */
                                            samePercentRatio = ((sameRatioIndicators.position === callUnitConversionData.lastPosition) && (sameRatioIndicators.myParent === callUnitConversionData.lastParent)),
                                            /* Determine if the same em ratio can be used. em is relative to the element's fontSize. */
                                            sameEmRatio = (sameRatioIndicators.fontSize === callUnitConversionData.lastFontSize);
    
                                    /* Store these ratio indicators call-wide for the next element to compare against. */
                                    callUnitConversionData.lastParent = sameRatioIndicators.myParent;
                                    callUnitConversionData.lastPosition = sameRatioIndicators.position;
                                    callUnitConversionData.lastFontSize = sameRatioIndicators.fontSize;
    
                                    /***************************
                                     Element-Specific Units
                                     ***************************/
    
                                    /* Note: IE8 rounds to the nearest pixel when returning CSS values, thus we perform conversions using a measurement
                                     of 100 (instead of 1) to give our ratios a precision of at least 2 decimal values. */
                                    var measurement = 100,
                                            unitRatios = {};
    
                                    if (!sameEmRatio || !samePercentRatio) {
                                        var dummy = data && data.isSVG ? document.createElementNS("http://www.w3.org/2000/svg", "rect") : document.createElement("div");
    
                                        Velocity.init(dummy);
                                        sameRatioIndicators.myParent.appendChild(dummy);
    
                                        /* To accurately and consistently calculate conversion ratios, the element's cascaded overflow and box-sizing are stripped.
                                         Similarly, since width/height can be artificially constrained by their min-/max- equivalents, these are controlled for as well. */
                                        /* Note: Overflow must be also be controlled for per-axis since the overflow property overwrites its per-axis values. */
                                        $.each(["overflow", "overflowX", "overflowY"], function(i, property) {
                                            Velocity.CSS.setPropertyValue(dummy, property, "hidden");
                                        });
                                        Velocity.CSS.setPropertyValue(dummy, "position", sameRatioIndicators.position);
                                        Velocity.CSS.setPropertyValue(dummy, "fontSize", sameRatioIndicators.fontSize);
                                        Velocity.CSS.setPropertyValue(dummy, "boxSizing", "content-box");
    
                                        /* width and height act as our proxy properties for measuring the horizontal and vertical % ratios. */
                                        $.each(["minWidth", "maxWidth", "width", "minHeight", "maxHeight", "height"], function(i, property) {
                                            Velocity.CSS.setPropertyValue(dummy, property, measurement + "%");
                                        });
                                        /* paddingLeft arbitrarily acts as our proxy property for the em ratio. */
                                        Velocity.CSS.setPropertyValue(dummy, "paddingLeft", measurement + "em");
    
                                        /* Divide the returned value by the measurement to get the ratio between 1% and 1px. Default to 1 since working with 0 can produce Infinite. */
                                        unitRatios.percentToPxWidth = callUnitConversionData.lastPercentToPxWidth = (parseFloat(CSS.getPropertyValue(dummy, "width", null, true)) || 1) / measurement; /* GET */
                                        unitRatios.percentToPxHeight = callUnitConversionData.lastPercentToPxHeight = (parseFloat(CSS.getPropertyValue(dummy, "height", null, true)) || 1) / measurement; /* GET */
                                        unitRatios.emToPx = callUnitConversionData.lastEmToPx = (parseFloat(CSS.getPropertyValue(dummy, "paddingLeft")) || 1) / measurement; /* GET */
    
                                        sameRatioIndicators.myParent.removeChild(dummy);
                                    } else {
                                        unitRatios.emToPx = callUnitConversionData.lastEmToPx;
                                        unitRatios.percentToPxWidth = callUnitConversionData.lastPercentToPxWidth;
                                        unitRatios.percentToPxHeight = callUnitConversionData.lastPercentToPxHeight;
                                    }
    
                                    /***************************
                                     Element-Agnostic Units
                                     ***************************/
    
                                    /* Whereas % and em ratios are determined on a per-element basis, the rem unit only needs to be checked
                                     once per call since it's exclusively dependant upon document.body's fontSize. If this is the first time
                                     that calculateUnitRatios() is being run during this call, remToPx will still be set to its default value of null,
                                     so we calculate it now. */
                                    if (callUnitConversionData.remToPx === null) {
                                        /* Default to browsers' default fontSize of 16px in the case of 0. */
                                        callUnitConversionData.remToPx = parseFloat(CSS.getPropertyValue(document.body, "fontSize")) || 16; /* GET */
                                    }
    
                                    /* Similarly, viewport units are %-relative to the window's inner dimensions. */
                                    if (callUnitConversionData.vwToPx === null) {
                                        callUnitConversionData.vwToPx = parseFloat(window.innerWidth) / 100; /* GET */
                                        callUnitConversionData.vhToPx = parseFloat(window.innerHeight) / 100; /* GET */
                                    }
    
                                    unitRatios.remToPx = callUnitConversionData.remToPx;
                                    unitRatios.vwToPx = callUnitConversionData.vwToPx;
                                    unitRatios.vhToPx = callUnitConversionData.vhToPx;
    
                                    if (Velocity.debug >= 1) {
                                        console.log("Unit ratios: " + JSON.stringify(unitRatios), element);
                                    }
                                    return unitRatios;
                                };
    
                                /********************
                                 Unit Conversion
                                 ********************/
    
                                /* The * and / operators, which are not passed in with an associated unit, inherently use startValue's unit. Skip value and unit conversion. */
                                if (/[\/*]/.test(operator)) {
                                    endValueUnitType = startValueUnitType;
                                    /* If startValue and endValue differ in unit type, convert startValue into the same unit type as endValue so that if endValueUnitType
                                     is a relative unit (%, em, rem), the values set during tweening will continue to be accurately relative even if the metrics they depend
                                     on are dynamically changing during the course of the animation. Conversely, if we always normalized into px and used px for setting values, the px ratio
                                     would become stale if the original unit being animated toward was relative and the underlying metrics change during the animation. */
                                    /* Since 0 is 0 in any unit type, no conversion is necessary when startValue is 0 -- we just start at 0 with endValueUnitType. */
                                } else if ((startValueUnitType !== endValueUnitType) && startValue !== 0) {
                                    /* Unit conversion is also skipped when endValue is 0, but *startValueUnitType* must be used for tween values to remain accurate. */
                                    /* Note: Skipping unit conversion here means that if endValueUnitType was originally a relative unit, the animation won't relatively
                                     match the underlying metrics if they change, but this is acceptable since we're animating toward invisibility instead of toward visibility,
                                     which remains past the point of the animation's completion. */
                                    if (endValue === 0) {
                                        endValueUnitType = startValueUnitType;
                                    } else {
                                        /* By this point, we cannot avoid unit conversion (it's undesirable since it causes layout thrashing).
                                         If we haven't already, we trigger calculateUnitRatios(), which runs once per element per call. */
                                        elementUnitConversionData = elementUnitConversionData || calculateUnitRatios();
    
                                        /* The following RegEx matches CSS properties that have their % values measured relative to the x-axis. */
                                        /* Note: W3C spec mandates that all of margin and padding's properties (even top and bottom) are %-relative to the *width* of the parent element. */
                                        var axis = (/margin|padding|left|right|width|text|word|letter/i.test(property) || /X$/.test(property) || property === "x") ? "x" : "y";
    
                                        /* In order to avoid generating n^2 bespoke conversion functions, unit conversion is a two-step process:
                                         1) Convert startValue into pixels. 2) Convert this new pixel value into endValue's unit type. */
                                        switch (startValueUnitType) {
                                            case "%":
                                                /* Note: translateX and translateY are the only properties that are %-relative to an element's own dimensions -- not its parent's dimensions.
                                                 Velocity does not include a special conversion process to account for this behavior. Therefore, animating translateX/Y from a % value
                                                 to a non-% value will produce an incorrect start value. Fortunately, this sort of cross-unit conversion is rarely done by users in practice. */
                                                startValue *= (axis === "x" ? elementUnitConversionData.percentToPxWidth : elementUnitConversionData.percentToPxHeight);
                                                break;
    
                                            case "px":
                                                /* px acts as our midpoint in the unit conversion process; do nothing. */
                                                break;
    
                                            default:
                                                startValue *= elementUnitConversionData[startValueUnitType + "ToPx"];
                                        }
    
                                        /* Invert the px ratios to convert into to the target unit. */
                                        switch (endValueUnitType) {
                                            case "%":
                                                startValue *= 1 / (axis === "x" ? elementUnitConversionData.percentToPxWidth : elementUnitConversionData.percentToPxHeight);
                                                break;
    
                                            case "px":
                                                /* startValue is already in px, do nothing; we're done. */
                                                break;
    
                                            default:
                                                startValue *= 1 / elementUnitConversionData[endValueUnitType + "ToPx"];
                                        }
                                    }
                                }
    
                                /*********************
                                 Relative Values
                                 *********************/
    
                                /* Operator logic must be performed last since it requires unit-normalized start and end values. */
                                /* Note: Relative *percent values* do not behave how most people think; while one would expect "+=50%"
                                 to increase the property 1.5x its current value, it in fact increases the percent units in absolute terms:
                                 50 points is added on top of the current % value. */
                                switch (operator) {
                                    case "+":
                                        endValue = startValue + endValue;
                                        break;
    
                                    case "-":
                                        endValue = startValue - endValue;
                                        break;
    
                                    case "*":
                                        endValue = startValue * endValue;
                                        break;
    
                                    case "/":
                                        endValue = startValue / endValue;
                                        break;
                                }
    
                                /**************************
                                 tweensContainer Push
                                 **************************/
    
                                /* Construct the per-property tween object, and push it to the element's tweensContainer. */
                                tweensContainer[property] = {
                                    rootPropertyValue: rootPropertyValue,
                                    startValue: startValue,
                                    currentValue: startValue,
                                    endValue: endValue,
                                    unitType: endValueUnitType,
                                    easing: easing
                                };
                                if (pattern) {
                                    tweensContainer[property].pattern = pattern;
                                }
    
                                if (Velocity.debug) {
                                    console.log("tweensContainer (" + property + "): " + JSON.stringify(tweensContainer[property]), element);
                                }
                            };
    
                            /* Create a tween out of each property, and append its associated data to tweensContainer. */
                            for (var property in propertiesMap) {
    
                                if (!propertiesMap.hasOwnProperty(property)) {
                                    continue;
                                }
                                /* The original property name's format must be used for the parsePropertyValue() lookup,
                                 but we then use its camelCase styling to normalize it for manipulation. */
                                var propertyName = CSS.Names.camelCase(property),
                                        valueData = parsePropertyValue(propertiesMap[property]);
    
                                /* Find shorthand color properties that have been passed a hex string. */
                                /* Would be quicker to use CSS.Lists.colors.includes() if possible */
                                if (_inArray(CSS.Lists.colors, propertyName)) {
                                    /* Parse the value data for each shorthand. */
                                    var endValue = valueData[0],
                                            easing = valueData[1],
                                            startValue = valueData[2];
    
                                    if (CSS.RegEx.isHex.test(endValue)) {
                                        /* Convert the hex strings into their RGB component arrays. */
                                        var colorComponents = ["Red", "Green", "Blue"],
                                                endValueRGB = CSS.Values.hexToRgb(endValue),
                                                startValueRGB = startValue ? CSS.Values.hexToRgb(startValue) : undefined;
    
                                        /* Inject the RGB component tweens into propertiesMap. */
                                        for (var i = 0; i < colorComponents.length; i++) {
                                            var dataArray = [endValueRGB[i]];
    
                                            if (easing) {
                                                dataArray.push(easing);
                                            }
    
                                            if (startValueRGB !== undefined) {
                                                dataArray.push(startValueRGB[i]);
                                            }
    
                                            fixPropertyValue(propertyName + colorComponents[i], dataArray);
                                        }
                                        /* If we have replaced a shortcut color value then don't update the standard property name */
                                        continue;
                                    }
                                }
                                fixPropertyValue(propertyName, valueData);
                            }
    
                            /* Along with its property data, store a reference to the element itself onto tweensContainer. */
                            tweensContainer.element = element;
                        }
    
                        /*****************
                         Call Push
                         *****************/
    
                        /* Note: tweensContainer can be empty if all of the properties in this call's property map were skipped due to not
                         being supported by the browser. The element property is used for checking that the tweensContainer has been appended to. */
                        if (tweensContainer.element) {
                            /* Apply the "velocity-animating" indicator class. */
                            CSS.Values.addClass(element, "velocity-animating");
    
                            /* The call array houses the tweensContainers for each element being animated in the current call. */
                            call.push(tweensContainer);
    
                            data = Data(element);
    
                            if (data) {
                                /* Store the tweensContainer and options if we're working on the default effects queue, so that they can be used by the reverse command. */
                                if (opts.queue === "") {
    
                                    data.tweensContainer = tweensContainer;
                                    data.opts = opts;
                                }
    
                                /* Switch on the element's animating flag. */
                                data.isAnimating = true;
                            }
    
                            /* Once the final element in this call's element set has been processed, push the call array onto
                             Velocity.State.calls for the animation tick to immediately begin processing. */
                            if (elementsIndex === elementsLength - 1) {
                                /* Add the current call plus its associated metadata (the element set and the call's options) onto the global call container.
                                 Anything on this call container is subjected to tick() processing. */
                                Velocity.State.calls.push([call, elements, opts, null, promiseData.resolver, null, 0]);
    
                                /* If the animation tick isn't running, start it. (Velocity shuts it off when there are no active calls to process.) */
                                if (Velocity.State.isTicking === false) {
                                    Velocity.State.isTicking = true;
    
                                    /* Start the tick loop. */
                                    tick();
                                }
                            } else {
                                elementsIndex++;
                            }
                        }
                    }
    
                    /* When the queue option is set to false, the call skips the element's queue and fires immediately. */
                    if (opts.queue === false) {
                        /* Since this buildQueue call doesn't respect the element's existing queue (which is where a delay option would have been appended),
                         we manually inject the delay property here with an explicit setTimeout. */
                        if (opts.delay) {
    
                            /* Temporarily store delayed elements to facilitate access for global pause/resume */
                            var callIndex = Velocity.State.delayedElements.count++;
                            Velocity.State.delayedElements[callIndex] = element;
    
                            var delayComplete = (function(index) {
                                return function() {
                                    /* Clear the temporary element */
                                    Velocity.State.delayedElements[index] = false;
    
                                    /* Finally, issue the call */
                                    buildQueue();
                                };
                            })(callIndex);
    
                            Data(element).delayBegin = (new Date()).getTime();
                            Data(element).delay = parseFloat(opts.delay);
                            Data(element).delayTimer = {
                                setTimeout: setTimeout(buildQueue, parseFloat(opts.delay)),
                                next: delayComplete
                            };
                        } else {
                            buildQueue();
                        }
                        /* Otherwise, the call undergoes element queueing as normal. */
                        /* Note: To interoperate with jQuery, Velocity uses jQuery's own $.queue() stack for queuing logic. */
                    } else {
                        $.queue(element, opts.queue, function(next, clearQueue) {
                            /* If the clearQueue flag was passed in by the stop command, resolve this call's promise. (Promises can only be resolved once,
                             so it's fine if this is repeatedly triggered for each element in the associated call.) */
                            if (clearQueue === true) {
                                if (promiseData.promise) {
                                    promiseData.resolver(elements);
                                }
    
                                /* Do not continue with animation queueing. */
                                return true;
                            }
    
                            /* This flag indicates to the upcoming completeCall() function that this queue entry was initiated by Velocity.
                             See completeCall() for further details. */
                            Velocity.velocityQueueEntryFlag = true;
    
                            buildQueue(next);
                        });
                    }
    
                    /*********************
                     Auto-Dequeuing
                     *********************/
    
                    /* As per jQuery's $.queue() behavior, to fire the first non-custom-queue entry on an element, the element
                     must be dequeued if its queue stack consists *solely* of the current call. (This can be determined by checking
                     for the "inprogress" item that jQuery prepends to active queue stack arrays.) Regardless, whenever the element's
                     queue is further appended with additional items -- including $.delay()'s or even $.animate() calls, the queue's
                     first entry is automatically fired. This behavior contrasts that of custom queues, which never auto-fire. */
                    /* Note: When an element set is being subjected to a non-parallel Velocity call, the animation will not begin until
                     each one of the elements in the set has reached the end of its individually pre-existing queue chain. */
                    /* Note: Unfortunately, most people don't fully grasp jQuery's powerful, yet quirky, $.queue() function.
                     Lean more here: http://stackoverflow.com/questions/1058158/can-somebody-explain-jquery-queue-to-me */
                    if ((opts.queue === "" || opts.queue === "fx") && $.queue(element)[0] !== "inprogress") {
                        $.dequeue(element);
                    }
                }
    
                /**************************
                 Element Set Iteration
                 **************************/
    
                /* If the "nodeType" property exists on the elements variable, we're animating a single element.
                 Place it in an array so that $.each() can iterate over it. */
                $.each(elements, function(i, element) {
                    /* Ensure each element in a set has a nodeType (is a real element) to avoid throwing errors. */
                    if (Type.isNode(element)) {
                        processElement(element, i);
                    }
                });
    
                /******************
                 Option: Loop
                 ******************/
    
                /* The loop option accepts an integer indicating how many times the element should loop between the values in the
                 current call's properties map and the element's property values prior to this call. */
                /* Note: The loop option's logic is performed here -- after element processing -- because the current call needs
                 to undergo its queue insertion prior to the loop option generating its series of constituent "reverse" calls,
                 which chain after the current call. Two reverse calls (two "alternations") constitute one loop. */
                opts = $.extend({}, Velocity.defaults, options);
                opts.loop = parseInt(opts.loop, 10);
                var reverseCallsCount = (opts.loop * 2) - 1;
    
                if (opts.loop) {
                    /* Double the loop count to convert it into its appropriate number of "reverse" calls.
                     Subtract 1 from the resulting value since the current call is included in the total alternation count. */
                    for (var x = 0; x < reverseCallsCount; x++) {
                        /* Since the logic for the reverse action occurs inside Queueing and therefore this call's options object
                         isn't parsed until then as well, the current call's delay option must be explicitly passed into the reverse
                         call so that the delay logic that occurs inside *Pre-Queueing* can process it. */
                        var reverseOptions = {
                            delay: opts.delay,
                            progress: opts.progress
                        };
    
                        /* If a complete callback was passed into this call, transfer it to the loop redirect's final "reverse" call
                         so that it's triggered when the entire redirect is complete (and not when the very first animation is complete). */
                        if (x === reverseCallsCount - 1) {
                            reverseOptions.display = opts.display;
                            reverseOptions.visibility = opts.visibility;
                            reverseOptions.complete = opts.complete;
                        }
    
                        animate(elements, "reverse", reverseOptions);
                    }
                }
    
                /***************
                 Chaining
                 ***************/
    
                /* Return the elements back to the call chain, with wrapped elements taking precedence in case Velocity was called via the $.fn. extension. */
                return getChain();
            };
    
            /* Turn Velocity into the animation function, extended with the pre-existing Velocity object. */
            Velocity = $.extend(animate, Velocity);
            /* For legacy support, also expose the literal animate method. */
            Velocity.animate = animate;
    
            /**************
             Timing
             **************/
    
            /* Ticker function. */
            var ticker = window.requestAnimationFrame || rAFShim;
    
            /* Inactive browser tabs pause rAF, which results in all active animations immediately sprinting to their completion states when the tab refocuses.
             To get around this, we dynamically switch rAF to setTimeout (which the browser *doesn't* pause) when the tab loses focus. We skip this for mobile
             devices to avoid wasting battery power on inactive tabs. */
            /* Note: Tab focus detection doesn't work on older versions of IE, but that's okay since they don't support rAF to begin with. */
            if (!Velocity.State.isMobile && document.hidden !== undefined) {
                var updateTicker = function() {
                    /* Reassign the rAF function (which the global tick() function uses) based on the tab's focus state. */
                    if (document.hidden) {
                        ticker = function(callback) {
                            /* The tick function needs a truthy first argument in order to pass its internal timestamp check. */
                            return setTimeout(function() {
                                callback(true);
                            }, 16);
                        };
    
                        /* The rAF loop has been paused by the browser, so we manually restart the tick. */
                        tick();
                    } else {
                        ticker = window.requestAnimationFrame || rAFShim;
                    }
                };
    
                /* Page could be sitting in the background at this time (i.e. opened as new tab) so making sure we use correct ticker from the start */
                updateTicker();
    
                /* And then run check again every time visibility changes */
                document.addEventListener("visibilitychange", updateTicker);
            }
    
            /************
             Tick
             ************/
    
            /* Note: All calls to Velocity are pushed to the Velocity.State.calls array, which is fully iterated through upon each tick. */
            function tick(timestamp) {
                /* An empty timestamp argument indicates that this is the first tick occurence since ticking was turned on.
                 We leverage this metadata to fully ignore the first tick pass since RAF's initial pass is fired whenever
                 the browser's next tick sync time occurs, which results in the first elements subjected to Velocity
                 calls being animated out of sync with any elements animated immediately thereafter. In short, we ignore
                 the first RAF tick pass so that elements being immediately consecutively animated -- instead of simultaneously animated
                 by the same Velocity call -- are properly batched into the same initial RAF tick and consequently remain in sync thereafter. */
                if (timestamp) {
                    /* We normally use RAF's high resolution timestamp but as it can be significantly offset when the browser is
                     under high stress we give the option for choppiness over allowing the browser to drop huge chunks of frames.
                     We use performance.now() and shim it if it doesn't exist for when the tab is hidden. */
                    var timeCurrent = Velocity.timestamp && timestamp !== true ? timestamp : performance.now();
    
                    /********************
                     Call Iteration
                     ********************/
    
                    var callsLength = Velocity.State.calls.length;
    
                    /* To speed up iterating over this array, it is compacted (falsey items -- calls that have completed -- are removed)
                     when its length has ballooned to a point that can impact tick performance. This only becomes necessary when animation
                     has been continuous with many elements over a long period of time; whenever all active calls are completed, completeCall() clears Velocity.State.calls. */
                    if (callsLength > 10000) {
                        Velocity.State.calls = compactSparseArray(Velocity.State.calls);
                        callsLength = Velocity.State.calls.length;
                    }
    
                    /* Iterate through each active call. */
                    for (var i = 0; i < callsLength; i++) {
                        /* When a Velocity call is completed, its Velocity.State.calls entry is set to false. Continue on to the next call. */
                        if (!Velocity.State.calls[i]) {
                            continue;
                        }
    
                        /************************
                         Call-Wide Variables
                         ************************/
    
                        var callContainer = Velocity.State.calls[i],
                                call = callContainer[0],
                                opts = callContainer[2],
                                timeStart = callContainer[3],
                                firstTick = !!timeStart,
                                tweenDummyValue = null,
                                pauseObject = callContainer[5],
                                millisecondsEllapsed = callContainer[6];
    
    
    
                        /* If timeStart is undefined, then this is the first time that this call has been processed by tick().
                         We assign timeStart now so that its value is as close to the real animation start time as possible.
                         (Conversely, had timeStart been defined when this call was added to Velocity.State.calls, the delay
                         between that time and now would cause the first few frames of the tween to be skipped since
                         percentComplete is calculated relative to timeStart.) */
                        /* Further, subtract 16ms (the approximate resolution of RAF) from the current time value so that the
                         first tick iteration isn't wasted by animating at 0% tween completion, which would produce the
                         same style value as the element's current value. */
                        if (!timeStart) {
                            timeStart = Velocity.State.calls[i][3] = timeCurrent - 16;
                        }
    
                        /* If a pause object is present, skip processing unless it has been set to resume */
                        if (pauseObject) {
                            if (pauseObject.resume === true) {
                                /* Update the time start to accomodate the paused completion amount */
                                timeStart = callContainer[3] = Math.round(timeCurrent - millisecondsEllapsed - 16);
    
                                /* Remove pause object after processing */
                                callContainer[5] = null;
                            } else {
                                continue;
                            }
                        }
    
                        millisecondsEllapsed = callContainer[6] = timeCurrent - timeStart;
    
                        /* The tween's completion percentage is relative to the tween's start time, not the tween's start value
                         (which would result in unpredictable tween durations since JavaScript's timers are not particularly accurate).
                         Accordingly, we ensure that percentComplete does not exceed 1. */
                        var percentComplete = Math.min((millisecondsEllapsed) / opts.duration, 1);
    
                        /**********************
                         Element Iteration
                         **********************/
    
                        /* For every call, iterate through each of the elements in its set. */
                        for (var j = 0, callLength = call.length; j < callLength; j++) {
                            var tweensContainer = call[j],
                                    element = tweensContainer.element;
    
                            /* Check to see if this element has been deleted midway through the animation by checking for the
                             continued existence of its data cache. If it's gone, or the element is currently paused, skip animating this element. */
                            if (!Data(element)) {
                                continue;
                            }
    
                            var transformPropertyExists = false;
    
                            /**********************************
                             Display & Visibility Toggling
                             **********************************/
    
                            /* If the display option is set to non-"none", set it upfront so that the element can become visible before tweening begins.
                             (Otherwise, display's "none" value is set in completeCall() once the animation has completed.) */
                            if (opts.display !== undefined && opts.display !== null && opts.display !== "none") {
                                if (opts.display === "flex") {
                                    var flexValues = ["-webkit-box", "-moz-box", "-ms-flexbox", "-webkit-flex"];
    
                                    $.each(flexValues, function(i, flexValue) {
                                        CSS.setPropertyValue(element, "display", flexValue);
                                    });
                                }
    
                                CSS.setPropertyValue(element, "display", opts.display);
                            }
    
                            /* Same goes with the visibility option, but its "none" equivalent is "hidden". */
                            if (opts.visibility !== undefined && opts.visibility !== "hidden") {
                                CSS.setPropertyValue(element, "visibility", opts.visibility);
                            }
    
                            /************************
                             Property Iteration
                             ************************/
    
                            /* For every element, iterate through each property. */
                            for (var property in tweensContainer) {
                                /* Note: In addition to property tween data, tweensContainer contains a reference to its associated element. */
                                if (tweensContainer.hasOwnProperty(property) && property !== "element") {
                                    var tween = tweensContainer[property],
                                            currentValue,
                                            /* Easing can either be a pre-genereated function or a string that references a pre-registered easing
                                             on the Velocity.Easings object. In either case, return the appropriate easing *function*. */
                                            easing = Type.isString(tween.easing) ? Velocity.Easings[tween.easing] : tween.easing;
    
                                    /******************************
                                     Current Value Calculation
                                     ******************************/
    
                                    if (Type.isString(tween.pattern)) {
                                        var patternReplace = percentComplete === 1 ?
                                                function($0, index, round) {
                                                    var result = tween.endValue[index];
    
                                                    return round ? Math.round(result) : result;
                                                } :
                                                function($0, index, round) {
                                                    var startValue = tween.startValue[index],
                                                            tweenDelta = tween.endValue[index] - startValue,
                                                            result = startValue + (tweenDelta * easing(percentComplete, opts, tweenDelta));
    
                                                    return round ? Math.round(result) : result;
                                                };
    
                                        currentValue = tween.pattern.replace(/{(\d+)(!)?}/g, patternReplace);
                                    } else if (percentComplete === 1) {
                                        /* If this is the last tick pass (if we've reached 100% completion for this tween),
                                         ensure that currentValue is explicitly set to its target endValue so that it's not subjected to any rounding. */
                                        currentValue = tween.endValue;
                                    } else {
                                        /* Otherwise, calculate currentValue based on the current delta from startValue. */
                                        var tweenDelta = tween.endValue - tween.startValue;
    
                                        currentValue = tween.startValue + (tweenDelta * easing(percentComplete, opts, tweenDelta));
                                        /* If no value change is occurring, don't proceed with DOM updating. */
                                    }
                                    if (!firstTick && (currentValue === tween.currentValue)) {
                                        continue;
                                    }
    
                                    tween.currentValue = currentValue;
    
                                    /* If we're tweening a fake 'tween' property in order to log transition values, update the one-per-call variable so that
                                     it can be passed into the progress callback. */
                                    if (property === "tween") {
                                        tweenDummyValue = currentValue;
                                    } else {
                                        /******************
                                         Hooks: Part I
                                         ******************/
                                        var hookRoot;
    
                                        /* For hooked properties, the newly-updated rootPropertyValueCache is cached onto the element so that it can be used
                                         for subsequent hooks in this call that are associated with the same root property. If we didn't cache the updated
                                         rootPropertyValue, each subsequent update to the root property in this tick pass would reset the previous hook's
                                         updates to rootPropertyValue prior to injection. A nice performance byproduct of rootPropertyValue caching is that
                                         subsequently chained animations using the same hookRoot but a different hook can use this cached rootPropertyValue. */
                                        if (CSS.Hooks.registered[property]) {
                                            hookRoot = CSS.Hooks.getRoot(property);
    
                                            var rootPropertyValueCache = Data(element).rootPropertyValueCache[hookRoot];
    
                                            if (rootPropertyValueCache) {
                                                tween.rootPropertyValue = rootPropertyValueCache;
                                            }
                                        }
    
                                        /*****************
                                         DOM Update
                                         *****************/
    
                                        /* setPropertyValue() returns an array of the property name and property value post any normalization that may have been performed. */
                                        /* Note: To solve an IE<=8 positioning bug, the unit type is dropped when setting a property value of 0. */
                                        var adjustedSetData = CSS.setPropertyValue(element, /* SET */
                                                property,
                                                tween.currentValue + (IE < 9 && parseFloat(currentValue) === 0 ? "" : tween.unitType),
                                                tween.rootPropertyValue,
                                                tween.scrollData);
    
                                        /*******************
                                         Hooks: Part II
                                         *******************/
    
                                        /* Now that we have the hook's updated rootPropertyValue (the post-processed value provided by adjustedSetData), cache it onto the element. */
                                        if (CSS.Hooks.registered[property]) {
                                            /* Since adjustedSetData contains normalized data ready for DOM updating, the rootPropertyValue needs to be re-extracted from its normalized form. ?? */
                                            if (CSS.Normalizations.registered[hookRoot]) {
                                                Data(element).rootPropertyValueCache[hookRoot] = CSS.Normalizations.registered[hookRoot]("extract", null, adjustedSetData[1]);
                                            } else {
                                                Data(element).rootPropertyValueCache[hookRoot] = adjustedSetData[1];
                                            }
                                        }
    
                                        /***************
                                         Transforms
                                         ***************/
    
                                        /* Flag whether a transform property is being animated so that flushTransformCache() can be triggered once this tick pass is complete. */
                                        if (adjustedSetData[0] === "transform") {
                                            transformPropertyExists = true;
                                        }
    
                                    }
                                }
                            }
    
                            /****************
                             mobileHA
                             ****************/
    
                            /* If mobileHA is enabled, set the translate3d transform to null to force hardware acceleration.
                             It's safe to override this property since Velocity doesn't actually support its animation (hooks are used in its place). */
                            if (opts.mobileHA) {
                                /* Don't set the null transform hack if we've already done so. */
                                if (Data(element).transformCache.translate3d === undefined) {
                                    /* All entries on the transformCache object are later concatenated into a single transform string via flushTransformCache(). */
                                    Data(element).transformCache.translate3d = "(0px, 0px, 0px)";
    
                                    transformPropertyExists = true;
                                }
                            }
    
                            if (transformPropertyExists) {
                                CSS.flushTransformCache(element);
                            }
                        }
    
                        /* The non-"none" display value is only applied to an element once -- when its associated call is first ticked through.
                         Accordingly, it's set to false so that it isn't re-processed by this call in the next tick. */
                        if (opts.display !== undefined && opts.display !== "none") {
                            Velocity.State.calls[i][2].display = false;
                        }
                        if (opts.visibility !== undefined && opts.visibility !== "hidden") {
                            Velocity.State.calls[i][2].visibility = false;
                        }
    
                        /* Pass the elements and the timing data (percentComplete, msRemaining, timeStart, tweenDummyValue) into the progress callback. */
                        if (opts.progress) {
                            opts.progress.call(callContainer[1],
                                    callContainer[1],
                                    percentComplete,
                                    Math.max(0, (timeStart + opts.duration) - timeCurrent),
                                    timeStart,
                                    tweenDummyValue);
                        }
    
                        /* If this call has finished tweening, pass its index to completeCall() to handle call cleanup. */
                        if (percentComplete === 1) {
                            completeCall(i);
                        }
                    }
                }
    
                /* Note: completeCall() sets the isTicking flag to false when the last call on Velocity.State.calls has completed. */
                if (Velocity.State.isTicking) {
                    ticker(tick);
                }
            }
    
            /**********************
             Call Completion
             **********************/
    
            /* Note: Unlike tick(), which processes all active calls at once, call completion is handled on a per-call basis. */
            function completeCall(callIndex, isStopped) {
                /* Ensure the call exists. */
                if (!Velocity.State.calls[callIndex]) {
                    return false;
                }
    
                /* Pull the metadata from the call. */
                var call = Velocity.State.calls[callIndex][0],
                        elements = Velocity.State.calls[callIndex][1],
                        opts = Velocity.State.calls[callIndex][2],
                        resolver = Velocity.State.calls[callIndex][4];
    
                var remainingCallsExist = false;
    
                /*************************
                 Element Finalization
                 *************************/
    
                for (var i = 0, callLength = call.length; i < callLength; i++) {
                    var element = call[i].element;
    
                    /* If the user set display to "none" (intending to hide the element), set it now that the animation has completed. */
                    /* Note: display:none isn't set when calls are manually stopped (via Velocity("stop"). */
                    /* Note: Display gets ignored with "reverse" calls and infinite loops, since this behavior would be undesirable. */
                    if (!isStopped && !opts.loop) {
                        if (opts.display === "none") {
                            CSS.setPropertyValue(element, "display", opts.display);
                        }
    
                        if (opts.visibility === "hidden") {
                            CSS.setPropertyValue(element, "visibility", opts.visibility);
                        }
                    }
    
                    /* If the element's queue is empty (if only the "inprogress" item is left at position 0) or if its queue is about to run
                     a non-Velocity-initiated entry, turn off the isAnimating flag. A non-Velocity-initiatied queue entry's logic might alter
                     an element's CSS values and thereby cause Velocity's cached value data to go stale. To detect if a queue entry was initiated by Velocity,
                     we check for the existence of our special Velocity.queueEntryFlag declaration, which minifiers won't rename since the flag
                     is assigned to jQuery's global $ object and thus exists out of Velocity's own scope. */
                    var data = Data(element);
    
                    if (opts.loop !== true && ($.queue(element)[1] === undefined || !/\.velocityQueueEntryFlag/i.test($.queue(element)[1]))) {
                        /* The element may have been deleted. Ensure that its data cache still exists before acting on it. */
                        if (data) {
                            data.isAnimating = false;
                            /* Clear the element's rootPropertyValueCache, which will become stale. */
                            data.rootPropertyValueCache = {};
    
                            var transformHAPropertyExists = false;
                            /* If any 3D transform subproperty is at its default value (regardless of unit type), remove it. */
                            $.each(CSS.Lists.transforms3D, function(i, transformName) {
                                var defaultValue = /^scale/.test(transformName) ? 1 : 0,
                                        currentValue = data.transformCache[transformName];
    
                                if (data.transformCache[transformName] !== undefined && new RegExp("^\\(" + defaultValue + "[^.]").test(currentValue)) {
                                    transformHAPropertyExists = true;
    
                                    delete data.transformCache[transformName];
                                }
                            });
    
                            /* Mobile devices have hardware acceleration removed at the end of the animation in order to avoid hogging the GPU's memory. */
                            if (opts.mobileHA) {
                                transformHAPropertyExists = true;
                                delete data.transformCache.translate3d;
                            }
    
                            /* Flush the subproperty removals to the DOM. */
                            if (transformHAPropertyExists) {
                                CSS.flushTransformCache(element);
                            }
    
                            /* Remove the "velocity-animating" indicator class. */
                            CSS.Values.removeClass(element, "velocity-animating");
                        }
                    }
    
                    /*********************
                     Option: Complete
                     *********************/
    
                    /* Complete is fired once per call (not once per element) and is passed the full raw DOM element set as both its context and its first argument. */
                    /* Note: Callbacks aren't fired when calls are manually stopped (via Velocity("stop"). */
                    if (!isStopped && opts.complete && !opts.loop && (i === callLength - 1)) {
                        /* We throw callbacks in a setTimeout so that thrown errors don't halt the execution of Velocity itself. */
                        try {
                            opts.complete.call(elements, elements);
                        } catch (error) {
                            setTimeout(function() {
                                throw error;
                            }, 1);
                        }
                    }
    
                    /**********************
                     Promise Resolving
                     **********************/
    
                    /* Note: Infinite loops don't return promises. */
                    if (resolver && opts.loop !== true) {
                        resolver(elements);
                    }
    
                    /****************************
                     Option: Loop (Infinite)
                     ****************************/
    
                    if (data && opts.loop === true && !isStopped) {
                        /* If a rotateX/Y/Z property is being animated by 360 deg with loop:true, swap tween start/end values to enable
                         continuous iterative rotation looping. (Otherise, the element would just rotate back and forth.) */
                        $.each(data.tweensContainer, function(propertyName, tweenContainer) {
                            if (/^rotate/.test(propertyName) && ((parseFloat(tweenContainer.startValue) - parseFloat(tweenContainer.endValue)) % 360 === 0)) {
                                var oldStartValue = tweenContainer.startValue;
    
                                tweenContainer.startValue = tweenContainer.endValue;
                                tweenContainer.endValue = oldStartValue;
                            }
    
                            if (/^backgroundPosition/.test(propertyName) && parseFloat(tweenContainer.endValue) === 100 && tweenContainer.unitType === "%") {
                                tweenContainer.endValue = 0;
                                tweenContainer.startValue = 100;
                            }
                        });
    
                        Velocity(element, "reverse", {loop: true, delay: opts.delay});
                    }
    
                    /***************
                     Dequeueing
                     ***************/
    
                    /* Fire the next call in the queue so long as this call's queue wasn't set to false (to trigger a parallel animation),
                     which would have already caused the next call to fire. Note: Even if the end of the animation queue has been reached,
                     $.dequeue() must still be called in order to completely clear jQuery's animation queue. */
                    if (opts.queue !== false) {
                        $.dequeue(element, opts.queue);
                    }
                }
    
                /************************
                 Calls Array Cleanup
                 ************************/
    
                /* Since this call is complete, set it to false so that the rAF tick skips it. This array is later compacted via compactSparseArray().
                 (For performance reasons, the call is set to false instead of being deleted from the array: http://www.html5rocks.com/en/tutorials/speed/v8/) */
                Velocity.State.calls[callIndex] = false;
    
                /* Iterate through the calls array to determine if this was the final in-progress animation.
                 If so, set a flag to end ticking and clear the calls array. */
                for (var j = 0, callsLength = Velocity.State.calls.length; j < callsLength; j++) {
                    if (Velocity.State.calls[j] !== false) {
                        remainingCallsExist = true;
    
                        break;
                    }
                }
    
                if (remainingCallsExist === false) {
                    /* tick() will detect this flag upon its next iteration and subsequently turn itself off. */
                    Velocity.State.isTicking = false;
    
                    /* Clear the calls array so that its length is reset. */
                    delete Velocity.State.calls;
                    Velocity.State.calls = [];
                }
            }
    
            /******************
             Frameworks
             ******************/
    
            /* Both jQuery and Zepto allow their $.fn object to be extended to allow wrapped elements to be subjected to plugin calls.
             If either framework is loaded, register a "velocity" extension pointing to Velocity's core animate() method.  Velocity
             also registers itself onto a global container (window.jQuery || window.Zepto || window) so that certain features are
             accessible beyond just a per-element scope. This master object contains an .animate() method, which is later assigned to $.fn
             (if jQuery or Zepto are present). Accordingly, Velocity can both act on wrapped DOM elements and stand alone for targeting raw DOM elements. */
            global.Velocity = Velocity;
    
            if (global !== window) {
                /* Assign the element function to Velocity's core animate() method. */
                global.fn.velocity = animate;
                /* Assign the object function's defaults to Velocity's global defaults object. */
                global.fn.velocity.defaults = Velocity.defaults;
            }
    
            /***********************
             Packaged Redirects
             ***********************/
    
            /* slideUp, slideDown */
            $.each(["Down", "Up"], function(i, direction) {
                Velocity.Redirects["slide" + direction] = function(element, options, elementsIndex, elementsSize, elements, promiseData) {
                    var opts = $.extend({}, options),
                            begin = opts.begin,
                            complete = opts.complete,
                            inlineValues = {},
                            computedValues = {height: "", marginTop: "", marginBottom: "", paddingTop: "", paddingBottom: ""};
    
                    if (opts.display === undefined) {
                        /* Show the element before slideDown begins and hide the element after slideUp completes. */
                        /* Note: Inline elements cannot have dimensions animated, so they're reverted to inline-block. */
                        opts.display = (direction === "Down" ? (Velocity.CSS.Values.getDisplayType(element) === "inline" ? "inline-block" : "block") : "none");
                    }
    
                    opts.begin = function() {
                        /* If the user passed in a begin callback, fire it now. */
                        if (elementsIndex === 0 && begin) {
                            begin.call(elements, elements);
                        }
    
                        /* Cache the elements' original vertical dimensional property values so that we can animate back to them. */
                        for (var property in computedValues) {
                            if (!computedValues.hasOwnProperty(property)) {
                                continue;
                            }
                            inlineValues[property] = element.style[property];
    
                            /* For slideDown, use forcefeeding to animate all vertical properties from 0. For slideUp,
                             use forcefeeding to start from computed values and animate down to 0. */
                            var propertyValue = CSS.getPropertyValue(element, property);
                            computedValues[property] = (direction === "Down") ? [propertyValue, 0] : [0, propertyValue];
                        }
    
                        /* Force vertical overflow content to clip so that sliding works as expected. */
                        inlineValues.overflow = element.style.overflow;
                        element.style.overflow = "hidden";
                    };
    
                    opts.complete = function() {
                        /* Reset element to its pre-slide inline values once its slide animation is complete. */
                        for (var property in inlineValues) {
                            if (inlineValues.hasOwnProperty(property)) {
                                element.style[property] = inlineValues[property];
                            }
                        }
    
                        /* If the user passed in a complete callback, fire it now. */
                        if (elementsIndex === elementsSize - 1) {
                            if (complete) {
                                complete.call(elements, elements);
                            }
                            if (promiseData) {
                                promiseData.resolver(elements);
                            }
                        }
                    };
    
                    Velocity(element, computedValues, opts);
                };
            });
    
            /* fadeIn, fadeOut */
            $.each(["In", "Out"], function(i, direction) {
                Velocity.Redirects["fade" + direction] = function(element, options, elementsIndex, elementsSize, elements, promiseData) {
                    var opts = $.extend({}, options),
                            complete = opts.complete,
                            propertiesMap = {opacity: (direction === "In") ? 1 : 0};
    
                    /* Since redirects are triggered individually for each element in the animated set, avoid repeatedly triggering
                     callbacks by firing them only when the final element has been reached. */
                    if (elementsIndex !== 0) {
                        opts.begin = null;
                    }
                    if (elementsIndex !== elementsSize - 1) {
                        opts.complete = null;
                    } else {
                        opts.complete = function() {
                            if (complete) {
                                complete.call(elements, elements);
                            }
                            if (promiseData) {
                                promiseData.resolver(elements);
                            }
                        };
                    }
    
                    /* If a display was passed in, use it. Otherwise, default to "none" for fadeOut or the element-specific default for fadeIn. */
                    /* Note: We allow users to pass in "null" to skip display setting altogether. */
                    if (opts.display === undefined) {
                        opts.display = (direction === "In" ? "auto" : "none");
                    }
    
                    Velocity(this, propertiesMap, opts);
                };
            });
    
            return Velocity;
        }((window.jQuery || window.Zepto || window), window, (window ? window.document : undefined));
    }));
    
    /******************
     Known Issues
     ******************/
    
    /* The CSS spec mandates that the translateX/Y/Z transforms are %-relative to the element itself -- not its parent.
     Velocity, however, doesn't make this distinction. Thus, converting to or from the % unit with these subproperties
     will produce an inaccurate conversion value. The same issue exists with the cx/cy attributes of SVG circles and ellipses. */


/***/ }),
/* 631 */
/***/ (function(module, exports) {

    module.exports = "\n<transition\n  name=\"n3CollapseTransition\"\n  @enter=\"enter\"\n  @leave=\"leave\"\n>\n  <slot></slot>\n</transition>\n";

/***/ }),
/* 632 */
/***/ (function(module, exports) {

    module.exports = "\n<div :class=\"`${prefixCls}-dropdown-con`\">   \n  <span ref=\"trigger\"> \n    <slot name=\"trigger\" ></slot>\n  </span>\n\n  <transition :name=\"effect\" v-if=\"effect!='collapse'\">\n    <ul v-n3-position=\"isShow\" :class=\"`${prefixCls}-dropdown-menu`\" v-show=\"isShow\" >\n        <slot></slot>\n    </ul>\n  </transition>\n  <n3-collapse-transition v-if=\"effect=='collapse'\">\n    <ul :class=\"`${prefixCls}-dropdown-menu`\" v-show=\"isShow\" >\n        <slot></slot>\n    </ul>\n  </n3-collapse-transition>\n\n</div>\n";

/***/ }),
/* 633 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(634)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] src/Modal/n3Modal.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(635)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-0d498e0a/n3Modal.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 634 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    
    var _getScrollBarWidth = __webpack_require__(572);
    
    var _getScrollBarWidth2 = _interopRequireDefault(_getScrollBarWidth);
    
    var _EventListener = __webpack_require__(561);
    
    var _EventListener2 = _interopRequireDefault(_EventListener);
    
    var _n3Button = __webpack_require__(384);
    
    var _n3Button2 = _interopRequireDefault(_n3Button);
    
    var _element = __webpack_require__(562);
    
    var _element2 = _interopRequireDefault(_element);
    
    function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
    
    // <template>
    //   <div :class="classObj">
    //     <div :class="`${prefixCls}-modal-dialog`" 
    //       :style="{'width': width}">
    //       <div :class="`${prefixCls}-modal-content`">
    //         <slot name="header">
    //           <div :class="`${prefixCls}-modal-header`">
    //             <button type="button" :class="`${prefixCls}-close`" @click="close"><span>&times;</span></button>
    //             <h4 :class="`${prefixCls}-modal-title`" >{{title}}</h4>
    //           </div>
    //         </slot>
    //
    //         <div :class="`${prefixCls}-modal-body`">
    //           <slot name="body"></slot>
    //         </div>
    //
    //         <slot name="footer">
    //           <div :class="`${prefixCls}-modal-footer`">
    //             <n3-button  @click.native="close">取消</n3-button>
    //             <n3-button type="primary" @click.native="confirm">确定</n3-button>
    //           </div>
    //         </slot>
    //       </div>
    //     </div>
    //   </div>
    // </template>
    //
    // <script>
    exports.default = {
      name: 'n3Modal',
      props: {
        title: {
          type: String,
          default: ''
        },
        show: {
          type: Boolean,
          default: false
        },
        width: {
          type: String,
          default: '600px'
        },
        effect: {
          type: String,
          default: 'fade'
        },
        backdrop: {
          type: Boolean,
          default: true
        },
        prefixCls: {
          type: String,
          default: 'n3'
        }
      },
      components: {
        n3Button: _n3Button2.default
      },
      computed: {
        classObj: function classObj() {
          var prefixCls = this.prefixCls,
              effect = this.effect;
    
          var klass = {};
    
          klass[prefixCls + '-modal'] = true;
          klass[prefixCls + '-modal-' + effect] = true;
    
          return klass;
        }
      },
      data: function data() {
        var show = this.show;
        return {
          isShow: show
        };
      },
    
      watch: {
        isShow: function isShow(val) {
          var _this = this;
    
          if (val) {
            this.$emit('show');
          } else {
            this.$emit('hide');
          }
    
          var el = this.$el;
          var body = document.body;
          var scrollBarWidth = (0, _getScrollBarWidth2.default)();
          if (val) {
            el.querySelector('.' + this.prefixCls + '-modal-content').focus();
            el.style.display = 'block';
            setTimeout(function () {
              return _element2.default.addClass(el, _this.prefixCls + '-modal-in');
            }, 0);
            _element2.default.addClass(body, this.prefixCls + '-modal-open');
            if (!scrollBarWidth) {
              _element2.default.addClass(body, this.prefixCls + '-modal-hide-y');
            }
            if (this.backdrop) {
              this._blurModalContentEvent = _EventListener2.default.listen(this.$el, 'click', function (e) {
                if (e.target === el) _this.isShow = false;
              });
            }
          } else {
            if (this._blurModalContentEvent) this._blurModalContentEvent.remove();
            _element2.default.removeClass(el, this.prefixCls + '-modal-in');
            setTimeout(function () {
              el.style.display = 'none';
              _element2.default.removeClass(body, _this.prefixCls + '-modal-open');
              _element2.default.removeClass(body, _this.prefixCls + '-modal-hide-y');
              body.style.paddingRight = '0';
              _this.$emit('closed');
            }, 300);
          }
        }
      },
      methods: {
        close: function close() {
          this.isShow = false;
        },
        open: function open() {
          this.isShow = true;
        },
        confirm: function confirm() {
          this.$emit('confirm');
        }
      }
    };
    // </script>
    /* generated by vue-loader */

/***/ }),
/* 635 */
/***/ (function(module, exports) {

    module.exports = "\n<div :class=\"classObj\">\n  <div :class=\"`${prefixCls}-modal-dialog`\" \n    :style=\"{'width': width}\">\n    <div :class=\"`${prefixCls}-modal-content`\">\n      <slot name=\"header\">\n        <div :class=\"`${prefixCls}-modal-header`\">\n          <button type=\"button\" :class=\"`${prefixCls}-close`\" @click=\"close\"><span>&times;</span></button>\n          <h4 :class=\"`${prefixCls}-modal-title`\" >{{title}}</h4>\n        </div>\n      </slot>\n      \n      <div :class=\"`${prefixCls}-modal-body`\">\n        <slot name=\"body\"></slot>\n      </div>\n    \n      <slot name=\"footer\">\n        <div :class=\"`${prefixCls}-modal-footer`\">\n          <n3-button  @click.native=\"close\">取消</n3-button>\n          <n3-button type=\"primary\" @click.native=\"confirm\">确定</n3-button>\n        </div>\n      </slot>\n    </div>\n  </div>\n</div>\n";

/***/ }),
/* 636 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    
    var _vue = __webpack_require__(555);
    
    var _vue2 = _interopRequireDefault(_vue);
    
    var _n3Modal = __webpack_require__(633);
    
    var _n3Modal2 = _interopRequireDefault(_n3Modal);
    
    function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
    
    var $body = document.querySelector('body');
    
    var createNode = function createNode() {
      var $node = document.createElement('div');
      $body.appendChild($node);
      return $node;
    };
    
    var removeNode = function removeNode($node) {
      $body.removeChild($node);
    };
    
    var typeMap = {
      success: {
        name: 'check-circle-o',
        color: '#19d567'
      },
      danger: {
        name: 'times-circle-o',
        color: '#f50'
      },
      warning: {
        name: 'exclamation-circle',
        color: '#fa0'
      },
      info: {
        name: 'info-circle',
        color: '#2db7f5'
      }
    };
    
    var confirm = function confirm(options) {
      var title = options.title,
          message = options.message,
          effect = options.effect,
          type = options.type,
          width = options.width,
          onConfirm = options.onConfirm,
          onHide = options.onHide,
          onShow = options.onShow;
    
      var confirm = new _vue2.default({
        el: createNode(),
        data: function data() {
          return {
            show: false
          };
        },
    
        components: {
          Modal: _n3Modal2.default
        },
        template: '<Modal ref="modal" title="' + title + '"\n      effect="' + (effect || 'fade') + '"\n      ' + (width ? 'width="' + width + '"' : '') + '\n      :backdrop="false"\n      @confirm="handleConfirm"\n      @hide="handleHide"\n      @show="handleShow"\n      @closed="destroy">\n      <div slot="header" v-if="' + !title + '"></div>\n      <div slot="body">\n        <n3-icon :style="{color: iconType.color,fontSize:\'40px\',marginRight:\'20px\'}" :type="iconType.name"></n3-icon>\n        ' + options.message + '\n      </div>\n    </Modal>',
        mounted: function mounted() {
          var _this = this;
    
          this.$nextTick(function () {
            _this.$refs.modal.open();
          });
        },
        destroyed: function destroyed() {
          removeNode(this.$el);
        },
    
        computed: {
          iconType: function iconType() {
            return typeMap[type];
          }
        },
        methods: {
          handleShow: function handleShow() {
            onShow && onShow();
          },
          handleConfirm: function handleConfirm() {
            onConfirm && onConfirm();
            this.$refs.modal.close();
          },
          handleHide: function handleHide() {
            onHide && onHide();
          },
          destroy: function destroy() {
            this.$destroy();
          }
        }
      });
    };
    
    var alert = function alert(options) {
      var title = options.title,
          message = options.message,
          effect = options.effect,
          type = options.type,
          width = options.width,
          onConfirm = options.onConfirm,
          onHide = options.onHide,
          onShow = options.onShow;
    
      var alert = new _vue2.default({
        el: createNode(),
        data: function data() {
          return {
            show: false
          };
        },
    
        components: {
          Modal: _n3Modal2.default
        },
        template: '<Modal title="' + title + '"\n      effect="' + (effect || 'fade') + '"\n      ref="modal"\n      ' + (width ? 'width="' + width + '"' : '') + '\n      :backdrop="false"\n      @hide="handleHide"\n      @show="handleShow"\n      @closed="destroy">\n      <div slot="body">\n        <n3-icon :style="{color: iconType.color,fontSize:\'40px\',marginRight:\'20px\'}" :type="iconType.name"></n3-icon>\n        ' + message + '\n      </div>\n      <div slot="header" v-if="' + !title + '"></div>\n      <div slot="footer" class="n3-modal-footer">\n        <n3-button @click.native="handleConfirm">\u786E\u5B9A</n3-button>\n      </div>\n    </Modal>',
        mounted: function mounted() {
          var _this2 = this;
    
          this.$nextTick(function () {
            _this2.$refs.modal.open();
          });
        },
        destroyed: function destroyed() {
          removeNode(this.$el);
        },
    
        computed: {
          iconType: function iconType() {
            return typeMap[type];
          }
        },
        methods: {
          handleShow: function handleShow() {
            onShow && onShow();
          },
          handleConfirm: function handleConfirm() {
            onConfirm && onConfirm();
            this.$refs.modal.close();
          },
          handleHide: function handleHide() {
            onHide && onHide();
          },
          destroy: function destroy() {
            this.$destroy();
          }
        }
      });
    };
    
    exports.default = {
      alert: alert,
      confirm: confirm
    };

/***/ }),
/* 637 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(638)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] src/Select/n3Option.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(639)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-a623f25e/n3Option.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 638 */
/***/ (function(module, exports) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    // <template>
    //   <div :value="value" :class="`${prefixCls}-option`">
    //     <slot></slot>
    //   </div>
    // </template>
    //
    // <script>
    exports.default = {
      name: 'n3Option',
      props: {
        value: {
          type: String
        },
        prefixCls: {
          type: String,
          default: 'n3'
        }
      }
    };
    // </script>
    /* generated by vue-loader */

/***/ }),
/* 639 */
/***/ (function(module, exports) {

    module.exports = "\n<div :value=\"value\" :class=\"`${prefixCls}-option`\">\n  <slot></slot>\n</div>\n";

/***/ }),
/* 640 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(641)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] src/Accordion/n3Panel.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(642)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-6341c408/n3Panel.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 641 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    
    var _type = __webpack_require__(579);
    
    var _type2 = _interopRequireDefault(_type);
    
    var _n3CollapseTransition = __webpack_require__(628);
    
    var _n3CollapseTransition2 = _interopRequireDefault(_n3CollapseTransition);
    
    function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
    
    // <template>
    // <div :class="`${prefixCls}-panel ${prefixCls}-panel-default`">
    //     <div :class="`${prefixCls}-panel-heading`">
    //       <h4 :class="`${prefixCls}-panel-title`">
    //         <a @click="toggleIsOpen()">
    //            <slot name="header">
    //             {{header}}
    //            </slot>
    //         </a>
    //       </h4>
    //     </div>
    //     <n3-collapse-transition>
    //       <div
    //         :class="`${prefixCls}-panel-collapse`"
    //         v-if="open">
    //         <div :class="`${prefixCls}-panel-body`">
    //           <slot></slot>
    //         </div>
    //       </div>
    //     <n3-collapse-transition>
    //   </div>
    // </template>
    //
    // <script>
    exports.default = {
      name: 'n3Panel',
      props: {
        isOpen: {
          type: Boolean,
          default: false
        },
        header: {
          type: String
        },
        index: {},
        prefixCls: {
          type: String,
          default: 'n3'
        }
      },
      data: function data() {
        var open = this.isOpen;
        return {
          height: 0,
          open: open
        };
      },
    
      watch: {
        isOpen: function isOpen(val) {
          this.open = this.isOpen;
        }
      },
      methods: {
        toggleIsOpen: function toggleIsOpen() {
          this.open = !this.open;
          var item = {
            index: this.index,
            header: this.header,
            isOpen: this.open
          };
    
          this.$parent.change(this);
          this.$emit('change', item);
        }
      },
      components: {
        n3CollapseTransition: _n3CollapseTransition2.default
      }
    };
    // </script>

    /* generated by vue-loader */

/***/ }),
/* 642 */
/***/ (function(module, exports) {

    module.exports = "\n<div :class=\"`${prefixCls}-panel ${prefixCls}-panel-default`\">\n    <div :class=\"`${prefixCls}-panel-heading`\">\n      <h4 :class=\"`${prefixCls}-panel-title`\">\n        <a @click=\"toggleIsOpen()\">\n           <slot name=\"header\">\n            {{header}}\n           </slot>\n        </a>\n      </h4>\n    </div>\n    <n3-collapse-transition>\n      <div\n        :class=\"`${prefixCls}-panel-collapse`\"\n        v-if=\"open\">\n        <div :class=\"`${prefixCls}-panel-body`\">\n          <slot></slot>\n        </div>\n      </div>\n    <n3-collapse-transition>\n  </div>\n";

/***/ }),
/* 643 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(644)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] src/Popover/n3Popover.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(645)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-79a50fba/n3Popover.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 644 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    
    var _popoverMixins = __webpack_require__(619);
    
    var _popoverMixins2 = _interopRequireDefault(_popoverMixins);
    
    function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
    
    exports.default = {
      name: 'n3Popover',
      props: {
        prefixCls: {
          type: String,
          default: 'n3'
        }
      },
      mixins: [_popoverMixins2.default],
      computed: {
        classObj: function classObj() {
          var prefixCls = this.prefixCls,
              placement = this.placement;
    
          var klass = {};
    
          klass[prefixCls + '-popover'] = true;
          klass[prefixCls + '-popover-top'] = placement === 'top';
          klass[prefixCls + '-popover-left'] = placement === 'left';
          klass[prefixCls + '-popover-right'] = placement === 'right';
          klass[prefixCls + '-popover-bottom'] = placement === 'bottom';
    
          return klass;
        }
      }
    };
    // </script>
    /* generated by vue-loader */
    // <template>
    // <span >
    //     <span ref="trigger">
    //       <slot>
    //       </slot>
    //     </span>
    //     <transition :name="effect">
    //       <div 
    //         style="max-width:none"
    //         :class="classObj"
    //         ref="popover"
    //         v-show="isShow">
    //           <div :class="`${prefixCls}-popover-arrow`"></div>
    //           <h3 :class="`${prefixCls}-popover-title`" v-show="header">{{title}}</h3>
    //           <div :class="`${prefixCls}-popover-content`" ref="content">
    //            <slot name="content"></slot>
    //           </div>
    //       </div>
    //     </transition>
    // </span>
    // </template>
    //
    // <script>

/***/ }),
/* 645 */
/***/ (function(module, exports) {

    module.exports = "\n<span >\n    <span ref=\"trigger\">\n      <slot>\n      </slot>\n    </span>\n    <transition :name=\"effect\">\n      <div \n        style=\"max-width:none\"\n        :class=\"classObj\"\n        ref=\"popover\"\n        v-show=\"isShow\">\n          <div :class=\"`${prefixCls}-popover-arrow`\"></div>\n          <h3 :class=\"`${prefixCls}-popover-title`\" v-show=\"header\">{{title}}</h3>\n          <div :class=\"`${prefixCls}-popover-content`\" ref=\"content\">\n           <slot name=\"content\"></slot>\n          </div>\n      </div>\n    </transition>\n</span>\n";

/***/ }),
/* 646 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(647)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] src/Popover/n3PopConfirm.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(648)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-2b9e6c2a/n3PopConfirm.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 647 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    
    var _n3Popover = __webpack_require__(643);
    
    var _n3Popover2 = _interopRequireDefault(_n3Popover);
    
    var _n3Button = __webpack_require__(384);
    
    var _n3Button2 = _interopRequireDefault(_n3Button);
    
    var _type = __webpack_require__(579);
    
    var _type2 = _interopRequireDefault(_type);
    
    function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
    
    exports.default = {
      name: 'n3PopConfirm',
      props: {
        effect: {
          type: String,
          default: 'scale'
        },
        content: {
          type: String
        },
        placement: {
          type: String,
          default: 'top'
        },
        onConfirm: {
          type: Function
        },
        okText: {
          type: String,
          default: '确定'
        },
        cancelText: {
          type: String,
          default: '取消'
        }
      },
    
      methods: {
        confirm: function confirm() {
          var self = this;
          if (_type2.default.isFunction(this.onConfirm)) {
            var promise = this.onConfirm();
            if (_type2.default.isPromise(promise)) {
              promise.then(function () {
                for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
                  args[_key] = arguments[_key];
                }
    
                self.$refs.popover.isShow = false;
                return args;
              }).catch(function () {
                for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
                  args[_key2] = arguments[_key2];
                }
    
                self.$refs.popover.isShow = false;
                return Promise.reject(args);
              });
            } else {
              self.$refs.popover.isShow = false;
            }
          }
        }
      },
    
      components: {
        n3Popover: _n3Popover2.default,
        n3Button: _n3Button2.default
      }
    };
    // </script>
    /* generated by vue-loader */
    // <template>
    //     <n3-popover
    //     ref="popover" 
    //     :effect="effect"
    //     :header="false" 
    //     :placement="placement" 
    //     trigger="click">
    //     <div slot="content">
    //         <p>{{content}}</p>
    //         <div style="float:right; margin:10px;">
    //           <n3-button size="sm" @click.native="$refs.popover.isShow = false">{{cancelText}}</n3-button>
    //           <n3-button size="sm" type="primary" @click.native="confirm">{{okText}}</n3-button>
    //         </div>
    //     </div> 
    //     <slot></slot>
    //   </n3-popover>
    // </template>
    //
    // <script>

/***/ }),
/* 648 */
/***/ (function(module, exports) {

    module.exports = "\n\t<n3-popover\n    ref=\"popover\" \n    :effect=\"effect\"\n    :header=\"false\" \n    :placement=\"placement\" \n    trigger=\"click\">\n    <div slot=\"content\">\n        <p>{{content}}</p>\n        <div style=\"float:right; margin:10px;\">\n          <n3-button size=\"sm\" @click.native=\"$refs.popover.isShow = false\">{{cancelText}}</n3-button>\n          <n3-button size=\"sm\" type=\"primary\" @click.native=\"confirm\">{{okText}}</n3-button>\n        </div>\n    </div> \n    <slot></slot>\n  </n3-popover>\n";

/***/ }),
/* 649 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(650)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] src/Progress/n3Progressbar.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(651)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-5affa88b/n3Progressbar.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 650 */
/***/ (function(module, exports) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    // <template>
    //     <div 
    //       :class="classObj"
    //       :style="{width: now + '%',height: height}">
    //       {{label ? now + '%':'' }}
    //     </div>
    // </template>
    //
    // <script>
    exports.default = {
      name: 'n3Progressbar',
      props: {
        height: {
          type: String,
          default: '20px'
        },
        now: {
          type: Number,
          require: true
        },
        label: {
          type: Boolean,
          default: false
        },
        type: {
          type: String
        },
        striped: {
          type: Boolean,
          default: false
        },
        animated: {
          type: Boolean,
          default: false
        },
        prefixCls: {
          type: String,
          default: 'n3'
        }
      },
      computed: {
        classObj: function classObj() {
          var prefixCls = this.prefixCls,
              type = this.type,
              striped = this.striped,
              animated = this.animated;
    
          var klass = {};
    
          klass[prefixCls + '-progress-bar'] = true;
          klass[prefixCls + '-progress-bar-' + type] = true;
          klass[prefixCls + '-progress-bar-striped'] = striped;
          klass[prefixCls + '-progress-bar-animated'] = animated;
    
          return klass;
        }
      }
    };
    // </script>
    /* generated by vue-loader */

/***/ }),
/* 651 */
/***/ (function(module, exports) {

    module.exports = "\n<div \n  :class=\"classObj\"\n  :style=\"{width: now + '%',height: height}\">\n  {{label ? now + '%':'' }}\n</div>\n";

/***/ }),
/* 652 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(653)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] src/Progress/n3Progress.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(654)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-7705b338/n3Progress.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 653 */
/***/ (function(module, exports) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    // <template>
    //   <div :class="`${prefixCls}-progress`">
    //     <slot></slot>
    //   </div>
    // </template>
    // <script>
    exports.default = {
      name: 'n3Progress',
      props: {
        prefixCls: {
          type: String,
          default: 'n3'
        }
      }
    };
    // </script>
    /* generated by vue-loader */

/***/ }),
/* 654 */
/***/ (function(module, exports) {

    module.exports = "\n<div :class=\"`${prefixCls}-progress`\">\n  <slot></slot>\n</div>\n";

/***/ }),
/* 655 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(656)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] src/Radio/n3Radio.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(657)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-69eee4a6/n3Radio.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 656 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    
    var _valMixin = __webpack_require__(576);
    
    var _valMixin2 = _interopRequireDefault(_valMixin);
    
    var _events = __webpack_require__(580);
    
    var _events2 = _interopRequireDefault(_events);
    
    var _validate = __webpack_require__(577);
    
    var _validate2 = _interopRequireDefault(_validate);
    
    function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
    
    exports.default = {
      name: 'n3Radio',
      mixins: [_valMixin2.default, _events2.default],
      props: {
        value: {
          type: String
        },
        checked: {
          type: Boolean,
          default: false,
          twoway: true
        },
        label: {
          type: [String, Number]
        },
        disabled: {
          type: Boolean,
          default: false
        },
        prefixCls: {
          type: String,
          default: 'n3'
        }
      },
      components: {
        validate: _validate2.default
      },
      data: function data() {
        var checked = this.checked;
        if (checked !== undefined) {
          this.$emit('input', checked);
        } else {
          checked = !!this.value;
        }
    
        return {
          currentChecked: checked
        };
      },
    
      computed: {
        wrapClasses: function wrapClasses() {
          var klass = {};
          var prefixCls = this.prefixCls,
              currentChecked = this.currentChecked,
              disabled = this.disabled;
    
    
          klass[prefixCls + '-radio-span'] = true;
          klass[prefixCls + '-radio-checked'] = currentChecked;
          klass[prefixCls + '-radio-disabled'] = disabled;
    
          return klass;
        }
      },
      watch: {
        value: function value(val) {
          this.currentChecked = val;
        },
        checked: function checked(val) {
          this.currentChecked = val;
        },
        currentChecked: function currentChecked(val) {
          this.$emit('input', val);
        }
      },
      created: function created() {
        var _this = this;
    
        this.$on('n3@radiogroupChange', function (val) {
          _this.currentChecked = val === _this.label;
        });
      },
    
      methods: {
        handleClick: function handleClick() {
          if (this.currentChecked) return;
          this.currentChecked = true;
          this.dispatch('n3RadioGroup', 'n3@radioChange', this.label);
          this.$emit('change', this.currentChecked);
        }
      }
    };
    // </script>
    /* generated by vue-loader */
    // <template>
    // <label :class="`${prefixCls}-radio-con`">
    //   <span :class="wrapClasses">
    //     <span :class="`${prefixCls}-radio-inner`"></span> 
    //     <input 
    //     type="radio" 
    //     :disabled="disabled"
    //     :checked="currentChecked"
    //     :class="`${prefixCls}-radio-input`" 
    //     @click.prevent="handleClick" >
    //   </span>
    //   <span><slot></slot></span>
    //   <validate
    //     :name="name"
    //     :rules="rules"
    //     :custom-validate="customValidate" 
    //     :current="checked">
    //   </validate>
    // </label>
    // </template>
    //
    // <script>

/***/ }),
/* 657 */
/***/ (function(module, exports) {

    module.exports = "\n<label :class=\"`${prefixCls}-radio-con`\">\n  <span :class=\"wrapClasses\">\n    <span :class=\"`${prefixCls}-radio-inner`\"></span> \n    <input \n    type=\"radio\" \n    :disabled=\"disabled\"\n    :checked=\"currentChecked\"\n    :class=\"`${prefixCls}-radio-input`\" \n    @click.prevent=\"handleClick\" >\n  </span>\n  <span><slot></slot></span>\n  <validate\n    :name=\"name\"\n    :rules=\"rules\"\n    :custom-validate=\"customValidate\" \n    :current=\"checked\">\n  </validate>\n</label>\n";

/***/ }),
/* 658 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(659)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] src/Radio/n3RadioBtn.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(660)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-a549b3f4/n3RadioBtn.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 659 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    
    var _n3Button = __webpack_require__(384);
    
    var _n3Button2 = _interopRequireDefault(_n3Button);
    
    var _events = __webpack_require__(580);
    
    var _events2 = _interopRequireDefault(_events);
    
    var _valMixin = __webpack_require__(576);
    
    var _valMixin2 = _interopRequireDefault(_valMixin);
    
    function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
    
    exports.default = {
      name: 'n3RadioBtn',
      mixins: [_valMixin2.default, _events2.default],
      props: {
        value: {
          type: String
        },
        label: {
          type: [String, Number]
        },
        checked: {
          type: Boolean,
          default: false,
          twoway: true
        },
        disabled: {
          type: Boolean,
          default: false
        },
        prefixCls: {
          type: String,
          default: 'n3'
        }
      },
      watch: {
        value: function value(val) {
          this.currentChecked = val;
        },
        checked: function checked(val) {
          this.currentChecked = val;
        },
        currentChecked: function currentChecked(val) {
          this.$emit('input', val);
        }
      },
      data: function data() {
        var checked = this.checked;
        if (checked !== undefined) {
          this.$emit('input', checked);
        } else {
          checked = !!this.value;
        }
    
        return {
          currentChecked: checked
        };
      },
    
      computed: {
        classObj: function classObj() {
          var prefixCls = this.prefixCls;
    
          var klass = {};
          klass[prefixCls + '-radio-btn'] = true;
    
          return klass;
        }
      },
      created: function created() {
        var _this = this;
    
        this.$on('n3@radiogroupChange', function (val) {
          _this.currentChecked = val === _this.label;
        });
      },
    
      methods: {
        handleClick: function handleClick() {
          if (this.currentChecked) return;
          this.currentChecked = true;
          this.dispatch('n3RadioGroup', 'n3@radioChange', this.label);
          this.$emit('change', this.currentChecked);
        }
      },
      components: {
        n3Button: _n3Button2.default
      }
    };
    // </script>
    /* generated by vue-loader */
    // <template>
    //   <n3-button 
    //     @click.prevent.native="handleClick"
    //     :class="classObj" 
    //     :disabled="disabled"
    //     :type="currentChecked ? 'primary' : 'default'">
    //     <slot></slot>
    //   </n3-button>
    // </template>
    //
    // <script>

/***/ }),
/* 660 */
/***/ (function(module, exports) {

    module.exports = "\n<n3-button \n  @click.prevent.native=\"handleClick\"\n  :class=\"classObj\" \n  :disabled=\"disabled\"\n  :type=\"currentChecked ? 'primary' : 'default'\">\n  <slot></slot>\n</n3-button>\n";

/***/ }),
/* 661 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(662)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] src/Radio/n3RadioGroup.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(663)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-f3514fae/n3RadioGroup.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 662 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    
    var _n3Radio = __webpack_require__(655);
    
    var _n3Radio2 = _interopRequireDefault(_n3Radio);
    
    var _n3RadioBtn = __webpack_require__(658);
    
    var _n3RadioBtn2 = _interopRequireDefault(_n3RadioBtn);
    
    var _valMixin = __webpack_require__(576);
    
    var _valMixin2 = _interopRequireDefault(_valMixin);
    
    var _events = __webpack_require__(580);
    
    var _events2 = _interopRequireDefault(_events);
    
    var _validate = __webpack_require__(577);
    
    var _validate2 = _interopRequireDefault(_validate);
    
    var _type = __webpack_require__(579);
    
    var _type2 = _interopRequireDefault(_type);
    
    function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
    
    // <template>
    // <div :class="`${prefixCls}-btn-group ${prefixCls}-radio-group`">
    //     <slot></slot>
    //
    //     <validate
    //       :name="name"
    //       :rules="rules"
    //       :custom-validate="customValidate" 
    //       :current="value">
    //     </validate>
    //
    //   </div>
    // </template>
    //
    // <script>
    exports.default = {
      name: 'n3RadioGroup',
      mixins: [_valMixin2.default, _events2.default],
      props: {
        value: {
          type: String,
          twoWay: true
        },
        type: {
          type: String,
          default: 'checkbox'
        },
        prefixCls: {
          type: String,
          default: 'n3'
        }
      },
      data: function data() {
        return {
          currentValue: this.value
        };
      },
    
      methods: {
        init: function init(val) {
          if (!_type2.default.isUndefined(val)) {
            this.currentValue = val;
          } else {
            var children = this.$children;
            var ret = void 0;
            children.forEach(function (item) {
              item.currentChecked ? ret = item.label : '';
            });
            this.currentValue = ret;
          }
        }
      },
    
      watch: {
        value: function value(val) {
          this.currentValue = val;
        },
        currentValue: function currentValue(val) {
          this.broadcast('n3Radio', 'n3@radiogroupChange', val);
          this.broadcast('n3RadioBtn', 'n3@radiogroupChange', val);
          this.$emit('input', val);
          this.$emit('change', val);
        }
      },
    
      created: function created() {
        var _this = this;
    
        this.$on('n3@radioChange', function (val) {
          _this.init(val);
        });
      },
      mounted: function mounted() {
        var _this2 = this;
    
        this.$nextTick(function () {
          _this2.init();
        });
      },
    
    
      components: {
        n3Radio: _n3Radio2.default,
        n3RadioBtn: _n3RadioBtn2.default,
        validate: _validate2.default
      }
    };
    // </script>

    /* generated by vue-loader */

/***/ }),
/* 663 */
/***/ (function(module, exports) {

    module.exports = "\n<div :class=\"`${prefixCls}-btn-group ${prefixCls}-radio-group`\">\n    <slot></slot>\n\n    <validate\n      :name=\"name\"\n      :rules=\"rules\"\n      :custom-validate=\"customValidate\" \n      :current=\"value\">\n    </validate>\n\n  </div>\n";

/***/ }),
/* 664 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(665)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] src/Select/n3Select.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(668)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-0f49d050/n3Select.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 665 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    
    var _EventListener = __webpack_require__(561);
    
    var _EventListener2 = _interopRequireDefault(_EventListener);
    
    var _n3Button = __webpack_require__(384);
    
    var _n3Button2 = _interopRequireDefault(_n3Button);
    
    var _n3Icon = __webpack_require__(380);
    
    var _n3Icon2 = _interopRequireDefault(_n3Icon);
    
    var _valMixin = __webpack_require__(576);
    
    var _valMixin2 = _interopRequireDefault(_valMixin);
    
    var _render = __webpack_require__(666);
    
    var _render2 = _interopRequireDefault(_render);
    
    var _validate = __webpack_require__(577);
    
    var _validate2 = _interopRequireDefault(_validate);
    
    var _type = __webpack_require__(579);
    
    var _type2 = _interopRequireDefault(_type);
    
    function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
    
    exports.default = {
      name: 'n3Select',
      mixins: [_valMixin2.default],
      props: {
        readonly: {
          type: Boolean,
          default: false
        },
        disabled: {
          type: Boolean,
          default: false
        },
        showselected: {
          type: Boolean,
          default: true
        },
        inputPlaceholder: {
          type: String,
          default: '输入...'
        },
        size: {
          type: String
        },
        context: {},
        type: {
          type: String,
          default: 'default'
        },
        options: {
          type: Array,
          default: function _default() {
            return [];
          }
        },
        value: {},
        placeholder: {
          type: String,
          default: '请选择'
        },
        multiple: {
          type: Boolean,
          default: false
        },
        search: {
          type: Boolean,
          default: false
        },
        extra: {
          type: Boolean,
          default: false
        },
        limit: {
          type: Number,
          default: 1024
        },
        width: {
          type: String
        },
        menuMaxHeight: {
          type: String,
          default: '300px'
        },
        menuWidth: {
          type: String
        },
        format: {
          type: Function,
          default: function _default(item) {
            return item.label;
          }
        },
        cancelled: {
          type: Boolean,
          default: true
        },
        prefixCls: {
          type: String,
          default: 'n3'
        }
      },
      data: function data() {
        return {
          searchText: '',
          show: false,
          showNotify: false,
          currentValue: this.value,
          currentOptions: this.options
        };
      },
    
      watch: {
        value: function value(val) {
          this.currentValue = val;
        },
        options: function options(val) {
          this.currentOptions = val;
        },
        currentValue: function currentValue(val) {
          this.$emit('input', val);
          this.$emit('change', val);
        }
      },
      components: {
        n3Button: _n3Button2.default,
        n3Icon: _n3Icon2.default,
        render: _render2.default,
        validate: _validate2.default
      },
      computed: {
        filterOptions: function filterOptions() {
          return this.filter(this.currentOptions, this.searchText);
        },
    
        valueArray: {
          get: function get() {
            var a;
            if (_type2.default.isArray(this.currentValue)) {
              a = this.currentValue;
            } else {
              a = [this.currentValue];
            }
            return this.findInOptions(a);
          },
          set: function set(value) {
            var self = this;
            if (this.multiple) {
              var ret = [];
              for (var i = 0; i < value.length; i++) {
                ret.push(value[i].value);
              }
              var timeout = void 0;
              if (timeout) clearTimeout(timeout);
              if (ret.length > this.limit) {
                this.showNotify = true;
                this.remove(value, this.limit);
                timeout = setTimeout(function () {
                  self.showNotify = false;
                }, 1000);
              } else {
                this.currentValue = ret;
              }
            } else {
              this.currentValue = value[0] ? value[0].value : '';
            }
          }
        },
        allSelected: function allSelected() {
          var options = this.filter(this.currentOptions, this.searchText);
          var values = this.currentValue;
    
          if (!values || options.length !== values.length || options.length === 0) {
            return false;
          }
    
          for (var i = 0, l = options.length; i < l; i++) {
            var value = options[i].value;
            if (values.indexOf(value) === -1) {
              return false;
            }
          }
          return true;
        },
        selectedItems: function selectedItems() {
          var ret = [];
          var a = this.valueArray;
    
          for (var i = 0; i < a.length; i++) {
            ret.push(a[i]);
          }
          return ret;
        },
        showPlaceholder: function showPlaceholder() {
          if (_type2.default.isArray(this.currentValue)) {
            return this.currentValue.length <= 0;
          } else {
            return _type2.default.isNullOrUndefined(this.currentValue) || this.currentValue === '';
          }
        }
      },
      mounted: function mounted() {
        var _this = this;
    
        this.$nextTick(function () {
          if (!_this.currentOptions.length) {
            var options = _this.$refs.menu.querySelectorAll('.' + _this.prefixCls + '-option');
            var ret = [];
    
            for (var i = 0, l = options.length; i < l; i++) {
              var value = options[i].getAttribute('value');
              var label = options[i].innerHTML;
    
              ret.push({ value: value, label: label });
            }
            _this.currentOptions = ret;
          }
          _this._closeEvent = _EventListener2.default.listen(window, 'click', function (e) {
            if (!_this.$el.contains(e.target)) _this.show = false;
          });
        });
      },
      beforeDestroy: function beforeDestroy() {
        if (this._closeEvent) this._closeEvent.remove();
      },
    
      methods: {
        filter: function filter(value, search) {
          if (search === '') return value;
          var ret = [];
          for (var i = 0, l = value.length; i < l; i++) {
            if (value[i] && String(value[i].label).replace(/<.*?>/g, '').indexOf(search) > -1) {
              ret.push(value[i]);
            }
          }
          return ret;
        },
        selectAll: function selectAll() {
          if (this.allSelected) {
            this.valueArray = [];
          } else {
            this.valueArray = this.filter(this.currentOptions, this.searchText);
          }
        },
        addExtra: function addExtra() {
          if (this.extra && this.searchText.replace(/\s+$|^\s+/g, '')) {
            this.currentOptions.push({ value: this.searchText, label: this.searchText });
            this.add({ value: this.searchText, label: this.searchText });
            this.searchText = '';
          }
        },
        findInOptions: function findInOptions(a) {
          var options = this.currentOptions;
          var ret = [];
    
          for (var i = 0; i < a.length; i++) {
            var s = this.find(a[i], options);
            s != null ? ret.push(s) : 0;
          }
          return ret;
        },
        find: function find(v, array) {
          var a = array || this.valueArray;
          for (var i = 0; i < a.length; i++) {
            if (v === a[i].value) {
              return a[i];
            }
          }
          return null;
        },
        findIndex: function findIndex(v, array) {
          var a = array || this.valueArray;
          for (var i = 0; i < a.length; i++) {
            if (v === a[i].value) {
              return i;
            }
          }
          return -1;
        },
        add: function add(option) {
          var a = this.valueArray.slice(0);
          if (this.multiple) {
            a.push(option);
          } else {
            a = [option];
          }
          this.valueArray = a;
        },
        del: function del(item) {
          var index = this.findIndex(item.value);
          this.remove(this.valueArray, index, 1);
        },
        remove: function remove(array, index, num) {
          var a = array.slice(0);
          num ? a.splice(index, num) : a.splice(index);
          this.valueArray = a;
        },
        select: function select(option) {
          var index = this.findIndex(option.value);
          if (this.multiple) {
            index === -1 ? this.add(option) : this.remove(this.valueArray, index, 1);
          } else {
            index === -1 ? this.valueArray = [option] : this.cancelled ? this.valueArray = [] : 0;
            this.show = false;
          }
        },
        toggleDropdown: function toggleDropdown() {
          if (!this.disabled && !this.readonly) {
            this.show = !this.show;
          }
        }
      }
    };
    // </script>
    /* generated by vue-loader */
    // <template>
    //   <div :class="`${prefixCls}-btn-group ${prefixCls}-select-group`" >
    //     <n3-button
    //       :style="{width:width}"
    //       :disabled="disabled"
    //       :size="size"
    //       :class="[`${prefixCls}-dropdown-toggle`,`${prefixCls}-select-btn`,showselected&&multiple&&value.length ? `${prefixCls}-select-multiple` : '']"
    //       @click.native="toggleDropdown">
    //         <span  v-if="showPlaceholder || !showselected">{{placeholder}}</span>
    //         <span  v-if="showselected" >
    //           <template v-for="item in selectedItems" v-if="multiple">
    //             <render 
    //               @click.native.prevent.stop="del(item)"
    //               :class="`${prefixCls}-selected-tag`" 
    //               :context="context || $parent._self"
    //               :template="format(item)">
    //             </render>
    //           </template>
    //           <template v-else>
    //             <render :context="context || $parent._self" :template="format(selectedItems[0])"></render>
    //           </template>
    //         </span>
    //       <n3-icon :type="show?'angle-up' : 'angle-down'" ></n3-icon>
    //     </n3-button>
    //     <transition name="fadeDown">
    //       <ul 
    //         :style="{maxHeight:menuMaxHeight,width:menuWidth}" 
    //         :class="`${prefixCls}-dropdown-menu`" 
    //         ref="menu" 
    //         v-n3-position="show"
    //         v-show="show">
    //           <li v-if="search">
    //             <input
    //               :class="`${prefixCls}-select-search`"
    //               :placeholder="inputPlaceholder"
    //               v-model="searchText"
    //               @keydown.native.enter="addExtra"
    //             ></input>
    //             <n3-icon type="plus-square-o" v-if="extra" @click.native="addExtra"></n3-icon>
    //           </li>
    //           <li v-if="multiple" :class="`${prefixCls}-select-all`">
    //             <a @click.prevent="selectAll">
    //               全选
    //              <n3-icon type="check" v-show="allSelected"></n3-icon>
    //             </a>
    //           </li>
    //
    //           <template v-if="currentOptions.length">
    //             <li v-for="option in filterOptions" 
    //                 :value="option.value" 
    //                 style="position:relative">
    //               <a @click.prevent="select(option)" >
    //                 <span v-html="option.label"></span>
    //                 <n3-icon type="check" v-show="findIndex(option.value) !== -1"></n3-icon>
    //               </a>
    //             </li>
    //           </template>
    //           <slot v-else ></slot>
    //         <div :class="`${prefixCls}-notify`" v-show="showNotify" transition="fade">最多选择 {{limit}} 项</div>
    //       </ul>
    //     </transition>
    //     <div class="clearfix"></div>
    //     <validate
    //       :name="name"
    //       :rules="rules"
    //       :custom-validate="customValidate" 
    //       :current="value">
    //     </validate>
    //   </div>
    // </template>
    //
    // <script>

/***/ }),
/* 666 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(667)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] src/render.vue: named exports in *.vue files are ignored.")}
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-212c1ae2/render.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 667 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
        value: true
    });
    
    var _vue = __webpack_require__(555);
    
    var _vue2 = _interopRequireDefault(_vue);
    
    function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
    
    exports.default = {
        props: {
            context: {},
            template: {}
        },
        render: function render(h) {
            var _this = this;
    
            var template = '<div class="inline">' + this.template + '</div>';
            var compile = _vue2.default.compile(template);
            var l = compile.staticRenderFns.length;
            var ret = [];
    
            if (l) {
                compile.staticRenderFns.forEach(function (i) {
                    ret.push(i.call(_this.context, h));
                });
            } else {
                ret = [compile.render.call(this.context, h)];
            }
    
            return h('div', ret);
        }
    };
    // </script>
    /* generated by vue-loader */
    // <script>

/***/ }),
/* 668 */
/***/ (function(module, exports) {

    module.exports = "\n<div :class=\"`${prefixCls}-btn-group ${prefixCls}-select-group`\" >\n  <n3-button\n    :style=\"{width:width}\"\n    :disabled=\"disabled\"\n    :size=\"size\"\n    :class=\"[`${prefixCls}-dropdown-toggle`,`${prefixCls}-select-btn`,showselected&&multiple&&value.length ? `${prefixCls}-select-multiple` : '']\"\n    @click.native=\"toggleDropdown\">\n      <span  v-if=\"showPlaceholder || !showselected\">{{placeholder}}</span>\n      <span  v-if=\"showselected\" >\n        <template v-for=\"item in selectedItems\" v-if=\"multiple\">\n          <render \n            @click.native.prevent.stop=\"del(item)\"\n            :class=\"`${prefixCls}-selected-tag`\" \n            :context=\"context || $parent._self\"\n            :template=\"format(item)\">\n          </render>\n        </template>\n        <template v-else>\n          <render :context=\"context || $parent._self\" :template=\"format(selectedItems[0])\"></render>\n        </template>\n      </span>\n    <n3-icon :type=\"show?'angle-up' : 'angle-down'\" ></n3-icon>\n  </n3-button>\n  <transition name=\"fadeDown\">\n    <ul \n      :style=\"{maxHeight:menuMaxHeight,width:menuWidth}\" \n      :class=\"`${prefixCls}-dropdown-menu`\" \n      ref=\"menu\" \n      v-n3-position=\"show\"\n      v-show=\"show\">\n        <li v-if=\"search\">\n          <input\n            :class=\"`${prefixCls}-select-search`\"\n            :placeholder=\"inputPlaceholder\"\n            v-model=\"searchText\"\n            @keydown.native.enter=\"addExtra\"\n          ></input>\n          <n3-icon type=\"plus-square-o\" v-if=\"extra\" @click.native=\"addExtra\"></n3-icon>\n        </li>\n        <li v-if=\"multiple\" :class=\"`${prefixCls}-select-all`\">\n          <a @click.prevent=\"selectAll\">\n            全选\n           <n3-icon type=\"check\" v-show=\"allSelected\"></n3-icon>\n          </a>\n        </li>\n\n        <template v-if=\"currentOptions.length\">\n          <li v-for=\"option in filterOptions\" \n              :value=\"option.value\" \n              style=\"position:relative\">\n            <a @click.prevent=\"select(option)\" >\n              <span v-html=\"option.label\"></span>\n              <n3-icon type=\"check\" v-show=\"findIndex(option.value) !== -1\"></n3-icon>\n            </a>\n          </li>\n        </template>\n        <slot v-else ></slot>\n      <div :class=\"`${prefixCls}-notify`\" v-show=\"showNotify\" transition=\"fade\">最多选择 {{limit}} 项</div>\n    </ul>\n  </transition>\n  <div class=\"clearfix\"></div>\n  <validate\n    :name=\"name\"\n    :rules=\"rules\"\n    :custom-validate=\"customValidate\" \n    :current=\"value\">\n  </validate>\n</div>\n";

/***/ }),
/* 669 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(670)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] src/Tabs/n3Tab.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(671)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-5716c0eb/n3Tab.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 670 */
/***/ (function(module, exports) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    // <template>
    //   <div 
    //     :class="classObj"
    //     v-show="show">
    //     <slot></slot>
    //   </div>
    // </template>
    //
    // <script>
    exports.default = {
      name: 'n3Tab',
      props: {
        header: {
          type: String
        },
        disabled: {
          type: Boolean,
          default: false
        },
        badge: {
          type: [String, Number]
        },
        prefixCls: {
          type: String,
          default: 'n3'
        }
      },
      data: function data() {
        return {
          index: 0
        };
      },
    
      computed: {
        classObj: function classObj() {
          var prefixCls = this.prefixCls,
              show = this.show;
    
          var klass = {};
    
          klass[prefixCls + '-tab-pane'] = true;
          klass[prefixCls + '-tab-hide'] = !show;
    
          return klass;
        },
        show: function show() {
          return this.$parent.activeIndex == this.index;
        }
      },
      created: function created() {
        if (!this.$parent.list && this.$parent.renderData) {
          this.$parent.renderData.push({
            header: this.header,
            disabled: this.disabled,
            badge: this.badge
          });
        }
      },
      mounted: function mounted() {
        var _this = this;
    
        this.$nextTick(function () {
          for (var c in _this.$parent.$children) {
            if (_this.$parent.$children[c].$el == _this.$el) {
              _this.index = c;
              break;
            }
          }
        });
      }
    };
    // </script>

    /* generated by vue-loader */

/***/ }),
/* 671 */
/***/ (function(module, exports) {

    module.exports = "\n<div \n  :class=\"classObj\"\n  v-show=\"show\">\n  <slot></slot>\n</div>\n";

/***/ }),
/* 672 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(673)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] src/Tabs/n3Tabs.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(674)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-e12604d0/n3Tabs.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 673 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    
    var _n3Badge = __webpack_require__(389);
    
    var _n3Badge2 = _interopRequireDefault(_n3Badge);
    
    function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
    
    exports.default = {
      name: 'n3Tabs',
      props: {
        pills: {
          type: Boolean
        },
        stacked: {
          type: Boolean
        },
        primary: {
          type: Boolean
        },
        justified: {
          type: Boolean
        },
        value: {
          type: Number,
          default: 0
        },
        list: {
          type: Array
        },
        prefixCls: {
          type: String,
          default: 'n3'
        }
      },
      data: function data() {
        var activeIndex = this.value;
        return {
          renderData: [],
          activeIndex: activeIndex
        };
      },
    
      components: {
        n3Badge: _n3Badge2.default
      },
      computed: {
        classObj: function classObj() {
          var prefixCls = this.prefixCls,
              pills = this.pills,
              stacked = this.stacked,
              primary = this.primary,
              justified = this.justified;
    
          var klass = {};
    
          klass[prefixCls + '-nav'] = true;
          klass['clearfix'] = true;
          klass[prefixCls + '-nav-tabs'] = true;
          klass[prefixCls + '-nav-tabs-pills'] = pills;
          klass[prefixCls + '-nav-tabs-stacked'] = stacked;
          klass[prefixCls + '-nav-tabs-primary'] = primary;
          klass[prefixCls + '-nav-tabs-justified'] = justified;
    
          return klass;
        }
      },
      watch: {
        list: {
          handler: function handler() {
            if (this.list) {
              this.renderData = this.list;
            }
          },
    
          immediate: true
        }
      },
      methods: {
        liclassObj: function liclassObj(index, r) {
          var prefixCls = this.prefixCls,
              activeIndex = this.activeIndex;
    
          var klass = {};
    
          klass[prefixCls + '-nav-tabs-active'] = index === activeIndex;
          klass[prefixCls + '-nav-tabs-disabled'] = r.disabled;
    
          return klass;
        },
        handleTabListClick: function handleTabListClick(index, el) {
          if (!el.disabled) {
            this.activeIndex = index;
          } else {
            return;
          }
          this.$emit('change', index, el);
        }
      }
    };
    // </script>
    /* generated by vue-loader */
    // <template>
    //   <div>
    //     <ul :class="classObj" >
    //       <li
    //           v-for="(r,index) in renderData"
    //           :class="liclassObj(index,r)"
    //           @click.prevent="handleTabListClick(index, r)"
    //           :disabled="r.disabled">
    //           <a href="#">
    //             {{r.header}}
    //             <n3-badge v-if="r.badge">{{r.badge}}</n3-badge>
    //           </a>
    //       </li>
    //     </ul>
    //     <div :class="`${prefixCls}-tab-content`">
    //       <div v-if="list">
    //           <span v-html='renderData[activeIndex].content'></span>
    //       </div>
    //       <slot v-else></slot>
    //     </div>
    //   </div>
    // </template>
    //
    // <script>

/***/ }),
/* 674 */
/***/ (function(module, exports) {

    module.exports = "\n<div>\n  <ul :class=\"classObj\" >\n    <li\n        v-for=\"(r,index) in renderData\"\n        :class=\"liclassObj(index,r)\"\n        @click.prevent=\"handleTabListClick(index, r)\"\n        :disabled=\"r.disabled\">\n        <a href=\"#\">\n          {{r.header}}\n          <n3-badge v-if=\"r.badge\">{{r.badge}}</n3-badge>\n        </a>\n    </li>\n  </ul>\n  <div :class=\"`${prefixCls}-tab-content`\">\n    <div v-if=\"list\">\n        <span v-html='renderData[activeIndex].content'></span>\n    </div>\n    <slot v-else></slot>\n  </div>\n</div>\n";

/***/ }),
/* 675 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(676)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] src/Button/n3ButtonGroup.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(677)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-af28e112/n3ButtonGroup.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 676 */
/***/ (function(module, exports) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    // <template>
    //   <div :class="`${prefixCls}-btn-group`">
    //     <slot></slot>  
    //   </div>
    // </template>
    //
    // <script>
    exports.default = {
      name: 'n3ButtonGroup',
      props: {
        prefixCls: {
          type: String,
          default: 'n3'
        }
      }
    };
    // </script>

    /* generated by vue-loader */

/***/ }),
/* 677 */
/***/ (function(module, exports) {

    module.exports = "\n<div :class=\"`${prefixCls}-btn-group`\">\n  <slot></slot>  \n</div>\n";

/***/ }),
/* 678 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(679)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] src/Layout/n3Container.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(680)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-eac4c7fa/n3Container.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 679 */
/***/ (function(module, exports) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    // <template>
    //   <div :class="classObj" >
    //       <slot></slot>        
    //   </div>
    // </template>
    // <script>
    exports.default = {
      name: 'n3Container',
      props: {
        fluid: {
          type: Boolean
        },
        prefixCls: {
          type: String,
          default: 'n3'
        }
      },
      computed: {
        classObj: function classObj() {
          var prefixCls = this.prefixCls,
              fluid = this.fluid;
    
          var klass = {};
    
          klass[prefixCls + '-container-fluid'] = fluid;
          klass[prefixCls + '-container'] = !fluid;
          klass['clearfix'] = true;
    
          return klass;
        }
      }
    };
    // </script>
    /* generated by vue-loader */

/***/ }),
/* 680 */
/***/ (function(module, exports) {

    module.exports = "\n<div :class=\"classObj\" >\n\t<slot></slot>\t\t\n</div>\n";

/***/ }),
/* 681 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(682)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] src/Layout/n3Row.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(683)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-870ee748/n3Row.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 682 */
/***/ (function(module, exports) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    // <template>
    //   <div :class="`${prefixCls}-row`">
    //       <slot></slot>        
    //   </div>
    // </template>
    // <script>
    exports.default = {
      name: 'n3Row',
      props: {
        prefixCls: {
          type: String,
          default: 'n3'
        }
      }
    };
    // </script>

    /* generated by vue-loader */

/***/ }),
/* 683 */
/***/ (function(module, exports) {

    module.exports = "\n<div :class=\"`${prefixCls}-row`\">\n\t<slot></slot>\t\t\n</div>\n";

/***/ }),
/* 684 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(685)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] src/Nav/n3Nav.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(687)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-559f2694/n3Nav.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 685 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    
    var _eventMixin = __webpack_require__(686);
    
    var _eventMixin2 = _interopRequireDefault(_eventMixin);
    
    function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
    
    exports.default = {
      name: 'n3Nav',
      componentName: 'n3Nav',
      mixins: [_eventMixin2.default],
      props: {
        mode: {
          type: String,
          default: 'vertical'
        },
        defaultActive: {
          type: [String, Number],
          default: ''
        },
        defaultOpeneds: Array,
        theme: {
          type: String,
          default: 'light'
        },
        uniqueOpened: Boolean,
        router: Boolean,
        trigger: {
          type: String,
          default: 'hover'
        },
        prefixCls: {
          type: String,
          default: 'n3'
        }
      },
    
      computed: {
        classObj: function classObj() {
          var prefixCls = this.prefixCls,
              mode = this.mode,
              theme = this.theme;
    
          var obj = {};
          obj[prefixCls + '-nav-horizontal'] = mode === 'horizontal';
          obj[prefixCls + '-nav-dark'] = theme === 'dark';
          obj[prefixCls + '-nav'] = true;
    
          return obj;
        }
      },
    
      data: function data() {
        return {
          activedIndex: this.defaultActive,
          openedMenus: this.defaultOpeneds ? this.defaultOpeneds.slice(0) : [],
          items: {},
          submenus: {}
        };
      },
    
    
      watch: {
        defaultActive: function defaultActive(value) {
          var item = this.items[value];
          if (item) {
            this.activedIndex = item.index;
            this.initOpenedMenu();
          } else {
            this.activedIndex = '';
          }
        },
        defaultOpeneds: function defaultOpeneds(value) {
          this.openedMenus = value;
        }
      },
      methods: {
        addItem: function addItem(item) {
          this.$set(this.items, item.index, item);
        },
        removeItem: function removeItem(item) {
          delete this.items[item.index];
        },
        addSubmenu: function addSubmenu(item) {
          this.$set(this.submenus, item.index, item);
        },
        removeSubmenu: function removeSubmenu(item) {
          delete this.submenus[item.index];
        },
        openMenu: function openMenu(index, indexPath) {
          var openedMenus = this.openedMenus;
          if (openedMenus.indexOf(index) !== -1) return;
    
          if (this.uniqueOpened) {
            this.openedMenus = openedMenus.filter(function (index) {
              return indexPath.indexOf(index) !== -1;
            });
          }
          this.openedMenus.push(index);
        },
        closeMenu: function closeMenu(index, indexPath) {
          this.openedMenus.splice(this.openedMenus.indexOf(index), 1);
        },
        handleSubmenuClick: function handleSubmenuClick(submenu) {
          var index = submenu.index,
              indexPath = submenu.indexPath;
    
          var isOpened = this.openedMenus.indexOf(index) !== -1;
          if (isOpened) {
            this.closeMenu(index, indexPath);
            this.$emit('close', index, indexPath);
          } else {
            this.openMenu(index, indexPath);
            this.$emit('open', index, indexPath);
          }
        },
        handleItemClick: function handleItemClick(item) {
          var index = item.index,
              indexPath = item.indexPath;
    
          this.activedIndex = item.index;
          this.$emit('select', index, indexPath, item);
          if (this.mode === 'horizontal') {
            this.openedMenus = [];
          }
          if (this.router) {
            this.routeToItem(item);
          }
        },
    
        // 初始化展开菜单
        initOpenedMenu: function initOpenedMenu() {
          var _this = this;
    
          var index = this.activedIndex;
          var activeItem = this.items[index];
          if (!activeItem || this.mode === 'horizontal') return;
          var indexPath = activeItem.indexPath;
          // 展开该菜单项的路径上所有子菜单
          indexPath.forEach(function (index) {
            var submenu = _this.submenus[index];
            submenu && _this.openMenu(index, submenu.indexPath);
          });
        },
        routeToItem: function routeToItem(item) {
          var route = item.route || item.index;
          try {
            this.$router.push(route);
          } catch (e) {
            console.error(e);
          }
        }
      },
      mounted: function mounted() {
        this.initOpenedMenu();
        this.$on('item-click', this.handleItemClick);
        this.$on('submenu-click', this.handleSubmenuClick);
      }
    };
    // </script>
    /* generated by vue-loader */
    // <template>
    //   <ul :class="classObj">
    //     <slot></slot>
    //   </ul>
    // </template>
    // <script>

/***/ }),
/* 686 */
/***/ (function(module, exports) {

    "use strict";
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    function _broadcast(componentName, eventName, params) {
      this.$children.forEach(function (child) {
        var name = child.$options.componentName;
    
        if (name === componentName) {
          child.$emit.apply(child, [eventName].concat(params));
        } else {
          _broadcast.apply(child, [componentName, eventName].concat([params]));
        }
      });
    }
    exports.default = {
      methods: {
        dispatch: function dispatch(componentName, eventName, params) {
          var parent = this.$parent || this.$root;
          var name = parent.$options.componentName;
    
          while (parent && (!name || name !== componentName)) {
            parent = parent.$parent;
    
            if (parent) {
              name = parent.$options.componentName;
            }
          }
          if (parent) {
            parent.$emit.apply(parent, [eventName].concat(params));
          }
        },
        broadcast: function broadcast(componentName, eventName, params) {
          _broadcast.call(this, componentName, eventName, params);
        }
      }
    };

/***/ }),
/* 687 */
/***/ (function(module, exports) {

    module.exports = "\n<ul :class=\"classObj\">\n  <slot></slot>\n</ul>\n";

/***/ }),
/* 688 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(689)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] src/Nav/n3SubNav.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(691)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-77589900/n3SubNav.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 689 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    
    var _n3Icon = __webpack_require__(380);
    
    var _n3Icon2 = _interopRequireDefault(_n3Icon);
    
    var _navMixin = __webpack_require__(690);
    
    var _navMixin2 = _interopRequireDefault(_navMixin);
    
    var _eventMixin = __webpack_require__(686);
    
    var _eventMixin2 = _interopRequireDefault(_eventMixin);
    
    var _n3CollapseTransition = __webpack_require__(628);
    
    var _n3CollapseTransition2 = _interopRequireDefault(_n3CollapseTransition);
    
    function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
    
    // <template>
    //   <li :class="liClass">
    //     <div  ref="subnav-title" :style="paddingStyle" :class="`${prefixCls}-subnav__title`">
    //       <slot name="title"></slot>
    //       <n3-icon type="angle-right" :class="iClass"></n3-icon>
    //     </div>
    //     <template v-if="rootMenu.mode === 'horizontal'">
    //       <transition name="fadeDown">
    //         <ul class="n3-nav" v-show="opened"><slot></slot></ul>
    //       </transition>
    //     </template>
    //     <n3-collapse-transition v-else group>
    //       <ul :class="`${prefixCls}-nav`" v-show="opened"><slot></slot></ul>
    //     </n3-collapse-transition>
    //   </li>
    // </template>
    // <script>
    exports.default = {
      name: 'n3SubNav',
      componentName: 'n3SubNav',
      mixins: [_navMixin2.default, _eventMixin2.default],
      components: {
        n3CollapseTransition: _n3CollapseTransition2.default,
        n3Icon: _n3Icon2.default
      },
      props: {
        index: {
          type: [String, Number],
          required: true
        },
        prefixCls: {
          type: String,
          default: 'n3'
        }
      },
      data: function data() {
        return {
          timeout: null,
          items: {},
          submenus: {}
        };
      },
    
      computed: {
        opened: function opened() {
          return this.rootMenu.openedMenus.indexOf(this.index) > -1;
        },
    
        active: {
          cache: false,
          get: function get() {
            var isActive = false;
            var submenus = this.submenus;
            var items = this.items;
            Object.keys(items).forEach(function (index) {
              if (items[index].active) {
                isActive = true;
              }
            });
            Object.keys(submenus).forEach(function (index) {
              if (submenus[index].active) {
                isActive = true;
              }
            });
            return isActive;
          }
        },
        liClass: function liClass() {
          var prefixCls = this.prefixCls,
              active = this.active,
              opened = this.opened;
    
          var obj = {};
          obj[prefixCls + '-subnav'] = true;
          obj['is-active'] = active;
          obj['is-opened'] = opened;
          return obj;
        },
        iClass: function iClass() {
          var prefixCls = this.prefixCls,
              rootMenu = this.rootMenu;
    
          var obj = {};
          obj[prefixCls + '-subnav__icon-arrow'] = true;
          obj[prefixCls + '-icon-arrow-down'] = rootMenu.mode === 'vertical';
          obj[prefixCls + '-icon-caret-bottom'] = rootMenu.mode === 'horizontal';
          return obj;
        }
      },
      methods: {
        addItem: function addItem(item) {
          this.$set(this.items, item.index, item);
        },
        removeItem: function removeItem(item) {
          delete this.items[item.index];
        },
        addSubmenu: function addSubmenu(item) {
          this.$set(this.submenus, item.index, item);
        },
        removeSubmenu: function removeSubmenu(item) {
          delete this.submenus[item.index];
        },
        handleClick: function handleClick() {
          this.dispatch('n3Nav', 'submenu-click', this);
        },
        handleMouseenter: function handleMouseenter() {
          var _this = this;
    
          clearTimeout(this.timeout);
          this.timeout = setTimeout(function () {
            _this.rootMenu.openMenu(_this.index, _this.indexPath);
          }, 300);
        },
        handleMouseleave: function handleMouseleave() {
          var _this2 = this;
    
          clearTimeout(this.timeout);
          this.timeout = setTimeout(function () {
            _this2.rootMenu.closeMenu(_this2.index, _this2.indexPath);
          }, 300);
        },
        initEvents: function initEvents() {
          var rootMenu = this.rootMenu,
              handleMouseenter = this.handleMouseenter,
              handleMouseleave = this.handleMouseleave,
              handleClick = this.handleClick;
    
          var triggerElm = void 0;
          if (rootMenu.mode === 'horizontal' && rootMenu.menuTrigger === 'hover') {
            triggerElm = this.$el;
            triggerElm.addEventListener('mouseenter', handleMouseenter);
            triggerElm.addEventListener('mouseleave', handleMouseleave);
          } else {
            triggerElm = this.$refs['subnav-title'];
            triggerElm.addEventListener('click', handleClick);
          }
        }
      },
      created: function created() {
        this.parentMenu.addSubmenu(this);
        this.rootMenu.addSubmenu(this);
      },
      beforeDestroy: function beforeDestroy() {
        this.parentMenu.removeSubmenu(this);
        this.rootMenu.removeSubmenu(this);
      },
      mounted: function mounted() {
        var _this3 = this;
    
        this.$nextTick(function () {
          _this3.initEvents();
        });
      }
    };
    // </script>
    /* generated by vue-loader */

/***/ }),
/* 690 */
/***/ (function(module, exports) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports.default = {
      computed: {
        indexPath: function indexPath() {
          var path = [this.index];
          var parent = this.$parent;
          while (parent.$options.componentName !== 'n3Nav') {
            if (parent.index) {
              path.unshift(parent.index);
            }
            parent = parent.$parent;
          }
          return path;
        },
        rootMenu: function rootMenu() {
          var parent = this.$parent;
          while (parent && parent.$options.componentName !== 'n3Nav') {
            parent = parent.$parent;
          }
          return parent;
        },
        parentMenu: function parentMenu() {
          var parent = this.$parent;
          while (parent && ['n3Nav', 'n3SubNav'].indexOf(parent.$options.componentName) === -1) {
            parent = parent.$parent;
          }
          return parent;
        },
        paddingStyle: function paddingStyle() {
          if (this.rootMenu.mode !== 'vertical') return {};
    
          var padding = 20;
          var parent = this.$parent;
          while (parent && parent.$options.componentName !== 'n3Nav') {
            if (parent.$options.componentName === 'n3SubNav') {
              padding += 20;
            }
            parent = parent.$parent;
          }
          return { paddingLeft: padding + 'px' };
        }
      }
    };

/***/ }),
/* 691 */
/***/ (function(module, exports) {

    module.exports = "\n<li :class=\"liClass\">\n  <div  ref=\"subnav-title\" :style=\"paddingStyle\" :class=\"`${prefixCls}-subnav__title`\">\n    <slot name=\"title\"></slot>\n    <n3-icon type=\"angle-right\" :class=\"iClass\"></n3-icon>\n  </div>\n  <template v-if=\"rootMenu.mode === 'horizontal'\">\n    <transition name=\"fadeDown\">\n      <ul class=\"n3-nav\" v-show=\"opened\"><slot></slot></ul>\n    </transition>\n  </template>\n  <n3-collapse-transition v-else group>\n    <ul :class=\"`${prefixCls}-nav`\" v-show=\"opened\"><slot></slot></ul>\n  </n3-collapse-transition>\n</li>\n";

/***/ }),
/* 692 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(693)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] src/Nav/n3NavItem.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(694)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-294c4b69/n3NavItem.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 693 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    
    var _navMixin = __webpack_require__(690);
    
    var _navMixin2 = _interopRequireDefault(_navMixin);
    
    var _eventMixin = __webpack_require__(686);
    
    var _eventMixin2 = _interopRequireDefault(_eventMixin);
    
    function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
    
    // <template>
    //   <li
    //     :key="index"
    //     :style="paddingStyle"
    //     @click="handleClick"
    //     :class="classObJ">
    //     <slot></slot>
    //   </li>
    // </template>
    // <script>
    exports.default = {
      name: 'n3NavItem',
      componentName: 'n3NavItem',
      mixins: [_navMixin2.default, _eventMixin2.default],
      props: {
        index: {
          type: [String, Number],
          required: true
        },
        route: {
          type: Object,
          required: false
        },
        disabled: {
          type: Boolean,
          required: false
        },
        prefixCls: {
          type: String,
          default: 'n3'
        }
      },
      computed: {
        active: function active() {
          return this.index === this.rootMenu.activedIndex;
        },
        classObJ: function classObJ() {
          var prefixCls = this.prefixCls,
              active = this.active,
              disabled = this.disabled;
    
          var obj = {};
          obj[prefixCls + '-nav-item'] = true;
          obj['is-active'] = active;
          obj['is-disabled'] = disabled;
          return obj;
        }
      },
      methods: {
        handleClick: function handleClick() {
          this.dispatch('n3Nav', 'item-click', this);
          this.$emit('click', this);
        }
      },
      created: function created() {
        this.parentMenu.addItem(this);
        this.rootMenu.addItem(this);
      },
      beforeDestroy: function beforeDestroy() {
        this.parentMenu.removeItem(this);
        this.rootMenu.removeItem(this);
      }
    };
    // </script>
    /* generated by vue-loader */

/***/ }),
/* 694 */
/***/ (function(module, exports) {

    module.exports = "\n<li\n  :key=\"index\"\n  :style=\"paddingStyle\"\n  @click=\"handleClick\"\n  :class=\"classObJ\">\n  <slot></slot>\n</li>\n";

/***/ }),
/* 695 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(696)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] src/Nav/n3NavGroup.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(697)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-2a185a19/n3NavGroup.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 696 */
/***/ (function(module, exports) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    // <template>
    //   <li :class="`${prefixCls}-nav-item-group`">
    //     <div :class="`${prefixCls}-nav-item-group__title`" :style="{paddingLeft: levelPadding + 'px'}">
    //       <template v-if="!$slots.title">{{title}}</template>
    //       <slot v-else name="title"></slot>
    //     </div>
    //     <ul>
    //       <slot></slot>
    //     </ul>
    //   </li>
    // </template>
    // <script>
    exports.default = {
      name: 'n3NavGroup',
      componentName: 'n3NavGroup',
      props: {
        title: {
          type: String
        },
        prefixCls: {
          type: String,
          default: 'n3'
        }
      },
      data: function data() {
        return {
          paddingLeft: 20
        };
      },
    
      computed: {
        levelPadding: function levelPadding() {
          var padding = 10;
          var parent = this.$parent;
          while (parent && parent.$options.componentName !== 'n3Nav') {
            if (parent.$options.componentName === 'n3SubNav') {
              padding += 20;
            }
            parent = parent.$parent;
          }
          padding === 10 && (padding = 20);
          return padding;
        }
      }
    };
    // </script>
    /* generated by vue-loader */

/***/ }),
/* 697 */
/***/ (function(module, exports) {

    module.exports = "\n<li :class=\"`${prefixCls}-nav-item-group`\">\n  <div :class=\"`${prefixCls}-nav-item-group__title`\" :style=\"{paddingLeft: levelPadding + 'px'}\">\n    <template v-if=\"!$slots.title\">{{title}}</template>\n    <slot v-else name=\"title\"></slot>\n  </div>\n  <ul>\n    <slot></slot>\n  </ul>\n</li>\n";

/***/ }),
/* 698 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(699)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] src/Layout/n3Column.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(700)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-65602dc4/n3Column.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 699 */
/***/ (function(module, exports) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    // <template>
    //   <div :class="classObj" >
    //       <slot></slot>        
    //   </div>
    // </template>
    // <script>
    exports.default = {
      name: 'n3Column',
      props: {
        col: {
          type: Number
        },
        mode: {
          type: String,
          default: 'md'
        },
        offset: {
          type: Number
        },
        prefixCls: {
          type: String,
          default: 'n3'
        }
      },
      computed: {
        classObj: function classObj() {
          var prefixCls = this.prefixCls,
              mode = this.mode,
              offset = this.offset,
              col = this.col;
    
          var klass = {};
    
          klass[prefixCls + '-col-' + mode + '-' + col] = true;
          offset ? klass[prefixCls + '-col-' + mode + '-offset-' + offset] = true : '';
    
          return klass;
        }
      }
    };
    // </script>

    /* generated by vue-loader */

/***/ }),
/* 700 */
/***/ (function(module, exports) {

    module.exports = "\n<div :class=\"classObj\" >\n\t<slot></slot>\t\t\n</div>\n";

/***/ }),
/* 701 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(702)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] src/Switch/n3Switch.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(703)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-7072d250/n3Switch.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 702 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    
    var _valMixin = __webpack_require__(576);
    
    var _valMixin2 = _interopRequireDefault(_valMixin);
    
    var _validate = __webpack_require__(577);
    
    var _validate2 = _interopRequireDefault(_validate);
    
    function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
    
    // <template>
    // <div class="inline">
    //   <input 
    //     v-show="false"
    //     type="checkbox"
    //     v-model="currentValue"/>   
    //   <div  :class="classObj" @click="toggle">
    //     <div :class="`${prefixCls}-switch-container ${prefixCls}-switch-on-primary ${prefixCls}-switch-off-default`">
    //       <span :class="`${prefixCls}-switch-handle-on ${prefixCls}-switch-primary`" >{{ontext}}</span>
    //       <span :class="`${prefixCls}-switch-label`" >&nbsp;</span>
    //       <span :class="`${prefixCls}-switch-handle-off ${prefixCls}-switch-default`" >{{offtext}}</span>
    //     </div>
    //   </div>
    //   <validate
    //     :name="name"
    //     :rules="rules"
    //     :custom-validate="customValidate" 
    //     :current="value">
    //   </validate>
    // <div>
    // </template>
    //
    // <script>
    exports.default = {
      name: 'n3Switch',
      mixins: [_valMixin2.default],
      props: {
        value: {
          type: Boolean,
          twoway: true
        },
        disabled: {
          type: Boolean,
          default: false
        },
        ontext: {
          type: String,
          default: 'ON'
        },
        offtext: {
          type: String,
          default: 'OFF'
        },
        prefixCls: {
          type: String,
          default: 'n3'
        }
      },
      components: {
        validate: _validate2.default
      },
      data: function data() {
        return {
          currentValue: this.value
        };
      },
    
      computed: {
        classObj: function classObj() {
          var prefixCls = this.prefixCls,
              value = this.value,
              disabled = this.disabled;
    
          var klass = {};
    
          klass[prefixCls + '-switch'] = true;
          klass[prefixCls + '-switch-wrapper'] = true;
          klass[prefixCls + '-switch-on'] = value;
          klass[prefixCls + '-switch-off'] = !value;
          klass[prefixCls + '-switch-animate'] = true;
          klass[prefixCls + '-switch-disabled'] = disabled;
    
          return klass;
        }
      },
      methods: {
        toggle: function toggle() {
          if (this.disabled) return;
          this.currentValue = !this.currentValue;
          this.$emit('input', this.currentValue);
          this.$emit('change', this.currentValue);
        }
      }
    };
    // </script>
    /* generated by vue-loader */

/***/ }),
/* 703 */
/***/ (function(module, exports) {

    module.exports = "\n<div class=\"inline\">\n  <input \n    v-show=\"false\"\n    type=\"checkbox\"\n    v-model=\"currentValue\"/>   \n  <div  :class=\"classObj\" @click=\"toggle\">\n    <div :class=\"`${prefixCls}-switch-container ${prefixCls}-switch-on-primary ${prefixCls}-switch-off-default`\">\n      <span :class=\"`${prefixCls}-switch-handle-on ${prefixCls}-switch-primary`\" >{{ontext}}</span>\n      <span :class=\"`${prefixCls}-switch-label`\" >&nbsp;</span>\n      <span :class=\"`${prefixCls}-switch-handle-off ${prefixCls}-switch-default`\" >{{offtext}}</span>\n    </div>\n  </div>\n  <validate\n    :name=\"name\"\n    :rules=\"rules\"\n    :custom-validate=\"customValidate\" \n    :current=\"value\">\n  </validate>\n<div>\n";

/***/ }),
/* 704 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(705)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] src/MultipleInput/n3MultipleInput.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(709)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-5d9137e4/n3MultipleInput.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 705 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    
    var _type = __webpack_require__(579);
    
    var _type2 = _interopRequireDefault(_type);
    
    var _n3Typeahead = __webpack_require__(706);
    
    var _n3Typeahead2 = _interopRequireDefault(_n3Typeahead);
    
    var _render = __webpack_require__(666);
    
    var _render2 = _interopRequireDefault(_render);
    
    var _n3Icon = __webpack_require__(380);
    
    var _n3Icon2 = _interopRequireDefault(_n3Icon);
    
    var _valMixin = __webpack_require__(576);
    
    var _valMixin2 = _interopRequireDefault(_valMixin);
    
    var _validate = __webpack_require__(577);
    
    var _validate2 = _interopRequireDefault(_validate);
    
    function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
    
    // <template>
    // <div class="inline" >
    //   <div :class="classObj" :style="{width:width,height:height}" @click="focus">
    //     <template v-for="(item, index) in currentValue">
    //         <template v-if="index == currentPosition">
    //             <n3-typeahead
    //               ref="typeahead"
    //               :placeholder="placeholder"
    //               :async="async"
    //               @focus="_onFocus"
    //               @blur="_onBlur"
    //               :style="{margin:'0px 5px'}"
    //               v-model="currentQuery" 
    //               :width='inputWidth'
    //               :items="citems"
    //               @change="_onInputchange"
    //               :dropdown-width="dropdownWidth"
    //               :dropdown-height="dropdownHeight"
    //               :on-hit="add"
    //               :match-case="matchCase"
    //               :limit="limit"
    //               :render="render"
    //               :data="data"
    //               @keydown.delete.native="del" 
    //               @keydown.left.native="left" 
    //               @keydown.right.native="right" 
    //               @keydown.enter.native="add">
    //             </n3-typeahead>
    //         </template>
    //          <template v-else>
    //             <span :class="`${prefixCls}-multiple-input-space`"  @click="setIndex(index)"></span>
    //         </template>
    //         <span :class="`${prefixCls}-multiple-input-m-tag`" >
    //         <render class="inline" :context="context || $parent._self" :template="format(item, index)"></render>
    //         <n3-icon type="times" :class="`${prefixCls}-multiple-close`" @click.native="clickDel(index)"></n3-icon>
    //         </span>
    //     </template>
    //
    //     <template v-if="currentValue && currentValue.length == currentPosition">
    //       <n3-typeahead
    //         ref="typeahead"
    //         :placeholder="placeholder"
    //         :async="async"
    //         @focus="_onFocus"
    //         @blur="_onBlur"
    //         :style="{margin:'0px 5px'}"
    //         v-model="currentQuery" 
    //         :width='inputWidth'
    //         :items="citems"
    //         @change="_onInputchange"
    //         :dropdown-width="dropdownWidth"
    //         :dropdown-height="dropdownHeight"
    //         :on-hit="add"
    //         :match-case="matchCase"
    //         :limit="limit"
    //         :render="render"
    //         :data="data"
    //         @keydown.delete.native="del" 
    //         @keydown.left.native="left" 
    //         @keydown.right.native="right" 
    //         @keydown.enter.native="add">
    //       </n3-typeahead>
    //     </template>
    //     <template v-else>
    //       <span :class="`${prefixCls}-multiple-input-space ${prefixCls}-multiple-input-long`"  @click="setIndex(currentValue.length)"></span>
    //     </template>
    //   </div>
    //    <validate
    //     :name="name"
    //     :rules="rules"
    //     :custom-validate="customValidate" 
    //     :current="value">
    //   </validate>
    // </div>
    // </template>
    //
    // <script>
    exports.default = {
      name: 'n3MultipleInput',
      mixins: [_valMixin2.default],
      props: {
        value: {
          type: Array
        },
        async: {
          type: Boolean,
          default: false
        },
        format: {
          type: Function,
          default: function _default(item, index) {
            return item;
          }
        },
        width: {
          type: String,
          default: '220px'
        },
        height: {
          type: String,
          default: ''
        },
        inputWidth: {
          type: String,
          default: '50px'
        },
        addFormat: {
          type: Function,
          default: function _default(item) {
            return item;
          }
        },
        query: {
          type: String,
          default: function _default() {
            return '';
          }
        },
        context: {},
        placeholder: {
          type: String
        },
        positionMove: {
          type: Boolean,
          default: true
        },
        data: {
          type: Array
        },
        render: {
          type: Function,
          default: function _default(item) {
            return item;
          }
        },
        limit: {
          type: Number,
          default: 8
        },
        matchCase: {
          type: Boolean,
          default: false
        },
        dropdownWidth: {
          type: String,
          default: '220px'
        },
        dropdownHeight: {
          type: String,
          default: '300px'
        },
        items: {
          type: Array
        },
        prefixCls: {
          type: String,
          default: 'n3'
        }
      },
      data: function data() {
        return {
          empty: true,
          stopSecond: false,
          currentValue: this.value,
          currentPosition: 0,
          currentQuery: this.query,
          citems: this.items
        };
      },
    
      watch: {
        items: function items(val) {
          this.citems = val;
        },
        currentQuery: function currentQuery(val) {
          if (val !== '') {
            this.empty = false;
          } else {
            this.citems = [];
          }
        },
        currentPosition: function currentPosition(val) {
          this.$emit('positionChange', val);
          this.focus();
        },
        currentValue: function currentValue(val) {
          this.$emit('input', val);
          this.$emit('change', val);
          this.focus();
        }
      },
      computed: {
        classObj: function classObj() {
          var prefixCls = this.prefixCls;
    
          var klass = {};
    
          klass[prefixCls + '-form-control'] = true;
          klass[prefixCls + '-multiple-input'] = true;
    
          return klass;
        }
      },
      components: {
        n3Icon: _n3Icon2.default,
        n3Typeahead: _n3Typeahead2.default,
        validate: _validate2.default,
        render: _render2.default
      },
      methods: {
        _onInputchange: function _onInputchange(query) {
          this.$emit('inputChange', query);
        },
        _onFocus: function _onFocus() {
          this.$emit('focus');
        },
        _onBlur: function _onBlur() {
          this.$emit('blur');
        },
        focus: function focus() {
          var _this = this;
    
          this.$nextTick(function () {
            var typeahead = _type2.default.isArray(_this.$refs.typeahead) ? _this.$refs.typeahead[0] : _this.$refs.typeahead;
            typeahead.focusInput();
          });
        },
        setIndex: function setIndex(index) {
          if (!this.positionMove) return;
          if (this.currentQuery) {
            this.addquery();
          }
          this.currentPosition = index;
        },
        addquery: function addquery(item, that) {
          var content = that ? item : this.currentQuery;
          var value = this.currentValue.slice(0);
    
          value.splice(this.currentPosition, 0, this.addFormat(content));
          this.currentValue = value;
          this.currentQuery = '';
          this.empty = true;
        },
        add: function add(item, that) {
          var _this2 = this;
    
          if (this.stopSecond) return;
    
          if (that && that.show) {
            this.stopSecond = true;
            this.addquery(item, that);
            this.currentPosition++;
            that.reset();
            setTimeout(function () {
              _this2.stopSecond = false;
            });
          } else {
            if (this.currentQuery) {
              this.addquery();
              this.currentPosition++;
            }
          }
        },
        clickDel: function clickDel(index) {
          var value = this.currentValue.slice(0);
          value.splice(index, 1);
          this.currentValue = value;
        },
        del: function del() {
          if (this.empty && this.currentPosition > 0) {
            var value = this.currentValue.slice(0);
            value.splice(this.currentPosition - 1, 1);
            this.currentValue = value;
            this.currentPosition--;
            this.focus();
          }
          this.empty = this.currentQuery === '';
        },
        left: function left() {
          if (!this.positionMove) return;
          if (this.currentPosition > 0 && this.currentQuery === '') {
            this.currentPosition--;
          }
        },
        right: function right() {
          if (!this.positionMove) return;
          if (this.currentValue && this.currentPosition < this.value.length && this.currentQuery === '') {
            this.currentPosition++;
          }
        }
      }
    };
    // </script>
    /* generated by vue-loader */

/***/ }),
/* 706 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(707)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] src/Typeahead/n3Typeahead.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(708)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-169c4684/n3Typeahead.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 707 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    
    var _n3Input = __webpack_require__(591);
    
    var _n3Input2 = _interopRequireDefault(_n3Input);
    
    var _render = __webpack_require__(666);
    
    var _render2 = _interopRequireDefault(_render);
    
    var _inputMixin = __webpack_require__(593);
    
    var _inputMixin2 = _interopRequireDefault(_inputMixin);
    
    function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
    
    exports.default = {
      name: 'n3Typeahead',
      created: function created() {
        this.citems = this.primitiveData;
      },
    
      mixins: [_inputMixin2.default],
      props: {
        value: {
          type: String,
          default: ''
        },
        data: {
          type: Array
        },
        context: {},
        render: {
          type: Function,
          default: function _default(item) {
            return item;
          }
        },
        limit: {
          type: Number,
          default: 8
        },
        matchCase: {
          type: Boolean,
          default: false
        },
        addFormat: {
          type: Function,
          default: function _default(item) {
            return item;
          }
        },
        onHit: {
          type: Function,
          default: function _default(item) {
            this.reset();
            this.query = this.addFormat(item);
          }
        },
        showClean: {
          type: Boolean,
          default: false
        },
        dropdownWidth: {
          type: String,
          default: '220px'
        },
        dropdownHeight: {
          type: String,
          default: '300px'
        },
        async: {
          type: Boolean
        },
        items: {
          type: Array
        },
        prefixCls: {
          type: String,
          default: 'n3'
        }
      },
      watch: {
        items: function items(val) {
          this.citems = val;
        },
        citems: function citems(val) {
          this.show = val && !!val.length;
        },
        value: function value(val) {
          this.query = val;
        },
        query: function query(val) {
          this.$emit('input', val);
          if (val.value === '') {
            this.items = [];
          }
        }
      },
      data: function data() {
        return {
          show: false,
          noResults: true,
          current: 0,
          query: this.value,
          citems: this.items
        };
      },
    
      computed: {
        primitiveData: function primitiveData() {
          var _this = this;
    
          if (this.data && this.query) {
            return this.data.filter(function (value) {
              value = _this.matchCase ? value : value.toLowerCase();
              return value.indexOf(_this.query) !== -1;
            }).slice(0, this.limit);
          }
        }
      },
      components: {
        n3Input: _n3Input2.default,
        render: _render2.default
      },
      methods: {
        focusInput: function focusInput() {
          this.$refs.input.focus();
        },
        _onFocus: function _onFocus() {
          this.$emit('focus');
        },
        _onBlur: function _onBlur() {
          this.show = false;
          this.$emit('blur');
        },
        update: function update() {
          var self = this;
          if (this.readonly || this.disabled) return;
          setTimeout(function () {
            if (!self.query) {
              self.reset();
              return false;
            }
    
            if (self.async) {
              self.$emit('change', self.query);
            } else if (self.data) {
              self.citems = self.primitiveData;
            }
          }, 100);
        },
        reset: function reset() {
          this.citems = [];
          this.query = '';
          this.loading = false;
          this.show = false;
        },
        isActive: function isActive(index) {
          var klass = this.prefixCls + '-dropdown-active';
          return this.current === index ? klass : '';
        },
        hit: function hit(index) {
          if (this.citems && this.citems.length) {
            index ? this.current = index : '';
            this.onHit(this.citems[this.current], this);
          }
        },
        up: function up() {
          if (this.current > 0) this.current--;
        },
        down: function down() {
          if (this.current < this.citems.length - 1) this.current++;
        }
      }
    };
    // </script>

    /* generated by vue-loader */
    // <template>
    // <div style="position: relative;display:inline-block"
    //      :class="[show ? prefixCls +'-open' : '']">
    //   <n3-input
    //     ref="input"
    //     :width="width"
    //     :name="name" 
    //     :rules="rules" 
    //     :placeholder="placeholder"
    //     :custom-validate="customValidate"
    //     :readonly="readonly"
    //     :disabled="disabled"
    //     v-model="query"
    //     :show-clean="showClean"
    //     @focus="_onFocus"
    //     @blur="_onBlur"
    //     @input.native="update"
    //     @keydown.native.up="up"
    //     @keydown.native.down="down"
    //     @keydown.native.enter= "hit(null)"
    //     @keydown.native.esc="reset"
    //   ></n3-input>
    //   <ul :class="`${prefixCls}-dropdown-menu`" :style="{width: dropdownWidth, maxHeight: dropdownHeight}">
    //     <li v-for="(item,index) in citems" :class="isActive(index)" >
    //       <a @mousedown.prevent="hit(index)" >
    //         <render :context="context || $parent._self" :template="render(item)">
    //         </render>
    //       </a>
    //     </li> 
    //   </ul>
    // </div>
    // </template>
    //
    // <script>

/***/ }),
/* 708 */
/***/ (function(module, exports) {

    module.exports = "\n<div style=\"position: relative;display:inline-block\"\n     :class=\"[show ? prefixCls +'-open' : '']\">\n  <n3-input\n    ref=\"input\"\n    :width=\"width\"\n    :name=\"name\" \n    :rules=\"rules\" \n    :placeholder=\"placeholder\"\n    :custom-validate=\"customValidate\"\n    :readonly=\"readonly\"\n    :disabled=\"disabled\"\n    v-model=\"query\"\n    :show-clean=\"showClean\"\n    @focus=\"_onFocus\"\n    @blur=\"_onBlur\"\n    @input.native=\"update\"\n    @keydown.native.up=\"up\"\n    @keydown.native.down=\"down\"\n    @keydown.native.enter= \"hit(null)\"\n    @keydown.native.esc=\"reset\"\n  ></n3-input>\n  <ul :class=\"`${prefixCls}-dropdown-menu`\" :style=\"{width: dropdownWidth, maxHeight: dropdownHeight}\">\n    <li v-for=\"(item,index) in citems\" :class=\"isActive(index)\" >\n      <a @mousedown.prevent=\"hit(index)\" >\n        <render :context=\"context || $parent._self\" :template=\"render(item)\">\n        </render>\n      </a>\n    </li> \n  </ul>\n</div>\n";

/***/ }),
/* 709 */
/***/ (function(module, exports) {

    module.exports = "\n<div class=\"inline\" >\n  <div :class=\"classObj\" :style=\"{width:width,height:height}\" @click=\"focus\">\n    <template v-for=\"(item, index) in currentValue\">\n        <template v-if=\"index == currentPosition\">\n            <n3-typeahead\n              ref=\"typeahead\"\n              :placeholder=\"placeholder\"\n              :async=\"async\"\n              @focus=\"_onFocus\"\n              @blur=\"_onBlur\"\n              :style=\"{margin:'0px 5px'}\"\n              v-model=\"currentQuery\" \n              :width='inputWidth'\n              :items=\"citems\"\n              @change=\"_onInputchange\"\n              :dropdown-width=\"dropdownWidth\"\n              :dropdown-height=\"dropdownHeight\"\n              :on-hit=\"add\"\n              :match-case=\"matchCase\"\n              :limit=\"limit\"\n              :render=\"render\"\n              :data=\"data\"\n              @keydown.delete.native=\"del\" \n              @keydown.left.native=\"left\" \n              @keydown.right.native=\"right\" \n              @keydown.enter.native=\"add\">\n            </n3-typeahead>\n        </template>\n         <template v-else>\n            <span :class=\"`${prefixCls}-multiple-input-space`\"  @click=\"setIndex(index)\"></span>\n        </template>\n        <span :class=\"`${prefixCls}-multiple-input-m-tag`\" >\n        <render class=\"inline\" :context=\"context || $parent._self\" :template=\"format(item, index)\"></render>\n        <n3-icon type=\"times\" :class=\"`${prefixCls}-multiple-close`\" @click.native=\"clickDel(index)\"></n3-icon>\n        </span>\n    </template>\n\n    <template v-if=\"currentValue && currentValue.length == currentPosition\">\n      <n3-typeahead\n        ref=\"typeahead\"\n        :placeholder=\"placeholder\"\n        :async=\"async\"\n        @focus=\"_onFocus\"\n        @blur=\"_onBlur\"\n        :style=\"{margin:'0px 5px'}\"\n        v-model=\"currentQuery\" \n        :width='inputWidth'\n        :items=\"citems\"\n        @change=\"_onInputchange\"\n        :dropdown-width=\"dropdownWidth\"\n        :dropdown-height=\"dropdownHeight\"\n        :on-hit=\"add\"\n        :match-case=\"matchCase\"\n        :limit=\"limit\"\n        :render=\"render\"\n        :data=\"data\"\n        @keydown.delete.native=\"del\" \n        @keydown.left.native=\"left\" \n        @keydown.right.native=\"right\" \n        @keydown.enter.native=\"add\">\n      </n3-typeahead>\n    </template>\n    <template v-else>\n      <span :class=\"`${prefixCls}-multiple-input-space ${prefixCls}-multiple-input-long`\"  @click=\"setIndex(currentValue.length)\"></span>\n    </template>\n  </div>\n   <validate\n    :name=\"name\"\n    :rules=\"rules\"\n    :custom-validate=\"customValidate\" \n    :current=\"value\">\n  </validate>\n</div>\n";

/***/ }),
/* 710 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(711)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] src/Page/n3Page.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(712)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-65d4af10/n3Page.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 711 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    
    var _n3Select = __webpack_require__(664);
    
    var _n3Select2 = _interopRequireDefault(_n3Select);
    
    var _n3Icon = __webpack_require__(380);
    
    var _n3Icon2 = _interopRequireDefault(_n3Icon);
    
    var _n3Input = __webpack_require__(591);
    
    var _n3Input2 = _interopRequireDefault(_n3Input);
    
    var _type = __webpack_require__(579);
    
    var _type2 = _interopRequireDefault(_type);
    
    function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
    
    function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } // <template>
    //   <div class="inline">
    //     <ul :class="simpleWrapClasses" v-if="simple">
    //       <li
    //         title="上一页"
    //         :class="prevClasses"
    //         @click="prev">
    //         <n3-icon type="angle-left"></n3-icon>
    //       </li>
    //       <div :class="simplePagerClasses" :title="currentPage + '/' + allPages">
    //         <n3-input
    //           width="50px"
    //           @keyup.native.enter="goPage" 
    //           v-model="currentPage">
    //         </n3-input>  
    //         <span>/</span>
    //         {{ allPages }}
    //       </div>
    //       <li
    //         title="下一页"
    //         :class="nextClasses"
    //         @click="next">
    //         <n3-icon type="angle-right"></n3-icon>
    //       </li>
    //     </ul>
    //     <ul :class="wrapClasses" v-else>
    //       <span :class="[prefixCls + '-page-total']" v-if="showTotal">
    //           <slot>共 {{ total }} 条</slot>
    //       </span>
    //       <li
    //           title="上一页"
    //           :class="prevClasses"
    //           @click="prev">
    //           <n3-icon type="angle-left"></n3-icon>
    //       </li>
    //       <li title="第一页" :class="firstPageClasses" @click="changePage(1)"><a>1</a></li>
    //       <li title="向前 5 页" v-if="currentPage - 3 > 1" :class="[prefixCls + '-page-item-jump-prev']" @click="fastPrev"><a><n3-icon type="ellipsis-h" @mouseenter.native="preventer" @mouseleave.native="leave" ></n3-icon></a></li>
    //       <li :title="currentPage - 2" v-if="currentPage - 2 > 1" :class="[prefixCls + '-page-item']" @click="changePage(currentPage - 2)"><a>{{ currentPage - 2 }}</a></li>
    //       <li :title="currentPage - 1" v-if="currentPage - 1 > 1" :class="[prefixCls + '-page-item']" @click="changePage(currentPage - 1)"><a>{{ currentPage - 1 }}</a></li>
    //       <li :title="currentPage" v-if="currentPage != 1 && currentPage != allPages" :class="[prefixCls + '-page-item',prefixCls + '-page-item-active']"><a>{{ currentPage }}</a></li>
    //       <li :title="currentPage + 1" v-if="currentPage + 1 < allPages" :class="[prefixCls + '-page-item']" @click="changePage(currentPage + 1)"><a>{{ currentPage + 1 }}</a></li>
    //       <li :title="currentPage + 2" v-if="currentPage + 2 < allPages" :class="[prefixCls + '-page-item']" @click="changePage(currentPage + 2)"><a>{{ currentPage + 2 }}</a></li>
    //       <li title="向后 5 页" v-if="currentPage + 3 < allPages" :class="[prefixCls + '-page-item-jump-next']" @click="fastNext"><a><n3-icon type="ellipsis-h" @mouseenter.native="nextenter" @mouseleave.native="leave" ></n3-icon></a></li>
    //       <li :title="'最后一页:' + allPages" v-if="allPages > 1" :class="lastPageClasses" @click="changePage(allPages)"><a>{{ allPages }}</a></li>
    //       <li
    //           title="下一页"
    //           :class="nextClasses"
    //           @click="next">
    //           <n3-icon type="angle-right"></n3-icon>
    //       </li>
    //       <n3-select
    //         v-if="showSizer"
    //         v-model="currentPagesize"
    //         :options="pagesizeOptsCom"
    //         @change="onSize">
    //       </n3-select>
    //       <div class="inline" v-if="showElevator">
    //         <n3-input
    //           width="50px"
    //           @keyup.native.enter="goPage" 
    //           v-model="currentPage">
    //         </n3-input>
    //         <n3-button @click.native="goPage">跳转</n3-button>
    //       </div>
    //     </ul>
    //   </div>
    // </template>
    // <script>
    
    
    exports.default = {
      name: 'n3Page',
      components: { n3Select: _n3Select2.default, n3Icon: _n3Icon2.default, n3Input: _n3Input2.default },
      props: {
        prefixCls: {
          type: String,
          default: 'n3'
        },
        current: {
          type: Number,
          default: 1
        },
        value: {
          type: Number
        },
        total: {
          type: Number,
          default: 0
        },
        pagesize: {
          type: Number,
          default: 10
        },
        pagesizeOpts: {
          type: Array,
          default: function _default() {
            return [10, 20, 30, 40];
          }
        },
        simple: {
          type: Boolean,
          default: false
        },
        showTotal: {
          type: Boolean,
          default: false
        },
        showElevator: {
          type: Boolean,
          default: false
        },
        showSizer: {
          type: Boolean,
          default: false
        }
      },
      watch: {
        current: function current(val) {
          this.currentPage = val;
        },
        pagesize: function pagesize(val) {
          this.currentPagesize = val;
        },
        currentPage: function currentPage(val) {
          this.$emit('input', val);
        }
      },
      data: function data() {
        return {
          currentPage: this.value || this.current,
          currentPagesize: this.pagesize
        };
      },
    
      computed: {
        pagesizeOptsCom: function pagesizeOptsCom() {
          return this.pagesizeOpts.map(function (i) {
            return {
              value: i,
              label: i + '条/页'
            };
          });
        },
        allPages: function allPages() {
          var allPage = Math.ceil(this.total / this.currentPagesize);
          return allPage === 0 ? 1 : allPage;
        },
        simpleWrapClasses: function simpleWrapClasses() {
          var prefixCls = this.prefixCls;
    
          return [prefixCls + '-page', prefixCls + '-page-simple'];
        },
        simplePagerClasses: function simplePagerClasses() {
          var prefixCls = this.prefixCls;
    
          return prefixCls + '-page-simple-pager';
        },
        wrapClasses: function wrapClasses() {
          var prefixCls = this.prefixCls;
    
          return prefixCls + '-page';
        },
        prevClasses: function prevClasses() {
          var prefixCls = this.prefixCls;
    
          return [prefixCls + '-page-prev', _defineProperty({}, prefixCls + '-page-disabled', this.currentPage === 1)];
        },
        nextClasses: function nextClasses() {
          var prefixCls = this.prefixCls;
    
          return [prefixCls + '-page-next', _defineProperty({}, prefixCls + '-page-disabled', this.currentPage === this.allPages)];
        },
        firstPageClasses: function firstPageClasses() {
          var prefixCls = this.prefixCls;
    
          return [prefixCls + '-page-item', _defineProperty({}, prefixCls + '-page-item-active', this.currentPage === 1)];
        },
        lastPageClasses: function lastPageClasses() {
          var prefixCls = this.prefixCls;
    
          return [prefixCls + '-page-item', _defineProperty({}, prefixCls + '-page-item-active', this.currentPage === this.allPages)];
        }
      },
      methods: {
        goPage: function goPage() {
          var page = this.currentPage * 1;
          if (!isNaN(page)) {
            this.changePage(page);
          }
        },
        preventer: function preventer(e) {
          var t = e.target;
          var prefixCls = this.prefixCls;
    
          t.classList.remove(prefixCls + '-fa-ellipsis-h');
          t.classList.add(prefixCls + '-fa-angle-double-left');
        },
        nextenter: function nextenter(e) {
          var t = e.target;
          var prefixCls = this.prefixCls;
    
          t.classList.remove(prefixCls + '-fa-ellipsis-h');
          t.classList.add(prefixCls + '-fa-angle-double-right');
        },
        leave: function leave(e) {
          var t = e.target;
          var prefixCls = this.prefixCls;
    
          t.classList.remove(prefixCls + '-fa-angle-double-right');
          t.classList.remove(prefixCls + '-fa-angle-double-left');
          t.classList.add(prefixCls + '-fa-ellipsis-h');
        },
        changePage: function changePage(page, force) {
          page = page * 1;
          page = isNaN(page) ? this.currentPage : page;
          if (force || _type2.default.isNumber(page) && this.currentPage !== page && page >= 1 && page <= this.allPages) {
            this.currentPage = page;
            this.$emit('change', page, this.currentPagesize);
          }
        },
        prev: function prev() {
          var current = this.currentPage;
          if (current <= 1) {
            return false;
          }
          this.changePage(current - 1);
        },
        next: function next() {
          var current = this.currentPage;
          if (current >= this.allPages) {
            return false;
          }
          this.changePage(current + 1);
        },
        fastPrev: function fastPrev() {
          var page = this.current - 5;
          if (page > 0) {
            this.changePage(page);
          } else {
            this.changePage(1);
          }
        },
        fastNext: function fastNext() {
          var page = this.currentPage + 5;
          if (page > this.allPages) {
            this.changePage(this.allPages);
          } else {
            this.changePage(page);
          }
        },
        onSize: function onSize(pagesize) {
          console.log(pagesize, 1);
          this.currentPagesize = pagesize * 1;
          this.changePage(1, true);
        },
        onPage: function onPage(page) {
          this.changePage(page);
        }
      }
    };
    // </script>
    /* generated by vue-loader */

/***/ }),
/* 712 */
/***/ (function(module, exports) {

    module.exports = "\n<div class=\"inline\">\n  <ul :class=\"simpleWrapClasses\" v-if=\"simple\">\n    <li\n      title=\"上一页\"\n      :class=\"prevClasses\"\n      @click=\"prev\">\n      <n3-icon type=\"angle-left\"></n3-icon>\n    </li>\n    <div :class=\"simplePagerClasses\" :title=\"currentPage + '/' + allPages\">\n      <n3-input\n        width=\"50px\"\n        @keyup.native.enter=\"goPage\" \n        v-model=\"currentPage\">\n      </n3-input>  \n      <span>/</span>\n      {{ allPages }}\n    </div>\n    <li\n      title=\"下一页\"\n      :class=\"nextClasses\"\n      @click=\"next\">\n      <n3-icon type=\"angle-right\"></n3-icon>\n    </li>\n  </ul>\n  <ul :class=\"wrapClasses\" v-else>\n    <span :class=\"[prefixCls + '-page-total']\" v-if=\"showTotal\">\n        <slot>共 {{ total }} 条</slot>\n    </span>\n    <li\n        title=\"上一页\"\n        :class=\"prevClasses\"\n        @click=\"prev\">\n        <n3-icon type=\"angle-left\"></n3-icon>\n    </li>\n    <li title=\"第一页\" :class=\"firstPageClasses\" @click=\"changePage(1)\"><a>1</a></li>\n    <li title=\"向前 5 页\" v-if=\"currentPage - 3 > 1\" :class=\"[prefixCls + '-page-item-jump-prev']\" @click=\"fastPrev\"><a><n3-icon type=\"ellipsis-h\" @mouseenter.native=\"preventer\" @mouseleave.native=\"leave\" ></n3-icon></a></li>\n    <li :title=\"currentPage - 2\" v-if=\"currentPage - 2 > 1\" :class=\"[prefixCls + '-page-item']\" @click=\"changePage(currentPage - 2)\"><a>{{ currentPage - 2 }}</a></li>\n    <li :title=\"currentPage - 1\" v-if=\"currentPage - 1 > 1\" :class=\"[prefixCls + '-page-item']\" @click=\"changePage(currentPage - 1)\"><a>{{ currentPage - 1 }}</a></li>\n    <li :title=\"currentPage\" v-if=\"currentPage != 1 && currentPage != allPages\" :class=\"[prefixCls + '-page-item',prefixCls + '-page-item-active']\"><a>{{ currentPage }}</a></li>\n    <li :title=\"currentPage + 1\" v-if=\"currentPage + 1 < allPages\" :class=\"[prefixCls + '-page-item']\" @click=\"changePage(currentPage + 1)\"><a>{{ currentPage + 1 }}</a></li>\n    <li :title=\"currentPage + 2\" v-if=\"currentPage + 2 < allPages\" :class=\"[prefixCls + '-page-item']\" @click=\"changePage(currentPage + 2)\"><a>{{ currentPage + 2 }}</a></li>\n    <li title=\"向后 5 页\" v-if=\"currentPage + 3 < allPages\" :class=\"[prefixCls + '-page-item-jump-next']\" @click=\"fastNext\"><a><n3-icon type=\"ellipsis-h\" @mouseenter.native=\"nextenter\" @mouseleave.native=\"leave\" ></n3-icon></a></li>\n    <li :title=\"'最后一页:' + allPages\" v-if=\"allPages > 1\" :class=\"lastPageClasses\" @click=\"changePage(allPages)\"><a>{{ allPages }}</a></li>\n    <li\n        title=\"下一页\"\n        :class=\"nextClasses\"\n        @click=\"next\">\n        <n3-icon type=\"angle-right\"></n3-icon>\n    </li>\n    <n3-select\n      v-if=\"showSizer\"\n      v-model=\"currentPagesize\"\n      :options=\"pagesizeOptsCom\"\n      @change=\"onSize\">\n    </n3-select>\n    <div class=\"inline\" v-if=\"showElevator\">\n      <n3-input\n        width=\"50px\"\n        @keyup.native.enter=\"goPage\" \n        v-model=\"currentPage\">\n      </n3-input>\n      <n3-button @click.native=\"goPage\">跳转</n3-button>\n    </div>\n  </ul>\n</div>\n";

/***/ }),
/* 713 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(714)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] src/Step/n3Step.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(715)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-37a529d8/n3Step.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 714 */
/***/ (function(module, exports) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    // <template>
    //   <ul v-if="round" :class="`${prefixCls}-steps-round-con`">
    //     <template v-for="(label,index) in labels">
    //       <li :class="[getClassFromIndex(index)]">
    //         <div :class="`${prefixCls}-steps-wrap`">
    //           <div :class="`${prefixCls}-steps-round`">{{index + 1}}</div>
    //         </div>
    //         <label>{{label}}</label>
    //       </li>
    //     </template>
    //   </ul>
    //
    //   <div v-else :class="`${prefixCls}-steps clearfix`">
    //     <template v-for="(label,index) in labels">
    //       <div :class="`${prefixCls}-steps-wrap`">
    //         <div :class="getClassFromIndex(index)">
    //           <label>
    //               <span :class="`${prefixCls}-steps-round`">{{index + 1}}</span>
    //               <span>{{label}}</span>
    //             </label>
    //           <template v-if="index < labels.length - 1">
    //             <i :class="`${prefixCls}-steps-triangle-right-bg`"></i>
    //             <i :class="`${prefixCls}-steps-triangle-right`"></i>
    //           </template>
    //         </div>
    //       </div>
    //     </template>
    //   </div>
    // </template>
    //
    // <script>
    exports.default = {
      name: 'n3Step',
      props: {
        labels: {
          type: Array,
          required: true
        },
        current: {
          type: Number,
          default: 1
        },
        round: {
          type: Boolean
        },
        prefixCls: {
          type: String,
          default: 'n3'
        }
      },
      methods: {
        getClassFromIndex: function getClassFromIndex(index) {
          var ret = '';
          if (index === this.current - 1) {
            ret = 'current';
          } else if (index < this.current - 1) {
            ret = 'finished';
          } else {
            ret = 'todo';
          }
    
          return this.prefixCls + '-steps-' + ret;
        }
      }
    };
    // </script>
    /* generated by vue-loader */

/***/ }),
/* 715 */
/***/ (function(module, exports) {

    module.exports = "\n<ul v-if=\"round\" :class=\"`${prefixCls}-steps-round-con`\">\n  <template v-for=\"(label,index) in labels\">\n    <li :class=\"[getClassFromIndex(index)]\">\n      <div :class=\"`${prefixCls}-steps-wrap`\">\n        <div :class=\"`${prefixCls}-steps-round`\">{{index + 1}}</div>\n      </div>\n      <label>{{label}}</label>\n    </li>\n  </template>\n</ul>\n\n<div v-else :class=\"`${prefixCls}-steps clearfix`\">\n  <template v-for=\"(label,index) in labels\">\n    <div :class=\"`${prefixCls}-steps-wrap`\">\n      <div :class=\"getClassFromIndex(index)\">\n        <label>\n            <span :class=\"`${prefixCls}-steps-round`\">{{index + 1}}</span>\n            <span>{{label}}</span>\n          </label>\n        <template v-if=\"index < labels.length - 1\">\n          <i :class=\"`${prefixCls}-steps-triangle-right-bg`\"></i>\n          <i :class=\"`${prefixCls}-steps-triangle-right`\"></i>\n        </template>\n      </div>\n    </div>\n  </template>\n</div>\n";

/***/ }),
/* 716 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(717)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] src/DataTable/n3DataTable.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(718)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-78093338/n3DataTable.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 717 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    
    var _render = __webpack_require__(666);
    
    var _render2 = _interopRequireDefault(_render);
    
    var _n3Page = __webpack_require__(710);
    
    var _n3Page2 = _interopRequireDefault(_n3Page);
    
    var _n3Select = __webpack_require__(664);
    
    var _n3Select2 = _interopRequireDefault(_n3Select);
    
    var _n3Button = __webpack_require__(384);
    
    var _n3Button2 = _interopRequireDefault(_n3Button);
    
    var _n3Icon = __webpack_require__(380);
    
    var _n3Icon2 = _interopRequireDefault(_n3Icon);
    
    var _n3Input = __webpack_require__(591);
    
    var _n3Input2 = _interopRequireDefault(_n3Input);
    
    var _n3Loading = __webpack_require__(386);
    
    var _n3Loading2 = _interopRequireDefault(_n3Loading);
    
    var _type2 = __webpack_require__(579);
    
    var _type3 = _interopRequireDefault(_type2);
    
    function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
    
    // <template>
    //   <div :class="`${prefixCls}-data-table`">
    //   <div :class="`${prefixCls}-data-table-bar clearfix`">
    //     <n3-select 
    //       class='pull-left'
    //       style="margin-right:10px;"
    //       multiple
    //       :showselected="false"
    //       v-if="selectCol"
    //       placeholder = "显示的列"
    //       :options="selectOptions" 
    //       v-model="selectdCols">
    //     </n3-select>
    //     <div v-if="filter && filterArr.length" :class="`pull-left ${prefixCls}-btn-group`">
    //       <template v-for="item in filterArr">
    //         <n3-select 
    //           :multiple = "item.multiple === undefined?true:!!item.multiple"
    //           :search = "item.search === undefined?true:!!item.search"
    //           :extra = "item.extra === undefined?true:!!item.extra"
    //           :showselected="false"
    //           :placeholder = "item.title"
    //           :options="item.options" 
    //           v-model="item.value">
    //         </n3-select>
    //       </template>  
    //       <n3-button
    //         :class="`${prefixCls}-data-table-inner-btn`"
    //         @click.native="resetFilter" 
    //         type="primary">
    //         <n3-icon type="reply"></n3-icon>
    //       </n3-button>
    //        <n3-button
    //         :class="`${prefixCls}-data-table-inner-btn`"
    //         @click.native="goFilter" 
    //         type="primary">
    //         <n3-icon type="filter"></n3-icon>
    //       </n3-button>
    //     </div>
    //       <n3-button
    //         :class="`${prefixCls}-data-table-inner-btn`" 
    //         style="margin-left:10px;"
    //         @click.native="refresh"
    //         v-if="refresh"  
    //         type="primary">
    //         <n3-icon type="refresh"></n3-icon>
    //       </n3-button>
    //       <slot ></slot>
    //     <n3-input
    //       class="pull-right" 
    //       placeholder="搜索"
    //       v-model="query"
    //       @keydown.native.enter="gosearch"
    //       v-if="search">
    //     </n3-input>
    //   </div>
    //   <div>
    //     <n3-loading center size="lg" v-if="loading"></n3-loading>
    //     <div v-if="fixedColumns" :class="`${prefixCls}-data-table-fixed-columns`">
    //       <table :class="classObj">
    //         <thead>
    //             <tr>
    //               <th v-if="selection" :class="`${prefixCls}-data-table-row-select`">
    //                   <input v-if="list && list.length" 
    //                     type="checkbox" v-bind="{checked:isCheckedAll,disabled:isDisabledAll}" 
    //                     @change="onCheckAll"/>
    //               </th>
    //               <th v-for="col in showColumns" 
    //                   :style="{width: col.width}" 
    //                   :class="{'pointer': col.sort}" 
    //                   @click="sort(col, col.sort)" 
    //                   :colspan="col.colspan === undefined ? 1 : col.colspan"> 
    //                     <span>{{col.title}} </span> 
    //                     <div :class="`${prefixCls}-data-table-sort pull-right`" v-if="col.sort" >
    //                       <n3-icon
    //                         @click.native.stop="sort(col,col.sort,'ASC')"
    //                         :style="{color: sortStatus(col.dataIndex,'ASC') ? 'gray' : '#ddd'}" 
    //                         type="caret-up">
    //                       </n3-icon>
    //                       <n3-icon
    //                         @click.native.stop="sort(col,col.sort,'DESC')"
    //                         :style="{color: sortStatus(col.dataIndex,'DESC')? 'gray' : '#ddd'}"
    //                         type="caret-down">
    //                       </n3-icon>
    //                     </div>
    //               </th>
    //             </tr>
    //           </thead>
    //       </table>
    //     </div>
    //     <div  :class="[loading ? prefixCls + '-data-table-loading':'']" 
    //           :style="styleCon">
    //       <table :class="classObj" :style="styleTable">
    //           <thead>
    //             <tr>
    //               <th v-if="selection" :class="`${prefixCls}-data-table-row-select`">
    //                   <input v-if="list && list.length" 
    //                     type="checkbox" v-bind="{checked:isCheckedAll,disabled:isDisabledAll}" 
    //                     @change="onCheckAll"/>
    //               </th>
    //               <th v-for="col in showColumns" 
    //                   :style="{width: col.width}" 
    //                   :class="{'pointer': col.sort}" 
    //                   @click="sort(col, col.sort)" 
    //                   :colspan="col.colspan === undefined ? 1 : col.colspan"> 
    //                     <span>{{col.title}} </span> 
    //                     <div :class="`${prefixCls}-data-table-sort pull-right`" v-if="col.sort" >
    //                       <n3-icon
    //                         @click.native.stop="sort(col,col.sort,'ASC')"
    //                         :style="{color: sortStatus(col.dataIndex,'ASC') ? 'gray' : '#ddd'}" 
    //                         type="caret-up">
    //                       </n3-icon>
    //                       <n3-icon
    //                         @click.native.stop="sort(col,col.sort,'DESC')"
    //                         :style="{color: sortStatus(col.dataIndex,'DESC')? 'gray' : '#ddd'}"
    //                         type="caret-down">
    //                       </n3-icon>
    //                     </div>
    //               </th>
    //             </tr>
    //           </thead>
    //           <tbody>
    //             <tr v-for="(data,index) in list" track-by="n3Key">
    //                 <td v-if="selection" :class="`${prefixCls}-row-select`">
    //                    <input type="checkbox" 
    //                     v-model="checkedValues"  
    //                     :value="stringify(data)" @change.stop="onCheckOne($event,data)" 
    //                     v-bind="selection.getCheckboxProps && selection.getCheckboxProps(data)"/>
    //                 </td>
    //                 <td v-for="col in showColumns"
    //                   :colspan="colspan(col,data)"
    //                   :rowspan="rowspan(col,data)">
    //                   <template v-if="col.show!=false && colspan(col,data) != 0 && rowspan(col,data) !=0">
    //                     <template v-if="col.render">
    //                       <render :context="context || $parent._self" :template="col.render(data[col.dataIndex],data,index)"></render>
    //                     </template>
    //                     <template v-else>
    //                       <span v-html="col.dataIndex ? data[col.dataIndex] : ''"></span>
    //                     </template>
    //                   </template>
    //                 </td>
    //             </tr>
    //           </tbody>
    //       </table>
    //     </div>
    //   </div>
    //
    //   <div :class="`${prefixCls}-data-table-bar ${prefixCls}-data-table-page`" v-if="page" >
    //     <n3-page
    //       v-if="page" 
    //       :total="cpage.total" 
    //       :current="cpage.current" 
    //       :pagesize="cpage.pagesize" 
    //       @change="pageChange"
    //       :show-sizer="true"
    //       :show-total="true"
    //       :pagesize-opts="cpage.pagesizeOpts">
    //     </n3-page>
    //     </div>
    //   </div>
    //   </div>
    // </template>
    // <script>
    exports.default = {
      name: 'n3DataTable',
      props: {
        context: {},
        selection: {
          type: Object
        },
        refresh: {
          type: Function
        },
        selectCol: {
          type: Boolean,
          default: true
        },
        filter: {
          type: Boolean,
          default: true
        },
        filterList: {
          type: Array
        },
        page: {
          type: Boolean,
          default: true
        },
        search: {
          type: Boolean,
          default: true
        },
        striped: {
          type: Boolean
        },
        bordered: {
          type: Boolean,
          default: true
        },
        hover: {
          type: Boolean,
          default: true
        },
        responsive: {
          type: Boolean
        },
        columns: {
          type: Array
        },
        source: {
          type: Array
        },
        async: {
          boolean: false
        },
        fixedColumns: {
          type: Boolean
        },
        height: {
          type: String
        },
        width: {
          type: String
        },
        pagination: {
          type: Object,
          default: function _default() {
            return {
              total: 0,
              current: 1,
              pagesize: 10,
              pagesizeOpts: [10, 20, 30, 40]
            };
          }
        },
        loading: {
          type: Boolean,
          default: false
        },
        mergeRule: {
          type: Object
        },
        prefixCls: {
          type: String,
          default: 'n3'
        }
      },
      data: function data() {
        return {
          key: 'n3Key',
          mergeMap: {},
          isDisabledAll: false,
          filterArr: [],
          filterMap: {},
          query: '',
          searchMap: {},
          list: [],
          sortInfo: {},
          initSource: [],
          initColumns: [],
          selectdCols: [],
          selectOptions: [],
          cpage: {
            total: this.pagination.total,
            current: this.pagination.current,
            pagesize: this.pagination.pagesize,
            pagesizeOpts: this.pagination.pagesizeOpts
          }
        };
      },
    
      watch: {
        selectdCols: function selectdCols(val) {
          var copy = [];
          for (var i = 0; i < this.initColumns.length; i++) {
            var c = this.initColumns[i];
            val.indexOf(c.value) === -1 ? c.show = false : c.show = true;
            copy.push(Object.assign({}, c));
          }
          this.initColumns = copy;
          this.compileRender();
        },
        source: function source(val) {
          this.handlerSource();
          this.render();
        },
        columns: function columns(val) {
          this.init();
        },
        filterList: function filterList() {
          this.handlerFilter();
        },
    
        pagination: {
          handler: function handler(val) {
            this.cpage.current = val.current;
            this.cpage.pagesize = val.pagesize;
            this.cpage.total = val.total;
            this.cpage.pagesizeOpts = val.pagesizeOpts;
          },
    
          deep: true
        }
      },
      mounted: function mounted() {
        this.init();
      },
    
      components: {
        n3Page: _n3Page2.default,
        n3Select: _n3Select2.default,
        n3Button: _n3Button2.default,
        n3Icon: _n3Icon2.default,
        n3Input: _n3Input2.default,
        n3Loading: _n3Loading2.default,
        render: _render2.default
      },
      computed: {
        showColumns: function showColumns() {
          return this.initColumns.filter(function (i) {
            return i.show && i.colspan != 0;
          });
        },
        styleCon: function styleCon() {
          var style = {
            overflow: 'auto'
          };
          if (this.fixedColumns && this.height) {
            style.height = this.height;
          }
          return style;
        },
        styleTable: function styleTable() {
          var style = {
            overflow: 'auto'
          };
          if (this.width) {
            style.width = this.width;
          }
    
          return style;
        },
    
        checkedRows: {
          get: function get() {
            return this.selection.checkRows;
          },
          set: function set(val) {
            var self = this;
            this.selection.checkRows = val.map(function (i) {
              return self.delkey(i);
            });
          }
        },
        classObj: function classObj() {
          var prefixCls = this.prefixCls,
              striped = this.striped,
              bordered = this.bordered,
              hover = this.hover,
              responsive = this.responsive;
    
          var klass = {};
          klass[prefixCls + '-table'] = true;
          klass[prefixCls + '-table-striped'] = striped;
          klass[prefixCls + '-table-bordered'] = bordered;
          klass[prefixCls + '-table-hover'] = hover;
          klass[prefixCls + '-table-responsive'] = responsive;
          return klass;
        },
        isCheckedAll: function isCheckedAll() {
          var self = this;
          var rows = this.checkebleRows.filter(function (record) {
            var item = Object.assign({}, record);
            delete item.n3Key;
            return self.checkedValues.indexOf(JSON.stringify(item)) > -1;
          });
    
          return this.checkebleRows.length === rows.length;
        },
        filters: function filters() {
          var ret = [];
          var filters = this.filterArr;
          for (var i = 0; i < filters.length; i++) {
            if (filters[i]['value'].length) {
              ret.push({ dataIndex: filters[i]['dataIndex'], value: filters[i]['value'] });
            }
          }
          return ret;
        },
        checkedValues: function checkedValues() {
          var self = this;
          var rows = self.checkedRows.filter(function (record) {
            if (self.selection) {
              return !self.selection.getCheckboxProps || !self.selection.getCheckboxProps(record).disabled;
            }
          });
          var checkedKeys = rows.map(function (record) {
            return JSON.stringify(record);
          });
    
          return checkedKeys;
        },
        checkebleRows: function checkebleRows() {
          var self = this;
          var rows = [];
          if (self.list && self.list.length) {
            rows = self.list.filter(function (record) {
              if (self.selection) {
                return !self.selection.getCheckboxProps || !self.selection.getCheckboxProps(record).disabled;
              }
            });
          }
          return rows;
        }
      },
      methods: {
        stringify: function stringify(val) {
          return JSON.stringify(this.delkey(val));
        },
        delkey: function delkey(val) {
          var a = Object.assign({}, val);
          delete a[this.key];
          return a;
        },
        compare: function compare(a, b) {
          var e = true;
          for (var i in a) {
            if (a[i] != b[i]) {
              e = false;
              return false;
            }
          }
          return e;
        },
        colspan: function colspan(col, data) {
          var m = this.mergeRule;
          if (!m) return 1;
          var ret = m[col.dataIndex] && m[col.dataIndex][data[col.dataIndex]];
          return ret ? ret.colspan : 1;
        },
        rowspan: function rowspan(col, data) {
          var m = this.mergeRule;
          if (!m) return 1;
          var ret = m[col.dataIndex] && m[col.dataIndex][data[col.dataIndex]];
          return ret ? ret.rowspan : 1;
        },
        onCheckOne: function onCheckOne(event, record) {
          var self = this;
          var input = event.srcElement || event.target;
          var checked = input.checked;
          if (checked) {
            var array = self.checkedRows;
            if (self.checkedRows.findIndex(function (item) {
              return self.compare(item, record);
            }) === -1) {
              array.push(record);
            }
            self.checkedRows = array;
          } else {
            self.checkedRows = self.checkedRows.filter(function (item) {
              return !self.compare(item, record);
            });
          }
          if (self.selection.onSelect) {
            self.selection.onSelect(record, checked, self.checkedRows);
          }
        },
        onCheckAll: function onCheckAll(event) {
          var self = this;
          var changeRows = [];
          var input = event.srcElement || event.target;
          var checked = input.checked;
          if (checked) {
            var array = self.checkedRows;
            self.checkebleRows.forEach(function (record, i) {
              if (self.checkedRows.findIndex(function (item) {
                return self.compare(item, record);
              }) < 0) {
                array.push(record);
                changeRows.push(self.delkey(record));
              }
            });
            self.checkedRows = array;
          } else {
            var _array = self.checkedRows;
            self.checkebleRows.forEach(function (record, i) {
              var index = self.checkedRows.findIndex(function (item) {
                return self.compare(item, record);
              });
              if (index >= 0) {
                _array.splice(index, 1);
                changeRows.push(self.delkey(record));
              }
            });
            self.checkedRows = _array;
          }
          if (self.selection.onSelectAll) {
            self.selection.onSelectAll(checked, self.checkedRows, changeRows);
          }
        },
        sortStatus: function sortStatus(dataIndex, type) {
          return this.sortInfo.index === dataIndex && this.sortInfo.type === type;
        },
        tableChange: function tableChange() {
          this.$emit('change', this.page ? this.cpage : null, this.search ? this.query : null, this.sort ? this.sortInfo : null, this.filter ? this.filters : null);
        },
        sort: function sort(col, s, t) {
          var dataIndex = col.dataIndex;
          var _type = t || 'DESC';
          if (!s) return;
          if (dataIndex === this.sortInfo.index) {
            _type = t || (this.sortInfo.type === 'DESC' ? 'ASC' : 'DESC');
          }
          this.sortInfo = {
            index: dataIndex,
            type: _type,
            method: col.sortMethod
          };
          if (this.sort && this.async) {
            this.tableChange();
          } else {
            this.render();
          }
        },
        gosearch: function gosearch() {
          this.cpage.current = 1;
          if (this.search && this.async) {
            this.tableChange();
          } else {
            this.render();
          }
        },
        pageChange: function pageChange(current, pagesize) {
          this.cpage.current = current;
          this.cpage.pagesize = pagesize;
          if (this.page && this.async) {
            this.tableChange();
          } else {
            this.render();
          }
        },
        resetFilter: function resetFilter() {
          for (var i = 0; i < this.filterArr.length; i++) {
            this.filterArr[i].value = [];
          }
          this.cpage.current = 1;
          if (this.filter && this.async) {
            this.tableChange();
          } else {
            this.render();
          }
        },
        goFilter: function goFilter() {
          this.cpage.current = 1;
          if (this.filter && this.async) {
            this.tableChange();
          } else {
            this.render();
          }
        },
        addFilter: function addFilter(index, value, filterValue) {
          var values = this.filterMap[index] && this.filterMap[index]['values'];
          var filter = this.filterMap[index] && this.filterMap[index]['filter'];
          if (!values[value]) {
            filter['options'].push({ value: value, label: value });
            values[value] = true;
            if (filterValue && filterValue.indexOf(value) > -1) {
              filter['value'].push(value);
            }
          }
        },
        handlerFilter: function handlerFilter() {
          var s = this.columns;
          if (!this.filter) return;
          this.filterMap = {};
          if (_type3.default.isArray(this.filterList)) {
            this.filterArr = this.filterList;
          } else {
            for (var i = 0; i < s.length; i++) {
              if (s[i]['filter']) {
                this.filterArr.push({ title: s[i]['title'], dataIndex: s[i]['dataIndex'], options: [], value: [] });
              }
            }
          }
          for (var k = 0; k < this.filterArr.length; k++) {
            this.filterMap[this.filterArr[k]['dataIndex']] = { filter: this.filterArr[k], values: {} };
          }
        },
        handlerColumns: function handlerColumns() {
          var s = this.columns;
          var selectdCols = [];
          var ret = [];
          this.filterArr = [];
          for (var i = 0; i < s.length; i++) {
            var t = Object.assign({}, s[i]);
            t['value'] = t['dataIndex'];
            t['label'] = t['title'];
            if (t['show'] !== false) {
              t['show'] = true;
              selectdCols.push(t['value']);
            }
            t['sortType'] || t['sortMethod'] ? this.sortInfo = { index: t['dataIndex'], type: t['sortType'], method: t['sortMethod'] } : 0;
            ret[i] = t;
          }
          this.handlerFilter();
          this.selectdCols = selectdCols;
          this.initColumns = ret;
          this.selectOptions = ret.map(function (i) {
            return { label: i.label, value: i.value };
          });
        },
        handlerSource: function handlerSource() {
          var s = this.source;
          var ret = [];
          var filterValue = {};
          var checkedRows = [];
          if (!_type3.default.isArray(this.filterList)) {
            for (var i in this.filterMap) {
              var filter = this.filterMap[i];
              filterValue[i] = filter['filter']['value'].slice(0);
              filter['values'] = {};
              filter['filter']['options'] = [];
              filter['filter']['value'] = [];
            }
          }
          for (var _i = 0; _i < s.length; _i++) {
            var search = '';
            for (var j in s[_i]) {
              search += s[_i][j];
              if (!_type3.default.isArray(this.filterList) && this.filterMap[j]) {
                this.addFilter(j, s[_i][j], filterValue[j]);
              }
            }
            if (this.search) {
              this.searchMap[_i] = search;
            }
    
            ret[_i] = Object.assign({}, s[_i], { n3Key: _i });
            if (this.selection) {
              var p = this.selection.getCheckboxProps;
              p = p ? p(ret[_i]) : null;
              if (p && p.checked) {
                checkedRows.push(ret[_i]);
              }
            }
          }
          if (this.selection) {
            this.checkedRows = checkedRows;
          }
          this.initSource = ret;
        },
        init: function init() {
          this.handlerColumns();
          this.handlerSource();
          this.render();
        },
        listSort: function listSort(arr, field, order, method) {
          var type = 'number';
          order = order === 'ASC' ? 'ASC' : 'DESC';
          if (!method) {
            for (var i = 0; i < arr.length; i++) {
              if (typeof arr[i][field] !== 'number') {
                type = 'string';
                break;
              }
            }
            arr.sort(function (x, y) {
              return type === 'string' ? String(x[field]).localeCompare(y[field]) : x[field] - y[field];
            });
          } else {
            arr.sort(method);
          }
          if (order === 'DESC') arr.reverse();
        },
        getFilter: function getFilter(index) {
          return this.filterMap[index] && this.filterMap[index]['filter'];
        },
        inArray: function inArray(index, array) {
          for (var i = 0; i < array.length; i++) {
            if (array[i] === index) {
              return true;
            }
          }
          return false;
        },
        isFilterEmpty: function isFilterEmpty() {
          var map = this.filterMap;
          for (var i in map) {
            if (map[i]['filter']['value'].length > 0) {
              return false;
            }
          }
          return true;
        },
        filterRet: function filterRet(a) {
          var ret = [];
          for (var i = 0; i < a.length; i++) {
            var item = a[i];
            var pass = true;
            for (var j in item) {
              var filter = this.getFilter(j);
              if (filter && filter['value'].length && !this.inArray(item[j], filter['value'])) {
                pass = false;
              }
            }
            if (pass) {
              ret.push(item);
            }
          }
          return ret;
        },
        render: function render() {
          var s = this.initSource;
          var ret = this.initSource.slice(0);
          if (this.filter && !this.async && this.filterArr.length > 0 && !this.isFilterEmpty()) {
            ret = this.filterRet(ret);
          }
          if (this.search && !this.async && this.query) {
            ret = [];
            for (var i = 0; i < s.length; i++) {
              this.searchMap[s[i][this.key]].indexOf(this.query) !== -1 ? ret.push(s[i]) : 0;
            }
          }
          if (this.sortInfo.index && !this.async) {
            this.listSort(ret, this.sortInfo.index, this.sortInfo.type, this.sortInfo.method);
          }
          if (this.page && !this.async) {
            this.cpage.total = ret.length;
            ret = ret.slice((this.cpage.current - 1) * this.cpage.pagesize, (this.cpage.current - 1) * this.cpage.pagesize + this.cpage.pagesize);
          }
          this.list = ret;
          this.compileRender();
        },
        compileRender: function compileRender() {
          var _this = this;
    
          var self = this;
          this.$nextTick(function () {
            if (_this.selection) {
              self.isDisabledAll = !self.checkebleRows.length;
            }
            _this.$emit('complete');
          });
        }
      }
    };
    // </script>
    /* generated by vue-loader */

/***/ }),
/* 718 */
/***/ (function(module, exports) {

    module.exports = "\n<div :class=\"`${prefixCls}-data-table`\">\n<div :class=\"`${prefixCls}-data-table-bar clearfix`\">\n  <n3-select \n    class='pull-left'\n    style=\"margin-right:10px;\"\n    multiple\n    :showselected=\"false\"\n    v-if=\"selectCol\"\n    placeholder = \"显示的列\"\n    :options=\"selectOptions\" \n    v-model=\"selectdCols\">\n  </n3-select>\n  <div v-if=\"filter && filterArr.length\" :class=\"`pull-left ${prefixCls}-btn-group`\">\n    <template v-for=\"item in filterArr\">\n      <n3-select \n        :multiple = \"item.multiple === undefined?true:!!item.multiple\"\n        :search = \"item.search === undefined?true:!!item.search\"\n        :extra = \"item.extra === undefined?true:!!item.extra\"\n        :showselected=\"false\"\n        :placeholder = \"item.title\"\n        :options=\"item.options\" \n        v-model=\"item.value\">\n      </n3-select>\n    </template>  \n    <n3-button\n      :class=\"`${prefixCls}-data-table-inner-btn`\"\n      @click.native=\"resetFilter\" \n      type=\"primary\">\n      <n3-icon type=\"reply\"></n3-icon>\n    </n3-button>\n     <n3-button\n      :class=\"`${prefixCls}-data-table-inner-btn`\"\n      @click.native=\"goFilter\" \n      type=\"primary\">\n      <n3-icon type=\"filter\"></n3-icon>\n    </n3-button>\n  </div>\n    <n3-button\n      :class=\"`${prefixCls}-data-table-inner-btn`\" \n      style=\"margin-left:10px;\"\n      @click.native=\"refresh\"\n      v-if=\"refresh\"  \n      type=\"primary\">\n      <n3-icon type=\"refresh\"></n3-icon>\n    </n3-button>\n    <slot ></slot>\n  <n3-input\n    class=\"pull-right\" \n    placeholder=\"搜索\"\n    v-model=\"query\"\n    @keydown.native.enter=\"gosearch\"\n    v-if=\"search\">\n  </n3-input>\n</div>\n<div>\n  <n3-loading center size=\"lg\" v-if=\"loading\"></n3-loading>\n  <div v-if=\"fixedColumns\" :class=\"`${prefixCls}-data-table-fixed-columns`\">\n    <table :class=\"classObj\">\n      <thead>\n          <tr>\n            <th v-if=\"selection\" :class=\"`${prefixCls}-data-table-row-select`\">\n                <input v-if=\"list && list.length\" \n                  type=\"checkbox\" v-bind=\"{checked:isCheckedAll,disabled:isDisabledAll}\" \n                  @change=\"onCheckAll\"/>\n            </th>\n            <th v-for=\"col in showColumns\" \n                :style=\"{width: col.width}\" \n                :class=\"{'pointer': col.sort}\" \n                @click=\"sort(col, col.sort)\" \n                :colspan=\"col.colspan === undefined ? 1 : col.colspan\"> \n                  <span>{{col.title}} </span> \n                  <div :class=\"`${prefixCls}-data-table-sort pull-right`\" v-if=\"col.sort\" >\n                    <n3-icon\n                      @click.native.stop=\"sort(col,col.sort,'ASC')\"\n                      :style=\"{color: sortStatus(col.dataIndex,'ASC') ? 'gray' : '#ddd'}\" \n                      type=\"caret-up\">\n                    </n3-icon>\n                    <n3-icon\n                      @click.native.stop=\"sort(col,col.sort,'DESC')\"\n                      :style=\"{color: sortStatus(col.dataIndex,'DESC')? 'gray' : '#ddd'}\"\n                      type=\"caret-down\">\n                    </n3-icon>\n                  </div>\n            </th>\n          </tr>\n        </thead>\n    </table>\n  </div>\n  <div  :class=\"[loading ? prefixCls + '-data-table-loading':'']\" \n        :style=\"styleCon\">\n    <table :class=\"classObj\" :style=\"styleTable\">\n        <thead>\n          <tr>\n            <th v-if=\"selection\" :class=\"`${prefixCls}-data-table-row-select`\">\n                <input v-if=\"list && list.length\" \n                  type=\"checkbox\" v-bind=\"{checked:isCheckedAll,disabled:isDisabledAll}\" \n                  @change=\"onCheckAll\"/>\n            </th>\n            <th v-for=\"col in showColumns\" \n                :style=\"{width: col.width}\" \n                :class=\"{'pointer': col.sort}\" \n                @click=\"sort(col, col.sort)\" \n                :colspan=\"col.colspan === undefined ? 1 : col.colspan\"> \n                  <span>{{col.title}} </span> \n                  <div :class=\"`${prefixCls}-data-table-sort pull-right`\" v-if=\"col.sort\" >\n                    <n3-icon\n                      @click.native.stop=\"sort(col,col.sort,'ASC')\"\n                      :style=\"{color: sortStatus(col.dataIndex,'ASC') ? 'gray' : '#ddd'}\" \n                      type=\"caret-up\">\n                    </n3-icon>\n                    <n3-icon\n                      @click.native.stop=\"sort(col,col.sort,'DESC')\"\n                      :style=\"{color: sortStatus(col.dataIndex,'DESC')? 'gray' : '#ddd'}\"\n                      type=\"caret-down\">\n                    </n3-icon>\n                  </div>\n            </th>\n          </tr>\n        </thead>\n        <tbody>\n          <tr v-for=\"(data,index) in list\" track-by=\"n3Key\">\n              <td v-if=\"selection\" :class=\"`${prefixCls}-row-select`\">\n                 <input type=\"checkbox\" \n                  v-model=\"checkedValues\"  \n                  :value=\"stringify(data)\" @change.stop=\"onCheckOne($event,data)\" \n                  v-bind=\"selection.getCheckboxProps && selection.getCheckboxProps(data)\"/>\n              </td>\n              <td v-for=\"col in showColumns\"\n                :colspan=\"colspan(col,data)\"\n                :rowspan=\"rowspan(col,data)\">\n                <template v-if=\"col.show!=false && colspan(col,data) != 0 && rowspan(col,data) !=0\">\n                  <template v-if=\"col.render\">\n                    <render :context=\"context || $parent._self\" :template=\"col.render(data[col.dataIndex],data,index)\"></render>\n                  </template>\n                  <template v-else>\n                    <span v-html=\"col.dataIndex ? data[col.dataIndex] : ''\"></span>\n                  </template>\n                </template>\n              </td>\n          </tr>\n        </tbody>\n    </table>\n  </div>\n</div>\n\n<div :class=\"`${prefixCls}-data-table-bar ${prefixCls}-data-table-page`\" v-if=\"page\" >\n  <n3-page\n    v-if=\"page\" \n    :total=\"cpage.total\" \n    :current=\"cpage.current\" \n    :pagesize=\"cpage.pagesize\" \n    @change=\"pageChange\"\n    :show-sizer=\"true\"\n    :show-total=\"true\"\n    :pagesize-opts=\"cpage.pagesizeOpts\">\n  </n3-page>\n  </div>\n</div>\n</div>\n";

/***/ }),
/* 719 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(720)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] src/Timeline/n3Timeline.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(724)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-ff74c290/n3Timeline.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 720 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    
    var _n3TimelineItem = __webpack_require__(721);
    
    var _n3TimelineItem2 = _interopRequireDefault(_n3TimelineItem);
    
    var _render = __webpack_require__(666);
    
    var _render2 = _interopRequireDefault(_render);
    
    function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
    
    // <template>
    //      <ul :class="`${prefixCls}-timeline-con`">
    //          <template v-if="value">
    //              <n3-timeline-item v-for="i in value" :color="i.color" :icon="i.icon" >
    //                  <render :context="context || $parent._self" :template="i.content"></render>
    //              </n3-timeline-item>
    //          </template>
    //          <template v-else>
    //              <slot></slot>
    //          </template>
    //      </ul>
    // </template>
    // <script>
    exports.default = {
      name: 'n3Timeline',
      props: {
        value: {
          type: Array
        },
        context: {},
        prefixCls: {
          type: String,
          default: 'n3'
        }
      },
      components: {
        n3TimelineItem: _n3TimelineItem2.default,
        render: _render2.default
      }
    };
    // </script>
    /* generated by vue-loader */

/***/ }),
/* 721 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(722)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] src/Timeline/n3TimelineItem.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(723)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-0294ac6b/n3TimelineItem.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 722 */
/***/ (function(module, exports) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    // <template>
    //      <li :class="`${prefixCls}-timeline-item`">
    //          <div :class="`${prefixCls}-timeline-item-tail`"></div>
    //          <div :class="[prefixCls+'-timeline-item-head',icon?prefixCls+'-fa '+prefixCls+'-fa-'+icon:'']" :style="style"></div>
    //          <div :class="`${prefixCls}-timeline-item-content`">
    //              <slot></slot>
    //          </div>
    //      </li>
    // </template>
    // <script>
    exports.default = {
      name: 'n3TimelineItem',
      props: {
        icon: {
          type: String
        },
        color: {
          type: String,
          default: '#333'
        },
        content: {},
        prefixCls: {
          type: String,
          default: 'n3'
        }
      },
      computed: {
        style: function style() {
          return {
            'border-color': this.color,
            'color': this.color
          };
        }
      }
    };
    // </script>
    /* generated by vue-loader */

/***/ }),
/* 723 */
/***/ (function(module, exports) {

    module.exports = "\n \t<li :class=\"`${prefixCls}-timeline-item`\">\n \t\t<div :class=\"`${prefixCls}-timeline-item-tail`\"></div>\n \t\t<div :class=\"[prefixCls+'-timeline-item-head',icon?prefixCls+'-fa '+prefixCls+'-fa-'+icon:'']\" :style=\"style\"></div>\n \t\t<div :class=\"`${prefixCls}-timeline-item-content`\">\n\t \t\t<slot></slot>\n \t\t</div>\n \t</li>\n";

/***/ }),
/* 724 */
/***/ (function(module, exports) {

    module.exports = "\n\t<ul :class=\"`${prefixCls}-timeline-con`\">\n\t\t<template v-if=\"value\">\n\t\t\t<n3-timeline-item v-for=\"i in value\" :color=\"i.color\" :icon=\"i.icon\" >\n\t\t\t\t<render :context=\"context || $parent._self\" :template=\"i.content\"></render>\n\t\t\t</n3-timeline-item>\n\t\t</template>\n\t\t<template v-else>\n\t\t\t<slot></slot>\n\t\t</template>\n\t</ul>\n";

/***/ }),
/* 725 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(726)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] src/Tags/n3Tags.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(727)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-40845938/n3Tags.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 726 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    
    var _n3Icon = __webpack_require__(380);
    
    var _n3Icon2 = _interopRequireDefault(_n3Icon);
    
    function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
    
    exports.default = {
      name: 'n3Tags',
      props: {
        type: {
          type: String,
          default: 'default'
        },
        value: {
          type: Array
        },
        size: {
          type: String,
          default: ''
        },
        removable: {
          type: Boolean,
          default: false
        },
        prefixCls: {
          type: String,
          default: 'n3'
        }
      },
      components: {
        n3Icon: _n3Icon2.default
      },
      data: function data() {
        return {
          currentValue: this.value
        };
      },
    
      watch: {
        currentValue: function currentValue(val) {
          this.$emit('input', val);
        }
      },
      computed: {
        classObj: function classObj() {
          var prefixCls = this.prefixCls,
              size = this.size,
              type = this.type;
    
          var klass = {};
    
          klass[prefixCls + '-tag-group'] = true;
          size ? klass[prefixCls + '-tag-' + size] = true : '';
          type ? klass[prefixCls + '-tag-' + type] = true : '';
    
          return klass;
        },
        active: function active() {
          return this.type === 'default' ? 'tag-primary' : 'tag-' + this.type;
        }
      },
      methods: {
        tagClass: function tagClass(i) {
          var prefixCls = this.prefixCls;
    
          var klass = {};
    
          klass[prefixCls + '-tag'] = true;
          klass[prefixCls + '-tag-disabled'] = i.disabled;
    
          return klass;
        },
        find: function find(i, target) {
          var ret = -1;
          target.forEach(function (e, index) {
            if (e.value === i.value) {
              ret = index;
            }
          });
          return ret;
        },
        del: function del(i) {
          if (i.disabled) return;
          var index = this.find(i, this.currentValue);
    
          if (index > -1) {
            this.currentValue.splice(index, 1);
            this.$emit('remove');
          }
        }
      }
    };
    // </script>
    /* generated by vue-loader */
    // <template>
    //   <div :class="classObj">
    //     <label v-for="i in currentValue" :class="tagClass(i)">
    //      {{i.label}}
    //     <a name="remove" v-if="removable" @click="del(i)"><n3-icon type="times"></n3-icon></a>
    //     </label>
    //   </div>
    // </template>
    //
    // <script>

/***/ }),
/* 727 */
/***/ (function(module, exports) {

    module.exports = "\n  <div :class=\"classObj\">\n    <label v-for=\"i in currentValue\" :class=\"tagClass(i)\">\n\t {{i.label}}\n\t<a name=\"remove\" v-if=\"removable\" @click=\"del(i)\"><n3-icon type=\"times\"></n3-icon></a>\n\t</label>\n  </div>\n";

/***/ }),
/* 728 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(729)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] src/Breadcrumb/n3Breadcrumb.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(730)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-0dc65990/n3Breadcrumb.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 729 */
/***/ (function(module, exports) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    // <template>
    //     <ol :class="`${prefixCls}-breadcrumb`">
    //         <slot></slot>
    //     </ol>
    // </template>
    // <script>
    exports.default = {
      name: 'n3Breadcrumb',
      props: {
        prefixCls: {
          type: String,
          default: 'n3'
        }
      }
    };
    // </script>
    /* generated by vue-loader */

/***/ }),
/* 730 */
/***/ (function(module, exports) {

    module.exports = "\n<ol :class=\"`${prefixCls}-breadcrumb`\">\n\t<slot></slot>\n</ol>\n";

/***/ }),
/* 731 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(732)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] src/Breadcrumb/n3BreadcrumbItem.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(733)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-1bbda0eb/n3BreadcrumbItem.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 732 */
/***/ (function(module, exports) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    // <template>
    //      <li :class="[active ? prefixCls + '-breadcrumb-active' : '']">
    //         <a v-if='href' :href="href" >
    //         <slot></slot>
    //       </a>
    //       <span v-else>
    //         <slot></slot>
    //       </span>
    //       </li>
    // </template>
    // <script>
    exports.default = {
      name: 'n3BreadcrumbItem',
      props: {
        href: {
          type: String
        },
        active: {
          type: Boolean
        },
        prefixCls: {
          type: String,
          default: 'n3'
        }
      }
    };
    // </script>
    /* generated by vue-loader */

/***/ }),
/* 733 */
/***/ (function(module, exports) {

    module.exports = "\n \t<li :class=\"[active ? prefixCls + '-breadcrumb-active' : '']\">\n\t\t<a v-if='href' :href=\"href\" >\n    \t<slot></slot>\n  \t</a>\n  \t<span v-else>\n    \t<slot></slot>\n  \t</span>\n  \t</li>\n";

/***/ }),
/* 734 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(735)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] src/Form/n3Form.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(736)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-0ad482d8/n3Form.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 735 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    
    var _type = __webpack_require__(579);
    
    var _type2 = _interopRequireDefault(_type);
    
    var _events = __webpack_require__(580);
    
    var _events2 = _interopRequireDefault(_events);
    
    function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
    
    // <template>
    //   <form :class="classObj"  @submit.prevent="noop">
    //       <slot></slot>
    //   </form>
    // </template>
    //
    // <script>
    exports.default = {
      name: 'n3Form',
      mixins: [_events2.default],
      props: {
        type: {
          type: String,
          default: 'horizontal'
        },
        prefixCls: {
          type: String,
          default: 'n3'
        }
      },
    
      methods: {
        noop: function noop() {},
        validateFields: function validateFields(cb) {
          var _this = this;
    
          this.validate = true;
          this.$nextTick(function () {
            if (_type2.default.isFunction(cb)) {
              cb(_this.result);
            }
          });
        }
      },
    
      watch: {
        validate: function validate(val) {
          this.broadcast('n3Validate', 'n3@openValidate', val);
          if (val) {
            this.result = this._result;
          } else {
            this.result = { results: {}, isvaild: true };
          }
        },
        result: function result(val) {
          if (this.validate) {
            this.$emit('change', val);
          }
        }
      },
    
      mounted: function mounted() {
        if (!this.validate) {
          this.result = { results: {}, isvaild: true };
        }
        this.broadcast('n3Validate', 'n3@openValidate', this.validate);
      },
    
    
      computed: {
        classObj: function classObj() {
          var prefixCls = this.prefixCls,
              type = this.type;
    
          var klass = {};
    
          klass[prefixCls + '-form-horizontal'] = type === 'horizontal';
          klass[prefixCls + '-form-inline'] = type === 'inline';
          klass['clearfix'] = true;
    
          return klass;
        }
      },
    
      created: function created() {
        var _this2 = this;
    
        this.$on('openValidate', function () {
          _this2.validate = true;
        });
    
        this.$on('closeValidate', function () {
          _this2.validate = false;
        });
    
        this.$on('n3@validateChange', function (val) {
          var name = val.name;
          var validateResult = Object.assign({}, _this2._result);
    
          if (!validateResult.results) validateResult.results = {};
          validateResult.results[name] = val.result;
    
          validateResult.isvalid = true;
    
          for (var i in validateResult.results) {
            if (!validateResult.results[i]['isvalid']) {
              validateResult.isvalid = false;
              break;
            }
          }
    
          _this2._result = validateResult;
    
          if (_this2.validate) {
            _this2.result = _this2._result;
            _this2.$emit('validateChange', _this2.result);
          }
        });
      },
      data: function data() {
        return {
          _result: { results: {}, isvaild: true },
          result: { results: {}, isvaild: true },
          validate: false
        };
      }
    };
    // </script>

    /* generated by vue-loader */

/***/ }),
/* 736 */
/***/ (function(module, exports) {

    module.exports = "\n<form :class=\"classObj\"  @submit.prevent=\"noop\">\n    <slot></slot>\n</form>\n";

/***/ }),
/* 737 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(738)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] src/Form/n3FormItem.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(739)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-24d4808b/n3FormItem.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 738 */
/***/ (function(module, exports) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    // <template>
    //   <div :class="classObj" >
    //     <label :class="`${prefixCls}-col-sm-${label_col} ${prefixCls}-control-label`">
    //       <em :class="`${prefixCls}-form-need`" v-if="need" >*</em>
    //       {{label}}
    //       </label>
    //     <div :class="`${prefixCls}-col-sm-${col} inline`">
    //       <slot></slot>
    //     </div>  
    //   </div>
    // </template>
    //
    // <script>
    exports.default = {
      name: 'n3FormItem',
      props: {
        label: {
          type: String
        },
        labelCol: {
          type: Number
        },
        wrapCol: {
          type: Number
        },
        formCol: {
          type: Number
        },
        need: {
          type: Boolean,
          default: false
        },
        prefixCls: {
          type: String,
          default: 'n3'
        }
      },
      computed: {
        inline: function inline() {
          return this.$parent.type === 'inline';
        },
        label_col: function label_col() {
          var defaultCol = this.inline ? 0 : 2;
          return this.labelCol ? this.labelCol : defaultCol;
        },
        col: function col() {
          if (this.inline && !this.formCol) {
            return 0;
          }
    
          if (this.formCol) {
            return this.formCol;
          }
    
          var wrapCol = this.wrapCol ? this.wrapCol : 12;
          return wrapCol - this.label_col;
        },
        classObj: function classObj() {
          var prefixCls = this.prefixCls,
              wrapCol = this.wrapCol;
    
          var klass = {};
          var defaultCol = this.inline ? wrapCol || 0 : 12;
    
          klass['clearfix'] = true;
          klass[prefixCls + '-form-group'] = true;
          klass[prefixCls + '-col-sm-' + defaultCol] = true;
    
          return klass;
        }
      }
    };
    // </script>
    /* generated by vue-loader */

/***/ }),
/* 739 */
/***/ (function(module, exports) {

    module.exports = "\n<div :class=\"classObj\" >\n  <label :class=\"`${prefixCls}-col-sm-${label_col} ${prefixCls}-control-label`\">\n    <em :class=\"`${prefixCls}-form-need`\" v-if=\"need\" >*</em>\n    {{label}}\n    </label>\n  <div :class=\"`${prefixCls}-col-sm-${col} inline`\">\n    <slot></slot>\n  </div>  \n</div>\n";

/***/ }),
/* 740 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(741)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] src/Carousel/n3Slide.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(742)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-62214b2e/n3Slide.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 741 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    
    var _element = __webpack_require__(562);
    
    var _element2 = _interopRequireDefault(_element);
    
    function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
    
    exports.default = {
      name: 'n3Slide',
      props: {
        prefixCls: {
          type: String,
          default: 'n3'
        }
      },
      data: function data() {
        return {
          index: 0
        };
      },
      mounted: function mounted() {
        var _this = this;
    
        this.$nextTick(function () {
          for (var c in _this.$parent.$children) {
            if (_this.$parent.$children[c].$el == _this.$el) {
              _this.index = c;
              break;
            }
          }
    
          _this.$parent.indicator.push(_this.index);
          if (_this.index == 1) {
            _element2.default.addClass(_this.$el, _this.prefixCls + '-carousel-active');
          }
        });
      }
    };
    // </script>

    /* generated by vue-loader */
    // <template>
    //   <div :class="`${prefixCls}-carousel-item`">
    //     <slot></slot>
    //   </div>
    // </template>
    //
    // <script>

/***/ }),
/* 742 */
/***/ (function(module, exports) {

    module.exports = "\n<div :class=\"`${prefixCls}-carousel-item`\">\n  <slot></slot>\n</div>\n";

/***/ }),
/* 743 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(744)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] src/Tree/n3Tree.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(751)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-769c9998/n3Tree.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 744 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    
    var _store = __webpack_require__(745);
    
    var _store2 = _interopRequireDefault(_store);
    
    function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
    
    var emptyText = 'Empty Content.'; // <template>
    //   <div class="n3-tree">
    //     <n3-tree-node
    //       v-for="child in root.childNodes"
    //       :node="child"
    //       :props="props"
    //       :key="getNodeKey(child)"
    //       :render-content="renderContent">
    //     </n3-tree-node>
    //     <div v-if="!root.childNodes || root.childNodes.length === 0">
    //       <span>{{ emptyText }}</span>
    //     </div>
    //   </div>
    // </template>
    //
    // <script>
    exports.default = {
      name: 'n3Tree',
    
      props: {
        data: {
          type: Array
        },
        prefixCls: {
          type: String,
          default: 'n3'
        },
        emptyText: {
          type: String,
          default: function _default() {
            return emptyText;
          }
        },
        // 叶子节点图标
        leafIcon: {
          type: String,
          default: 'file'
        },
        // 子节点图标
        childIcon: {
          type: String,
          default: 'folder'
        },
        // 收起树时的图标
        closedIcon: {
          type: String,
          default: 'angle-right'
        },
        // 打开树时的图标
        openedIcon: {
          type: String,
          default: 'angle-down'
        },
        nodeKey: String,
        checkStrictly: Boolean,
        defaultExpandAll: Boolean,
        expandOnClickNode: {
          type: Boolean,
          default: true
        },
        autoExpandParent: {
          type: Boolean,
          default: true
        },
        defaultCheckedKeys: Array,
        defaultExpandedKeys: Array,
        renderContent: Function,
        showCheckbox: {
          type: Boolean,
          default: false
        },
        props: {
          default: function _default() {
            return {
              children: 'children',
              label: 'label',
              icon: 'icon'
            };
          }
        },
        lazy: {
          type: Boolean,
          default: false
        },
        highlightCurrent: Boolean,
        currentNodeKey: [String, Number],
        load: Function,
        filterNodeMethod: Function
      },
    
      created: function created() {
        this.isTree = true;
    
        this.store = new _store2.default({
          key: this.nodeKey,
          data: this.data,
          lazy: this.lazy,
          props: this.props,
          load: this.load,
          currentNodeKey: this.currentNodeKey,
          checkStrictly: this.checkStrictly,
          defaultCheckedKeys: this.defaultCheckedKeys,
          defaultExpandedKeys: this.defaultExpandedKeys,
          autoExpandParent: this.autoExpandParent,
          defaultExpandAll: this.defaultExpandAll,
          filterNodeMethod: this.filterNodeMethod
        });
    
        this.root = this.store.root;
      },
      data: function data() {
        return {
          store: null,
          root: null,
          currentNode: null
        };
      },
    
    
      components: {
        n3TreeNode: __webpack_require__(748)
      },
    
      computed: {
        children: {
          set: function set(value) {
            this.data = value;
          },
          get: function get() {
            return this.data;
          }
        }
      },
    
      watch: {
        defaultCheckedKeys: function defaultCheckedKeys(newVal) {
          this.store.defaultCheckedKeys = newVal;
          this.store.setDefaultCheckedKey(newVal);
        },
        defaultExpandedKeys: function defaultExpandedKeys(newVal) {
          this.store.defaultExpandedKeys = newVal;
          this.store.setDefaultExpandedKeys(newVal);
        },
        currentNodeKey: function currentNodeKey(newVal) {
          this.store.setCurrentNodeKey(newVal);
        },
        data: function data(newVal) {
          this.store.setData(newVal);
        }
      },
    
      methods: {
        filter: function filter(value) {
          if (!this.filterNodeMethod) throw new Error('[Tree] filterNodeMethod is required when filter');
          this.store.filter(value);
        },
        getNodeKey: function getNodeKey(node, index) {
          var nodeKey = this.nodeKey;
          if (nodeKey && node) {
            return node.data[nodeKey];
          }
          return index;
        },
        getCheckedNodes: function getCheckedNodes(leafOnly) {
          return this.store.getCheckedNodes(leafOnly);
        },
        getCheckedKeys: function getCheckedKeys(leafOnly) {
          return this.store.getCheckedKeys(leafOnly);
        },
        setCheckedNodes: function setCheckedNodes(nodes, leafOnly) {
          if (!this.nodeKey) throw new Error('[Tree] nodeKey is required in setCheckedNodes');
          this.store.setCheckedNodes(nodes, leafOnly);
        },
        setCheckedKeys: function setCheckedKeys(keys, leafOnly) {
          if (!this.nodeKey) throw new Error('[Tree] nodeKey is required in setCheckedNodes');
          this.store.setCheckedKeys(keys, leafOnly);
        },
        setChecked: function setChecked(data, checked, deep) {
          this.store.setChecked(data, checked, deep);
        }
      }
    };
    // </script>

    /* generated by vue-loader */

/***/ }),
/* 745 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: 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; };
    
    var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
    
    var _node = __webpack_require__(746);
    
    var _node2 = _interopRequireDefault(_node);
    
    var _util = __webpack_require__(747);
    
    function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
    
    function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
    
    var Store = function () {
      function Store(options) {
        var _this = this;
    
        _classCallCheck(this, Store);
    
        this.currentNode = null;
        this.currentNodeKey = null;
    
        for (var option in options) {
          if (options.hasOwnProperty(option)) {
            this[option] = options[option];
          }
        }
    
        this.nodesMap = {};
    
        this.root = new _node2.default({
          data: this.data,
          store: this
        });
    
        if (this.lazy && this.load) {
          var loadFn = this.load;
          loadFn(this.root, function (data) {
            _this.root.doCreateChildren(data);
            _this._initDefaultCheckedNodes();
          });
        } else {
          this._initDefaultCheckedNodes();
        }
      }
    
      _createClass(Store, [{
        key: 'filter',
        value: function filter(value) {
          var filterNodeMethod = this.filterNodeMethod;
          var traverse = function traverse(node) {
            var childNodes = node.root ? node.root.childNodes : node.childNodes;
    
            childNodes.forEach(function (child) {
              child.visible = filterNodeMethod.call(child, value, child.data, child);
    
              traverse(child);
            });
    
            if (!node.visible && childNodes.length) {
              var allHidden = true;
    
              childNodes.forEach(function (child) {
                if (child.visible) allHidden = false;
              });
    
              if (node.root) {
                node.root.visible = allHidden === false;
              } else {
                node.visible = allHidden === false;
              }
            }
    
            if (node.visible && !node.isLeaf) node.expand();
          };
    
          traverse(this);
        }
      }, {
        key: 'setData',
        value: function setData(newVal) {
          var instanceChanged = newVal !== this.root.data;
          this.root.setData(newVal);
          if (instanceChanged) {
            this._initDefaultCheckedNodes();
          }
        }
      }, {
        key: 'getNode',
        value: function getNode(data) {
          var key = (typeof data === 'undefined' ? 'undefined' : _typeof(data)) !== 'object' ? data : (0, _util.getNodeKey)(this.key, data);
          return this.nodesMap[key];
        }
      }, {
        key: 'insertBefore',
        value: function insertBefore(data, refData) {
          var refNode = this.getNode(refData);
          refNode.parent.insertBefore({ data: data }, refNode);
        }
      }, {
        key: 'insertAfter',
        value: function insertAfter(data, refData) {
          var refNode = this.getNode(refData);
          refNode.parent.insertAfter({ data: data }, refNode);
        }
      }, {
        key: 'remove',
        value: function remove(data) {
          var node = this.getNode(data);
          if (node) {
            node.parent.removeChild(node);
          }
        }
      }, {
        key: 'append',
        value: function append(data, parentData) {
          var parentNode = parentData ? this.getNode(parentData) : this.root;
    
          if (parentNode) {
            parentNode.insertChild({ data: data });
          }
        }
      }, {
        key: '_initDefaultCheckedNodes',
        value: function _initDefaultCheckedNodes() {
          var _this2 = this;
    
          var defaultCheckedKeys = this.defaultCheckedKeys || [];
          var nodesMap = this.nodesMap;
    
          defaultCheckedKeys.forEach(function (checkedKey) {
            var node = nodesMap[checkedKey];
    
            if (node) {
              node.setChecked(true, !_this2.checkStrictly);
            }
          });
        }
      }, {
        key: '_initDefaultCheckedNode',
        value: function _initDefaultCheckedNode(node) {
          var defaultCheckedKeys = this.defaultCheckedKeys || [];
    
          if (defaultCheckedKeys.indexOf(node.key) !== -1) {
            node.setChecked(true, !this.checkStrictly);
          }
        }
      }, {
        key: 'setDefaultCheckedKey',
        value: function setDefaultCheckedKey(newVal) {
          if (newVal !== this.defaultCheckedKeys) {
            this.defaultCheckedKeys = newVal;
            this._initDefaultCheckedNodes();
          }
        }
      }, {
        key: 'registerNode',
        value: function registerNode(node) {
          var key = this.key;
          if (!key || !node || !node.data) return;
    
          var nodeKey = node.key;
          if (nodeKey) this.nodesMap[node.key] = node;
        }
      }, {
        key: 'deregisterNode',
        value: function deregisterNode(node) {
          var key = this.key;
          if (!key || !node || !node.data) return;
    
          delete this.nodesMap[node.key];
        }
      }, {
        key: 'getCheckedNodes',
        value: function getCheckedNodes(leafOnly) {
          var checkedNodes = [];
          var traverse = function traverse(node) {
            var childNodes = node.root ? node.root.childNodes : node.childNodes;
    
            childNodes.forEach(function (child) {
              if (!leafOnly && child.checked || leafOnly && child.isLeaf && child.checked) {
                checkedNodes.push(child.data);
              }
    
              traverse(child);
            });
          };
    
          traverse(this);
    
          return checkedNodes;
        }
      }, {
        key: 'getCheckedKeys',
        value: function getCheckedKeys(leafOnly) {
          var key = this.key;
          var allNodes = this._getAllNodes();
          var keys = [];
          allNodes.forEach(function (node) {
            if (!leafOnly || leafOnly && node.isLeaf) {
              if (node.checked) {
                keys.push((node.data || {})[key]);
              }
            }
          });
          return keys;
        }
      }, {
        key: '_getAllNodes',
        value: function _getAllNodes() {
          var allNodes = [];
          var nodesMap = this.nodesMap;
          for (var nodeKey in nodesMap) {
            if (nodesMap.hasOwnProperty(nodeKey)) {
              allNodes.push(nodesMap[nodeKey]);
            }
          }
    
          return allNodes;
        }
      }, {
        key: '_setCheckedKeys',
        value: function _setCheckedKeys(key, leafOnly, checkedKeys) {
          var _this3 = this;
    
          var allNodes = this._getAllNodes();
    
          allNodes.sort(function (a, b) {
            return a.level > b.level ? -1 : 1;
          });
          allNodes.forEach(function (node) {
            if (!leafOnly || leafOnly && node.isLeaf) {
              node.setChecked(!!checkedKeys[(node.data || {})[key]], !_this3.checkStrictly);
            }
          });
        }
      }, {
        key: 'setCheckedNodes',
        value: function setCheckedNodes(array) {
          var leafOnly = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
    
          var key = this.key;
          var checkedKeys = {};
          array.forEach(function (item) {
            checkedKeys[(item || {})[key]] = true;
          });
    
          this._setCheckedKeys(key, leafOnly, checkedKeys);
        }
      }, {
        key: 'setCheckedKeys',
        value: function setCheckedKeys(keys) {
          var leafOnly = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
    
          this.defaultCheckedKeys = keys;
          var key = this.key;
          var checkedKeys = {};
          keys.forEach(function (key) {
            checkedKeys[key] = true;
          });
    
          this._setCheckedKeys(key, leafOnly, checkedKeys);
        }
      }, {
        key: 'setDefaultExpandedKeys',
        value: function setDefaultExpandedKeys(keys) {
          var _this4 = this;
    
          keys = keys || [];
          this.defaultExpandedKeys = keys;
    
          keys.forEach(function (key) {
            var node = _this4.getNode(key);
            if (node) node.expand(null, _this4.autoExpandParent);
          });
        }
      }, {
        key: 'setChecked',
        value: function setChecked(data, checked, deep) {
          var node = this.getNode(data);
    
          if (node) {
            node.setChecked(!!checked, deep);
          }
        }
      }, {
        key: 'getCurrentNode',
        value: function getCurrentNode() {
          return this.currentNode;
        }
      }, {
        key: 'setCurrentNode',
        value: function setCurrentNode(node) {
          this.currentNode = node;
        }
      }, {
        key: 'setCurrentNodeKey',
        value: function setCurrentNodeKey(key) {
          var node = this.getNode(key);
          if (node) {
            this.currentNode = node;
          }
        }
      }]);
    
      return Store;
    }();
    
    exports.default = Store;

/***/ }),
/* 746 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    
    var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
    
    var _util = __webpack_require__(747);
    
    function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
    
    var objectAssign = Object.assign;
    
    var reInitChecked = function reInitChecked(node) {
      var siblings = node.childNodes;
    
      var all = true;
      var none = true;
    
      for (var i = 0, j = siblings.length; i < j; i++) {
        var sibling = siblings[i];
        if (sibling.checked !== true || sibling.indeterminate) {
          all = false;
        }
        if (sibling.checked !== false || sibling.indeterminate) {
          none = false;
        }
      }
    
      if (all) {
        node.setChecked(true);
      } else if (!all && !none) {
        node.setChecked('half');
      } else if (none) {
        node.setChecked(false);
      }
    };
    
    var getPropertyFromData = function getPropertyFromData(node, prop) {
      var props = node.store.props;
      var data = node.data || {};
      var config = props[prop];
    
      if (typeof config === 'function') {
        return config(data, node);
      } else if (typeof config === 'string') {
        return data[config];
      } else if (typeof config === 'undefined') {
        return '';
      }
    };
    
    var nodeIdSeed = 0;
    
    var Node = function () {
      function Node(options) {
        _classCallCheck(this, Node);
    
        this.id = nodeIdSeed++;
        this.text = null;
        this.checked = false;
        this.indeterminate = false;
        this.data = null;
        this.expanded = false;
        this.parent = null;
        this.visible = true;
    
        for (var name in options) {
          if (options.hasOwnProperty(name)) {
            this[name] = options[name];
          }
        }
    
        // internal
        this.level = 0;
        this.loaded = false;
        this.childNodes = [];
        this.loading = false;
    
        if (this.parent) {
          this.level = this.parent.level + 1;
        }
    
        var store = this.store;
        if (!store) {
          throw new Error('[Node]store is required!');
        }
        store.registerNode(this);
    
        var props = store.props;
        if (props && typeof props.isLeaf !== 'undefined') {
          var isLeaf = getPropertyFromData(this, 'isLeaf');
          if (typeof isLeaf === 'boolean') {
            this.isLeafByUser = isLeaf;
          }
        }
    
        if (store.lazy !== true && this.data) {
          this.setData(this.data);
    
          if (store.defaultExpandAll) {
            this.expanded = true;
          }
        } else if (this.level > 0 && store.lazy && store.defaultExpandAll) {
          this.expand();
        }
    
        if (!this.data) return;
        var defaultExpandedKeys = store.defaultExpandedKeys;
        var key = store.key;
        if (key && defaultExpandedKeys && defaultExpandedKeys.indexOf(this.key) !== -1) {
          this.expand(null, store.autoExpandParent);
        }
    
        if (key && store.currentNodeKey && this.key === store.currentNodeKey) {
          store.currentNode = this;
        }
    
        if (store.lazy) {
          store._initDefaultCheckedNode(this);
        }
    
        this.updateLeafState();
      }
    
      _createClass(Node, [{
        key: 'setData',
        value: function setData(data) {
          if (!Array.isArray(data)) {
            (0, _util.markNodeData)(this, data);
          }
    
          this.data = data;
          this.childNodes = [];
    
          var children = void 0;
          if (this.level === 0 && this.data instanceof Array) {
            children = this.data;
          } else {
            children = getPropertyFromData(this, 'children') || [];
          }
    
          for (var i = 0, j = children.length; i < j; i++) {
            this.insertChild({ data: children[i] });
          }
        }
      }, {
        key: 'insertChild',
        value: function insertChild(child, index) {
          if (!child) throw new Error('insertChild error: child is required.');
    
          if (!(child instanceof Node)) {
            objectAssign(child, {
              parent: this,
              store: this.store
            });
            child = new Node(child);
          }
    
          child.level = this.level + 1;
    
          if (typeof index === 'undefined' || index < 0) {
            this.childNodes.push(child);
          } else {
            this.childNodes.splice(index, 0, child);
          }
    
          this.updateLeafState();
        }
      }, {
        key: 'insertBefore',
        value: function insertBefore(child, ref) {
          var index = void 0;
          if (ref) {
            index = this.childNodes.indexOf(ref);
          }
          this.insertChild(child, index);
        }
      }, {
        key: 'insertAfter',
        value: function insertAfter(child, ref) {
          var index = void 0;
          if (ref) {
            index = this.childNodes.indexOf(ref);
            if (index !== -1) index += 1;
          }
          this.insertChild(child, index);
        }
      }, {
        key: 'removeChild',
        value: function removeChild(child) {
          var index = this.childNodes.indexOf(child);
    
          if (index > -1) {
            this.store && this.store.deregisterNode(child);
            child.parent = null;
            this.childNodes.splice(index, 1);
          }
    
          this.updateLeafState();
        }
      }, {
        key: 'removeChildByData',
        value: function removeChildByData(data) {
          var targetNode = null;
          this.childNodes.forEach(function (node) {
            if (node.data === data) {
              targetNode = node;
            }
          });
    
          if (targetNode) {
            this.removeChild(targetNode);
          }
        }
      }, {
        key: 'expand',
        value: function expand(callback, expandParent) {
          var _this = this;
    
          var done = function done() {
            if (expandParent) {
              var parent = _this.parent;
              while (parent.level > 0) {
                parent.expanded = true;
                parent = parent.parent;
              }
            }
            _this.expanded = true;
            if (callback) callback();
          };
    
          if (this.shouldLoadData()) {
            this.loadData(function (data) {
              if (data instanceof Array) {
                done();
              }
            });
          } else {
            done();
          }
        }
      }, {
        key: 'doCreateChildren',
        value: function doCreateChildren(array) {
          var _this2 = this;
    
          var defaultProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
    
          array.forEach(function (item) {
            _this2.insertChild(objectAssign({ data: item }, defaultProps));
          });
        }
      }, {
        key: 'collapse',
        value: function collapse() {
          this.expanded = false;
        }
      }, {
        key: 'shouldLoadData',
        value: function shouldLoadData() {
          return this.store.lazy === true && this.store.load && !this.loaded;
        }
      }, {
        key: 'updateLeafState',
        value: function updateLeafState() {
          if (this.store.lazy === true && this.loaded !== true && typeof this.isLeafByUser !== 'undefined') {
            this.isLeaf = this.isLeafByUser;
            return;
          }
          var childNodes = this.childNodes;
          if (!this.store.lazy || this.store.lazy === true && this.loaded === true) {
            this.isLeaf = !childNodes || childNodes.length === 0;
            return;
          }
          this.isLeaf = false;
        }
      }, {
        key: 'setChecked',
        value: function setChecked(value, deep) {
          var _this3 = this;
    
          this.indeterminate = value === 'half';
          this.checked = value === true;
    
          var handleDescendants = function handleDescendants() {
            if (deep) {
              var childNodes = _this3.childNodes;
              for (var i = 0, j = childNodes.length; i < j; i++) {
                var child = childNodes[i];
                child.setChecked(value !== false, deep);
              }
            }
          };
    
          if (!this.store.checkStrictly && this.shouldLoadData()) {
            // Only work on lazy load data.
            this.loadData(function () {
              handleDescendants();
            }, {
              checked: value !== false
            });
          } else {
            handleDescendants();
          }
    
          var parent = this.parent;
          if (!parent || parent.level === 0) return;
    
          if (!this.store.checkStrictly) {
            reInitChecked(parent);
          }
        }
      }, {
        key: 'getChildren',
        value: function getChildren() {
          // this is data
          var data = this.data;
          if (!data) return null;
    
          var props = this.store.props;
          var children = 'children';
          if (props) {
            children = props.children || 'children';
          }
    
          if (data[children] === undefined) {
            data[children] = null;
          }
    
          return data[children];
        }
      }, {
        key: 'updateChildren',
        value: function updateChildren() {
          var _this4 = this;
    
          var newData = this.getChildren() || [];
          var oldData = this.childNodes.map(function (node) {
            return node.data;
          });
    
          var newDataMap = {};
          var newNodes = [];
    
          newData.forEach(function (item, index) {
            if (item[_util.NODE_KEY]) {
              newDataMap[item[_util.NODE_KEY]] = { index: index, data: item };
            } else {
              newNodes.push({ index: index, data: item });
            }
          });
    
          oldData.forEach(function (item) {
            if (!newDataMap[item[_util.NODE_KEY]]) _this4.removeChildByData(item);
          });
    
          newNodes.forEach(function (_ref) {
            var index = _ref.index,
                data = _ref.data;
    
            _this4.insertChild({ data: data }, index);
          });
    
          this.updateLeafState();
        }
      }, {
        key: 'loadData',
        value: function loadData(callback) {
          var _this5 = this;
    
          var defaultProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
    
          if (this.store.lazy === true && this.store.load && !this.loaded && !this.loading) {
            this.loading = true;
    
            var resolve = function resolve(children) {
              _this5.loaded = true;
              _this5.loading = false;
              _this5.childNodes = [];
    
              _this5.doCreateChildren(children, defaultProps);
    
              _this5.updateLeafState();
              if (callback) {
                callback.call(_this5, children);
              }
            };
    
            this.store.load(this, resolve);
          } else {
            if (callback) {
              callback.call(this);
            }
          }
        }
      }, {
        key: 'label',
        get: function get() {
          return getPropertyFromData(this, 'label');
        }
      }, {
        key: 'icon',
        get: function get() {
          return getPropertyFromData(this, 'icon');
        }
      }, {
        key: 'key',
        get: function get() {
          var nodeKey = this.store.key;
          if (this.data) return this.data[nodeKey];
          return null;
        }
      }]);
    
      return Node;
    }();
    
    exports.default = Node;

/***/ }),
/* 747 */
/***/ (function(module, exports) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    var NODE_KEY = exports.NODE_KEY = '$treeNodeId';
    
    var markNodeData = exports.markNodeData = function markNodeData(node, data) {
      if (data[NODE_KEY]) return;
      Object.defineProperty(data, NODE_KEY, {
        value: node.id,
        enumerable: false,
        configurable: false,
        writable: false
      });
    };
    
    var getNodeKey = exports.getNodeKey = function getNodeKey(key, data) {
      if (!key) return data[NODE_KEY];
      return data[key];
    };

/***/ }),
/* 748 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(749)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] src/Tree/n3TreeNode.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(750)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-ac174a8c/n3TreeNode.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 749 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    
    var _n3CollapseTransition = __webpack_require__(628);
    
    var _n3CollapseTransition2 = _interopRequireDefault(_n3CollapseTransition);
    
    var _n3Checkbox = __webpack_require__(583);
    
    var _n3Checkbox2 = _interopRequireDefault(_n3Checkbox);
    
    function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
    
    // <template>
    //   <div :class="`${prefixCls}-tree-node`">
    //     <div 
    //       @click.stop="handleClick"
    //       v-show="node.visible"
    //       :class="[ `${prefixCls}-tree-data`, tree.store.currentNode === node ? `${prefixCls}-tree-active` : '']">
    //       <div :class="`${prefixCls}-tree-node__content`"
    //         :style="{ 'padding-left': (node.level - 1) * 20 + 'px' }">
    //         <span @click.stop="handleExpandIconClick">
    //           <n3-icon
    //             v-show="!node.isLeaf"
    //             :class="`${prefixCls}-tree-select-icon`"
    //             :type="(!node.isLeaf && expanded) ? tree.openedIcon : tree.closedIcon"
    //           >
    //           </n3-icon>
    //         </span>
    //         <span @click.stop="handleUserClick">
    //           <n3-checkbox
    //             v-if="showCheckbox"
    //             :checked="node.checked"
    //             @change="handleCheckChange"
    //           >
    //           </n3-checkbox>
    //         </span>
    //         <span
    //           :class="`${prefixCls}-tree-loading-box`"
    //           v-if="node.loading"
    //         >
    //           <n3-loading color="primary" size="xs"></n3-loading>
    //         </span>
    //         <n3-icon :type="node.isLeaf ? tree.leafIcon : tree.childIcon"></n3-icon>
    //         <node-content :node="node"></node-content>
    //       </div>
    //       <n3-collapse-transition>
    //         <div v-show="expanded">
    //             <div
    //               :class="`${prefixCls}-tree-children`"
    //               >
    //               <n3-tree-node
    //                 :render-content="renderContent"
    //                 v-for="child in node.childNodes"
    //                 :key="getNodeKey(child)"
    //                 :node="child">
    //               </n3-tree-node>
    //             </div>
    //         </div>
    //       </n3-collapse-transition>
    //     </div>
    //   </div>
    // </template>
    //
    // <script type="text/jsx">
    exports.default = {
      name: 'n3TreeNode',
    
      props: {
        node: {
          default: function _default() {
            return {};
          }
        },
        prefixCls: {
          type: String,
          default: 'n3'
        },
        props: {},
        renderContent: Function
      },
    
      components: {
        n3Checkbox: _n3Checkbox2.default,
        n3CollapseTransition: _n3CollapseTransition2.default,
        NodeContent: {
          props: {
            node: {
              required: true
            }
          },
          render: function render(h) {
            var parent = this.$parent;
            var node = this.node;
            var data = node.data;
            var store = node.store;
            return parent.renderContent ? parent.renderContent.call(parent._renderProxy, h, { _self: parent.tree.$vnode.context, node: node, data: data, store: store }) : h(
              'span',
              null,
              [this.node.label]
            );
          }
        }
      },
    
      data: function data() {
        return {
          tree: null,
          expanded: false,
          childNodeRendered: false,
          showCheckbox: false,
          oldChecked: null,
          oldIndeterminate: null
        };
      },
    
    
      watch: {
        'node.indeterminate': function nodeIndeterminate(val) {
          this.handleSelectChange(this.node.checked, val);
        },
        'node.checked': function nodeChecked(val) {
          this.handleSelectChange(val, this.node.indeterminate);
        },
        'node.expanded': function nodeExpanded(val) {
          this.expanded = val;
          if (val) {
            this.childNodeRendered = true;
          }
        }
      },
    
      methods: {
        getNodeKey: function getNodeKey(node, index) {
          var nodeKey = this.tree.nodeKey;
          if (nodeKey && node) {
            return node.data[nodeKey];
          }
          return index;
        },
        handleSelectChange: function handleSelectChange(checked, indeterminate) {
          if (this.oldChecked !== checked && this.oldIndeterminate !== indeterminate) {
            this.tree.$emit('check-change', this.node.data, checked, indeterminate);
          }
          this.oldChecked = checked;
          this.indeterminate = indeterminate;
        },
        handleClick: function handleClick() {
          var store = this.tree.store;
          store.setCurrentNode(this.node);
          this.tree.$emit('current-change', store.currentNode ? store.currentNode.data : null, store.currentNode);
          this.tree.currentNode = this;
          if (this.tree.expandOnClickNode) {
            this.handleExpandIconClick();
          }
          this.tree.$emit('node-click', this.node.data, this.node, this);
        },
        handleExpandIconClick: function handleExpandIconClick() {
          if (this.expanded) {
            this.node.collapse();
          } else {
            this.node.expand();
          }
        },
        handleUserClick: function handleUserClick() {
          if (this.node.indeterminate) {
            this.node.setChecked(this.node.checked, !this.tree.checkStrictly);
          }
        },
        handleCheckChange: function handleCheckChange(checked) {
          if (!this.node.indeterminate) {
            this.node.setChecked(checked, !this.tree.checkStrictly);
          }
        }
      },
    
      created: function created() {
        var _this = this;
    
        var parent = this.$parent;
    
        if (parent.isTree) {
          this.tree = parent;
        } else {
          this.tree = parent.$parent.tree;
        }
    
        var tree = this.tree;
        if (!tree) {
          console.warn('Can not find node\'s tree.');
        }
    
        var props = tree.props || {};
        this.prefixCls = tree.prefixCls;
    
        var childrenKey = props['children'] || 'children';
    
        this.$watch('node.data.' + childrenKey, function () {
          _this.node.updateChildren();
        });
    
        this.showCheckbox = tree.showCheckbox;
    
        if (this.node.expanded) {
          this.expanded = true;
          this.childNodeRendered = true;
        }
      }
    };
    // </script>

    /* generated by vue-loader */

/***/ }),
/* 750 */
/***/ (function(module, exports) {

    module.exports = "\n<div :class=\"`${prefixCls}-tree-node`\">\n  <div \n    @click.stop=\"handleClick\"\n    v-show=\"node.visible\"\n    :class=\"[ `${prefixCls}-tree-data`, tree.store.currentNode === node ? `${prefixCls}-tree-active` : '']\">\n    <div :class=\"`${prefixCls}-tree-node__content`\"\n      :style=\"{ 'padding-left': (node.level - 1) * 20 + 'px' }\">\n      <span @click.stop=\"handleExpandIconClick\">\n        <n3-icon\n          v-show=\"!node.isLeaf\"\n          :class=\"`${prefixCls}-tree-select-icon`\"\n          :type=\"(!node.isLeaf && expanded) ? tree.openedIcon : tree.closedIcon\"\n        >\n        </n3-icon>\n      </span>\n      <span @click.stop=\"handleUserClick\">\n        <n3-checkbox\n          v-if=\"showCheckbox\"\n          :checked=\"node.checked\"\n          @change=\"handleCheckChange\"\n        >\n        </n3-checkbox>\n      </span>\n      <span\n        :class=\"`${prefixCls}-tree-loading-box`\"\n        v-if=\"node.loading\"\n      >\n        <n3-loading color=\"primary\" size=\"xs\"></n3-loading>\n      </span>\n      <n3-icon :type=\"node.isLeaf ? tree.leafIcon : tree.childIcon\"></n3-icon>\n      <node-content :node=\"node\"></node-content>\n    </div>\n    <n3-collapse-transition>\n      <div v-show=\"expanded\">\n          <div\n            :class=\"`${prefixCls}-tree-children`\"\n            >\n            <n3-tree-node\n              :render-content=\"renderContent\"\n              v-for=\"child in node.childNodes\"\n              :key=\"getNodeKey(child)\"\n              :node=\"child\">\n            </n3-tree-node>\n          </div>\n      </div>\n    </n3-collapse-transition>\n  </div>\n</div>\n";

/***/ }),
/* 751 */
/***/ (function(module, exports) {

    module.exports = "\n<div class=\"n3-tree\">\n  <n3-tree-node\n    v-for=\"child in root.childNodes\"\n    :node=\"child\"\n    :props=\"props\"\n    :key=\"getNodeKey(child)\"\n    :render-content=\"renderContent\">\n  </n3-tree-node>\n  <div v-if=\"!root.childNodes || root.childNodes.length === 0\">\n    <span>{{ emptyText }}</span>\n  </div>\n</div>\n";

/***/ }),
/* 752 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(753)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] src/Card/n3Card.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(754)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-4128d558/n3Card.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 753 */
/***/ (function(module, exports) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    // <template>
    //     <div :class="classObj">
    //         <slot></slot>
    //     </div>
    // </template>
    //
    // <script>
    exports.default = {
      name: 'n3Card',
      props: {
        prefixCls: {
          type: String,
          default: 'n3'
        },
        hover: {
          type: Boolean,
          default: true
        }
      },
      computed: {
        classObj: function classObj() {
          var prefixCls = this.prefixCls,
              hover = this.hover;
    
          var klass = {};
    
          klass[prefixCls + '-card'] = true;
          klass[prefixCls + '-card-hover'] = hover;
    
          return klass;
        }
      }
    };
    // </script>
    /* generated by vue-loader */

/***/ }),
/* 754 */
/***/ (function(module, exports) {

    module.exports = "\n<div :class=\"classObj\">\n\t<slot></slot>\n</div>\n";

/***/ }),
/* 755 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(756)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] src/Rate/n3Rate.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(757)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-f935a950/n3Rate.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 756 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    
    var _n3Icon = __webpack_require__(380);
    
    var _n3Icon2 = _interopRequireDefault(_n3Icon);
    
    function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
    
    exports.default = {
      name: 'n3Rate',
    
      data: function data() {
        return {
          classMap: {},
          colorMap: {},
          pointerAtLeftHalf: false,
          currentValue: this.value,
          hoverIndex: -1
        };
      },
    
    
      props: {
        value: {
          type: Number,
          default: 0
        },
        lowThreshold: {
          type: Number,
          default: 2
        },
        highThreshold: {
          type: Number,
          default: 4
        },
        max: {
          type: Number,
          default: 5
        },
        colors: {
          type: Array,
          default: function _default() {
            return ['#F7BA2A', '#F7BA2A', '#F7BA2A'];
          }
        },
        voidColor: {
          type: String,
          default: '#C6D1DE'
        },
        disabledVoidColor: {
          type: String,
          default: '#EFF2F7'
        },
        icons: {
          type: Array,
          default: function _default() {
            return ['star', 'star', 'star'];
          }
        },
        voidIcon: {
          type: String,
          default: 'star-o'
        },
        disabledVoidIcon: {
          type: String,
          default: 'star'
        },
        disabled: {
          type: Boolean,
          default: false
        },
        allowHalf: {
          type: Boolean,
          default: false
        },
        showText: {
          type: Boolean,
          default: false
        },
        textColor: {
          type: String,
          default: '1f2d3d'
        },
        prefixCls: {
          type: String,
          default: 'n3'
        },
        texts: {
          type: Array,
          default: function _default() {
            return ['极差', '失望', '一般', '满意', '惊喜'];
          }
        },
        textTemplate: {
          type: String,
          default: '{value}'
        }
      },
    
      components: {
        n3Icon: _n3Icon2.default
      },
    
      computed: {
        text: function text() {
          var result = '';
          if (this.disabled) {
            result = this.textTemplate.replace(/\{\s*value\s*\}/, this.value);
          } else {
            result = this.texts[Math.ceil(this.currentValue) - 1];
          }
          return result;
        },
        decimalStyle: function decimalStyle() {
          var width = '';
          if (this.disabled) {
            width = (this.valueDecimal < 50 ? 0 : 50) + '%';
          }
          if (this.allowHalf) {
            width = '50%';
          }
          return {
            color: this.activeColor,
            width: width
          };
        },
        valueDecimal: function valueDecimal() {
          return this.value * 100 - Math.floor(this.value) * 100;
        },
        decimalIconClass: function decimalIconClass() {
          return this.getValueFromMap(this.value, this.classMap);
        },
        voidClass: function voidClass() {
          return this.disabled ? this.classMap.disabledVoidClass : this.classMap.voidClass;
        },
        activeClass: function activeClass() {
          return this.getValueFromMap(this.currentValue, this.classMap);
        },
        activeColor: function activeColor() {
          return this.getValueFromMap(this.currentValue, this.colorMap);
        },
        classes: function classes() {
          var result = [];
          var i = 0;
          var threshold = this.currentValue;
          if (this.allowHalf && this.currentValue !== Math.floor(this.currentValue)) {
            threshold--;
          }
          for (; i < threshold; i++) {
            result.push(this.activeClass);
          }
          for (; i < this.max; i++) {
            result.push(this.voidClass);
          }
          return result;
        }
      },
    
      watch: {
        value: function value(val) {
          this.$emit('change', val);
          this.currentValue = val;
        }
      },
    
      methods: {
        getValueFromMap: function getValueFromMap(value, map) {
          var result = '';
          if (value <= this.lowThreshold) {
            result = map.lowColor || map.lowClass;
          } else if (value >= this.highThreshold) {
            result = map.highColor || map.highClass;
          } else {
            result = map.mediumColor || map.mediumClass;
          }
          return result;
        },
        showDecimalIcon: function showDecimalIcon(item) {
          var showWhenDisabled = this.disabled && this.valueDecimal > 0 && item - 1 < this.value && item > this.value;
          /* istanbul ignore next */
          var showWhenAllowHalf = this.allowHalf && this.pointerAtLeftHalf && (item - 0.5).toFixed(1) === this.currentValue.toFixed(1);
    
          return showWhenDisabled || showWhenAllowHalf;
        },
        getIconStyle: function getIconStyle(item) {
          var voidColor = this.disabled ? this.colorMap.disabledVoidColor : this.colorMap.voidColor;
          return {
            color: item <= this.currentValue ? this.activeColor : voidColor
          };
        },
        selectValue: function selectValue(value) {
          if (this.disabled) {
            return;
          }
          if (this.allowHalf && this.pointerAtLeftHalf) {
            this.$emit('input', this.currentValue);
          } else {
            this.$emit('input', value);
          }
        },
        setCurrentValue: function setCurrentValue(value, event) {
          var prefixCls = this.prefixCls;
    
          if (this.disabled) {
            return;
          }
          /* istanbul ignore if */
          if (this.allowHalf) {
            var target = event.target;
            if (target.classList.contains(prefixCls + '-rate-item')) {
              target = target.querySelector('.' + prefixCls + '-rate-icon');
            }
            if (target.classList.contains(prefixCls + '-rate-decimal')) {
              target = target.parentNode;
            }
            this.pointerAtLeftHalf = event.offsetX * 2 <= target.clientWidth;
            this.currentValue = this.pointerAtLeftHalf ? value - 0.5 : value;
          } else {
            this.currentValue = value;
          }
          this.hoverIndex = value;
        },
        resetCurrentValue: function resetCurrentValue() {
          if (this.disabled) {
            return;
          }
          if (this.allowHalf) {
            this.pointerAtLeftHalf = this.value !== Math.floor(this.value);
          }
          this.currentValue = this.value;
          this.hoverIndex = -1;
        }
      },
    
      created: function created() {
        if (!this.value) {
          this.$emit('input', 0);
        }
        this.classMap = {
          lowClass: this.icons[0],
          mediumClass: this.icons[1],
          highClass: this.icons[2],
          voidClass: this.voidIcon,
          disabledVoidClass: this.disabledVoidIcon
        };
        this.colorMap = {
          lowColor: this.colors[0],
          mediumColor: this.colors[1],
          highColor: this.colors[2],
          voidColor: this.voidColor,
          disabledVoidColor: this.disabledVoidColor
        };
      }
    };
    // </script>

    /* generated by vue-loader */
    // <template>
    //   <div :class="`${prefixCls}-rate`">
    //     <span
    //       v-for="item in max"
    //       :class="`${prefixCls}-rate-item`"
    //       @mousemove="setCurrentValue(item, $event)"
    //       @mouseleave="resetCurrentValue"
    //       @click="selectValue(item)"
    //       :style="{ cursor: disabled ? 'auto' : 'pointer' }">
    //
    //       <n3-icon
    //         :type="classes[item - 1]"
    //         :class="[{ 'hover': hoverIndex === item }, `${prefixCls}-rate-icon`]"
    //         :style="getIconStyle(item)">
    //         <n3-icon
    //           :type="decimalIconClass"
    //           v-if="showDecimalIcon(item)"
    //           :class="`${prefixCls}-rate-decimal`"
    //           :style="decimalStyle">
    //         </n3-icon>
    //       </n3-icon>
    //     </span>
    //     <span v-if="showText" :class="`${prefixCls}-rate-text`" :style="{ color: textColor }">{{ text }}</span>
    //   </div>
    // </template>
    //
    // <script>

/***/ }),
/* 757 */
/***/ (function(module, exports) {

    module.exports = "\n<div :class=\"`${prefixCls}-rate`\">\n  <span\n    v-for=\"item in max\"\n    :class=\"`${prefixCls}-rate-item`\"\n    @mousemove=\"setCurrentValue(item, $event)\"\n    @mouseleave=\"resetCurrentValue\"\n    @click=\"selectValue(item)\"\n    :style=\"{ cursor: disabled ? 'auto' : 'pointer' }\">\n\n    <n3-icon\n      :type=\"classes[item - 1]\"\n      :class=\"[{ 'hover': hoverIndex === item }, `${prefixCls}-rate-icon`]\"\n      :style=\"getIconStyle(item)\">\n      <n3-icon\n        :type=\"decimalIconClass\"\n        v-if=\"showDecimalIcon(item)\"\n        :class=\"`${prefixCls}-rate-decimal`\"\n        :style=\"decimalStyle\">\n      </n3-icon>\n    </n3-icon>\n  </span>\n  <span v-if=\"showText\" :class=\"`${prefixCls}-rate-text`\" :style=\"{ color: textColor }\">{{ text }}</span>\n</div>\n";

/***/ }),
/* 758 */
/***/ (function(module, exports, __webpack_require__) {

    var __vue_script__, __vue_template__
    var __vue_styles__ = {}
    __vue_script__ = __webpack_require__(759)
    if (Object.keys(__vue_script__).some(function (key) { return key !== "default" && key !== "__esModule" })) {
      console.warn("[vue-loader] src/Uploader/n3Uploader.vue: named exports in *.vue files are ignored.")}
    __vue_template__ = __webpack_require__(760)
    module.exports = __vue_script__ || {}
    if (module.exports.__esModule) module.exports = module.exports.default
    var __vue_options__ = typeof module.exports === "function" ? (module.exports.options || (module.exports.options = {})) : module.exports
    if (__vue_template__) {
    __vue_options__.template = __vue_template__
    }
    if (!__vue_options__.computed) __vue_options__.computed = {}
    Object.keys(__vue_styles__).forEach(function (key) {
    var module = __vue_styles__[key]
    __vue_options__.computed[key] = function () { return module }
    })
    if (false) {(function () {  module.hot.accept()
      var hotAPI = require("vue-hot-reload-api")
      hotAPI.install(require("vue"), false)
      if (!hotAPI.compatible) return
      var id = "_v-68bcfed0/n3Uploader.vue"
      if (!module.hot.data) {
        hotAPI.createRecord(id, module.exports)
      } else {
        hotAPI.update(id, module.exports, __vue_template__)
      }
    })()}

/***/ }),
/* 759 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
      value: 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; }; // <template>
    //   <div :class="[prefixCls + '-upload']" ref="uploader">
    //     <div v-if="type === 'click'">
    //       <label>
    //         <input
    //           type="file"
    //           :name="name"
    //           :accept="accept"
    //           :id="uploadId"
    //           :multiple="multiple"
    //           @change="onChange($event)"
    //           ref="input"
    //         />
    //         <slot>
    //           <n3-button>
    //             <n3-icon type="cloud-upload"></n3-icon>
    //             点击上传
    //           </n3-button>
    //         </slot>
    //       </label>
    //       <div :class="[prefixCls + '-upload-list']" v-if="showList">
    //         <div :class="[prefixCls + '-upload-item']" v-for="(file, index) in uploadList">
    //           <div :class="[prefixCls + '-upload-item-info']">
    //             <n3-icon type="file-text-o"
    //               :class="[prefixCls + '-upload-file-icon']">
    //             </n3-icon>
    //             <span :class="[prefixCls + '-upload-file-name']">{{file.name}}</span>
    //             <n3-icon type="times"
    //               :class="[prefixCls + '-upload-del-info']"
    //               @click.native="delFile(index)">
    //             </n3-icon>
    //           </div>
    //           <n3-progress style="padding:0px 4px">
    //             <n3-progressbar
    //               type="success"
    //               height='3px'
    //               :now="progress[index]"
    //             ></n3-progressbar>
    //           </n3-progress>
    //         </div>
    //       </div>
    //     </div>
    //     <div v-if="type === 'drag'"
    //          :class="[prefixCls + '-upload-drag']">
    //       <div 
    //         :class="[prefixCls + '-upload-drag-container', dragover && (prefixCls + '-upload-is-dragover')]"
    //         :style="{width:dragWidth,height:dragHeight}">
    //         <input type="file"
    //           :name="name"
    //           :id="uploadId"
    //           :accept="accept"
    //           :multiple="multiple"
    //           @change="onChange($event)"
    //           ref="input"
    //         />
    //         <label :for="uploadId"
    //             :class="[prefixCls + '-upload-drag-area']">
    //         <n3-icon type="cloud-upload" :class="[prefixCls + '-upload-drag-icon']"></n3-icon>
    //         <span v-if="advanceDrag">点击或将文件拖拽到此区域上传</span>
    //         <span v-if="!advanceDrag">当前环境不支持拖拽上传,请点此上传</span>
    //       </label>
    //       </div>
    //       <div :class="[prefixCls + '-upload-list']" v-if="showList">
    //         <div :class="[prefixCls + '-upload-item']" v-for="(file, index) in uploadList">
    //           <div :class="[prefixCls + '-upload-item-info']">
    //             <n3-icon type="file-text-o"
    //               :class="[prefixCls + '-upload-file-icon']">
    //             </n3-icon>
    //             <span :class="[prefixCls + '-upload-file-name']">{{file.name}}</span>
    //             <n3-icon type="times"
    //               :class="[prefixCls + '-upload-del-info']"
    //               @click.native="delFile(index)">
    //             </n3-icon>
    //           </div>
    //           <n3-progress style="padding:0px 4px">
    //             <n3-progressbar
    //               type="success"
    //               height='3px'
    //               :now="progress[index]"
    //             ></n3-progressbar>
    //           </n3-progress>
    //         </div>
    //       </div>
    //     </div>
    //   </div>
    // </template>
    //
    // <script>
    
    
    var _n3Icon = __webpack_require__(380);
    
    var _n3Icon2 = _interopRequireDefault(_n3Icon);
    
    var _n3Button = __webpack_require__(384);
    
    var _n3Button2 = _interopRequireDefault(_n3Button);
    
    var _n3Progress = __webpack_require__(652);
    
    var _n3Progress2 = _interopRequireDefault(_n3Progress);
    
    var _n3Progressbar = __webpack_require__(649);
    
    var _n3Progressbar2 = _interopRequireDefault(_n3Progressbar);
    
    function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
    
    var ERRORS = {
      SERVER_FAIL: '服务器没有响应',
      REQUEST_ERROR: '请求失败',
      RESPONSE_NOT_JSON: '服务器响应数据格式有问题',
      TASK_OVER_LENGTH: '超过上传数量限制,请先删除再进行上传',
      TASK_OVER_SIZE: '超过单个文件上传大小',
      TASK_UNSUPPORTED_TYPE: '不支持该文件类型',
      IFRAME_UNSUPPORTED_CROSS: 'iframe不支持跨域请求'
    };
    exports.default = {
      name: 'Uploader',
      props: {
        name: {
          type: String,
          default: 'files'
        },
        type: {
          type: String,
          default: 'click'
        },
        withCredentials: {
          type: Boolean,
          default: false
        },
        accept: {
          type: String,
          default: ''
        },
        url: {
          type: String,
          required: true
        },
        multiple: {
          type: Boolean,
          default: true
        },
        dragWidth: {
          type: String,
          default: '300px'
        },
        dragHeight: {
          type: String,
          default: '200px'
        },
        showList: {
          type: Boolean,
          default: true
        },
        maxLength: {
          type: Number,
          default: 10
        },
        maxSize: {
          type: Number,
          default: 10
        },
        params: {
          type: Object
        },
        prefixCls: {
          type: String,
          default: 'n3'
        }
      },
      data: function data() {
        return {
          value: '',
          uploadId: 'upload' + Date.now() + Math.floor(Math.random() * 100),
          percent: 0,
          xhr: 'FormData' in window,
          uploadList: [],
          progress: [],
          dragover: false,
          states: []
        };
      },
    
      computed: {
        advanceDrag: function advanceDrag() {
          var div = document.createElement('div');
          return ('draggable' in div || 'ondragstart' in div && 'ondrop' in div) && 'FormData' in window && 'FileReader' in window;
        },
    
        // MB换算成B
        maxSizeB: function maxSizeB() {
          return this.maxSize * 1024 * 1024;
        }
      },
      components: {
        n3Icon: _n3Icon2.default,
        n3Button: _n3Button2.default,
        n3Progressbar: _n3Progressbar2.default,
        n3Progress: _n3Progress2.default
      },
      methods: {
        delFile: function delFile(index) {
          this.$emit('delete', this.uploadList[index]);
          this.uploadList.splice(index, 1);
          this.states.splice(index, 1);
          this.progress.splice(index, 1);
        },
        setError: function setError(message, index) {
          this.$emit('error', {
            message: message,
            file: index && this.uploadList[index] || null
          });
          this.states[index] = false;
          index > -1 && this.uploadList.splice(index, 1);
        },
        submitForm: function submitForm() {
          if (!this.uploadList.length) {
            return;
          }
          if (this.xhr) {
            this.xhrUpload();
          } else {
            this.iframeUpload();
          }
        },
        onChange: function onChange(e) {
          var files = e.target.files;
          if (this.maxLength && this.uploadList.length === this.maxLength) {
            this.$refs.input.value = null;
            this.setError(ERRORS.TASK_OVER_LENGTH);
            return;
          }
          if (files) {
            // files 属性还包括item length
            for (var i in Object.keys(files)) {
              if (_typeof(files[i]) !== 'object' || !files[i].name) {
                continue;
              }
              if (files[i].size > this.maxSizeB) {
                this.setError(ERRORS.TASK_OVER_SIZE);
                continue;
              }
              this.progress.push(0);
              this.uploadList.push(files[i]);
            }
          } else {
            this.progress = [0];
            this.uploadList = [{ name: this.$refs.input.value.replace(/^.*\\/, '') }];
          }
    
          this.$refs.input.value = null;
          this.submitForm();
        },
        testSameOrigin: function testSameOrigin(url) {
          var loc = window.location;
          var a = document.createElement('a');
          a.href = url;
          return a.hostname === loc.hostname && a.port === loc.port && a.protocol === loc.protocol;
        },
        parseResponse: function parseResponse(response, index) {
          var data = null;
          var len = this.uploadList.length;
          if (!response) {
            this.setError(ERRORS.SERVER_FAIL, index);
          } else {
            try {
              data = JSON.parse(response);
            } catch (e) {
              this.setError(ERRORS.RESPONSE_NOT_JSON, index);
            }
            if (data) {
              this.states[index] = true;
              this.$emit('success', {
                response: data,
                file: this.uploadList[index]
              });
            }
          }
          if (Object.keys(this.states).length === len) {
            this.$emit('finish');
          }
        },
        xhrUpload: function xhrUpload() {
          var self = this;
          var i = 0;
          var len = this.uploadList.length;
          var data = void 0;
          for (i = 0; i < len; i++) {
            if (this.states[i]) {
              continue;
            }
            (function (i, file) {
              if (file.type.match(self.accept)) {
                data = new window.FormData();
                data.append(self.name, file, file.name);
    
                if (self.params) {
                  for (var name in self.params) {
                    data.append(name, self.params[name]);
                  }
                }
    
                var xhr = new window.XMLHttpRequest();
                // 是否带跨域的cookies
                xhr.withCredentials = !!self.withCredentials;
                xhr.open('post', self.url, true);
    
                xhr.onload = function () {
                  self.parseResponse(xhr.responseText, i);
                };
    
                xhr.upload.onprogress = function (e) {
                  var loaded = e.loaded ? e.loaded : 0;
                  var total = e.total ? e.total : 1;
                  var progressVal = parseInt(loaded / total * 100, 10);
                  self.progress.splice(i, 1, progressVal);
                };
    
                xhr.onerror = function () {
                  self.states[i] = false;
                  self.setError(ERRORS.REQUEST_ERROR);
                };
    
                try {
                  xhr.send(data);
                } catch (e) {
                  self.setError(ERRORS.REQUEST_ERROR);
                }
              } else {
                self.setError(ERRORS.IFRAME_UNSUPPORTED_CROSS);
              }
            })(i, this.uploadList[i]);
          }
        },
        iframeUpload: function iframeUpload() {
          var _this = this;
    
          var i = 0;
          var self = this;
          var len = this.uploadList.length;
          if (this.testSameOrigin(this.url)) {
            var _loop = function _loop() {
              var iframeName = 'uploadiframe-' + i + '-' + new Date().getTime();
              var iframe = document.createElement('iframe');
              var form = document.createElement('form');
              var input = document.createElement('input');
    
              input.setAttribute('type', 'file');
              input.setAttribute('value', _this.uploadList[i].name);
              iframe.setAttribute('name', iframeName);
              iframe.style.display = 'none';
              form.setAttribute('method', 'post');
              form.setAttribute('action', _this.url);
              form.setAttribute('target', iframeName);
              form.setAttribute('data-index', i);
    
              document.body.appendChild(form);
              form.appendChild(iframe);
              form.appendChild(input);
    
              if (self.params) {
                for (var name in self.params) {
                  var _input = document.createElement('input');
                  _input.setAttribute('type', 'text');
                  _input.setAttribute('name', name);
                  _input.setAttribute('value', self.params[name]);
                }
              }
    
              iframe.addEventListener('load', function () {
                _this.parseResponse(iframe.contentDocument.body.innerHTML, form.getAttribute('data-id'));
                document.body.removeChild(form);
              });
              form.submit();
            };
    
            for (i = 0; i < len; i++) {
              _loop();
            }
          } else {
            this.setError(ERRORS.IFRAME_UNSUPPORTED_CROSS);
          }
        },
        addDragEvt: function addDragEvt() {
          var _this2 = this;
    
          var events = ['drag', 'dragstart', 'dragend', 'dragleave', 'drop', 'dragover', 'dragenter'];
    
          events.forEach(function (event) {
            _this2.$refs.uploader.addEventListener(event, function (e) {
              return _this2.dragHandler(e);
            });
          });
        },
        dragHandler: function dragHandler(e) {
          var self = this;
          e.preventDefault();
          e.stopPropagation();
    
          if (e.type === 'dragover' || e.type === 'dragenter') {
            self.dragover = true;
          }
    
          if (e.type === 'dragend' || e.type === 'dragleave' || e.type === 'drop') {
            self.dragover = false;
            if (e.type === 'drop') {
              var files = e.dataTransfer.files || {};
              for (var i in files) {
                if (files[i] && files[i].name && files[i].size) {
                  self.progress.push(0);
                  self.uploadList.push(files[i]);
                }
              }
              self.submitForm();
            }
          }
        }
      },
      mounted: function mounted() {
        var _this3 = this;
    
        this.$nextTick(function () {
          _this3.advanceDrag && _this3.addDragEvt();
        });
      },
      beforeDestroy: function beforeDestroy() {
        var _this4 = this;
    
        var events = ['drag', 'dragstart', 'dragend', 'dragleave', 'drop', 'dragover', 'dragenter'];
        events.forEach(function (event) {
          _this4.$refs.uploader.removeEventListener(event, function () {
            return _this4._eventHandler();
          });
        });
      }
    };
    // </script>

    /* generated by vue-loader */

/***/ }),
/* 760 */
/***/ (function(module, exports) {

    module.exports = "\n<div :class=\"[prefixCls + '-upload']\" ref=\"uploader\">\n  <div v-if=\"type === 'click'\">\n    <label>\n      <input\n        type=\"file\"\n        :name=\"name\"\n        :accept=\"accept\"\n        :id=\"uploadId\"\n        :multiple=\"multiple\"\n        @change=\"onChange($event)\"\n        ref=\"input\"\n      />\n      <slot>\n        <n3-button>\n          <n3-icon type=\"cloud-upload\"></n3-icon>\n          点击上传\n        </n3-button>\n      </slot>\n    </label>\n    <div :class=\"[prefixCls + '-upload-list']\" v-if=\"showList\">\n      <div :class=\"[prefixCls + '-upload-item']\" v-for=\"(file, index) in uploadList\">\n        <div :class=\"[prefixCls + '-upload-item-info']\">\n          <n3-icon type=\"file-text-o\"\n            :class=\"[prefixCls + '-upload-file-icon']\">\n          </n3-icon>\n          <span :class=\"[prefixCls + '-upload-file-name']\">{{file.name}}</span>\n          <n3-icon type=\"times\"\n            :class=\"[prefixCls + '-upload-del-info']\"\n            @click.native=\"delFile(index)\">\n          </n3-icon>\n        </div>\n        <n3-progress style=\"padding:0px 4px\">\n          <n3-progressbar\n            type=\"success\"\n            height='3px'\n            :now=\"progress[index]\"\n          ></n3-progressbar>\n        </n3-progress>\n      </div>\n    </div>\n  </div>\n  <div v-if=\"type === 'drag'\"\n       :class=\"[prefixCls + '-upload-drag']\">\n    <div \n      :class=\"[prefixCls + '-upload-drag-container', dragover && (prefixCls + '-upload-is-dragover')]\"\n      :style=\"{width:dragWidth,height:dragHeight}\">\n      <input type=\"file\"\n        :name=\"name\"\n        :id=\"uploadId\"\n        :accept=\"accept\"\n        :multiple=\"multiple\"\n        @change=\"onChange($event)\"\n        ref=\"input\"\n      />\n      <label :for=\"uploadId\"\n          :class=\"[prefixCls + '-upload-drag-area']\">\n      <n3-icon type=\"cloud-upload\" :class=\"[prefixCls + '-upload-drag-icon']\"></n3-icon>\n      <span v-if=\"advanceDrag\">点击或将文件拖拽到此区域上传</span>\n      <span v-if=\"!advanceDrag\">当前环境不支持拖拽上传,请点此上传</span>\n    </label>\n    </div>\n    <div :class=\"[prefixCls + '-upload-list']\" v-if=\"showList\">\n      <div :class=\"[prefixCls + '-upload-item']\" v-for=\"(file, index) in uploadList\">\n        <div :class=\"[prefixCls + '-upload-item-info']\">\n          <n3-icon type=\"file-text-o\"\n            :class=\"[prefixCls + '-upload-file-icon']\">\n          </n3-icon>\n          <span :class=\"[prefixCls + '-upload-file-name']\">{{file.name}}</span>\n          <n3-icon type=\"times\"\n            :class=\"[prefixCls + '-upload-del-info']\"\n            @click.native=\"delFile(index)\">\n          </n3-icon>\n        </div>\n        <n3-progress style=\"padding:0px 4px\">\n          <n3-progressbar\n            type=\"success\"\n            height='3px'\n            :now=\"progress[index]\"\n          ></n3-progressbar>\n        </n3-progress>\n      </div>\n    </div>\n  </div>\n</div>\n";

/***/ }),
/* 761 */
/***/ (function(module, exports, __webpack_require__) {

    'use strict';
    
    Object.defineProperty(exports, "__esModule", {
        value: true
    });
    
    var _vue = __webpack_require__(555);
    
    var _vue2 = _interopRequireDefault(_vue);
    
    function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
    
    var getTop = function getTop(e) {
        var offset = e.offsetTop;
        if (e.offsetParent != null) offset += getTop(e.offsetParent);
        return offset;
    };
    var getLeft = function getLeft(e) {
        var offset = e.offsetLeft;
        if (e.offsetParent != null) offset += getLeft(e.offsetParent);
        return offset;
    };
    
    var calPosition = function calPosition(el) {
        var w = el.offsetWidth;
        var h = el.offsetHeight;
        var x = getLeft(el) - document.body.scrollLeft;
        var y = getTop(el) - document.body.scrollTop;
        var ww = document.body.clientWidth;
        var wh = document.body.clientHeight;
        if (w && h) {
            var position1 = 'right';
            var position2 = 'bottom';
    
            el.classList.remove('position-right-bottom', 'position-right-top', 'position-left-bottom', 'position-left-top');
    
            if (w + x > ww) {
                position1 = 'left';
            }
    
            if (h + y > wh) {
                position2 = 'top';
            }
    
            if (y - h < 0) {
                position2 = 'bottom';
            }
            el.classList.add('position-' + position1 + '-' + position2);
        }
    };
    
    exports.default = {
        componentUpdated: function componentUpdated(el, binding) {
            if (!binding.value) {
                setTimeout(function () {
                    el.classList.remove('position-right-bottom', 'position-right-top', 'position-left-bottom', 'position-left-top');
                }, 500);
                return;
            }
            if (binding.value !== binding.oldValue) {
                _vue2.default.nextTick(function () {
                    calPosition(el);
                });
            }
        }
    };

/***/ }),
/* 762 */
/***/ (function(module, exports, __webpack_require__) {

    // style-loader: Adds some css to the DOM by adding a <style> tag
    
    // load the styles
    var content = __webpack_require__(763);
    if(typeof content === 'string') content = [[module.id, content, '']];
    // add the styles to the DOM
    var update = __webpack_require__(764)(content, {});
    if(content.locals) module.exports = content.locals;
    // Hot Module Replacement
    if(false) {
        // When the styles change, update the <style> tags
        if(!content.locals) {
            module.hot.accept("!!../../node_modules/css-loader/index.js!../../node_modules/postcss-loader/index.js!../../node_modules/less-loader/index.js!./default.less", function() {
                var newContent = require("!!../../node_modules/css-loader/index.js!../../node_modules/postcss-loader/index.js!../../node_modules/less-loader/index.js!./default.less");
                if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];
                update(newContent);
            });
        }
        // When the module is disposed, remove the <style> tags
        module.hot.dispose(function() { update(); });
    }

/***/ }),
/* 763 */
/***/ (function(module, exports, __webpack_require__) {

    exports = module.exports = __webpack_require__(350)();
    // imports
    
    
    // module
    exports.push([module.id, "/*prefix string*/\n/*-------color ------*/\n/*base color*/\n/*font color*/\n/*theme color*/\n/*extend color*/\n/*alert color*/\n/*cascader color*/\n/*popover */\n/*cascader*/\n/*datepicker shadow*/\n/*panel*/\n/*modal*/\n/*----------size-----------*/\n/*btn size*/\n/*select*/\n/*alert pos*/\n/*toast pos*/\n/*popover */\n/*tooltip*/\n/*input*/\n/*cascader*/\n/*radio*/\n/*checkbox*/\n/*dropdown*/\n/*slider*/\n/*datepicker*/\n/*timepicker*/\n/*datetimepicker*/\n/*switch*/\n/*uploader*/\n/*multipleinput*/\n/*form*/\n/*panel*/\n/*table*/\n/*modal*/\n/*label*/\n/*timeline*/\n/*tree*/\n/*step round*/\n/*step*/\n/*nav */\n/*nav vertical*/\n/*breadcrumb*/\n/*tab*/\n/*inputnumber*/\n/*page*/\n@font-face {\n  font-family: 'FontAwesome';\n  src: url('https://cdn.bootcss.com/font-awesome/4.6.3/fonts/fontawesome-webfont.eot?v=4.6.3');\n  src: url('https://cdn.bootcss.com/font-awesome/4.6.3/fonts/fontawesome-webfont.eot?#iefix&v=4.6.3') format('embedded-opentype'), url('https://cdn.bootcss.com/font-awesome/4.6.3/fonts/fontawesome-webfont.woff2?v=4.6.3') format('woff2'), url('https://cdn.bootcss.com/font-awesome/4.6.3/fonts/fontawesome-webfont.woff?v=4.6.3') format('woff'), url('https://cdn.bootcss.com/font-awesome/4.6.3/fonts/fontawesome-webfont.ttf?v=4.6.3') format('truetype'), url('https://cdn.bootcss.com/font-awesome/4.6.3/fonts/fontawesome-webfont.svg?v=4.6.3#fontawesomeregular') format('svg');\n  font-weight: normal;\n  font-style: normal;\n}\n.n3-fa {\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n}\n.n3-fa-glass:before {\n  content: \"\\F000\";\n}\n.n3-fa-music:before {\n  content: \"\\F001\";\n}\n.n3-fa-search:before {\n  content: \"\\F002\";\n}\n.n3-fa-envelope-o:before {\n  content: \"\\F003\";\n}\n.n3-fa-heart:before {\n  content: \"\\F004\";\n}\n.n3-fa-star:before {\n  content: \"\\F005\";\n}\n.n3-fa-star-o:before {\n  content: \"\\F006\";\n}\n.n3-fa-user:before {\n  content: \"\\F007\";\n}\n.n3-fa-film:before {\n  content: \"\\F008\";\n}\n.n3-fa-th-large:before {\n  content: \"\\F009\";\n}\n.n3-fa-th:before {\n  content: \"\\F00A\";\n}\n.n3-fa-th-list:before {\n  content: \"\\F00B\";\n}\n.n3-fa-check:before {\n  content: \"\\F00C\";\n}\n.n3-fa-remove:before,\n.n3-fa-close:before,\n.n3-fa-times:before {\n  content: \"\\F00D\";\n}\n.n3-fa-search-plus:before {\n  content: \"\\F00E\";\n}\n.n3-fa-search-minus:before {\n  content: \"\\F010\";\n}\n.n3-fa-power-off:before {\n  content: \"\\F011\";\n}\n.n3-fa-signal:before {\n  content: \"\\F012\";\n}\n.n3-fa-gear:before,\n.n3-fa-cog:before {\n  content: \"\\F013\";\n}\n.n3-fa-trash-o:before {\n  content: \"\\F014\";\n}\n.n3-fa-home:before {\n  content: \"\\F015\";\n}\n.n3-fa-file-o:before {\n  content: \"\\F016\";\n}\n.n3-fa-clock-o:before {\n  content: \"\\F017\";\n}\n.n3-fa-road:before {\n  content: \"\\F018\";\n}\n.n3-fa-download:before {\n  content: \"\\F019\";\n}\n.n3-fa-arrow-circle-o-down:before {\n  content: \"\\F01A\";\n}\n.n3-fa-arrow-circle-o-up:before {\n  content: \"\\F01B\";\n}\n.n3-fa-inbox:before {\n  content: \"\\F01C\";\n}\n.n3-fa-play-circle-o:before {\n  content: \"\\F01D\";\n}\n.n3-fa-rotate-right:before,\n.n3-fa-repeat:before {\n  content: \"\\F01E\";\n}\n.n3-fa-refresh:before {\n  content: \"\\F021\";\n}\n.n3-fa-list-alt:before {\n  content: \"\\F022\";\n}\n.n3-fa-lock:before {\n  content: \"\\F023\";\n}\n.n3-fa-flag:before {\n  content: \"\\F024\";\n}\n.n3-fa-headphones:before {\n  content: \"\\F025\";\n}\n.n3-fa-volume-off:before {\n  content: \"\\F026\";\n}\n.n3-fa-volume-down:before {\n  content: \"\\F027\";\n}\n.n3-fa-volume-up:before {\n  content: \"\\F028\";\n}\n.n3-fa-qrcode:before {\n  content: \"\\F029\";\n}\n.n3-fa-barcode:before {\n  content: \"\\F02A\";\n}\n.n3-fa-tag:before {\n  content: \"\\F02B\";\n}\n.n3-fa-tags:before {\n  content: \"\\F02C\";\n}\n.n3-fa-book:before {\n  content: \"\\F02D\";\n}\n.n3-fa-bookmark:before {\n  content: \"\\F02E\";\n}\n.n3-fa-print:before {\n  content: \"\\F02F\";\n}\n.n3-fa-camera:before {\n  content: \"\\F030\";\n}\n.n3-fa-font:before {\n  content: \"\\F031\";\n}\n.n3-fa-bold:before {\n  content: \"\\F032\";\n}\n.n3-fa-italic:before {\n  content: \"\\F033\";\n}\n.n3-fa-text-height:before {\n  content: \"\\F034\";\n}\n.n3-fa-text-width:before {\n  content: \"\\F035\";\n}\n.n3-fa-align-left:before {\n  content: \"\\F036\";\n}\n.n3-fa-align-center:before {\n  content: \"\\F037\";\n}\n.n3-fa-align-right:before {\n  content: \"\\F038\";\n}\n.n3-fa-align-justify:before {\n  content: \"\\F039\";\n}\n.n3-fa-list:before {\n  content: \"\\F03A\";\n}\n.n3-fa-dedent:before,\n.n3-fa-outdent:before {\n  content: \"\\F03B\";\n}\n.n3-fa-indent:before {\n  content: \"\\F03C\";\n}\n.n3-fa-video-camera:before {\n  content: \"\\F03D\";\n}\n.n3-fa-photo:before,\n.n3-fa-image:before,\n.n3-fa-picture-o:before {\n  content: \"\\F03E\";\n}\n.n3-fa-pencil:before {\n  content: \"\\F040\";\n}\n.n3-fa-map-marker:before {\n  content: \"\\F041\";\n}\n.n3-fa-adjust:before {\n  content: \"\\F042\";\n}\n.n3-fa-tint:before {\n  content: \"\\F043\";\n}\n.n3-fa-edit:before,\n.n3-fa-pencil-square-o:before {\n  content: \"\\F044\";\n}\n.n3-fa-share-square-o:before {\n  content: \"\\F045\";\n}\n.n3-fa-check-square-o:before {\n  content: \"\\F046\";\n}\n.n3-fa-arrows:before {\n  content: \"\\F047\";\n}\n.n3-fa-step-backward:before {\n  content: \"\\F048\";\n}\n.n3-fa-fast-backward:before {\n  content: \"\\F049\";\n}\n.n3-fa-backward:before {\n  content: \"\\F04A\";\n}\n.n3-fa-play:before {\n  content: \"\\F04B\";\n}\n.n3-fa-pause:before {\n  content: \"\\F04C\";\n}\n.n3-fa-stop:before {\n  content: \"\\F04D\";\n}\n.n3-fa-forward:before {\n  content: \"\\F04E\";\n}\n.n3-fa-fast-forward:before {\n  content: \"\\F050\";\n}\n.n3-fa-step-forward:before {\n  content: \"\\F051\";\n}\n.n3-fa-eject:before {\n  content: \"\\F052\";\n}\n.n3-fa-chevron-left:before {\n  content: \"\\F053\";\n}\n.n3-fa-chevron-right:before {\n  content: \"\\F054\";\n}\n.n3-fa-plus-circle:before {\n  content: \"\\F055\";\n}\n.n3-fa-minus-circle:before {\n  content: \"\\F056\";\n}\n.n3-fa-times-circle:before {\n  content: \"\\F057\";\n}\n.n3-fa-check-circle:before {\n  content: \"\\F058\";\n}\n.n3-fa-question-circle:before {\n  content: \"\\F059\";\n}\n.n3-fa-info-circle:before {\n  content: \"\\F05A\";\n}\n.n3-fa-crosshairs:before {\n  content: \"\\F05B\";\n}\n.n3-fa-times-circle-o:before {\n  content: \"\\F05C\";\n}\n.n3-fa-check-circle-o:before {\n  content: \"\\F05D\";\n}\n.n3-fa-ban:before {\n  content: \"\\F05E\";\n}\n.n3-fa-arrow-left:before {\n  content: \"\\F060\";\n}\n.n3-fa-arrow-right:before {\n  content: \"\\F061\";\n}\n.n3-fa-arrow-up:before {\n  content: \"\\F062\";\n}\n.n3-fa-arrow-down:before {\n  content: \"\\F063\";\n}\n.n3-fa-mail-forward:before,\n.n3-fa-share:before {\n  content: \"\\F064\";\n}\n.n3-fa-expand:before {\n  content: \"\\F065\";\n}\n.n3-fa-compress:before {\n  content: \"\\F066\";\n}\n.n3-fa-plus:before {\n  content: \"\\F067\";\n}\n.n3-fa-minus:before {\n  content: \"\\F068\";\n}\n.n3-fa-asterisk:before {\n  content: \"\\F069\";\n}\n.n3-fa-exclamation-circle:before {\n  content: \"\\F06A\";\n}\n.n3-fa-gift:before {\n  content: \"\\F06B\";\n}\n.n3-fa-leaf:before {\n  content: \"\\F06C\";\n}\n.n3-fa-fire:before {\n  content: \"\\F06D\";\n}\n.n3-fa-eye:before {\n  content: \"\\F06E\";\n}\n.n3-fa-eye-slash:before {\n  content: \"\\F070\";\n}\n.n3-fa-warning:before,\n.n3-fa-exclamation-triangle:before {\n  content: \"\\F071\";\n}\n.n3-fa-plane:before {\n  content: \"\\F072\";\n}\n.n3-fa-calendar:before {\n  content: \"\\F073\";\n}\n.n3-fa-random:before {\n  content: \"\\F074\";\n}\n.n3-fa-comment:before {\n  content: \"\\F075\";\n}\n.n3-fa-magnet:before {\n  content: \"\\F076\";\n}\n.n3-fa-chevron-up:before {\n  content: \"\\F077\";\n}\n.n3-fa-chevron-down:before {\n  content: \"\\F078\";\n}\n.n3-fa-retweet:before {\n  content: \"\\F079\";\n}\n.n3-fa-shopping-cart:before {\n  content: \"\\F07A\";\n}\n.n3-fa-folder:before {\n  content: \"\\F07B\";\n}\n.n3-fa-folder-open:before {\n  content: \"\\F07C\";\n}\n.n3-fa-arrows-v:before {\n  content: \"\\F07D\";\n}\n.n3-fa-arrows-h:before {\n  content: \"\\F07E\";\n}\n.n3-fa-bar-chart-o:before,\n.n3-fa-bar-chart:before {\n  content: \"\\F080\";\n}\n.n3-fa-twitter-square:before {\n  content: \"\\F081\";\n}\n.n3-fa-facebook-square:before {\n  content: \"\\F082\";\n}\n.n3-fa-camera-retro:before {\n  content: \"\\F083\";\n}\n.n3-fa-key:before {\n  content: \"\\F084\";\n}\n.n3-fa-gears:before,\n.n3-fa-cogs:before {\n  content: \"\\F085\";\n}\n.n3-fa-comments:before {\n  content: \"\\F086\";\n}\n.n3-fa-thumbs-o-up:before {\n  content: \"\\F087\";\n}\n.n3-fa-thumbs-o-down:before {\n  content: \"\\F088\";\n}\n.n3-fa-star-half:before {\n  content: \"\\F089\";\n}\n.n3-fa-heart-o:before {\n  content: \"\\F08A\";\n}\n.n3-fa-sign-out:before {\n  content: \"\\F08B\";\n}\n.n3-fa-linkedin-square:before {\n  content: \"\\F08C\";\n}\n.n3-fa-thumb-tack:before {\n  content: \"\\F08D\";\n}\n.n3-fa-external-link:before {\n  content: \"\\F08E\";\n}\n.n3-fa-sign-in:before {\n  content: \"\\F090\";\n}\n.n3-fa-trophy:before {\n  content: \"\\F091\";\n}\n.n3-fa-github-square:before {\n  content: \"\\F092\";\n}\n.n3-fa-upload:before {\n  content: \"\\F093\";\n}\n.n3-fa-lemon-o:before {\n  content: \"\\F094\";\n}\n.n3-fa-phone:before {\n  content: \"\\F095\";\n}\n.n3-fa-square-o:before {\n  content: \"\\F096\";\n}\n.n3-fa-bookmark-o:before {\n  content: \"\\F097\";\n}\n.n3-fa-phone-square:before {\n  content: \"\\F098\";\n}\n.n3-fa-twitter:before {\n  content: \"\\F099\";\n}\n.n3-fa-facebook-f:before,\n.n3-fa-facebook:before {\n  content: \"\\F09A\";\n}\n.n3-fa-github:before {\n  content: \"\\F09B\";\n}\n.n3-fa-unlock:before {\n  content: \"\\F09C\";\n}\n.n3-fa-credit-card:before {\n  content: \"\\F09D\";\n}\n.n3-fa-feed:before,\n.n3-fa-rss:before {\n  content: \"\\F09E\";\n}\n.n3-fa-hdd-o:before {\n  content: \"\\F0A0\";\n}\n.n3-fa-bullhorn:before {\n  content: \"\\F0A1\";\n}\n.n3-fa-bell:before {\n  content: \"\\F0F3\";\n}\n.n3-fa-certificate:before {\n  content: \"\\F0A3\";\n}\n.n3-fa-hand-o-right:before {\n  content: \"\\F0A4\";\n}\n.n3-fa-hand-o-left:before {\n  content: \"\\F0A5\";\n}\n.n3-fa-hand-o-up:before {\n  content: \"\\F0A6\";\n}\n.n3-fa-hand-o-down:before {\n  content: \"\\F0A7\";\n}\n.n3-fa-arrow-circle-left:before {\n  content: \"\\F0A8\";\n}\n.n3-fa-arrow-circle-right:before {\n  content: \"\\F0A9\";\n}\n.n3-fa-arrow-circle-up:before {\n  content: \"\\F0AA\";\n}\n.n3-fa-arrow-circle-down:before {\n  content: \"\\F0AB\";\n}\n.n3-fa-globe:before {\n  content: \"\\F0AC\";\n}\n.n3-fa-wrench:before {\n  content: \"\\F0AD\";\n}\n.n3-fa-tasks:before {\n  content: \"\\F0AE\";\n}\n.n3-fa-filter:before {\n  content: \"\\F0B0\";\n}\n.n3-fa-briefcase:before {\n  content: \"\\F0B1\";\n}\n.n3-fa-arrows-alt:before {\n  content: \"\\F0B2\";\n}\n.n3-fa-group:before,\n.n3-fa-users:before {\n  content: \"\\F0C0\";\n}\n.n3-fa-chain:before,\n.n3-fa-link:before {\n  content: \"\\F0C1\";\n}\n.n3-fa-cloud:before {\n  content: \"\\F0C2\";\n}\n.n3-fa-flask:before {\n  content: \"\\F0C3\";\n}\n.n3-fa-cut:before,\n.n3-fa-scissors:before {\n  content: \"\\F0C4\";\n}\n.n3-fa-copy:before,\n.n3-fa-files-o:before {\n  content: \"\\F0C5\";\n}\n.n3-fa-paperclip:before {\n  content: \"\\F0C6\";\n}\n.n3-fa-save:before,\n.n3-fa-floppy-o:before {\n  content: \"\\F0C7\";\n}\n.n3-fa-square:before {\n  content: \"\\F0C8\";\n}\n.n3-fa-navicon:before,\n.n3-fa-reorder:before,\n.n3-fa-bars:before {\n  content: \"\\F0C9\";\n}\n.n3-fa-list-ul:before {\n  content: \"\\F0CA\";\n}\n.n3-fa-list-ol:before {\n  content: \"\\F0CB\";\n}\n.n3-fa-strikethrough:before {\n  content: \"\\F0CC\";\n}\n.n3-fa-underline:before {\n  content: \"\\F0CD\";\n}\n.n3-fa-table:before {\n  content: \"\\F0CE\";\n}\n.n3-fa-magic:before {\n  content: \"\\F0D0\";\n}\n.n3-fa-truck:before {\n  content: \"\\F0D1\";\n}\n.n3-fa-pinterest:before {\n  content: \"\\F0D2\";\n}\n.n3-fa-pinterest-square:before {\n  content: \"\\F0D3\";\n}\n.n3-fa-google-plus-square:before {\n  content: \"\\F0D4\";\n}\n.n3-fa-google-plus:before {\n  content: \"\\F0D5\";\n}\n.n3-fa-money:before {\n  content: \"\\F0D6\";\n}\n.n3-fa-caret-down:before {\n  content: \"\\F0D7\";\n}\n.n3-fa-caret-up:before {\n  content: \"\\F0D8\";\n}\n.n3-fa-caret-left:before {\n  content: \"\\F0D9\";\n}\n.n3-fa-caret-right:before {\n  content: \"\\F0DA\";\n}\n.n3-fa-columns:before {\n  content: \"\\F0DB\";\n}\n.n3-fa-unsorted:before,\n.n3-fa-sort:before {\n  content: \"\\F0DC\";\n}\n.n3-fa-sort-down:before,\n.n3-fa-sort-desc:before {\n  content: \"\\F0DD\";\n}\n.n3-fa-sort-up:before,\n.n3-fa-sort-asc:before {\n  content: \"\\F0DE\";\n}\n.n3-fa-envelope:before {\n  content: \"\\F0E0\";\n}\n.n3-fa-linkedin:before {\n  content: \"\\F0E1\";\n}\n.n3-fa-rotate-left:before,\n.n3-fa-undo:before {\n  content: \"\\F0E2\";\n}\n.n3-fa-legal:before,\n.n3-fa-gavel:before {\n  content: \"\\F0E3\";\n}\n.n3-fa-dashboard:before,\n.n3-fa-tachometer:before {\n  content: \"\\F0E4\";\n}\n.n3-fa-comment-o:before {\n  content: \"\\F0E5\";\n}\n.n3-fa-comments-o:before {\n  content: \"\\F0E6\";\n}\n.n3-fa-flash:before,\n.n3-fa-bolt:before {\n  content: \"\\F0E7\";\n}\n.n3-fa-sitemap:before {\n  content: \"\\F0E8\";\n}\n.n3-fa-umbrella:before {\n  content: \"\\F0E9\";\n}\n.n3-fa-paste:before,\n.n3-fa-clipboard:before {\n  content: \"\\F0EA\";\n}\n.n3-fa-lightbulb-o:before {\n  content: \"\\F0EB\";\n}\n.n3-fa-exchange:before {\n  content: \"\\F0EC\";\n}\n.n3-fa-cloud-download:before {\n  content: \"\\F0ED\";\n}\n.n3-fa-cloud-upload:before {\n  content: \"\\F0EE\";\n}\n.n3-fa-user-md:before {\n  content: \"\\F0F0\";\n}\n.n3-fa-stethoscope:before {\n  content: \"\\F0F1\";\n}\n.n3-fa-suitcase:before {\n  content: \"\\F0F2\";\n}\n.n3-fa-bell-o:before {\n  content: \"\\F0A2\";\n}\n.n3-fa-coffee:before {\n  content: \"\\F0F4\";\n}\n.n3-fa-cutlery:before {\n  content: \"\\F0F5\";\n}\n.n3-fa-file-text-o:before {\n  content: \"\\F0F6\";\n}\n.n3-fa-building-o:before {\n  content: \"\\F0F7\";\n}\n.n3-fa-hospital-o:before {\n  content: \"\\F0F8\";\n}\n.n3-fa-ambulance:before {\n  content: \"\\F0F9\";\n}\n.n3-fa-medkit:before {\n  content: \"\\F0FA\";\n}\n.n3-fa-fighter-jet:before {\n  content: \"\\F0FB\";\n}\n.n3-fa-beer:before {\n  content: \"\\F0FC\";\n}\n.n3-fa-h-square:before {\n  content: \"\\F0FD\";\n}\n.n3-fa-plus-square:before {\n  content: \"\\F0FE\";\n}\n.n3-fa-angle-double-left:before {\n  content: \"\\F100\";\n}\n.n3-fa-angle-double-right:before {\n  content: \"\\F101\";\n}\n.n3-fa-angle-double-up:before {\n  content: \"\\F102\";\n}\n.n3-fa-angle-double-down:before {\n  content: \"\\F103\";\n}\n.n3-fa-angle-left:before {\n  content: \"\\F104\";\n}\n.n3-fa-angle-right:before {\n  content: \"\\F105\";\n}\n.n3-fa-angle-up:before {\n  content: \"\\F106\";\n}\n.n3-fa-angle-down:before {\n  content: \"\\F107\";\n}\n.n3-fa-desktop:before {\n  content: \"\\F108\";\n}\n.n3-fa-laptop:before {\n  content: \"\\F109\";\n}\n.n3-fa-tablet:before {\n  content: \"\\F10A\";\n}\n.n3-fa-mobile-phone:before,\n.n3-fa-mobile:before {\n  content: \"\\F10B\";\n}\n.n3-fa-circle-o:before {\n  content: \"\\F10C\";\n}\n.n3-fa-quote-left:before {\n  content: \"\\F10D\";\n}\n.n3-fa-quote-right:before {\n  content: \"\\F10E\";\n}\n.n3-fa-spinner:before {\n  content: \"\\F110\";\n}\n.n3-fa-circle:before {\n  content: \"\\F111\";\n}\n.n3-fa-mail-reply:before,\n.n3-fa-reply:before {\n  content: \"\\F112\";\n}\n.n3-fa-github-alt:before {\n  content: \"\\F113\";\n}\n.n3-fa-folder-o:before {\n  content: \"\\F114\";\n}\n.n3-fa-folder-open-o:before {\n  content: \"\\F115\";\n}\n.n3-fa-smile-o:before {\n  content: \"\\F118\";\n}\n.n3-fa-frown-o:before {\n  content: \"\\F119\";\n}\n.n3-fa-meh-o:before {\n  content: \"\\F11A\";\n}\n.n3-fa-gamepad:before {\n  content: \"\\F11B\";\n}\n.n3-fa-keyboard-o:before {\n  content: \"\\F11C\";\n}\n.n3-fa-flag-o:before {\n  content: \"\\F11D\";\n}\n.n3-fa-flag-checkered:before {\n  content: \"\\F11E\";\n}\n.n3-fa-terminal:before {\n  content: \"\\F120\";\n}\n.n3-fa-code:before {\n  content: \"\\F121\";\n}\n.n3-fa-mail-reply-all:before,\n.n3-fa-reply-all:before {\n  content: \"\\F122\";\n}\n.n3-fa-star-half-empty:before,\n.n3-fa-star-half-full:before,\n.n3-fa-star-half-o:before {\n  content: \"\\F123\";\n}\n.n3-fa-location-arrow:before {\n  content: \"\\F124\";\n}\n.n3-fa-crop:before {\n  content: \"\\F125\";\n}\n.n3-fa-code-fork:before {\n  content: \"\\F126\";\n}\n.n3-fa-unlink:before,\n.n3-fa-chain-broken:before {\n  content: \"\\F127\";\n}\n.n3-fa-question:before {\n  content: \"\\F128\";\n}\n.n3-fa-info:before {\n  content: \"\\F129\";\n}\n.n3-fa-exclamation:before {\n  content: \"\\F12A\";\n}\n.n3-fa-superscript:before {\n  content: \"\\F12B\";\n}\n.n3-fa-subscript:before {\n  content: \"\\F12C\";\n}\n.n3-fa-eraser:before {\n  content: \"\\F12D\";\n}\n.n3-fa-puzzle-piece:before {\n  content: \"\\F12E\";\n}\n.n3-fa-microphone:before {\n  content: \"\\F130\";\n}\n.n3-fa-microphone-slash:before {\n  content: \"\\F131\";\n}\n.n3-fa-shield:before {\n  content: \"\\F132\";\n}\n.n3-fa-calendar-o:before {\n  content: \"\\F133\";\n}\n.n3-fa-fire-extinguisher:before {\n  content: \"\\F134\";\n}\n.n3-fa-rocket:before {\n  content: \"\\F135\";\n}\n.n3-fa-maxcdn:before {\n  content: \"\\F136\";\n}\n.n3-fa-chevron-circle-left:before {\n  content: \"\\F137\";\n}\n.n3-fa-chevron-circle-right:before {\n  content: \"\\F138\";\n}\n.n3-fa-chevron-circle-up:before {\n  content: \"\\F139\";\n}\n.n3-fa-chevron-circle-down:before {\n  content: \"\\F13A\";\n}\n.n3-fa-html5:before {\n  content: \"\\F13B\";\n}\n.n3-fa-css3:before {\n  content: \"\\F13C\";\n}\n.n3-fa-anchor:before {\n  content: \"\\F13D\";\n}\n.n3-fa-unlock-alt:before {\n  content: \"\\F13E\";\n}\n.n3-fa-bullseye:before {\n  content: \"\\F140\";\n}\n.n3-fa-ellipsis-h:before {\n  content: \"\\F141\";\n}\n.n3-fa-ellipsis-v:before {\n  content: \"\\F142\";\n}\n.n3-fa-rss-square:before {\n  content: \"\\F143\";\n}\n.n3-fa-play-circle:before {\n  content: \"\\F144\";\n}\n.n3-fa-ticket:before {\n  content: \"\\F145\";\n}\n.n3-fa-minus-square:before {\n  content: \"\\F146\";\n}\n.n3-fa-minus-square-o:before {\n  content: \"\\F147\";\n}\n.n3-fa-level-up:before {\n  content: \"\\F148\";\n}\n.n3-fa-level-down:before {\n  content: \"\\F149\";\n}\n.n3-fa-check-square:before {\n  content: \"\\F14A\";\n}\n.n3-fa-pencil-square:before {\n  content: \"\\F14B\";\n}\n.n3-fa-external-link-square:before {\n  content: \"\\F14C\";\n}\n.n3-fa-share-square:before {\n  content: \"\\F14D\";\n}\n.n3-fa-compass:before {\n  content: \"\\F14E\";\n}\n.n3-fa-toggle-down:before,\n.n3-fa-caret-square-o-down:before {\n  content: \"\\F150\";\n}\n.n3-fa-toggle-up:before,\n.n3-fa-caret-square-o-up:before {\n  content: \"\\F151\";\n}\n.n3-fa-toggle-right:before,\n.n3-fa-caret-square-o-right:before {\n  content: \"\\F152\";\n}\n.n3-fa-euro:before,\n.n3-fa-eur:before {\n  content: \"\\F153\";\n}\n.n3-fa-gbp:before {\n  content: \"\\F154\";\n}\n.n3-fa-dollar:before,\n.n3-fa-usd:before {\n  content: \"\\F155\";\n}\n.n3-fa-rupee:before,\n.n3-fa-inr:before {\n  content: \"\\F156\";\n}\n.n3-fa-cny:before,\n.n3-fa-rmb:before,\n.n3-fa-yen:before,\n.n3-fa-jpy:before {\n  content: \"\\F157\";\n}\n.n3-fa-ruble:before,\n.n3-fa-rouble:before,\n.n3-fa-rub:before {\n  content: \"\\F158\";\n}\n.n3-fa-won:before,\n.n3-fa-krw:before {\n  content: \"\\F159\";\n}\n.n3-fa-bitcoin:before,\n.n3-fa-btc:before {\n  content: \"\\F15A\";\n}\n.n3-fa-file:before {\n  content: \"\\F15B\";\n}\n.n3-fa-file-text:before {\n  content: \"\\F15C\";\n}\n.n3-fa-sort-alpha-asc:before {\n  content: \"\\F15D\";\n}\n.n3-fa-sort-alpha-desc:before {\n  content: \"\\F15E\";\n}\n.n3-fa-sort-amount-asc:before {\n  content: \"\\F160\";\n}\n.n3-fa-sort-amount-desc:before {\n  content: \"\\F161\";\n}\n.n3-fa-sort-numeric-asc:before {\n  content: \"\\F162\";\n}\n.n3-fa-sort-numeric-desc:before {\n  content: \"\\F163\";\n}\n.n3-fa-thumbs-up:before {\n  content: \"\\F164\";\n}\n.n3-fa-thumbs-down:before {\n  content: \"\\F165\";\n}\n.n3-fa-youtube-square:before {\n  content: \"\\F166\";\n}\n.n3-fa-youtube:before {\n  content: \"\\F167\";\n}\n.n3-fa-xing:before {\n  content: \"\\F168\";\n}\n.n3-fa-xing-square:before {\n  content: \"\\F169\";\n}\n.n3-fa-youtube-play:before {\n  content: \"\\F16A\";\n}\n.n3-fa-dropbox:before {\n  content: \"\\F16B\";\n}\n.n3-fa-stack-overflow:before {\n  content: \"\\F16C\";\n}\n.n3-fa-instagram:before {\n  content: \"\\F16D\";\n}\n.n3-fa-flickr:before {\n  content: \"\\F16E\";\n}\n.n3-fa-adn:before {\n  content: \"\\F170\";\n}\n.n3-fa-bitbucket:before {\n  content: \"\\F171\";\n}\n.n3-fa-bitbucket-square:before {\n  content: \"\\F172\";\n}\n.n3-fa-tumblr:before {\n  content: \"\\F173\";\n}\n.n3-fa-tumblr-square:before {\n  content: \"\\F174\";\n}\n.n3-fa-long-arrow-down:before {\n  content: \"\\F175\";\n}\n.n3-fa-long-arrow-up:before {\n  content: \"\\F176\";\n}\n.n3-fa-long-arrow-left:before {\n  content: \"\\F177\";\n}\n.n3-fa-long-arrow-right:before {\n  content: \"\\F178\";\n}\n.n3-fa-apple:before {\n  content: \"\\F179\";\n}\n.n3-fa-windows:before {\n  content: \"\\F17A\";\n}\n.n3-fa-android:before {\n  content: \"\\F17B\";\n}\n.n3-fa-linux:before {\n  content: \"\\F17C\";\n}\n.n3-fa-dribbble:before {\n  content: \"\\F17D\";\n}\n.n3-fa-skype:before {\n  content: \"\\F17E\";\n}\n.n3-fa-foursquare:before {\n  content: \"\\F180\";\n}\n.n3-fa-trello:before {\n  content: \"\\F181\";\n}\n.n3-fa-female:before {\n  content: \"\\F182\";\n}\n.n3-fa-male:before {\n  content: \"\\F183\";\n}\n.n3-fa-gittip:before,\n.n3-fa-gratipay:before {\n  content: \"\\F184\";\n}\n.n3-fa-sun-o:before {\n  content: \"\\F185\";\n}\n.n3-fa-moon-o:before {\n  content: \"\\F186\";\n}\n.n3-fa-archive:before {\n  content: \"\\F187\";\n}\n.n3-fa-bug:before {\n  content: \"\\F188\";\n}\n.n3-fa-vk:before {\n  content: \"\\F189\";\n}\n.n3-fa-weibo:before {\n  content: \"\\F18A\";\n}\n.n3-fa-renren:before {\n  content: \"\\F18B\";\n}\n.n3-fa-pagelines:before {\n  content: \"\\F18C\";\n}\n.n3-fa-stack-exchange:before {\n  content: \"\\F18D\";\n}\n.n3-fa-arrow-circle-o-right:before {\n  content: \"\\F18E\";\n}\n.n3-fa-arrow-circle-o-left:before {\n  content: \"\\F190\";\n}\n.n3-fa-toggle-left:before,\n.n3-fa-caret-square-o-left:before {\n  content: \"\\F191\";\n}\n.n3-fa-dot-circle-o:before {\n  content: \"\\F192\";\n}\n.n3-fa-wheelchair:before {\n  content: \"\\F193\";\n}\n.n3-fa-vimeo-square:before {\n  content: \"\\F194\";\n}\n.n3-fa-turkish-lira:before,\n.n3-fa-try:before {\n  content: \"\\F195\";\n}\n.n3-fa-plus-square-o:before {\n  content: \"\\F196\";\n}\n.n3-fa-space-shuttle:before {\n  content: \"\\F197\";\n}\n.n3-fa-slack:before {\n  content: \"\\F198\";\n}\n.n3-fa-envelope-square:before {\n  content: \"\\F199\";\n}\n.n3-fa-wordpress:before {\n  content: \"\\F19A\";\n}\n.n3-fa-openid:before {\n  content: \"\\F19B\";\n}\n.n3-fa-institution:before,\n.n3-fa-bank:before,\n.n3-fa-university:before {\n  content: \"\\F19C\";\n}\n.n3-fa-mortar-board:before,\n.n3-fa-graduation-cap:before {\n  content: \"\\F19D\";\n}\n.n3-fa-yahoo:before {\n  content: \"\\F19E\";\n}\n.n3-fa-google:before {\n  content: \"\\F1A0\";\n}\n.n3-fa-reddit:before {\n  content: \"\\F1A1\";\n}\n.n3-fa-reddit-square:before {\n  content: \"\\F1A2\";\n}\n.n3-fa-stumbleupon-circle:before {\n  content: \"\\F1A3\";\n}\n.n3-fa-stumbleupon:before {\n  content: \"\\F1A4\";\n}\n.n3-fa-delicious:before {\n  content: \"\\F1A5\";\n}\n.n3-fa-digg:before {\n  content: \"\\F1A6\";\n}\n.n3-fa-pied-piper-pp:before {\n  content: \"\\F1A7\";\n}\n.n3-fa-pied-piper-alt:before {\n  content: \"\\F1A8\";\n}\n.n3-fa-drupal:before {\n  content: \"\\F1A9\";\n}\n.n3-fa-joomla:before {\n  content: \"\\F1AA\";\n}\n.n3-fa-language:before {\n  content: \"\\F1AB\";\n}\n.n3-fa-fax:before {\n  content: \"\\F1AC\";\n}\n.n3-fa-building:before {\n  content: \"\\F1AD\";\n}\n.n3-fa-child:before {\n  content: \"\\F1AE\";\n}\n.n3-fa-paw:before {\n  content: \"\\F1B0\";\n}\n.n3-fa-spoon:before {\n  content: \"\\F1B1\";\n}\n.n3-fa-cube:before {\n  content: \"\\F1B2\";\n}\n.n3-fa-cubes:before {\n  content: \"\\F1B3\";\n}\n.n3-fa-behance:before {\n  content: \"\\F1B4\";\n}\n.n3-fa-behance-square:before {\n  content: \"\\F1B5\";\n}\n.n3-fa-steam:before {\n  content: \"\\F1B6\";\n}\n.n3-fa-steam-square:before {\n  content: \"\\F1B7\";\n}\n.n3-fa-recycle:before {\n  content: \"\\F1B8\";\n}\n.n3-fa-automobile:before,\n.n3-fa-car:before {\n  content: \"\\F1B9\";\n}\n.n3-fa-cab:before,\n.n3-fa-taxi:before {\n  content: \"\\F1BA\";\n}\n.n3-fa-tree:before {\n  content: \"\\F1BB\";\n}\n.n3-fa-spotify:before {\n  content: \"\\F1BC\";\n}\n.n3-fa-deviantart:before {\n  content: \"\\F1BD\";\n}\n.n3-fa-soundcloud:before {\n  content: \"\\F1BE\";\n}\n.n3-fa-database:before {\n  content: \"\\F1C0\";\n}\n.n3-fa-file-pdf-o:before {\n  content: \"\\F1C1\";\n}\n.n3-fa-file-word-o:before {\n  content: \"\\F1C2\";\n}\n.n3-fa-file-excel-o:before {\n  content: \"\\F1C3\";\n}\n.n3-fa-file-powerpoint-o:before {\n  content: \"\\F1C4\";\n}\n.n3-fa-file-photo-o:before,\n.n3-fa-file-picture-o:before,\n.n3-fa-file-image-o:before {\n  content: \"\\F1C5\";\n}\n.n3-fa-file-zip-o:before,\n.n3-fa-file-archive-o:before {\n  content: \"\\F1C6\";\n}\n.n3-fa-file-sound-o:before,\n.n3-fa-file-audio-o:before {\n  content: \"\\F1C7\";\n}\n.n3-fa-file-movie-o:before,\n.n3-fa-file-video-o:before {\n  content: \"\\F1C8\";\n}\n.n3-fa-file-code-o:before {\n  content: \"\\F1C9\";\n}\n.n3-fa-vine:before {\n  content: \"\\F1CA\";\n}\n.n3-fa-codepen:before {\n  content: \"\\F1CB\";\n}\n.n3-fa-jsfiddle:before {\n  content: \"\\F1CC\";\n}\n.n3-fa-life-bouy:before,\n.n3-fa-life-buoy:before,\n.n3-fa-life-saver:before,\n.n3-fa-support:before,\n.n3-fa-life-ring:before {\n  content: \"\\F1CD\";\n}\n.n3-fa-circle-o-notch:before {\n  content: \"\\F1CE\";\n}\n.n3-fa-ra:before,\n.n3-fa-resistance:before,\n.n3-fa-rebel:before {\n  content: \"\\F1D0\";\n}\n.n3-fa-ge:before,\n.n3-fa-empire:before {\n  content: \"\\F1D1\";\n}\n.n3-fa-git-square:before {\n  content: \"\\F1D2\";\n}\n.n3-fa-git:before {\n  content: \"\\F1D3\";\n}\n.n3-fa-y-combinator-square:before,\n.n3-fa-yc-square:before,\n.n3-fa-hacker-news:before {\n  content: \"\\F1D4\";\n}\n.n3-fa-tencent-weibo:before {\n  content: \"\\F1D5\";\n}\n.n3-fa-qq:before {\n  content: \"\\F1D6\";\n}\n.n3-fa-wechat:before,\n.n3-fa-weixin:before {\n  content: \"\\F1D7\";\n}\n.n3-fa-send:before,\n.n3-fa-paper-plane:before {\n  content: \"\\F1D8\";\n}\n.n3-fa-send-o:before,\n.n3-fa-paper-plane-o:before {\n  content: \"\\F1D9\";\n}\n.n3-fa-history:before {\n  content: \"\\F1DA\";\n}\n.n3-fa-circle-thin:before {\n  content: \"\\F1DB\";\n}\n.n3-fa-header:before {\n  content: \"\\F1DC\";\n}\n.n3-fa-paragraph:before {\n  content: \"\\F1DD\";\n}\n.n3-fa-sliders:before {\n  content: \"\\F1DE\";\n}\n.n3-fa-share-alt:before {\n  content: \"\\F1E0\";\n}\n.n3-fa-share-alt-square:before {\n  content: \"\\F1E1\";\n}\n.n3-fa-bomb:before {\n  content: \"\\F1E2\";\n}\n.n3-fa-soccer-ball-o:before,\n.n3-fa-futbol-o:before {\n  content: \"\\F1E3\";\n}\n.n3-fa-tty:before {\n  content: \"\\F1E4\";\n}\n.n3-fa-binoculars:before {\n  content: \"\\F1E5\";\n}\n.n3-fa-plug:before {\n  content: \"\\F1E6\";\n}\n.n3-fa-slideshare:before {\n  content: \"\\F1E7\";\n}\n.n3-fa-twitch:before {\n  content: \"\\F1E8\";\n}\n.n3-fa-yelp:before {\n  content: \"\\F1E9\";\n}\n.n3-fa-newspaper-o:before {\n  content: \"\\F1EA\";\n}\n.n3-fa-wifi:before {\n  content: \"\\F1EB\";\n}\n.n3-fa-calculator:before {\n  content: \"\\F1EC\";\n}\n.n3-fa-paypal:before {\n  content: \"\\F1ED\";\n}\n.n3-fa-google-wallet:before {\n  content: \"\\F1EE\";\n}\n.n3-fa-cc-visa:before {\n  content: \"\\F1F0\";\n}\n.n3-fa-cc-mastercard:before {\n  content: \"\\F1F1\";\n}\n.n3-fa-cc-discover:before {\n  content: \"\\F1F2\";\n}\n.n3-fa-cc-amex:before {\n  content: \"\\F1F3\";\n}\n.n3-fa-cc-paypal:before {\n  content: \"\\F1F4\";\n}\n.n3-fa-cc-stripe:before {\n  content: \"\\F1F5\";\n}\n.n3-fa-bell-slash:before {\n  content: \"\\F1F6\";\n}\n.n3-fa-bell-slash-o:before {\n  content: \"\\F1F7\";\n}\n.n3-fa-trash:before {\n  content: \"\\F1F8\";\n}\n.n3-fa-copyright:before {\n  content: \"\\F1F9\";\n}\n.n3-fa-at:before {\n  content: \"\\F1FA\";\n}\n.n3-fa-eyedropper:before {\n  content: \"\\F1FB\";\n}\n.n3-fa-paint-brush:before {\n  content: \"\\F1FC\";\n}\n.n3-fa-birthday-cake:before {\n  content: \"\\F1FD\";\n}\n.n3-fa-area-chart:before {\n  content: \"\\F1FE\";\n}\n.n3-fa-pie-chart:before {\n  content: \"\\F200\";\n}\n.n3-fa-line-chart:before {\n  content: \"\\F201\";\n}\n.n3-fa-lastfm:before {\n  content: \"\\F202\";\n}\n.n3-fa-lastfm-square:before {\n  content: \"\\F203\";\n}\n.n3-fa-toggle-off:before {\n  content: \"\\F204\";\n}\n.n3-fa-toggle-on:before {\n  content: \"\\F205\";\n}\n.n3-fa-bicycle:before {\n  content: \"\\F206\";\n}\n.n3-fa-bus:before {\n  content: \"\\F207\";\n}\n.n3-fa-ioxhost:before {\n  content: \"\\F208\";\n}\n.n3-fa-angellist:before {\n  content: \"\\F209\";\n}\n.n3-fa-cc:before {\n  content: \"\\F20A\";\n}\n.n3-fa-shekel:before,\n.n3-fa-sheqel:before,\n.n3-fa-ils:before {\n  content: \"\\F20B\";\n}\n.n3-fa-meanpath:before {\n  content: \"\\F20C\";\n}\n.n3-fa-buysellads:before {\n  content: \"\\F20D\";\n}\n.n3-fa-connectdevelop:before {\n  content: \"\\F20E\";\n}\n.n3-fa-dashcube:before {\n  content: \"\\F210\";\n}\n.n3-fa-forumbee:before {\n  content: \"\\F211\";\n}\n.n3-fa-leanpub:before {\n  content: \"\\F212\";\n}\n.n3-fa-sellsy:before {\n  content: \"\\F213\";\n}\n.n3-fa-shirtsinbulk:before {\n  content: \"\\F214\";\n}\n.n3-fa-simplybuilt:before {\n  content: \"\\F215\";\n}\n.n3-fa-skyatlas:before {\n  content: \"\\F216\";\n}\n.n3-fa-cart-plus:before {\n  content: \"\\F217\";\n}\n.n3-fa-cart-arrow-down:before {\n  content: \"\\F218\";\n}\n.n3-fa-diamond:before {\n  content: \"\\F219\";\n}\n.n3-fa-ship:before {\n  content: \"\\F21A\";\n}\n.n3-fa-user-secret:before {\n  content: \"\\F21B\";\n}\n.n3-fa-motorcycle:before {\n  content: \"\\F21C\";\n}\n.n3-fa-street-view:before {\n  content: \"\\F21D\";\n}\n.n3-fa-heartbeat:before {\n  content: \"\\F21E\";\n}\n.n3-fa-venus:before {\n  content: \"\\F221\";\n}\n.n3-fa-mars:before {\n  content: \"\\F222\";\n}\n.n3-fa-mercury:before {\n  content: \"\\F223\";\n}\n.n3-fa-intersex:before,\n.n3-fa-transgender:before {\n  content: \"\\F224\";\n}\n.n3-fa-transgender-alt:before {\n  content: \"\\F225\";\n}\n.n3-fa-venus-double:before {\n  content: \"\\F226\";\n}\n.n3-fa-mars-double:before {\n  content: \"\\F227\";\n}\n.n3-fa-venus-mars:before {\n  content: \"\\F228\";\n}\n.n3-fa-mars-stroke:before {\n  content: \"\\F229\";\n}\n.n3-fa-mars-stroke-v:before {\n  content: \"\\F22A\";\n}\n.n3-fa-mars-stroke-h:before {\n  content: \"\\F22B\";\n}\n.n3-fa-neuter:before {\n  content: \"\\F22C\";\n}\n.n3-fa-genderless:before {\n  content: \"\\F22D\";\n}\n.n3-fa-facebook-official:before {\n  content: \"\\F230\";\n}\n.n3-fa-pinterest-p:before {\n  content: \"\\F231\";\n}\n.n3-fa-whatsapp:before {\n  content: \"\\F232\";\n}\n.n3-fa-server:before {\n  content: \"\\F233\";\n}\n.n3-fa-user-plus:before {\n  content: \"\\F234\";\n}\n.n3-fa-user-times:before {\n  content: \"\\F235\";\n}\n.n3-fa-hotel:before,\n.n3-fa-bed:before {\n  content: \"\\F236\";\n}\n.n3-fa-viacoin:before {\n  content: \"\\F237\";\n}\n.n3-fa-train:before {\n  content: \"\\F238\";\n}\n.n3-fa-subway:before {\n  content: \"\\F239\";\n}\n.n3-fa-medium:before {\n  content: \"\\F23A\";\n}\n.n3-fa-yc:before,\n.n3-fa-y-combinator:before {\n  content: \"\\F23B\";\n}\n.n3-fa-optin-monster:before {\n  content: \"\\F23C\";\n}\n.n3-fa-opencart:before {\n  content: \"\\F23D\";\n}\n.n3-fa-expeditedssl:before {\n  content: \"\\F23E\";\n}\n.n3-fa-battery-4:before,\n.n3-fa-battery-full:before {\n  content: \"\\F240\";\n}\n.n3-fa-battery-3:before,\n.n3-fa-battery-three-quarters:before {\n  content: \"\\F241\";\n}\n.n3-fa-battery-2:before,\n.n3-fa-battery-half:before {\n  content: \"\\F242\";\n}\n.n3-fa-battery-1:before,\n.n3-fa-battery-quarter:before {\n  content: \"\\F243\";\n}\n.n3-fa-battery-0:before,\n.n3-fa-battery-empty:before {\n  content: \"\\F244\";\n}\n.n3-fa-mouse-pointer:before {\n  content: \"\\F245\";\n}\n.n3-fa-i-cursor:before {\n  content: \"\\F246\";\n}\n.n3-fa-object-group:before {\n  content: \"\\F247\";\n}\n.n3-fa-object-ungroup:before {\n  content: \"\\F248\";\n}\n.n3-fa-sticky-note:before {\n  content: \"\\F249\";\n}\n.n3-fa-sticky-note-o:before {\n  content: \"\\F24A\";\n}\n.n3-fa-cc-jcb:before {\n  content: \"\\F24B\";\n}\n.n3-fa-cc-diners-club:before {\n  content: \"\\F24C\";\n}\n.n3-fa-clone:before {\n  content: \"\\F24D\";\n}\n.n3-fa-balance-scale:before {\n  content: \"\\F24E\";\n}\n.n3-fa-hourglass-o:before {\n  content: \"\\F250\";\n}\n.n3-fa-hourglass-1:before,\n.n3-fa-hourglass-start:before {\n  content: \"\\F251\";\n}\n.n3-fa-hourglass-2:before,\n.n3-fa-hourglass-half:before {\n  content: \"\\F252\";\n}\n.n3-fa-hourglass-3:before,\n.n3-fa-hourglass-end:before {\n  content: \"\\F253\";\n}\n.n3-fa-hourglass:before {\n  content: \"\\F254\";\n}\n.n3-fa-hand-grab-o:before,\n.n3-fa-hand-rock-o:before {\n  content: \"\\F255\";\n}\n.n3-fa-hand-stop-o:before,\n.n3-fa-hand-paper-o:before {\n  content: \"\\F256\";\n}\n.n3-fa-hand-scissors-o:before {\n  content: \"\\F257\";\n}\n.n3-fa-hand-lizard-o:before {\n  content: \"\\F258\";\n}\n.n3-fa-hand-spock-o:before {\n  content: \"\\F259\";\n}\n.n3-fa-hand-pointer-o:before {\n  content: \"\\F25A\";\n}\n.n3-fa-hand-peace-o:before {\n  content: \"\\F25B\";\n}\n.n3-fa-trademark:before {\n  content: \"\\F25C\";\n}\n.n3-fa-registered:before {\n  content: \"\\F25D\";\n}\n.n3-fa-creative-commons:before {\n  content: \"\\F25E\";\n}\n.n3-fa-gg:before {\n  content: \"\\F260\";\n}\n.n3-fa-gg-circle:before {\n  content: \"\\F261\";\n}\n.n3-fa-tripadvisor:before {\n  content: \"\\F262\";\n}\n.n3-fa-odnoklassniki:before {\n  content: \"\\F263\";\n}\n.n3-fa-odnoklassniki-square:before {\n  content: \"\\F264\";\n}\n.n3-fa-get-pocket:before {\n  content: \"\\F265\";\n}\n.n3-fa-wikipedia-w:before {\n  content: \"\\F266\";\n}\n.n3-fa-safari:before {\n  content: \"\\F267\";\n}\n.n3-fa-chrome:before {\n  content: \"\\F268\";\n}\n.n3-fa-firefox:before {\n  content: \"\\F269\";\n}\n.n3-fa-opera:before {\n  content: \"\\F26A\";\n}\n.n3-fa-internet-explorer:before {\n  content: \"\\F26B\";\n}\n.n3-fa-tv:before,\n.n3-fa-television:before {\n  content: \"\\F26C\";\n}\n.n3-fa-contao:before {\n  content: \"\\F26D\";\n}\n.n3-fa-500px:before {\n  content: \"\\F26E\";\n}\n.n3-fa-amazon:before {\n  content: \"\\F270\";\n}\n.n3-fa-calendar-plus-o:before {\n  content: \"\\F271\";\n}\n.n3-fa-calendar-minus-o:before {\n  content: \"\\F272\";\n}\n.n3-fa-calendar-times-o:before {\n  content: \"\\F273\";\n}\n.n3-fa-calendar-check-o:before {\n  content: \"\\F274\";\n}\n.n3-fa-industry:before {\n  content: \"\\F275\";\n}\n.n3-fa-map-pin:before {\n  content: \"\\F276\";\n}\n.n3-fa-map-signs:before {\n  content: \"\\F277\";\n}\n.n3-fa-map-o:before {\n  content: \"\\F278\";\n}\n.n3-fa-map:before {\n  content: \"\\F279\";\n}\n.n3-fa-commenting:before {\n  content: \"\\F27A\";\n}\n.n3-fa-commenting-o:before {\n  content: \"\\F27B\";\n}\n.n3-fa-houzz:before {\n  content: \"\\F27C\";\n}\n.n3-fa-vimeo:before {\n  content: \"\\F27D\";\n}\n.n3-fa-black-tie:before {\n  content: \"\\F27E\";\n}\n.n3-fa-fonticons:before {\n  content: \"\\F280\";\n}\n.n3-fa-reddit-alien:before {\n  content: \"\\F281\";\n}\n.n3-fa-edge:before {\n  content: \"\\F282\";\n}\n.n3-fa-credit-card-alt:before {\n  content: \"\\F283\";\n}\n.n3-fa-codiepie:before {\n  content: \"\\F284\";\n}\n.n3-fa-modx:before {\n  content: \"\\F285\";\n}\n.n3-fa-fort-awesome:before {\n  content: \"\\F286\";\n}\n.n3-fa-usb:before {\n  content: \"\\F287\";\n}\n.n3-fa-product-hunt:before {\n  content: \"\\F288\";\n}\n.n3-fa-mixcloud:before {\n  content: \"\\F289\";\n}\n.n3-fa-scribd:before {\n  content: \"\\F28A\";\n}\n.n3-fa-pause-circle:before {\n  content: \"\\F28B\";\n}\n.n3-fa-pause-circle-o:before {\n  content: \"\\F28C\";\n}\n.n3-fa-stop-circle:before {\n  content: \"\\F28D\";\n}\n.n3-fa-stop-circle-o:before {\n  content: \"\\F28E\";\n}\n.n3-fa-shopping-bag:before {\n  content: \"\\F290\";\n}\n.n3-fa-shopping-basket:before {\n  content: \"\\F291\";\n}\n.n3-fa-hashtag:before {\n  content: \"\\F292\";\n}\n.n3-fa-bluetooth:before {\n  content: \"\\F293\";\n}\n.n3-fa-bluetooth-b:before {\n  content: \"\\F294\";\n}\n.n3-fa-percent:before {\n  content: \"\\F295\";\n}\n.n3-fa-gitlab:before {\n  content: \"\\F296\";\n}\n.n3-fa-wpbeginner:before {\n  content: \"\\F297\";\n}\n.n3-fa-wpforms:before {\n  content: \"\\F298\";\n}\n.n3-fa-envira:before {\n  content: \"\\F299\";\n}\n.n3-fa-universal-access:before {\n  content: \"\\F29A\";\n}\n.n3-fa-wheelchair-alt:before {\n  content: \"\\F29B\";\n}\n.n3-fa-question-circle-o:before {\n  content: \"\\F29C\";\n}\n.n3-fa-blind:before {\n  content: \"\\F29D\";\n}\n.n3-fa-audio-description:before {\n  content: \"\\F29E\";\n}\n.n3-fa-volume-control-phone:before {\n  content: \"\\F2A0\";\n}\n.n3-fa-braille:before {\n  content: \"\\F2A1\";\n}\n.n3-fa-assistive-listening-systems:before {\n  content: \"\\F2A2\";\n}\n.n3-fa-asl-interpreting:before,\n.n3-fa-american-sign-language-interpreting:before {\n  content: \"\\F2A3\";\n}\n.n3-fa-deafness:before,\n.n3-fa-hard-of-hearing:before,\n.n3-fa-deaf:before {\n  content: \"\\F2A4\";\n}\n.n3-fa-glide:before {\n  content: \"\\F2A5\";\n}\n.n3-fa-glide-g:before {\n  content: \"\\F2A6\";\n}\n.n3-fa-signing:before,\n.n3-fa-sign-language:before {\n  content: \"\\F2A7\";\n}\n.n3-fa-low-vision:before {\n  content: \"\\F2A8\";\n}\n.n3-fa-viadeo:before {\n  content: \"\\F2A9\";\n}\n.n3-fa-viadeo-square:before {\n  content: \"\\F2AA\";\n}\n.n3-fa-snapchat:before {\n  content: \"\\F2AB\";\n}\n.n3-fa-snapchat-ghost:before {\n  content: \"\\F2AC\";\n}\n.n3-fa-snapchat-square:before {\n  content: \"\\F2AD\";\n}\n.n3-fa-pied-piper:before {\n  content: \"\\F2AE\";\n}\n.n3-fa-first-order:before {\n  content: \"\\F2B0\";\n}\n.n3-fa-yoast:before {\n  content: \"\\F2B1\";\n}\n.n3-fa-themeisle:before {\n  content: \"\\F2B2\";\n}\n.n3-fa-google-plus-circle:before,\n.n3-fa-google-plus-official:before {\n  content: \"\\F2B3\";\n}\n.n3-fa-fa:before,\n.n3-fa-font-awesome:before {\n  content: \"\\F2B4\";\n}\n.n3-slider {\n  display: inline-block;\n  vertical-align: middle;\n  position: relative;\n}\n.n3-slider-horizontal {\n  height: 34px;\n  margin-right: 15px;\n}\n.n3-slider-horizontal .n3-slider-track {\n  height: 4px;\n  width: 100%;\n  top: 15px;\n  left: 0;\n}\n.n3-slider-horizontal .n3-slider-selection,\n.n3-slider-horizontal .n3-slider-track-low,\n.n3-slider-horizontal .n3-slider-track-high {\n  height: 100%;\n  top: 0;\n  bottom: 0;\n}\n.n3-slider-horizontal .n3-slider-handle {\n  margin-left: 0px;\n  margin-top: -5px;\n}\n.n3-slider-vertical {\n  width: 20px;\n  margin-bottom: 15px;\n}\n.n3-slider-vertical .n3-slider-track {\n  width: 4px;\n  height: 100%;\n  margin-left: -5px;\n  left: 50%;\n  top: 0;\n}\n.n3-slider-vertical .n3-slider-selection {\n  width: 100%;\n  left: 0;\n  top: 0;\n  bottom: 0;\n}\n.n3-slider-vertical .n3-slider-track-low,\n.n3-slider-vertical .n3-slider-track-high {\n  width: 100%;\n  left: 0;\n  right: 0;\n}\n.n3-slider-vertical .n3-slider-handle {\n  margin-left: -5px;\n  margin-top: -5px;\n}\n.n3-slider-disabled .n3-slider-handle {\n  background-image: -webkit-linear-gradient(top, rgba(65, 202, 192, 0.05) 0%, #eee 100%);\n  background-image: linear-gradient(to bottom, rgba(65, 202, 192, 0.05) 0%, #eee 100%);\n  background-repeat: repeat-x;\n}\n.n3-slider-disabled .n3-slider-track {\n  background-image: -webkit-linear-gradient(top, rgba(65, 202, 192, 0.05) 0%, #eee 100%);\n  background-image: linear-gradient(to bottom, rgba(65, 202, 192, 0.05) 0%, #eee 100%);\n  background-repeat: repeat-x;\n  cursor: not-allowed;\n}\n.n3-slider input {\n  display: none;\n}\n.n3-slider .n3-tooltip-inner {\n  white-space: nowrap;\n}\n.n3-slider-hide {\n  display: none;\n}\n.n3-slider-track {\n  position: absolute;\n  cursor: pointer;\n  background: #f9f9f9;\n  border-radius: 4px;\n}\n.n3-slider-selection {\n  position: absolute;\n  background: #41cac0;\n  box-sizing: border-box;\n  border-radius: 4px;\n}\n.n3-slider-track-low,\n.n3-slider-track-high {\n  position: absolute;\n  background: transparent;\n  box-sizing: border-box;\n  border-radius: 4px;\n}\n.n3-slider-handle {\n  position: absolute;\n  width: 15px;\n  height: 15px;\n  background-color: #fff;\n  border: 2px solid #41cac0;\n}\n.n3-slider-handle.n3-slider-round {\n  border-radius: 50%;\n}\n.n3-slider-vertical .n3-slider-selection {\n  height: 0%;\n}\n.n3-slider-vertical .n3-slider-track-high {\n  height: 100%;\n}\n.n3-slider .n3-tooltip.n3-tooltip-top {\n  margin-top: -40px;\n}\n.n3-slider-horizontal .n3-tooltip.n3-tooltip-top {\n  margin-left: -8px;\n}\n.n3-slider-vertical .n3-tooltip.n3-tooltip-right {\n  margin-top: -15px;\n  margin-left: 17px;\n}\n.n3-tooltip.n3-slider-slider-tooltip-always {\n  display: block!important;\n}\n.n3-tooltip.n3-slider-slider-tooltip-hide {\n  display: none!important;\n}\n/*fade*/\n.fade-enter-active,\n.fade-leave-active {\n  -webkit-transition: opacity .3s;\n  transition: opacity .3s;\n  opacity: 1;\n}\n.fade-enter,\n.fade-leave-active {\n  opacity: 0;\n}\n/*fadeLeft*/\n.fadeLeft-enter-active,\n.fadeLeft-leave-active {\n  -webkit-transition: all .3s ease;\n  transition: all .3s ease;\n}\n.fadeLeft-enter,\n.fadeLeft-leave-active {\n  -webkit-transform: translateX(-10px);\n          transform: translateX(-10px);\n  opacity: 0;\n}\n/*fadeDown*/\n.fadeDown-enter-active,\n.fadeDown-leave-active {\n  -webkit-transition: all .3s ease;\n  transition: all .3s ease;\n}\n.fadeDown-enter,\n.fadeDown-leave-active {\n  -webkit-transform: translateY(-10px);\n          transform: translateY(-10px);\n  opacity: 0;\n}\n.collapse-enter,\n.collapse-leave-active {\n  overflow: hidden;\n}\n/*bounce*/\n.bounce-enter-active {\n  -webkit-animation: bounce-in 0.5s;\n          animation: bounce-in 0.5s;\n}\n.bounce-leave-active {\n  -webkit-animation: bounce-out 0.5s;\n          animation: bounce-out 0.5s;\n}\n@-webkit-keyframes bounce-in {\n  0% {\n    -webkit-transform: scale(0);\n            transform: scale(0);\n  }\n  50% {\n    -webkit-transform: scale(1.5);\n            transform: scale(1.5);\n  }\n  100% {\n    -webkit-transform: scale(1);\n            transform: scale(1);\n  }\n}\n@keyframes bounce-in {\n  0% {\n    -webkit-transform: scale(0);\n            transform: scale(0);\n  }\n  50% {\n    -webkit-transform: scale(1.5);\n            transform: scale(1.5);\n  }\n  100% {\n    -webkit-transform: scale(1);\n            transform: scale(1);\n  }\n}\n@-webkit-keyframes bounce-out {\n  0% {\n    -webkit-transform: scale(1);\n            transform: scale(1);\n  }\n  50% {\n    -webkit-transform: scale(1.5);\n            transform: scale(1.5);\n  }\n  100% {\n    -webkit-transform: scale(0);\n            transform: scale(0);\n  }\n}\n@keyframes bounce-out {\n  0% {\n    -webkit-transform: scale(1);\n            transform: scale(1);\n  }\n  50% {\n    -webkit-transform: scale(1.5);\n            transform: scale(1.5);\n  }\n  100% {\n    -webkit-transform: scale(0);\n            transform: scale(0);\n  }\n}\n/*scale*/\n.scale-enter,\n.fade-enter {\n  display: block;\n}\n.scale-enter-active {\n  -webkit-animation: scale-in 0.15s ease-in;\n          animation: scale-in 0.15s ease-in;\n}\n.scale-leave-active {\n  -webkit-animation: scale-out 0.15s ease-out;\n          animation: scale-out 0.15s ease-out;\n}\n@-webkit-keyframes scale-in {\n  0% {\n    -webkit-transform: scale(0);\n            transform: scale(0);\n    opacity: 0;\n  }\n  100% {\n    -webkit-transform: scale(1);\n            transform: scale(1);\n    opacity: 1;\n  }\n}\n@keyframes scale-in {\n  0% {\n    -webkit-transform: scale(0);\n            transform: scale(0);\n    opacity: 0;\n  }\n  100% {\n    -webkit-transform: scale(1);\n            transform: scale(1);\n    opacity: 1;\n  }\n}\n@-webkit-keyframes scale-out {\n  0% {\n    -webkit-transform: scale(1);\n            transform: scale(1);\n    opacity: 1;\n  }\n  100% {\n    -webkit-transform: scale(0);\n            transform: scale(0);\n    opacity: 0;\n  }\n}\n@keyframes scale-out {\n  0% {\n    -webkit-transform: scale(1);\n            transform: scale(1);\n    opacity: 1;\n  }\n  100% {\n    -webkit-transform: scale(0);\n            transform: scale(0);\n    opacity: 0;\n  }\n}\n/*slide*/\n.slideleft-enter-active {\n  -webkit-animation: slideleft-in 0.3s;\n          animation: slideleft-in 0.3s;\n}\n.slideleft-leave-active {\n  -webkit-animation: slideleft-out 0.3s;\n          animation: slideleft-out 0.3s;\n}\n@-webkit-keyframes slideleft-in {\n  0% {\n    -webkit-transform: translateX(-100%);\n            transform: translateX(-100%);\n    opacity: 0;\n  }\n  100% {\n    -webkit-transform: translateX(0);\n            transform: translateX(0);\n    opacity: 1;\n  }\n}\n@keyframes slideleft-in {\n  0% {\n    -webkit-transform: translateX(-100%);\n            transform: translateX(-100%);\n    opacity: 0;\n  }\n  100% {\n    -webkit-transform: translateX(0);\n            transform: translateX(0);\n    opacity: 1;\n  }\n}\n@-webkit-keyframes slideleft-out {\n  0% {\n    -webkit-transform: translateX(0);\n            transform: translateX(0);\n    opacity: 1;\n  }\n  100% {\n    -webkit-transform: translateX(-100%);\n            transform: translateX(-100%);\n    opacity: 0;\n  }\n}\n@keyframes slideleft-out {\n  0% {\n    -webkit-transform: translateX(0);\n            transform: translateX(0);\n    opacity: 1;\n  }\n  100% {\n    -webkit-transform: translateX(-100%);\n            transform: translateX(-100%);\n    opacity: 0;\n  }\n}\n.slideright-enter-active {\n  -webkit-animation: slideright-in 0.3s;\n          animation: slideright-in 0.3s;\n}\n.slideright-leave-active {\n  -webkit-animation: slideright-out 0.3s;\n          animation: slideright-out 0.3s;\n}\n@-webkit-keyframes slideright-in {\n  0% {\n    -webkit-transform: translateX(100%);\n            transform: translateX(100%);\n    opacity: 0;\n  }\n  100% {\n    -webkit-transform: translateX(0);\n            transform: translateX(0);\n    opacity: 1;\n  }\n}\n@keyframes slideright-in {\n  0% {\n    -webkit-transform: translateX(100%);\n            transform: translateX(100%);\n    opacity: 0;\n  }\n  100% {\n    -webkit-transform: translateX(0);\n            transform: translateX(0);\n    opacity: 1;\n  }\n}\n@-webkit-keyframes slideright-out {\n  0% {\n    -webkit-transform: translateX(0);\n            transform: translateX(0);\n    opacity: 1;\n  }\n  100% {\n    -webkit-transform: translateX(100%);\n            transform: translateX(100%);\n    opacity: 0;\n  }\n}\n@keyframes slideright-out {\n  0% {\n    -webkit-transform: translateX(0);\n            transform: translateX(0);\n    opacity: 1;\n  }\n  100% {\n    -webkit-transform: translateX(100%);\n            transform: translateX(100%);\n    opacity: 0;\n  }\n}\n.n3-aside-open {\n  -webkit-transition: -webkit-transform 0.3s;\n  transition: -webkit-transform 0.3s;\n  transition: transform 0.3s;\n  transition: transform 0.3s, -webkit-transform 0.3s;\n}\n.n3-aside-open.has-push-right {\n  -webkit-transform: translateX(-300px);\n          transform: translateX(-300px);\n}\n.n3-aside {\n  position: fixed;\n  top: 0;\n  bottom: 0;\n  z-index: 1049;\n  overflow: auto;\n  background: #fff;\n}\n.n3-aside-left {\n  left: 0;\n  right: auto;\n}\n.n3-aside-right {\n  left: auto;\n  right: 0;\n}\n.n3-aside:focus {\n  outline: 0;\n}\n.n3-aside-dialog .n3-aside-header {\n  min-height: 16.43px;\n  padding: 6px 15px;\n  background: #41cac0;\n  color: #fff;\n}\n.n3-aside-dialog .n3-aside-header .n3-close {\n  margin-right: -8px;\n  padding: 4px 8px;\n  color: #fff;\n  font-size: 25px;\n  opacity: .8;\n}\n.n3-aside-dialog .n3-aside-body {\n  position: relative;\n  padding: 15px;\n}\n.n3-aside-backdrop {\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 1040;\n  opacity: 0;\n  -webkit-transition: opacity .3s ease;\n  transition: opacity .3s ease;\n  background-color: #000;\n}\n.n3-aside-in {\n  opacity: .5;\n}\n.n3-data-table .n3-page-loading {\n  z-index: 1;\n}\n.n3-data-table-fixed-columns {\n  position: absolute;\n  width: 100%;\n  z-index: 1;\n}\n.n3-data-table-fixed-columns table {\n  margin: 0px;\n}\n.n3-data-table-bar {\n  margin-bottom: 10px;\n}\n.n3-data-table-page {\n  text-align: right;\n  margin-top: 10px;\n}\n.n3-data-table-inner-btn {\n  height: 34px;\n}\n.n3-data-table-inner-btn .n3-fa {\n  margin-top: 3px;\n}\n.n3-data-table-sort {\n  font-size: 15px;\n}\n.n3-data-table-sort .n3-fa:hover {\n  cursor: pointer;\n}\n.n3-data-table-sort .n3-fa-caret-up {\n  position: relative;\n  top: -4px;\n  left: 6px;\n}\n.n3-data-table-sort .n3-fa-caret-down {\n  position: relative;\n  top: 5px;\n  left: -7px;\n}\n.n3-data-table-loading {\n  -webkit-filter: blur(3px);\n          filter: blur(3px);\n}\n.n3-data-table .n3-table-bordered {\n  border-collapse: collapse;\n}\n.n3-data-table-row-select {\n  width: 30px;\n  text-align: center;\n  vertical-align: middle;\n}\n.n3-datepicker {\n  position: relative;\n  display: inline-block;\n  font-size: 13px;\n}\n.n3-datepicker-popup {\n  position: absolute;\n  border: 0px;\n  background: #fff;\n  margin-top: 2px;\n  z-index: 1000;\n  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.1);\n}\n.n3-datepicker-inner {\n  width: 250px;\n}\n.n3-datepicker-ctrl p,\n.n3-datepicker-ctrl span,\n.n3-datepicker-body span {\n  display: inline-block;\n  width: 35px;\n  line-height: 35px;\n  height: 35px;\n  border-radius: 35px;\n}\n.n3-datepicker-ctrl p {\n  width: 65%;\n  margin: 0px;\n}\n.n3-datepicker-ctrl span {\n  position: absolute;\n}\n.n3-datepicker-body span {\n  text-align: center;\n}\n.n3-datepicker-mouthRange span {\n  width: 40px;\n  height: 40px;\n  line-height: 40px;\n  margin: 2px 18px;\n}\n.n3-datepicker-item-disable {\n  background-color: white!important;\n  cursor: not-allowed !important;\n}\n.n3-datepicker .n3-datepicker-decadeRange span:first-child,\n.n3-datepicker .n3-datepicker-decadeRange span:last-child,\n.n3-datepicker-item-disable,\n.n3-datepicker-item-gray {\n  color: #ccc;\n}\n.n3-datepicker-dateRange-item-active:hover,\n.n3-datepicker-dateRange-item-active {\n  background: #41cac0 !important;\n  color: white!important;\n}\n.n3-datepicker-mouthRange {\n  margin-bottom: 10px;\n  margin-left: 10px;\n}\n.n3-datepicker-mouthRange span,\n.n3-datepicker-ctrl span,\n.n3-datepicker-ctrl p,\n.n3-datepicker-dateRange span {\n  -webkit-transition: all .3s ease;\n  transition: all .3s ease;\n  cursor: pointer;\n}\n.n3-datepicker-mouthRange span:hover,\n.n3-datepicker-ctrl p:hover,\n.n3-datepicker-ctrl i:hover,\n.n3-datepicker-dateRange span:hover,\n.n3-datepicker-dateRange-item-hover {\n  background-color: rgba(65, 202, 192, 0.05);\n}\n.n3-datepicker-weekRange {\n  border-bottom: 1px solid #eee;\n  border-top: 1px solid #eee;\n}\n.n3-datepicker-weekRange span {\n  font-weight: bold;\n}\n.n3-datepicker-ctrl {\n  position: relative;\n  height: 35px;\n  line-height: 35px;\n  font-weight: bold;\n  text-align: center;\n}\n.n3-datepicker .n3-month-btn {\n  font-weight: bold;\n  -webkit-user-select: none;\n     -moz-user-select: none;\n      -ms-user-select: none;\n          user-select: none;\n}\n.n3-datepicker-preBtn {\n  left: 2px;\n}\n.n3-datepicker-nextBtn {\n  right: 2px;\n}\n.n3-timepicker {\n  display: inline-block;\n  position: relative;\n}\n.n3-timepicker-slider {\n  margin-top: 20px;\n}\n.n3-timepicker-popup {\n  position: absolute;\n  background: #fff;\n  margin-top: 2px;\n  z-index: 1000;\n  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.1);\n  padding: 10px 0px 0px;\n}\n.n3-timepicker-popup .slider-sin-wrap:after {\n  top: 5px;\n}\n.n3-timepicker-slider {\n  padding: 0px 0px 0px 2px;\n}\n.n3-timepicker-slider-sin-wrap {\n  float: left;\n  height: 275px;\n  margin: 4px 14px;\n  position: relative;\n}\n.n3-timepicker-slider-sin-wrap:before {\n  padding-left: 2px;\n  font-size: 16px;\n  font-weight: 700;\n}\n.n3-timepicker-slider-sin-wrap[data-role=\"hour\"] {\n  z-index: 10;\n}\n.n3-timepicker-slider-sin-wrap[data-role=\"hour\"]:before {\n  content: \"\\65F6\";\n  display: block;\n}\n.n3-timepicker-slider-sin-wrap[data-role=\"minute\"] {\n  z-index: 9;\n}\n.n3-timepicker-slider-sin-wrap[data-role=\"minute\"]:before {\n  content: \"\\5206\";\n  display: block;\n}\n.n3-timepicker-slider-sin-wrap[data-role=\"second\"] {\n  z-index: 8;\n}\n.n3-timepicker-slider-sin-wrap[data-role=\"second\"]:before {\n  content: \"\\79D2\";\n  display: block;\n}\n.n3-timepicker-slider-sin-wrap:after {\n  content: \":\";\n  position: absolute;\n  top: 1px;\n  left: 32px;\n}\n.n3-timepicker-slider-sin-wrap:last-child:after {\n  content: '';\n}\n.n3-timepicker-slider-sin-wrap:last-child:after {\n  display: none;\n}\n.n3-datetimepicker .n3-datepicker-inner {\n  width: 250px;\n  display: inline-block;\n  border-right: 1px solid #eee;\n  vertical-align: top;\n}\n.n3-datetimepicker .n3-timepicker-con {\n  display: inline-block;\n  margin-top: 10px;\n}\n.n3-datetimepicker .n3-timepicker-slider-sin-wrap > div {\n  margin-top: 25px;\n}\n.n3-datetimepicker .n3-timepicker-con .n3-timepicker-slider-sin-wrap:after {\n  top: 3px;\n  display: block;\n}\n.n3-dropdown-con {\n  position: relative;\n  display: inline-block;\n  vertical-align: middle;\n}\n.n3-dropdown-con .n3-dropdown-menu {\n  display: block;\n}\n.n3-dropdown {\n  position: relative;\n}\n.n3-dropdown-toggle:focus {\n  outline: 0;\n}\n.n3-dropdown-menu {\n  position: absolute;\n  top: 100%;\n  left: 0;\n  z-index: 1000;\n  display: none;\n  float: left;\n  min-width: 100px;\n  margin: 2px 0 0;\n  font-size: 14px;\n  text-align: left;\n  list-style: none;\n  background-color: #fff;\n  background-clip: padding-box;\n  border: 0px;\n  border-radius: 4px;\n  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2);\n  overflow: auto;\n}\n.n3-dropdown-menu.pull-right {\n  right: 0;\n  left: auto;\n}\n.n3-dropdown-menu > li > a {\n  display: block;\n  padding: 7px 25px 7px 20px;\n  clear: both;\n  font-weight: normal;\n  line-height: 1.42857143;\n  color: #555;\n  font-size: 13px;\n  cursor: pointer;\n  -webkit-transition: all .3s ease;\n  transition: all .3s ease;\n}\n.n3-dropdown-menu > li > a:hover,\n.n3-dropdown-menu > li > a:focus {\n  background-color: rgba(65, 202, 192, 0.05);\n  color: #555;\n  text-decoration: none;\n}\n.n3-dropdown-menu > .n3-dropdown-active > a,\n.n3-dropdown-menu > .n3-dropdown-active > a:hover,\n.n3-dropdown-menu > .n3-dropdown-active > a:focus {\n  color: #fff;\n  text-decoration: none;\n  background-color: #41cac0;\n  outline: 0;\n}\n.n3-dropdown-menu > .n3-dropdown-disabled > a,\n.n3-dropdown-menu > .n3-dropdown-disabled > a:hover,\n.n3-dropdown-menu > .n3-dropdown-disabled > a:focus {\n  color: #999;\n}\n.n3-dropdown-menu > .n3-dropdown-disabled > a:hover,\n.n3-dropdown-menu > .n3-dropdown-disabled > a:focus {\n  text-decoration: none;\n  cursor: not-allowed;\n  background-color: transparent;\n  background-image: none;\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);\n}\n.n3-btn.n3-dropdown-toggle,\n.n3-btn-group.n3-open .n3-dropdown-toggle {\n  box-shadow: none;\n}\n.n3-open > .n3-dropdown-menu {\n  display: block;\n}\n.n3-open > a {\n  outline: 0;\n}\n.pull-right > .n3-dropdown-menu {\n  right: 0;\n  left: auto;\n}\n.n3-navbar-fixed-bottom .n3-dropdown .n3-dropdown-menu {\n  top: auto;\n  bottom: 100%;\n  margin-bottom: 2px;\n}\n@media (min-width: 768px) {\n  .n3-navbar-right .n3-dropdown-menu {\n    right: 0;\n    left: auto;\n  }\n  .n3-navbar-right .n3-dropdown-menu-left {\n    right: auto;\n    left: 0;\n  }\n}\n.n3-form-control {\n  display: block;\n  width: 100%;\n  height: 34px;\n  padding: 6px 12px;\n  font-size: 14px;\n  line-height: 1.42857143;\n  color: #555;\n  background-color: #fff;\n  background-image: none;\n  border: 1px solid #ccc;\n  border-radius: 4px;\n  -webkit-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;\n  transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;\n}\n.n3-form-control:focus {\n  border: 1px solid #41cac0;\n  outline: 0;\n}\n.n3-form-control::-moz-placeholder {\n  color: #999;\n  opacity: 1;\n}\n.n3-form-control:-ms-input-placeholder {\n  color: #999;\n}\n.n3-form-control::-webkit-input-placeholder {\n  color: #999;\n}\n.n3-form-control[disabled],\n.n3-form-control[readonly] {\n  cursor: not-allowed;\n  background-color: #f9f9f9;\n  opacity: 1;\n}\ntextarea.n3-form-control {\n  height: auto;\n}\n.n3-err-tip {\n  color: #f50;\n  font-size: 12px;\n  height: 20px;\n}\n.n3-form-horizontal .n3-control-label {\n  font-weight: 300;\n  font-size: 14px;\n  text-align: left;\n}\n.n3-form-inline .n3-slider,\n.n3-form-horizontal .n3-slider {\n  position: relative;\n}\n.n3-form-group {\n  margin: 0 0 15px 0;\n  line-height: 34px;\n}\n.n3-has-success .n3-control-label {\n  color: #19d567;\n}\n.n3-has-success .n3-form-control {\n  border-color: #19d567;\n}\n.n3-has-success .n3-form-control:focus {\n  border-color: #30d073;\n}\n.n3-has-warining .n3-control-label {\n  color: #fa0;\n}\n.n3-has-warining .n3-form-control {\n  border-color: #fa0;\n}\n.n3-has-warining .n3-form-control:focus {\n  border-color: #f5b73b;\n}\n.n3-has-error .n3-control-label {\n  color: #f50;\n}\n.n3-has-error .n3-form-control {\n  border-color: #f50;\n}\n.n3-has-error .n3-form-control:focus {\n  border-color: #f9702b;\n}\n.n3-form-need {\n  color: red;\n  position: relative;\n  top: 2px;\n  left: 3px;\n  font-size: 14px;\n  font-weight: bold;\n  margin-right: 8px;\n}\n@media (min-width: 768px) {\n  .n3-form-inline .n3-form-group {\n    display: inline-block;\n    margin-bottom: 20px;\n    vertical-align: middle;\n  }\n  .n3-form-inline .n3-form-control {\n    display: inline-block;\n    width: auto;\n    vertical-align: middle;\n  }\n  .n3-form-inline .n3-form-control-static {\n    display: inline-block;\n  }\n  .n3-form-inline .n3-control-label {\n    margin-bottom: 0;\n    vertical-align: top;\n  }\n}\n.n3-form-horizontal .n3-form-group {\n  min-height: 34px;\n}\n@media (min-width: 768px) {\n  .n3-form-horizontal .n3-control-label {\n    margin-bottom: 0;\n    text-align: right;\n  }\n}\n/* loading */\n.n3-page-loading-con {\n  display: inline-block;\n  z-index: 1000;\n}\n.n3-page-loading {\n  -webkit-animation: loading-spin 2s linear 0s infinite;\n          animation: loading-spin 2s linear 0s infinite;\n  font-size: 28px;\n  float: left;\n}\n.n3-page-loading:before {\n  font-family: \"FontAwesome\";\n  content: \"\\F110\";\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n}\n.n3-page-loading.n3-loading-lg {\n  font-size: 40px;\n}\n.n3-page-loading.n3-loading-lg.n3-loading-center {\n  margin: -20px 0 0 -20px;\n}\n.n3-page-loading.n3-loading-sm {\n  font-size: 18px;\n}\n.n3-page-loading.n3-loading-sm.n3-loading-center {\n  margin: -9px 0 0 -9px;\n}\n.n3-page-loading.n3-loading-xs {\n  font-size: 12px;\n}\n.n3-page-loading.n3-loading-xs.n3-loading-center {\n  margin: -6px 0 0 -6px;\n}\n.n3-page-loading.n3-loading-refresh:before {\n  content: \"\\F021\";\n}\n.n3-loading-center {\n  position: absolute;\n  left: 50%;\n  top: 50%;\n  margin: -14px 0 0 -14px;\n}\n@keyframes loading-spin {\n  from {\n    -webkit-transform: rotate(0deg);\n            transform: rotate(0deg);\n  }\n  to {\n    -webkit-transform: rotate(360deg);\n            transform: rotate(360deg);\n  }\n}\n.n3-tooltip {\n  position: absolute;\n  z-index: 1030;\n  display: block;\n  font-size: 12px;\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  font-weight: normal;\n  line-height: 1.4;\n  visibility: visible;\n  opacity: .9;\n}\n.n3-tooltip-in {\n  opacity: 0.9;\n}\n.n3-tooltip-top {\n  margin-top: -3px;\n  padding: 5px 0;\n}\n.n3-tooltip-top .n3-tooltip-arrow {\n  bottom: 0;\n  left: 50%;\n  margin-left: -5px;\n  border-width: 5px 5px 0;\n  border-top-color: #000;\n}\n.n3-tooltip-right {\n  margin-left: 3px;\n  padding: 0 5px;\n}\n.n3-tooltip-right .n3-tooltip-arrow {\n  top: 50%;\n  left: 0;\n  margin-top: -5px;\n  border-width: 5px 5px 5px 0;\n  border-right-color: #000;\n}\n.n3-tooltip-bottom {\n  margin-top: 3px;\n  padding: 5px 0;\n}\n.n3-tooltip-bottom .n3-tooltip-arrow {\n  top: 0;\n  left: 50%;\n  margin-left: -5px;\n  border-width: 0 5px 5px;\n  border-bottom-color: #000;\n}\n.n3-tooltip-left {\n  margin-left: -3px;\n  padding: 0 5px;\n}\n.n3-tooltip-left .n3-tooltip-arrow {\n  top: 50%;\n  right: 0;\n  margin-top: -5px;\n  border-width: 5px 0 5px 5px;\n  border-left-color: #000;\n}\n.n3-tooltip-inner {\n  max-width: 200px;\n  padding: 9px 11px;\n  color: #fff;\n  text-align: left;\n  background-color: #000;\n  border-radius: 4px;\n}\n.n3-tooltip-arrow {\n  position: absolute;\n  width: 0;\n  height: 0;\n  border-color: transparent;\n  border-style: solid;\n}\n.n3-popover {\n  position: absolute;\n  top: 0;\n  left: 0;\n  z-index: 1060;\n  display: none;\n  max-width: 276px;\n  padding: 1px;\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  font-size: 14px;\n  font-weight: normal;\n  line-height: 1.42857143;\n  text-align: left;\n  white-space: normal;\n  background-color: #fff;\n  background-clip: padding-box;\n  border: 0px;\n  border-radius: 6px;\n  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2);\n}\n.n3-popover-top {\n  margin-top: -10px;\n}\n.n3-popover-right {\n  margin-left: 10px;\n}\n.n3-popover-bottom {\n  margin-top: 10px;\n}\n.n3-popover-left {\n  margin-left: -10px;\n}\n.n3-popover-title {\n  padding: 8px 14px;\n  margin: 0;\n  font-size: 14px;\n  border-bottom: 1px solid #eee;\n  border-radius: 5px 5px 0 0;\n}\n.n3-popover-content {\n  padding: 9px 14px;\n}\n.n3-popover-arrow,\n.n3-popover-arrow:after {\n  position: absolute;\n  display: block;\n  width: 0;\n  height: 0;\n  border-color: transparent;\n  border-style: solid;\n}\n.n3-popover-arrow:after {\n  content: \"\";\n  border-width: 10px;\n}\n.n3-popover-arrow {\n  border-width: 6px;\n}\n.n3-popover-top > .n3-popover-arrow {\n  bottom: -6px;\n  left: 50%;\n  margin-left: -6px;\n  border-top-color: rgba(0, 0, 0, 0.25);\n  border-bottom-width: 0;\n}\n.n3-popover-top > .n3-popover-arrow:after {\n  bottom: 1px;\n  margin-left: -10px;\n  content: \" \";\n  border-top-color: #fff;\n  border-bottom-width: 0;\n}\n.n3-popover-right > .n3-popover-arrow {\n  top: 50%;\n  left: -6px;\n  margin-top: -6px;\n  border-right-color: #999;\n  border-right-color: rgba(0, 0, 0, 0.25);\n  border-left-width: 0;\n}\n.n3-popover-right > .n3-popover-arrow:after {\n  bottom: -10px;\n  left: 1px;\n  content: \" \";\n  border-right-color: #fff;\n  border-left-width: 0;\n}\n.n3-popover-bottom > .n3-popover-arrow {\n  top: -6px;\n  left: 50%;\n  margin-left: -6px;\n  border-top-width: 0;\n  border-bottom-color: #999;\n  border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n.n3-popover-bottom > .n3-popover-arrow:after {\n  top: 1px;\n  margin-left: -10px;\n  content: \" \";\n  border-top-width: 0;\n  border-bottom-color: #fff;\n}\n.n3-popover-left > .n3-popover-arrow {\n  top: 50%;\n  right: -6px;\n  margin-top: -6px;\n  border-right-width: 0;\n  border-left-color: #999;\n  border-left-color: rgba(0, 0, 0, 0.25);\n}\n.n3-popover-left > .n3-popover-arrow:after {\n  right: 1px;\n  bottom: -10px;\n  content: \" \";\n  border-right-width: 0;\n  border-left-color: #fff;\n}\n.n3-select-group .n3-selected-tag {\n  background: #f9f9f9;\n  padding: 3px 5px;\n  margin-right: 5px;\n  border-radius: 4px;\n  margin-bottom: 3px;\n  -webkit-transition: all .24s ease;\n  transition: all .24s ease;\n}\n.n3-select-group .n3-selected-tag:hover {\n  background: #eee;\n}\n.n3-select-group .n3-selected-tag:after {\n  content: \"\\F00D\";\n  font: normal normal normal 14px/1 FontAwesome;\n  margin-left: 5px;\n  color: #ccc;\n}\n.n3-select-group .n3-select-multiple {\n  padding: 3px 22px 0px 12px !important;\n}\n.n3-select-group .n3-select-btn:hover {\n  color: #555 !important;\n}\n.n3-select-group .n3-select-search {\n  border: 0px;\n  outline: none;\n  padding: 6px 28px 6px 12px;\n  border-bottom: 1px solid #eee;\n}\n.n3-select-group .n3-dropdown-menu {\n  display: block;\n  overflow-y: auto;\n}\n.n3-select-group .n3-dropdown-menu .n3-notify {\n  position: absolute;\n  bottom: 5px;\n  width: 96%;\n  margin: 0 2%;\n  min-height: 26px;\n  padding: 3px 5px;\n  background: #f9f9f9;\n  border: 1px solid #eee;\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n  pointer-events: none;\n}\n.n3-select-group .n3-dropdown-menu .n3-fa-check {\n  position: absolute;\n  display: inline-block;\n  right: 10px;\n  top: 10px;\n}\n.n3-select-group .n3-dropdown-menu .n3-fa-plus-square-o {\n  font-size: 20px;\n  position: absolute;\n  top: 7px;\n  right: 10px;\n}\n.n3-select-group .n3-dropdown-menu .n3-select-all {\n  position: relative;\n  border-bottom: 1px solid #eee;\n}\n.n3-select-group .n3-dropdown-menu .n3-select-all a {\n  cursor: pointer;\n}\n.n3-select-group .n3-dropdown-toggle {\n  text-align: left;\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-align: center;\n      -ms-flex-align: center;\n          align-items: center;\n  padding: 6px 28px 6px 12px;\n}\n.n3-select-group .n3-dropdown-toggle > i {\n  position: absolute;\n  right: 10px;\n  top: 50%;\n  margin-top: -7px;\n}\n.n3-select-group .n3-dropdown-toggle > span {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -ms-flex-wrap: wrap;\n      flex-wrap: wrap;\n  -webkit-box-align: start;\n      -ms-flex-align: start;\n          align-items: flex-start;\n}\n.n3-page:after {\n  content: '';\n  display: block;\n  height: 0;\n  clear: both;\n  overflow: hidden;\n  visibility: hidden;\n}\n.n3-page .n3-select-group {\n  margin-left: 5px;\n}\n.n3-page input {\n  position: relative;\n  top: 1px;\n}\n.n3-page-item {\n  float: left;\n  min-width: 34px;\n  height: 34px;\n  line-height: 32px;\n  margin-right: 4px;\n  text-align: center;\n  list-style: none;\n  background-color: #fff;\n  cursor: pointer;\n  font-family: Arial;\n  border: 1px solid #ccc;\n  border-radius: 4px;\n  -webkit-transition: all .24s ease;\n  transition: all .24s ease;\n}\n.n3-page-item a {\n  margin: 0 6px;\n  text-decoration: none;\n  color: #555;\n}\n.n3-page-item:hover {\n  border-color: #41cac0;\n}\n.n3-page-item:hover a {\n  color: #41cac0;\n}\n.n3-page-item-active {\n  background-color: #41cac0;\n  border-color: #41cac0;\n}\n.n3-page-item-active a,\n.n3-page-item-active:hover a {\n  color: #fff;\n}\n.n3-page-prev {\n  margin-right: 8px;\n}\n.n3-page-item-jump-prev,\n.n3-page-item-jump-next {\n  margin-right: 4px;\n}\n.n3-page-item-jump-prev i,\n.n3-page-item-jump-next i {\n  line-height: 32px;\n}\n.n3-page-next {\n  margin-left: 4px;\n}\n.n3-page-prev,\n.n3-page-next,\n.n3-page-item-jump-prev,\n.n3-page-item-jump-next {\n  display: inline-block;\n  float: left;\n  min-width: 34px;\n  height: 34px;\n  line-height: 32px;\n  list-style: none;\n  text-align: center;\n  cursor: pointer;\n  color: #999;\n  font-family: Arial;\n  -webkit-transition: all .24s ease;\n  transition: all .24s ease;\n}\n.n3-page-prev,\n.n3-page-next {\n  background-color: #fff;\n  border: 1px solid #ccc;\n  border-radius: 4px;\n}\n.n3-page-prev i,\n.n3-page-next i {\n  line-height: 32px;\n}\n.n3-page-prev a,\n.n3-page-next a {\n  color: #555;\n  font-size: 14px;\n}\n.n3-page-prev:hover,\n.n3-page-next:hover {\n  border-color: #41cac0;\n}\n.n3-page-prev:hover a,\n.n3-page-next:hover a {\n  color: #41cac0;\n}\n.n3-page-disabled {\n  cursor: not-allowed;\n}\n.n3-page-disabled i {\n  color: #ccc;\n}\n.n3-page-disabled a {\n  color: #ccc;\n}\n.n3-page-disabled:hover {\n  border-color: #ccc;\n}\n.n3-page-disabled:hover a {\n  color: #ccc;\n  cursor: not-allowed;\n}\n.n3-page-options {\n  float: left;\n  margin-left: 15px;\n}\n.n3-page-options-sizer {\n  float: left;\n  margin-right: 10px;\n}\n.n3-page-options-elevator {\n  float: left;\n  height: 34px;\n  line-height: 32px;\n}\n.n3-page-total {\n  float: left;\n  height: 34px;\n  line-height: 32px;\n  margin-right: 10px;\n}\n.n3-page-simple .n3-page-prev,\n.n3-page-simple .n3-page-next {\n  margin: 0;\n  border: 0;\n  height: 24px;\n  line-height: 24px;\n  font-size: 18px;\n}\n.n3-page-simple .n3-page-simple-pager {\n  float: left;\n  margin-right: 8px;\n}\n.n3-page-simple .n3-page-simple-pager span {\n  padding: 0 8px 0 2px;\n}\n.n3-timeline-con {\n  position: relative;\n}\n.n3-timeline-con .n3-timeline-item:last-child .n3-timeline-item-tail {\n  display: none;\n}\n.n3-timeline-con .n3-timeline-item {\n  position: relative;\n  padding: 0 0 12px;\n  margin: 0;\n  display: block;\n}\n.n3-timeline-con .n3-timeline-item .n3-timeline-item-tail {\n  position: absolute;\n  left: 5px;\n  top: 0;\n  height: 100%;\n  border-left: 2px solid #eee;\n}\n.n3-timeline-con .n3-timeline-item .n3-timeline-item-head {\n  position: absolute;\n  width: 12px;\n  height: 12px;\n  background-color: #fff;\n  border-radius: 50%;\n  border: 2px solid transparent;\n  z-index: 1;\n}\n.n3-timeline-con .n3-timeline-item .n3-timeline-item-head.n3-fa {\n  border: 0px;\n  top: -2px;\n  left: -1px;\n  font-size: 16px;\n}\n.n3-timeline-con .n3-timeline-item .n3-timeline-item-content {\n  padding: 0 0 10px 24px;\n  font-size: 12px;\n  position: relative;\n  top: -3px;\n}\n.n3-steps {\n  font-size: 0px;\n  overflow: hidden;\n  line-height: 0px;\n  margin: 18px 0px;\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n}\n.n3-steps * {\n  box-sizing: content-box;\n}\n.n3-steps-wrap {\n  padding: 0;\n  -webkit-box-flex: 1;\n      -ms-flex: 1;\n          flex: 1;\n}\n.n3-steps-wrap > div {\n  width: 100%;\n  line-height: 32px;\n  vertical-align: top;\n  font-size: 12px;\n  position: relative;\n}\n.n3-steps-wrap > div > label {\n  margin: 0 0 0 26px;\n  cursor: default;\n}\n.n3-steps-triangle-right {\n  display: inline-block;\n  width: 0px;\n  height: 0px;\n  border-style: solid;\n  border-width: 16px;\n  position: absolute;\n  right: -31px;\n  z-index: 1;\n}\n.n3-steps-triangle-right-bg {\n  display: inline-block;\n  width: 0px;\n  height: 0px;\n  border-style: solid;\n  position: absolute;\n  z-index: 1;\n  border-width: 16px;\n  right: -34px;\n  border-color: transparent transparent transparent #fff;\n}\n.n3-steps-round {\n  display: inline-block;\n  width: 16px;\n  height: 16px;\n  border-radius: 8px;\n  text-align: center;\n  line-height: 16px;\n}\n.n3-steps-round + span:before {\n  content: '\\A0';\n}\n.n3-steps-finished {\n  background-color: #39b2a9;\n  color: #fff;\n}\n.n3-steps-finished .n3-steps-triangle-right {\n  border-color: transparent transparent transparent #39b2a9;\n}\n.n3-steps-finished .n3-steps-round {\n  background-color: fff;\n  color: #39b2a9;\n}\n.n3-steps-finished .n3-steps-round > i {\n  color: #39b2a9;\n  font-size: 12px;\n}\n.n3-steps-current {\n  background-color: #41cac0;\n  color: #fff;\n}\n.n3-steps-current .n3-steps-triangle-right {\n  border-color: transparent transparent transparent #41cac0;\n}\n.n3-steps-current .n3-steps-round {\n  background-color: #fff;\n  color: #41cac0;\n}\n.n3-steps-todo {\n  background-color: #f9f9f9;\n  color: #999;\n}\n.n3-steps-todo .n3-steps-triangle-right {\n  border-color: transparent transparent transparent #f9f9f9;\n}\n.n3-steps-todo .n3-steps-round {\n  background-color: #fff;\n}\n > :last-child .n3-steps-triangle-right,\n > :last-child .n3-steps-triangle-right-bg {\n  display: none;\n}\n.n3-steps-round-con {\n  list-style-type: none;\n  margin: 18px 0px;\n  padding: 0px;\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n}\n.n3-steps-round-con > li .n3-steps-round {\n  color: #fff;\n  background-color: #eee;\n}\n.n3-steps-round-con > .n3-steps-finished:before {\n  background-color: #39b2a9;\n}\n.n3-steps-round-con > .n3-steps-finished .n3-steps-round {\n  background-color: #39b2a9;\n  border: 4px #39b2a9 solid;\n}\n.n3-steps-round-con > .n3-steps-finished label {\n  color: #39b2a9;\n}\n.n3-steps-round-con > .n3-steps-current:before {\n  background-color: #41cac0;\n}\n.n3-steps-round-con > .n3-steps-current .n3-steps-round {\n  background-color: #41cac0;\n  border: 4px #41cac0 solid;\n  color: #fff;\n}\n.n3-steps-round-con > .n3-steps-current label {\n  color: #41cac0;\n}\n.n3-steps-round-con > li {\n  padding: 0px;\n  position: relative;\n  -webkit-box-flex: 1;\n      -ms-flex: 1;\n          flex: 1;\n  background-color: transparent;\n}\n.n3-steps-round-con:before,\n.n3-steps-round-con:after {\n  content: \" \";\n  display: table;\n  clear: both;\n}\n.n3-steps-round-con > li:before {\n  content: '';\n  width: 100%;\n  height: 6px;\n  margin: 12px 0px;\n  display: block;\n  float: left;\n  background-color: #f9f9f9;\n}\n.n3-steps-round-con > li:first-child:before {\n  border-bottom-left-radius: 4px;\n  border-top-left-radius: 4px;\n}\n.n3-steps-round-con > li:last-child:before {\n  border-bottom-right-radius: 4px;\n  border-top-right-radius: 4px;\n}\n.n3-steps-round-con > li .n3-steps-wrap {\n  position: absolute;\n  left: 50%;\n  margin-left: -25px;\n  width: 50px;\n  text-align: center;\n  background: #fff;\n  top: 0px;\n}\n.n3-steps-round-con > li .n3-steps-round {\n  width: 30px;\n  height: 30px;\n  border-radius: 50%;\n  display: inline-block;\n  vertical-align: middle;\n  font-size: 12px;\n  color: #fff;\n  line-height: 22px;\n  text-align: center;\n  border: 4px #eee solid;\n  background-color: #fff;\n  color: #999;\n}\n.n3-steps-round-con > li .n3-steps-round > i {\n  color: #39b2a9;\n  font-size: 12px;\n}\n.n3-steps-round-con > li label {\n  width: 100%;\n  text-align: center;\n  color: #999;\n  margin: 10px 0px 0px;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n.n3-steps-round-con > .n3-steps-finished:before,\n.n3-steps-round-con .n3-steps-current:before {\n  background-color: #39b2a9;\n}\n.n3-steps-round-con > .n3-steps-finished .n3-steps-round {\n  border: 4px #39b2a9 solid;\n  background-color: #39b2a9;\n  color: #fff;\n}\n.n3-steps-round-con > .n3-steps-finished label,\n.n3-steps-round-con .n3-steps-current label {\n  color: #39b2a9;\n}\n.n3-switch {\n  width: 65px;\n  height: 28px;\n  display: inline-block;\n  direction: ltr;\n  cursor: pointer;\n  border-radius: 30px;\n  position: relative;\n  text-align: left;\n  overflow: hidden;\n  z-index: 0;\n  box-shadow: 0px 0px 1px #eee inset;\n  -webkit-user-select: none;\n     -moz-user-select: none;\n      -ms-user-select: none;\n          user-select: none;\n  vertical-align: middle;\n  -webkit-transition: background ease-in-out 0.15s, box-shadow ease-in-out 0.15s, color ease-in-out 0.15s;\n  transition: background ease-in-out 0.15s, box-shadow ease-in-out 0.15s, color ease-in-out 0.15s;\n  background: #41cac0;\n  color: #fff;\n}\n.n3-switch-container {\n  width: 102px;\n  font-size: 0px;\n  display: inline-block;\n  -webkit-transform: translate3d(0, 0, 0);\n          transform: translate3d(0, 0, 0);\n  vertical-align: top;\n}\n.n3-switch-handle-on,\n.n3-switch-handle-off,\n.n3-switch-label {\n  box-sizing: border-box;\n  cursor: pointer;\n  display: inline-block;\n  height: 28px;\n  line-height: 28px;\n  font-size: 14px;\n  vertical-align: middle;\n  position: relative;\n  text-align: center;\n}\n.n3-switch-handle-on {\n  width: 37px;\n  z-index: 98;\n  line-height: 28px;\n  vertical-align: top;\n}\n.n3-switch-handle-off {\n  width: 37px;\n  z-index: 97;\n  line-height: 28px;\n  vertical-align: top;\n}\n.n3-switch-label {\n  height: 28px;\n  padding: 0;\n  position: relative;\n  width: 28px !important;\n  z-index: 100;\n  vertical-align: top;\n}\n.n3-switch-label:after {\n  -webkit-transition: 0.25s ease-out;\n  transition: 0.25s ease-out;\n  background-color: #fff;\n  border-radius: 50%;\n  content: \" \";\n  position: absolute;\n  top: 4px;\n  left: 4px;\n  display: inline-block;\n  height: 20px;\n  width: 20px;\n  box-shadow: 0 1px 2px #ccc;\n}\n.n3-switch-off .n3-switch-handle-on {\n  margin-left: -37px;\n}\n.n3-switch-off {\n  background: #f9f9f9;\n  color: #fff;\n}\n.n3-switch-off .n3-switch-handle-off.n3-switch-default {\n  z-index: 99;\n  color: #999;\n}\n.n3-switch-disabled {\n  cursor: default !important;\n}\n.n3-switch-disabled .n3-switch-handle-on,\n.n3-switch-disabled .n3-switch-handle-off,\n.n3-switch-disabled .n3-switch-label {\n  opacity: 0.5;\n  cursor: default !important;\n}\n.n3-switch-animate .n3-switch-handle-on {\n  -webkit-transition: margin-left 0.5s;\n  transition: margin-left 0.5s;\n}\n.n3-multiple-input {\n  font-size: 0px;\n  letter-spacing: 0px;\n  min-height: 34px;\n  height: auto;\n  padding: 6px 12px 0px;\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -ms-flex-wrap: wrap;\n      flex-wrap: wrap;\n  -webkit-box-align: start;\n      -ms-flex-align: start;\n          align-items: flex-start;\n  -ms-flex-line-pack: start;\n      align-content: flex-start;\n}\n.n3-multiple-input .n3-form-control {\n  border: 0px;\n  outline: none;\n  position: relative;\n  top: -2px;\n  margin: 0px;\n  padding: 0px;\n  height: 22px;\n}\n.n3-multiple-input .n3-multiple-input-space {\n  display: inline-block;\n  width: 8px;\n  height: 22px;\n}\n.n3-multiple-input .n3-multiple-input-space:first-child {\n  margin-left: -8px;\n}\n.n3-multiple-input .n3-multiple-input-space:hover {\n  cursor: text;\n}\n.n3-multiple-input .n3-multiple-input-space.n3-multiple-input-long {\n  -webkit-box-flex: 1;\n      -ms-flex: 1;\n          flex: 1;\n}\n.n3-multiple-input .n3-multiple-input-m-tag,\n.n3-multiple-input input,\n.n3-multiple-input .n3-multiple-input-space {\n  vertical-align: top;\n  font-size: 14px;\n  margin-bottom: 3px;\n}\n.n3-multiple-input .n3-multiple-input-m-tag:hover {\n  cursor: pointer;\n  background: #eee;\n}\n.n3-multiple-input .n3-multiple-input-m-tag {\n  background: #f9f9f9;\n  padding: 0px 10px;\n  border-radius: 5px;\n  -webkit-transition: background .24s ease;\n  transition: background .24s ease;\n}\n.n3-multiple-input .n3-multiple-input-m-tag .n3-multiple-close {\n  color: #ccc;\n}\n.n3-radio-con {\n  margin-right: 10px;\n}\n.n3-radio-con:hover {\n  cursor: pointer;\n}\n.n3-radio-con .n3-radio-span {\n  white-space: nowrap;\n  outline: none;\n  display: inline-block;\n  position: relative;\n  line-height: 1;\n  vertical-align: middle;\n}\n.n3-radio-con .n3-radio-inner {\n  position: relative;\n  top: 0;\n  left: 0;\n  display: inline-block;\n  width: 14px;\n  height: 14px;\n  border-width: 1px;\n  border-style: solid;\n  border-radius: 14px;\n  border-color: #eee;\n  background-color: #fff;\n  -webkit-transition: all 0.3s ease;\n  transition: all 0.3s ease;\n}\n.n3-radio-con .n3-radio-input {\n  position: absolute!important;\n  left: 0;\n  z-index: 1;\n  cursor: pointer;\n  opacity: 0;\n  top: 0;\n  bottom: 0;\n  right: 0;\n  width: 100%;\n  height: 100%;\n}\n.n3-radio-con .n3-radio-checked .n3-radio-inner:after {\n  -webkit-transform: scale(1);\n          transform: scale(1);\n  opacity: 1;\n}\n.n3-radio-con .n3-radio-inner:after {\n  position: absolute;\n  width: 6px;\n  height: 6px;\n  left: 3px;\n  top: 3px;\n  border-radius: 6px;\n  display: table;\n  border-top: 0;\n  border-left: 0;\n  content: ' ';\n  background-color: #41cac0;\n  -webkit-transform: scale(0);\n          transform: scale(0);\n  opacity: 0;\n  -webkit-transition: all 0.3s ease;\n  transition: all 0.3s ease;\n}\n.n3-radio-con .n3-radio-disabled .n3-radio-inner {\n  border-color: #eee;\n  background-color: #f9f9f9;\n}\n.n3-radio-btn input[type=radio] {\n  position: absolute;\n  clip: rect(0, 0, 0, 0);\n  pointer-events: none;\n}\n.n3-label {\n  display: inline;\n  padding: 0.5em 0.8em;\n  font-size: 75%;\n  font-weight: bold;\n  line-height: 1;\n  color: #fff;\n  text-align: center;\n  white-space: nowrap;\n  vertical-align: baseline;\n  border-radius: .25em;\n  margin: 0px 5px 5px 0px;\n  background: #fff;\n  -webkit-transition: all .3s ease;\n  transition: all .3s ease;\n}\n.n3-label-hover:hover {\n  color: #fff;\n  cursor: pointer;\n}\n.n3-label-default.n3-label-hover:hover {\n  background: #999;\n}\n.n3-label-primary.n3-label-hover:hover {\n  background: #41cac0;\n}\n.n3-label-success.n3-label-hover:hover {\n  background: #19d567;\n}\n.n3-label-info.n3-label-hover:hover {\n  background: #2db7f5;\n}\n.n3-label-warning.n3-label-hover:hover {\n  background: #fa0;\n}\n.n3-label-danger.n3-label-hover:hover {\n  background: #f50;\n}\n.n3-label-default {\n  color: #999;\n  border: 1px solid #999;\n}\n.n3-label-primary {\n  color: #41cac0;\n  border: 1px solid #41cac0;\n}\n.n3-label-success {\n  color: #19d567;\n  border: 1px solid #19d567;\n}\n.n3-label-info {\n  color: #2db7f5;\n  border: 1px solid #2db7f5;\n}\n.n3-label-warning {\n  color: #fa0;\n  border: 1px solid #fa0;\n}\n.n3-label-danger {\n  color: #f50;\n  border: 1px solid #f50;\n}\n.n3-checkbox-label {\n  white-space: nowrap;\n  cursor: pointer;\n  outline: none;\n  display: inline-block;\n  line-height: 1;\n  position: relative;\n  vertical-align: middle;\n  margin-right: 10px;\n}\n.n3-checkbox-inner {\n  position: relative;\n  top: 0;\n  left: 0;\n  display: inline-block;\n  width: 14px;\n  height: 14px;\n  border-width: 1px;\n  border-style: solid;\n  border-radius: 3px;\n  border-color: #eee;\n  background-color: #fff;\n  -webkit-transition: all 0.3s ease;\n  transition: all 0.3s ease;\n}\n.n3-checkbox-inner-check {\n  font-size: 12px;\n  position: relative;\n  top: 0px;\n  left: 0px;\n}\n.n3-checkbox-input {\n  position: absolute!important;\n  left: 0;\n  z-index: 1;\n  cursor: pointer;\n  opacity: 0;\n  top: 0;\n  bottom: 0;\n  right: 0;\n  width: 100%;\n  height: 100%;\n}\n.n3-checkbox-checked .n3-checkbox-inner {\n  border-color: #41cac0;\n  background-color: #41cac0;\n}\n.n3-checkbox-disabled .n3-checkbox-inner {\n  border-color: #eee;\n  background-color: #eee;\n}\n.n3-checkbox-disabled .n3-checkbox-inner:after {\n  display: none;\n}\n.n3-checkbox-label span {\n  vertical-align: top;\n}\n.n3-checkbox-btn input[type=checkbox] {\n  position: absolute;\n  clip: rect(0, 0, 0, 0);\n  pointer-events: none;\n}\n.n3-cascader {\n  position: relative;\n  display: inline-block;\n}\n.n3-cascader-picker {\n  position: relative;\n  display: inline-block;\n  cursor: pointer;\n  vertical-align: middle;\n}\n.n3-cascader-menus {\n  z-index: 10010;\n  font-size: 12px;\n  background: #fff;\n  position: absolute;\n  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2);\n  white-space: nowrap;\n  margin-top: 2px;\n}\n.n3-cascader-menu {\n  display: inline-block;\n  vertical-align: top;\n  min-width: 110px;\n  height: 180px;\n  list-style: none;\n  margin: 0;\n  padding: 0;\n  border-right: 1px solid #eee;\n  overflow: auto;\n}\n.n3-cascader-menu:last-child {\n  border-right-color: transparent;\n  margin-right: -1px;\n}\n.n3-cascader-menu-item {\n  padding: 7px 16px;\n  line-height: 18px;\n  cursor: pointer;\n  white-space: nowrap;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  -webkit-transition: all .3s ease;\n  transition: all .3s ease;\n}\n.n3-cascader-menu-item-selected,\n.n3-cascader-menu-item-selected:hover {\n  background: #f9f9f9 !important;\n  font-weight: bold;\n}\n.n3-cascader-menu-item-disabled {\n  cursor: not-allowed;\n  color: #ccc;\n}\n.n3-cascader-menu-item-disabled:hover {\n  background: transparent;\n}\n.n3-cascader-menu-item:hover {\n  background: rgba(65, 202, 192, 0.05);\n}\n.n3-input-con {\n  position: relative;\n}\n.n3-input-con .n3-input-show-clean,\n.n3-input-con .n3-input-show-icon {\n  font-size: 16px;\n  position: absolute;\n  top: 9px;\n  right: 9px;\n  opacity: 0;\n  -webkit-transition: opacity 0.1s linear;\n  transition: opacity 0.1s linear;\n  cursor: pointer;\n  color: #ccc;\n}\n.n3-input-con .n3-input-show-icon {\n  opacity: 1;\n}\n.n3-input-con.n3-show-clean input,\n.n3-input-con.n3-show-icon input {\n  padding-right: 24px;\n}\n.n3-input-con.n3-show-clean:hover .n3-input-show-icon {\n  display: none;\n}\n.n3-input-con:hover .n3-input-show-clean {\n  opacity: 1;\n}\n.n3-input-con .n3-form-control[readonly] {\n  background-color: #fff;\n}\n.n3-input-con .n3-form-control[disabled] {\n  background-color: #f9f9f9;\n}\n.n3-input-con .n3-form-control[readonly] {\n  cursor: pointer;\n}\n.n3-input-con .n3-form-control[readonly]:hover {\n  cursor: pointer;\n}\n.n3-input-con .n3-form-control[disabled] {\n  cursor: not-allowed;\n}\n.n3-input-con .n3-form-control[disabled]:hover {\n  cursor: not-allowed;\n}\n.n3-toast {\n  position: fixed;\n  border-radius: 25px;\n  padding: 2px 25px .3em;\n  -webkit-transition-property: opacity;\n  transition-property: opacity;\n  -webkit-transition-duration: 800ms;\n          transition-duration: 800ms;\n  display: inline-block;\n  font-size: 16px;\n  line-height: 1;\n  color: #fff;\n  text-align: center;\n  white-space: nowrap;\n  vertical-align: baseline;\n  cursor: default;\n  z-index: 1500;\n}\n.n3-toast-default {\n  background: #fff;\n}\n.n3-toast-primary {\n  background: #41cac0;\n}\n.n3-toast-success {\n  background: #19d567;\n}\n.n3-toast-info {\n  background: #2db7f5;\n}\n.n3-toast-warning {\n  background: #fa0;\n}\n.n3-toast-danger {\n  background: #f50;\n}\n.n3-toast-center {\n  margin: 0 auto;\n  left: 50%;\n  top: 50%;\n}\n.n3-toast-top {\n  top: 30px;\n  margin: 0 auto;\n  left: 50%;\n}\n.n3-toast-bottom {\n  bottom: 30px;\n  margin: 0 auto;\n  left: 50%;\n  top: initial;\n}\n.n3-toast-top-right {\n  top: 30px;\n  right: 50px;\n  left: initial;\n}\n.n3-toast-top-left {\n  top: 30px;\n  left: 50px;\n}\n.n3-toast-bottom-right {\n  bottom: 30px;\n  right: 50px;\n  left: initial;\n  top: initial;\n}\n.n3-toast-bottom-left {\n  top: initial;\n  bottom: 30px;\n  left: 50px;\n}\n.n3-tag-group {\n  margin: 0;\n  margin-bottom: 18px;\n}\n.n3-tag-group .n3-tag {\n  display: inline-block;\n  font-weight: normal;\n  padding: 2px 1em;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 4px;\n  color: inherit;\n  border: 1px solid #999;\n  cursor: default;\n  -webkit-user-select: none;\n     -moz-user-select: none;\n      -ms-user-select: none;\n          user-select: none;\n  -webkit-transition: all 0.2s linear;\n  transition: all 0.2s linear;\n  position: relative;\n  margin: 0;\n}\n.n3-tag-group .n3-tag a[name] {\n  color: inherit;\n  text-decoration: none;\n  cursor: pointer;\n}\n.n3-tag-group .n3-tag + .n3-tag {\n  margin-left: .5em;\n}\n.n3-tag-group .n3-tag .n3-fa {\n  cursor: pointer;\n  line-height: 100%;\n  position: relative;\n  right: -0.4em;\n  vertical-align: middle;\n  font-size: 120%;\n  font-weight: 100;\n  color: inherit;\n  opacity: .8;\n}\n.n3-tag-disabled {\n  opacity: .5;\n  cursor: not-allowed;\n}\n.n3-tag-disabled:hover {\n  color: inherit;\n  border-color: #999;\n}\n.n3-tag-sm .n3-tag,\n.n3-tag-xs .n3-tag {\n  padding: 0px 1em;\n  font-size: 12px;\n  line-height: 1.5;\n}\n.n3-tag-lg .n3-tag,\n.n3-tag-lg .n3-tag {\n  padding: 4px 1em;\n  font-size: 12px;\n  line-height: 1.5;\n}\n.n3-tag-xl .n3-tag,\n.n3-tag-xl .n3-tag {\n  padding: 5px 1em;\n  font-size: 14px;\n  line-height: 1.429;\n}\n.n3-tag-default .n3-tag,\n.n3-tag-default .n3-tag:hover {\n  color: #999;\n}\n.n3-tag-primary .n3-tag,\n.n3-tag-primary .n3-tag:hover {\n  background: #41cac0;\n  border-color: #41cac0;\n  color: white;\n}\n.n3-tag-success .n3-tag,\n.n3-tag-success .n3-tag:hover {\n  background: #19d567;\n  border-color: #19d567;\n  color: white;\n}\n.n3-tag-info .n3-tag,\n.n3-tag-info .n3-tag:hover {\n  background: #2db7f5;\n  border-color: #2db7f5;\n  color: white;\n}\n.n3-tag-warning .n3-tag,\n.n3-tag-warning .n3-tag:hover {\n  background: #fa0;\n  border-color: #fa0;\n  color: white;\n}\n.n3-tag-danger .n3-tag,\n.n3-tag-danger .n3-tag:hover {\n  background: #f50;\n  border-color: #f50;\n  color: white;\n}\n.n3-container {\n  padding-right: 15px;\n  padding-left: 15px;\n  margin-right: auto;\n  margin-left: auto;\n}\n@media (min-width: 768px) {\n  .n3-container {\n    width: 750px;\n  }\n}\n@media (min-width: 992px) {\n  .n3-container {\n    width: 970px;\n  }\n}\n@media (min-width: 1200px) {\n  .n3-container {\n    width: 1170px;\n  }\n}\n.n3-container-fluid {\n  padding-right: 15px;\n  padding-left: 15px;\n  margin-right: auto;\n  margin-left: auto;\n}\n.n3-row {\n  margin-right: -15px;\n  margin-left: -15px;\n}\n.n3-col-xs-1,\n.n3-col-sm-1,\n.n3-col-md-1,\n.n3-col-lg-1,\n.n3-col-xs-2,\n.n3-col-sm-2,\n.n3-col-md-2,\n.n3-col-lg-2,\n.n3-col-xs-3,\n.n3-col-sm-3,\n.n3-col-md-3,\n.n3-col-lg-3,\n.n3-col-xs-4,\n.n3-col-sm-4,\n.n3-col-md-4,\n.n3-col-lg-4,\n.n3-col-xs-5,\n.n3-col-sm-5,\n.n3-col-md-5,\n.n3-col-lg-5,\n.n3-col-xs-6,\n.n3-col-sm-6,\n.n3-col-md-6,\n.n3-col-lg-6,\n.n3-col-xs-7,\n.n3-col-sm-7,\n.n3-col-md-7,\n.n3-col-lg-7,\n.n3-col-xs-8,\n.n3-col-sm-8,\n.n3-col-md-8,\n.n3-col-lg-8,\n.n3-col-xs-9,\n.n3-col-sm-9,\n.n3-col-md-9,\n.n3-col-lg-9,\n.n3-col-xs-10,\n.n3-col-sm-10,\n.n3-col-md-10,\n.n3-col-lg-10,\n.n3-col-xs-11,\n.n3-col-sm-11,\n.n3-col-md-11,\n.n3-col-lg-11,\n.n3-col-xs-12,\n.n3-col-sm-12,\n.n3-col-md-12,\n.n3-col-lg-12 {\n  position: relative;\n  min-height: 1px;\n  padding-right: 5px;\n  padding-left: 5px;\n}\n.n3-col-xs-1,\n.n3-col-xs-2,\n.n3-col-xs-3,\n.n3-col-xs-4,\n.n3-col-xs-5,\n.n3-col-xs-6,\n.n3-col-xs-7,\n.n3-col-xs-8,\n.n3-col-xs-9,\n.n3-col-xs-10,\n.n3-col-xs-11,\n.n3-col-xs-12 {\n  float: left;\n}\n.n3-col-xs-12 {\n  width: 100%;\n}\n.n3-col-xs-11 {\n  width: 91.66666667%;\n}\n.n3-col-xs-10 {\n  width: 83.33333333%;\n}\n.n3-col-xs-9 {\n  width: 75%;\n}\n.n3-col-xs-8 {\n  width: 66.66666667%;\n}\n.n3-col-xs-7 {\n  width: 58.33333333%;\n}\n.n3-col-xs-6 {\n  width: 50%;\n}\n.n3-col-xs-5 {\n  width: 41.66666667%;\n}\n.n3-col-xs-4 {\n  width: 33.33333333%;\n}\n.n3-col-xs-3 {\n  width: 25%;\n}\n.n3-col-xs-2 {\n  width: 16.66666667%;\n}\n.n3-col-xs-1 {\n  width: 8.33333333%;\n}\n.n3-col-xs-pull-12 {\n  right: 100%;\n}\n.n3-col-xs-pull-11 {\n  right: 91.66666667%;\n}\n.n3-col-xs-pull-10 {\n  right: 83.33333333%;\n}\n.n3-col-xs-pull-9 {\n  right: 75%;\n}\n.n3-col-xs-pull-8 {\n  right: 66.66666667%;\n}\n.n3-col-xs-pull-7 {\n  right: 58.33333333%;\n}\n.n3-col-xs-pull-6 {\n  right: 50%;\n}\n.n3-col-xs-pull-5 {\n  right: 41.66666667%;\n}\n.n3-col-xs-pull-4 {\n  right: 33.33333333%;\n}\n.n3-col-xs-pull-3 {\n  right: 25%;\n}\n.n3-col-xs-pull-2 {\n  right: 16.66666667%;\n}\n.n3-col-xs-pull-1 {\n  right: 8.33333333%;\n}\n.n3-col-xs-pull-0 {\n  right: auto;\n}\n.n3-col-xs-push-12 {\n  left: 100%;\n}\n.n3-col-xs-push-11 {\n  left: 91.66666667%;\n}\n.n3-col-xs-push-10 {\n  left: 83.33333333%;\n}\n.n3-col-xs-push-9 {\n  left: 75%;\n}\n.n3-col-xs-push-8 {\n  left: 66.66666667%;\n}\n.n3-col-xs-push-7 {\n  left: 58.33333333%;\n}\n.n3-col-xs-push-6 {\n  left: 50%;\n}\n.n3-col-xs-push-5 {\n  left: 41.66666667%;\n}\n.n3-col-xs-push-4 {\n  left: 33.33333333%;\n}\n.n3-col-xs-push-3 {\n  left: 25%;\n}\n.n3-col-xs-push-2 {\n  left: 16.66666667%;\n}\n.n3-col-xs-push-1 {\n  left: 8.33333333%;\n}\n.n3-col-xs-push-0 {\n  left: auto;\n}\n.n3-col-xs-offset-12 {\n  margin-left: 100%;\n}\n.n3-col-xs-offset-11 {\n  margin-left: 91.66666667%;\n}\n.n3-col-xs-offset-10 {\n  margin-left: 83.33333333%;\n}\n.n3-col-xs-offset-9 {\n  margin-left: 75%;\n}\n.n3-col-xs-offset-8 {\n  margin-left: 66.66666667%;\n}\n.n3-col-xs-offset-7 {\n  margin-left: 58.33333333%;\n}\n.n3-col-xs-offset-6 {\n  margin-left: 50%;\n}\n.n3-col-xs-offset-5 {\n  margin-left: 41.66666667%;\n}\n.n3-col-xs-offset-4 {\n  margin-left: 33.33333333%;\n}\n.n3-col-xs-offset-3 {\n  margin-left: 25%;\n}\n.n3-col-xs-offset-2 {\n  margin-left: 16.66666667%;\n}\n.n3-col-xs-offset-1 {\n  margin-left: 8.33333333%;\n}\n.n3-col-xs-offset-0 {\n  margin-left: 0;\n}\n@media (min-width: 768px) {\n  .n3-col-sm-1,\n  .n3-col-sm-2,\n  .n3-col-sm-3,\n  .n3-col-sm-4,\n  .n3-col-sm-5,\n  .n3-col-sm-6,\n  .n3-col-sm-7,\n  .n3-col-sm-8,\n  .n3-col-sm-9,\n  .n3-col-sm-10,\n  .n3-col-sm-11,\n  .n3-col-sm-12 {\n    float: left;\n  }\n  .n3-col-sm-12 {\n    width: 100%;\n  }\n  .n3-col-sm-11 {\n    width: 91.66666667%;\n  }\n  .n3-col-sm-10 {\n    width: 83.33333333%;\n  }\n  .n3-col-sm-9 {\n    width: 75%;\n  }\n  .n3-col-sm-8 {\n    width: 66.66666667%;\n  }\n  .n3-col-sm-7 {\n    width: 58.33333333%;\n  }\n  .n3-col-sm-6 {\n    width: 50%;\n  }\n  .n3-col-sm-5 {\n    width: 41.66666667%;\n  }\n  .n3-col-sm-4 {\n    width: 33.33333333%;\n  }\n  .n3-col-sm-3 {\n    width: 25%;\n  }\n  .n3-col-sm-2 {\n    width: 16.66666667%;\n  }\n  .n3-col-sm-1 {\n    width: 8.33333333%;\n  }\n  .n3-col-sm-pull-12 {\n    right: 100%;\n  }\n  .n3-col-sm-pull-11 {\n    right: 91.66666667%;\n  }\n  .n3-col-sm-pull-10 {\n    right: 83.33333333%;\n  }\n  .n3-col-sm-pull-9 {\n    right: 75%;\n  }\n  .n3-col-sm-pull-8 {\n    right: 66.66666667%;\n  }\n  .n3-col-sm-pull-7 {\n    right: 58.33333333%;\n  }\n  .n3-col-sm-pull-6 {\n    right: 50%;\n  }\n  .n3-col-sm-pull-5 {\n    right: 41.66666667%;\n  }\n  .n3-col-sm-pull-4 {\n    right: 33.33333333%;\n  }\n  .n3-col-sm-pull-3 {\n    right: 25%;\n  }\n  .n3-col-sm-pull-2 {\n    right: 16.66666667%;\n  }\n  .n3-col-sm-pull-1 {\n    right: 8.33333333%;\n  }\n  .n3-col-sm-pull-0 {\n    right: auto;\n  }\n  .n3-col-sm-push-12 {\n    left: 100%;\n  }\n  .n3-col-sm-push-11 {\n    left: 91.66666667%;\n  }\n  .n3-col-sm-push-10 {\n    left: 83.33333333%;\n  }\n  .n3-col-sm-push-9 {\n    left: 75%;\n  }\n  .n3-col-sm-push-8 {\n    left: 66.66666667%;\n  }\n  .n3-col-sm-push-7 {\n    left: 58.33333333%;\n  }\n  .n3-col-sm-push-6 {\n    left: 50%;\n  }\n  .n3-col-sm-push-5 {\n    left: 41.66666667%;\n  }\n  .n3-col-sm-push-4 {\n    left: 33.33333333%;\n  }\n  .n3-col-sm-push-3 {\n    left: 25%;\n  }\n  .n3-col-sm-push-2 {\n    left: 16.66666667%;\n  }\n  .n3-col-sm-push-1 {\n    left: 8.33333333%;\n  }\n  .n3-col-sm-push-0 {\n    left: auto;\n  }\n  .n3-col-sm-offset-12 {\n    margin-left: 100%;\n  }\n  .n3-col-sm-offset-11 {\n    margin-left: 91.66666667%;\n  }\n  .n3-col-sm-offset-10 {\n    margin-left: 83.33333333%;\n  }\n  .n3-col-sm-offset-9 {\n    margin-left: 75%;\n  }\n  .n3-col-sm-offset-8 {\n    margin-left: 66.66666667%;\n  }\n  .n3-col-sm-offset-7 {\n    margin-left: 58.33333333%;\n  }\n  .n3-col-sm-offset-6 {\n    margin-left: 50%;\n  }\n  .n3-col-sm-offset-5 {\n    margin-left: 41.66666667%;\n  }\n  .n3-col-sm-offset-4 {\n    margin-left: 33.33333333%;\n  }\n  .n3-col-sm-offset-3 {\n    margin-left: 25%;\n  }\n  .n3-col-sm-offset-2 {\n    margin-left: 16.66666667%;\n  }\n  .n3-col-sm-offset-1 {\n    margin-left: 8.33333333%;\n  }\n  .n3-col-sm-offset-0 {\n    margin-left: 0;\n  }\n}\n@media (min-width: 992px) {\n  .n3-col-md-1,\n  .n3-col-md-2,\n  .n3-col-md-3,\n  .n3-col-md-4,\n  .n3-col-md-5,\n  .n3-col-md-6,\n  .n3-col-md-7,\n  .n3-col-md-8,\n  .n3-col-md-9,\n  .n3-col-md-10,\n  .n3-col-md-11,\n  .n3-col-md-12 {\n    float: left;\n  }\n  .n3-col-md-12 {\n    width: 100%;\n  }\n  .n3-col-md-11 {\n    width: 91.66666667%;\n  }\n  .n3-col-md-10 {\n    width: 83.33333333%;\n  }\n  .n3-col-md-9 {\n    width: 75%;\n  }\n  .n3-col-md-8 {\n    width: 66.66666667%;\n  }\n  .n3-col-md-7 {\n    width: 58.33333333%;\n  }\n  .n3-col-md-6 {\n    width: 50%;\n  }\n  .n3-col-md-5 {\n    width: 41.66666667%;\n  }\n  .n3-col-md-4 {\n    width: 33.33333333%;\n  }\n  .n3-col-md-3 {\n    width: 25%;\n  }\n  .n3-col-md-2 {\n    width: 16.66666667%;\n  }\n  .n3-col-md-1 {\n    width: 8.33333333%;\n  }\n  .n3-col-md-pull-12 {\n    right: 100%;\n  }\n  .n3-col-md-pull-11 {\n    right: 91.66666667%;\n  }\n  .n3-col-md-pull-10 {\n    right: 83.33333333%;\n  }\n  .n3-col-md-pull-9 {\n    right: 75%;\n  }\n  .n3-col-md-pull-8 {\n    right: 66.66666667%;\n  }\n  .n3-col-md-pull-7 {\n    right: 58.33333333%;\n  }\n  .n3-col-md-pull-6 {\n    right: 50%;\n  }\n  .n3-col-md-pull-5 {\n    right: 41.66666667%;\n  }\n  .n3-col-md-pull-4 {\n    right: 33.33333333%;\n  }\n  .n3-col-md-pull-3 {\n    right: 25%;\n  }\n  .n3-col-md-pull-2 {\n    right: 16.66666667%;\n  }\n  .n3-col-md-pull-1 {\n    right: 8.33333333%;\n  }\n  .n3-col-md-pull-0 {\n    right: auto;\n  }\n  .n3-col-md-push-12 {\n    left: 100%;\n  }\n  .n3-col-md-push-11 {\n    left: 91.66666667%;\n  }\n  .n3-col-md-push-10 {\n    left: 83.33333333%;\n  }\n  .n3-col-md-push-9 {\n    left: 75%;\n  }\n  .n3-col-md-push-8 {\n    left: 66.66666667%;\n  }\n  .n3-col-md-push-7 {\n    left: 58.33333333%;\n  }\n  .n3-col-md-push-6 {\n    left: 50%;\n  }\n  .n3-col-md-push-5 {\n    left: 41.66666667%;\n  }\n  .n3-col-md-push-4 {\n    left: 33.33333333%;\n  }\n  .n3-col-md-push-3 {\n    left: 25%;\n  }\n  .n3-col-md-push-2 {\n    left: 16.66666667%;\n  }\n  .n3-col-md-push-1 {\n    left: 8.33333333%;\n  }\n  .n3-col-md-push-0 {\n    left: auto;\n  }\n  .n3-col-md-offset-12 {\n    margin-left: 100%;\n  }\n  .n3-col-md-offset-11 {\n    margin-left: 91.66666667%;\n  }\n  .n3-col-md-offset-10 {\n    margin-left: 83.33333333%;\n  }\n  .n3-col-md-offset-9 {\n    margin-left: 75%;\n  }\n  .n3-col-md-offset-8 {\n    margin-left: 66.66666667%;\n  }\n  .n3-col-md-offset-7 {\n    margin-left: 58.33333333%;\n  }\n  .n3-col-md-offset-6 {\n    margin-left: 50%;\n  }\n  .n3-col-md-offset-5 {\n    margin-left: 41.66666667%;\n  }\n  .n3-col-md-offset-4 {\n    margin-left: 33.33333333%;\n  }\n  .n3-col-md-offset-3 {\n    margin-left: 25%;\n  }\n  .n3-col-md-offset-2 {\n    margin-left: 16.66666667%;\n  }\n  .n3-col-md-offset-1 {\n    margin-left: 8.33333333%;\n  }\n  .n3-col-md-offset-0 {\n    margin-left: 0;\n  }\n}\n@media (min-width: 1200px) {\n  .n3-col-lg-1,\n  .n3-col-lg-2,\n  .n3-col-lg-3,\n  .n3-col-lg-4,\n  .n3-col-lg-5,\n  .n3-col-lg-6,\n  .n3-col-lg-7,\n  .n3-col-lg-8,\n  .n3-col-lg-9,\n  .n3-col-lg-10,\n  .n3-col-lg-11,\n  .n3-col-lg-12 {\n    float: left;\n  }\n  .n3-col-lg-12 {\n    width: 100%;\n  }\n  .n3-col-lg-11 {\n    width: 91.66666667%;\n  }\n  .n3-col-lg-10 {\n    width: 83.33333333%;\n  }\n  .n3-col-lg-9 {\n    width: 75%;\n  }\n  .n3-col-lg-8 {\n    width: 66.66666667%;\n  }\n  .n3-col-lg-7 {\n    width: 58.33333333%;\n  }\n  .n3-col-lg-6 {\n    width: 50%;\n  }\n  .n3-col-lg-5 {\n    width: 41.66666667%;\n  }\n  .n3-col-lg-4 {\n    width: 33.33333333%;\n  }\n  .n3-col-lg-3 {\n    width: 25%;\n  }\n  .n3-col-lg-2 {\n    width: 16.66666667%;\n  }\n  .n3-col-lg-1 {\n    width: 8.33333333%;\n  }\n  .n3-col-lg-pull-12 {\n    right: 100%;\n  }\n  .n3-col-lg-pull-11 {\n    right: 91.66666667%;\n  }\n  .n3-col-lg-pull-10 {\n    right: 83.33333333%;\n  }\n  .n3-col-lg-pull-9 {\n    right: 75%;\n  }\n  .n3-col-lg-pull-8 {\n    right: 66.66666667%;\n  }\n  .n3-col-lg-pull-7 {\n    right: 58.33333333%;\n  }\n  .n3-col-lg-pull-6 {\n    right: 50%;\n  }\n  .n3-col-lg-pull-5 {\n    right: 41.66666667%;\n  }\n  .n3-col-lg-pull-4 {\n    right: 33.33333333%;\n  }\n  .n3-col-lg-pull-3 {\n    right: 25%;\n  }\n  .n3-col-lg-pull-2 {\n    right: 16.66666667%;\n  }\n  .n3-col-lg-pull-1 {\n    right: 8.33333333%;\n  }\n  .n3-col-lg-pull-0 {\n    right: auto;\n  }\n  .n3-col-lg-push-12 {\n    left: 100%;\n  }\n  .n3-col-lg-push-11 {\n    left: 91.66666667%;\n  }\n  .n3-col-lg-push-10 {\n    left: 83.33333333%;\n  }\n  .n3-col-lg-push-9 {\n    left: 75%;\n  }\n  .n3-col-lg-push-8 {\n    left: 66.66666667%;\n  }\n  .n3-col-lg-push-7 {\n    left: 58.33333333%;\n  }\n  .n3-col-lg-push-6 {\n    left: 50%;\n  }\n  .n3-col-lg-push-5 {\n    left: 41.66666667%;\n  }\n  .n3-col-lg-push-4 {\n    left: 33.33333333%;\n  }\n  .n3-col-lg-push-3 {\n    left: 25%;\n  }\n  .n3-col-lg-push-2 {\n    left: 16.66666667%;\n  }\n  .n3-col-lg-push-1 {\n    left: 8.33333333%;\n  }\n  .n3-col-lg-push-0 {\n    left: auto;\n  }\n  .n3-col-lg-offset-12 {\n    margin-left: 100%;\n  }\n  .n3-col-lg-offset-11 {\n    margin-left: 91.66666667%;\n  }\n  .n3-col-lg-offset-10 {\n    margin-left: 83.33333333%;\n  }\n  .n3-col-lg-offset-9 {\n    margin-left: 75%;\n  }\n  .n3-col-lg-offset-8 {\n    margin-left: 66.66666667%;\n  }\n  .n3-col-lg-offset-7 {\n    margin-left: 58.33333333%;\n  }\n  .n3-col-lg-offset-6 {\n    margin-left: 50%;\n  }\n  .n3-col-lg-offset-5 {\n    margin-left: 41.66666667%;\n  }\n  .n3-col-lg-offset-4 {\n    margin-left: 33.33333333%;\n  }\n  .n3-col-lg-offset-3 {\n    margin-left: 25%;\n  }\n  .n3-col-lg-offset-2 {\n    margin-left: 16.66666667%;\n  }\n  .n3-col-lg-offset-1 {\n    margin-left: 8.33333333%;\n  }\n  .n3-col-lg-offset-0 {\n    margin-left: 0;\n  }\n}\n.n3-table {\n  width: 100%;\n  max-width: 100%;\n  margin-bottom: 18px;\n  font-size: 14px;\n}\n.n3-table > thead > tr > th,\n.n3-table > tbody > tr > th,\n.n3-table > tfoot > tr > th,\n.n3-table > thead > tr > td,\n.n3-table > tbody > tr > td,\n.n3-table > tfoot > tr > td {\n  padding: 10px 10px;\n  line-height: 1.5;\n  vertical-align: top;\n  border-top: 1px solid #eee;\n}\n.n3-table > thead > tr > th {\n  vertical-align: bottom;\n  border-bottom: 1px solid #eee;\n}\n.n3-table > caption + thead > tr:first-child > th,\n.n3-table > colgroup + thead > tr:first-child > th,\n.n3-table > thead:first-child > tr:first-child > th,\n.n3-table > caption + thead > tr:first-child > td,\n.n3-table > colgroup + thead > tr:first-child > td,\n.n3-table > thead:first-child > tr:first-child > td {\n  border-top: 0;\n}\n.n3-table > tbody + tbody {\n  border-top: 2px solid #eee;\n}\n.n3-table-bordered {\n  border: 0px;\n  border-collapse: separate;\n  border-radius: 2px;\n  border-left: none;\n}\n.n3-table-bordered > thead > tr > th,\n.n3-table-bordered > tbody > tr > th,\n.n3-table-bordered > tfoot > tr > th,\n.n3-table-bordered > thead > tr > td,\n.n3-table-bordered > tbody > tr > td,\n.n3-table-bordered > tfoot > tr > td {\n  border-left: 0px;\n}\n.n3-table-bordered > thead > tr > th,\n.n3-table-bordered > thead > tr > td {\n  border-bottom-width: 1px;\n  background: #f9f9f9;\n}\n.n3-table-bordered > thead > tr:first-child > th,\n.n3-table-bordered > tbody > tr:first-child > th,\n.n3-table-bordered > tfoot > tr:first-child > th,\n.n3-table-bordered > thead > tr:first-child > td,\n.n3-table-bordered > tbody > tr:first-child > td,\n.n3-table-bordered > tfoot > tr:first-child > td {\n  border-top: 0;\n}\n.n3-table-bordered > thead:last-child tr:last-child > th:first-child,\n.n3-table-bordered > tbody:last-child tr:last-child > td:first-child,\n.n3-table-bordered > tbody:last-child tr:last-child > th:first-child,\n.n3-table-bordered > tfoot:last-child tr:last-child > td:first-child,\n.n3-table-bordered > tfoot:last-child tr:last-child > th:first-child {\n  border-bottom-left-radius: 2px;\n}\n.n3-table-striped > tbody > tr:nth-of-type(odd) {\n  background-color: #f9f9f9;\n}\n.n3-table-hover > tbody > tr {\n  -webkit-transition: all .3s ease;\n  transition: all .3s ease;\n}\n.n3-table-hover > tbody > tr:hover {\n  background-color: rgba(65, 202, 192, 0.05);\n}\ntable col[class*=\"col-\"] {\n  position: static;\n  display: table-column;\n  float: none;\n}\ntable td[class*=\"col-\"],\ntable th[class*=\"col-\"] {\n  position: static;\n  display: table-cell;\n  float: none;\n}\n.n3-table-responsive {\n  min-height: .01%;\n  overflow-x: auto;\n}\n@media screen and (max-width: 767px) {\n  .n3-table-responsive {\n    width: 100%;\n    margin-bottom: 13.5px;\n    overflow-y: hidden;\n    -ms-overflow-style: -ms-autohiding-scrollbar;\n    border: 1px solid #eee;\n  }\n}\n.n3-btn {\n  display: inline-block;\n  margin-bottom: 0;\n  font-weight: normal;\n  text-align: center;\n  white-space: nowrap;\n  vertical-align: middle;\n  -ms-touch-action: manipulation;\n      touch-action: manipulation;\n  cursor: pointer;\n  -webkit-user-select: none;\n     -moz-user-select: none;\n      -ms-user-select: none;\n          user-select: none;\n  background-image: none;\n  border: 1px solid transparent;\n  -webkit-transition: background 0.2s ease, box-shadow 0.2s ease;\n  transition: background 0.2s ease, box-shadow 0.2s ease;\n}\n.n3-btn:focus,\n.n3-btn:active:focus,\n.n3-btn-active:focus {\n  outline: 0;\n  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.n3-btn:hover,\n.n3-btn:focus {\n  color: #555;\n  text-decoration: none;\n}\n.n3-btn:active,\n.n3-btn-active {\n  background-image: none;\n  outline: 0;\n  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.n3-btn-disabled,\n.n3-btn[disabled] {\n  pointer-events: none;\n  cursor: not-allowed;\n  box-shadow: none;\n  opacity: .65;\n}\n.n3-btn-default {\n  color: #555;\n  background-clip: padding-box;\n  background-color: #fff;\n  border-color: rgba(150, 160, 180, 0.3);\n}\n.n3-btn-default:hover,\n.n3-btn-default:focus,\n.n3-btn-default:active,\n.n3-btn-default.n3-btn-active {\n  color: #999;\n}\n.n3-btn-default:active,\n.n3-btn-default.n3-btn-active {\n  background-image: none;\n}\n.n3-btn-default.n3-btn-disabled,\n.n3-btn-default[disabled],\n.n3-btn-default.n3-btn-disabled:hover,\n.n3-btn-default[disabled]:hover,\n.n3-btn-default.n3-btn-disabled:focus,\n.n3-btn-default[disabled]:focus,\n.n3-btn-default.n3-btn-disabled:active,\n.n3-btn-default[disabled]:active,\n.n3-btn-default.n3-btn-disabled.n3-btn-active,\n.n3-btn-default[disabled].n3-btn-active {\n  background-color: #eee;\n  border-color: #eee;\n}\n.n3-btn-default .n3-badge {\n  color: #fff;\n  background-color: #555;\n}\n.n3-btn-primary {\n  color: #fff;\n  background-color: #41cac0;\n  border-color: #41cac0;\n}\n.n3-btn-primary:hover,\n.n3-btn-primary:focus,\n.n3-btn-primary:active,\n.n3-btn-primary.n3-btn-active {\n  color: #fff;\n  background-color: #39b2a9;\n  border-color: #39b2a9;\n}\n.n3-btn-primary:active,\n.n3-btn-primary.n3-btn-active {\n  background-image: none;\n}\n.n3-btn-primary .n3-badge {\n  color: #41cac0;\n  background-color: #fff;\n}\n.n3-btn-success {\n  color: #fff;\n  background-color: #19d567;\n  border-color: #19d567;\n}\n.n3-btn-success:hover,\n.n3-btn-success:focus,\n.n3-btn-success:active,\n.n3-btn-success.n3-btn-active {\n  color: #fff;\n  background-color: #30d073;\n  border-color: #30d073;\n}\n.n3-btn-success:active,\n.n3-btn-success.n3-btn-active {\n  background-image: none;\n}\n.n3-btn-success .n3-badge {\n  color: #19d567;\n  background-color: #fff;\n}\n.n3-btn-info {\n  color: #fff;\n  background-color: #2db7f5;\n  border-color: #2db7f5;\n}\n.n3-btn-info:hover,\n.n3-btn-info:focus,\n.n3-btn-info:active,\n.n3-btn-info.n3-btn-active {\n  color: #fff;\n  background-color: #43bcf3;\n  border-color: #43bcf3;\n}\n.n3-btn-info:active,\n.n3-btn-info.n3-btn-active {\n  background-image: none;\n}\n.n3-btn-info .n3-badge {\n  color: #2db7f5;\n  background-color: #fff;\n}\n.n3-btn-warning {\n  color: #fff;\n  background-color: #fa0;\n  border-color: #fa0;\n}\n.n3-btn-warning:hover,\n.n3-btn-warning:focus,\n.n3-btn-warning:active,\n.n3-btn-warning.n3-btn-active {\n  color: #fff;\n  background-color: #f5b73b;\n  border-color: #f5b73b;\n}\n.n3-btn-warning:active,\n.n3-btn-warning.n3-btn-active {\n  background-image: none;\n}\n.n3-btn-warning .n3-badge {\n  color: #fa0;\n  background-color: #fff;\n}\n.n3-btn-danger {\n  color: #fff;\n  background-color: #f50;\n  border-color: #f50;\n}\n.n3-btn-danger:hover,\n.n3-btn-danger:focus,\n.n3-btn-danger:active,\n.n3-btn-danger.n3-btn-active {\n  color: #fff;\n  background-color: #f9702b;\n  border-color: #f9702b;\n}\n.n3-btn-danger:active,\n.n3-btn-danger.n3-btn-active {\n  background-image: none;\n}\n.n3-btn-danger .n3-badge {\n  color: #f50;\n  background-color: #fff;\n}\n.n3-open > .n3-dropdown-toggle.n3-btn-default {\n  color: #555;\n  background-image: none;\n}\n.n3-open > .n3-dropdown-toggle.n3-btn-primary {\n  color: #fff;\n  background-color: #41cac0;\n  border-color: #41cac0;\n  background-image: none;\n}\n.n3-open > .n3-dropdown-toggle.n3-btn-success {\n  color: #fff;\n  background-color: #19d567;\n  border-color: #19d567;\n  background-image: none;\n}\n.n3-open > .n3-dropdown-toggle.n3-btn-info {\n  color: #fff;\n  background-color: #2db7f5;\n  border-color: #2db7f5;\n  background-image: none;\n}\n.n3-open > .n3-dropdown-toggle.n3-btn-warning {\n  color: #fff;\n  background-color: #fa0;\n  border-color: #fa0;\n  background-image: none;\n}\n.n3-open > .n3-dropdown-toggle.n3-btn-danger {\n  color: #fff;\n  background-color: #f50;\n  border-color: #f50;\n  background-image: none;\n}\n.n3-btn {\n  padding: 6px 12px;\n  font-size: 14px;\n  line-height: 1.42857143;\n  border-radius: 4px;\n}\n.n3-btn-lg,\n.n3-btn-group-lg > .n3-btn {\n  padding: 10px 16px;\n  font-size: 18px;\n  line-height: 1.3333333;\n  border-radius: 6px;\n}\n.n3-btn-sm,\n.n3-btn-group-sm > .n3-btn {\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 3px;\n}\n.n3-btn-xs,\n.n3-btn-group-xs > .n3-btn {\n  padding: 1px 5px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 3px;\n}\n.n3-btn-block {\n  display: block;\n  width: 100%;\n}\n.n3-btn-block + .n3-btn-block {\n  margin-top: 5px;\n}\ninput[type=\"submit\"].n3-btn-block,\ninput[type=\"reset\"].n3-btn-block,\ninput[type=\"button\"].n3-btn-block {\n  width: 100%;\n}\n/*------------ btn-group -----------*/\n.n3-btn-group,\n.n3-btn-group-vertical {\n  position: relative;\n  display: inline-block;\n  vertical-align: middle;\n}\n.n3-btn-group > .n3-btn,\n.n3-btn-group-vertical > .n3-btn {\n  position: relative;\n  float: left;\n}\n.n3-btn-group > .n3-btn:hover,\n.n3-btn-group-vertical > .n3-btn:hover,\n.n3-btn-group > .n3-btn:focus,\n.n3-btn-group-vertical > .n3-btn:focus,\n.n3-btn-group > .n3-btn:active,\n.n3-btn-group-vertical > .n3-btn:active,\n.n3-btn-group > .n3-btn.n3-active,\n.n3-btn-group-vertical > .n3-btn.n3-active {\n  z-index: 2;\n}\n.n3-btn-group .n3-btn + .n3-btn,\n.n3-btn-group .n3-btn + .n3-btn-group,\n.n3-btn-group .n3-btn-group + .n3-btn,\n.n3-btn-group .n3-btn-group + .n3-btn-group {\n  margin-left: -1px;\n}\n.n3-btn-group > .n3-btn:not(:first-child):not(:last-child):not(.n3-dropdown-toggle) {\n  border-radius: 0;\n}\n.n3-btn-group > .n3-btn:first-child {\n  margin-left: 0;\n}\n.n3-btn-group > .n3-btn:first-child:not(:last-child):not(.n3-dropdown-toggle) {\n  border-top-right-radius: 0;\n  border-bottom-right-radius: 0;\n}\n.n3-btn-group > .n3-btn:last-child:not(:first-child),\n.n3-btn-group > .n3-dropdown-toggle:not(:first-child) {\n  border-top-left-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.n3-btn-group > .n3-btn-group {\n  float: left;\n}\n.n3-btn-group > .n3-btn-group:not(:first-child):not(:last-child) > .n3-btn {\n  border-radius: 0;\n}\n.n3-btn-group > .n3-btn-group:first-child:not(:last-child) > .n3-btn:last-child,\n.n3-btn-group > .n3-btn-group:first-child:not(:last-child) > .n3-dropdown-toggle {\n  border-top-right-radius: 0;\n  border-bottom-right-radius: 0;\n}\n.n3-btn-group > .n3-btn-group:last-child:not(:first-child) > .n3-btn:first-child {\n  border-top-left-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.n3-btn-group .n3-dropdown-toggle:active,\n.n3-btn-group.n3-open .n3-dropdown-toggle {\n  outline: 0;\n}\n.n3-btn-group > .n3-btn + .n3-dropdown-toggle {\n  padding-right: 8px;\n  padding-left: 8px;\n}\n.n3-btn-group > .n3-btn-lg + .n3-dropdown-toggle {\n  padding-right: 12px;\n  padding-left: 12px;\n}\n.n3-btn-group.n3-open .n3-dropdown-toggle {\n  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.n3-modal-open {\n  overflow-x: hidden;\n}\n.n3-modal {\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 1080;\n  display: none;\n  overflow: hidden;\n  -webkit-overflow-scrolling: touch;\n  outline: 0;\n  -webkit-transition: all 0.3s ease;\n  transition: all 0.3s ease;\n}\n.n3-modal-in {\n  background-color: rgba(0, 0, 0, 0.5);\n}\n.n3-modal-zoom .n3-modal-dialog {\n  -webkit-transform: scale(0.1);\n          transform: scale(0.1);\n  top: 300px;\n  opacity: 0;\n  -webkit-transition: all 0.3s;\n  transition: all 0.3s;\n}\n.n3-modal-zoom.n3-modal-in .n3-modal-dialog {\n  -webkit-transform: scale(1);\n          transform: scale(1);\n  -webkit-transform: translate3d(0, -300px, 0);\n          transform: translate3d(0, -300px, 0);\n  opacity: 1;\n}\n.n3-modal-fade .n3-modal-dialog {\n  -webkit-transition: -webkit-transform 0.3s ease-out;\n  transition: -webkit-transform 0.3s ease-out;\n  transition: transform 0.3s ease-out;\n  transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;\n  -webkit-transform: translate(0, -25%);\n          transform: translate(0, -25%);\n}\n.n3-modal-in .n3-modal-dialog {\n  -webkit-transform: translate(0, 0);\n          transform: translate(0, 0);\n}\n.n3-modal-open .n3-modal {\n  overflow-x: auto;\n}\n.n3-modal-hide-y {\n  overflow-y: hidden;\n}\n.n3-modal-dialog {\n  position: relative;\n  width: auto;\n  margin: 30px auto;\n}\n.n3-modal-content {\n  position: relative;\n  background-color: #fff;\n  background-clip: padding-box;\n  border-radius: 6px;\n  outline: 0;\n  box-shadow: none;\n  border: none;\n}\n.n3-modal 7-backdrop {\n  position: absolute;\n  top: 0;\n  right: 0;\n  left: 0;\n  background-color: #000;\n}\n.n3-modal-backdrop.n3-modal-fade {\n  opacity: 0;\n}\n.n3-modal-backdrop.n3-modal-in {\n  opacity: .5;\n}\n.n3-modal-header {\n  min-height: 16.42857143px;\n  padding: 15px;\n  background: #fff;\n  color: #555;\n  border-radius: 5px 5px 0 0;\n}\n.n3-modal-header .n3-close {\n  margin-top: 0px;\n}\n.n3-modal-title {\n  margin: 0;\n  line-height: 1.42857143;\n}\n.n3-modal-body {\n  position: relative;\n  padding: 15px;\n}\n.n3-modal-footer {\n  padding: 15px;\n  text-align: right;\n  border-top: 0px;\n}\n.n3-modal-footer .n3-btn + .n3-btn {\n  margin-bottom: 0;\n  margin-left: 5px;\n}\n.n3-modal-footer .n3-btn-group .n3-btn + .n3-btn {\n  margin-left: -1px;\n}\n.n3-modal-footer .n3-btn-block + .n3-btn-block {\n  margin-left: 0;\n}\n.n3-carousel {\n  position: relative;\n}\n.n3-carousel-inner {\n  position: relative;\n  width: 100%;\n  overflow: hidden;\n}\n.n3-carousel-inner > .n3-carousel-item {\n  position: relative;\n  display: none;\n  -webkit-transition: 0.6s ease-in-out left;\n  transition: 0.6s ease-in-out left;\n}\n.n3-carousel-inner > .n3-carousel-item > img,\n.n3-carousel-inner > .n3-carousel-item > a > img {\n  line-height: 1;\n  display: block;\n  width: 100%;\n  height: auto;\n}\n.n3-carousel-inner > .n3-carousel-active,\n.n3-carousel-inner > .n3-carousel-next,\n.n3-carousel-inner > .n3-carousel-prev {\n  display: block;\n}\n.n3-carousel-inner > .n3-carousel-next,\n.n3-carousel-inner > .n3-carousel-prev {\n  position: absolute;\n  top: 0;\n  width: 100%;\n}\n.n3-carousel-inner > .n3-carousel-active,\n.n3-carousel-inner > .n3-carousel-next.n3-carousel-left,\n.n3-carousel-inner > .n3-carousel-prev.n3-carousel-right {\n  left: 0;\n  z-index: 1;\n}\n.n3-carousel-inner > .n3-carousel-prev,\n.n3-carousel-inner > .n3-carousel-active.n3-carousel-left {\n  left: -100%;\n  z-index: 2;\n}\n.n3-carousel-inner > .n3carousel--next,\n.n3-carousel-inner > .n3-carousel-active.n3-carousel-right {\n  left: 100%;\n  z-index: 2;\n}\n.n3-carousel-control {\n  position: absolute;\n  top: 0;\n  bottom: 0;\n  left: 0;\n  width: 15%;\n  font-size: 20px;\n  color: #fff;\n  text-align: center;\n  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n  opacity: .5;\n  z-index: 3;\n}\n.n3-carousel-control:hover {\n  cursor: pointer;\n}\n.n3-carousel-control.n3-carousel-left {\n  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n  background-repeat: repeat-x;\n}\n.n3-carousel-control.n3-carousel-right {\n  right: 0;\n  left: auto;\n  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n  background-repeat: repeat-x;\n}\n.n3-carousel-control:hover,\n.n3-carousel-control:focus {\n  color: #fff;\n  text-decoration: none;\n  outline: 0;\n  opacity: .9;\n}\n.n3-carousel-control .n3-fa-chevron-left,\n.n3-carousel-control .n3-fa-chevron-right {\n  position: absolute;\n  top: 50%;\n  z-index: 5;\n  display: inline-block;\n}\n.n3-carousel-control .n3-fa-chevron-left {\n  left: 50%;\n  margin-left: -10px;\n}\n.n3-carousel-control .n3-fa-chevron-right {\n  right: 50%;\n  margin-right: -10px;\n}\n.n3-carousel-indicators {\n  position: absolute;\n  bottom: 10px;\n  left: 50%;\n  z-index: 15;\n  width: 60%;\n  padding-left: 0;\n  margin-left: -30%;\n  text-align: center;\n  list-style: none;\n}\n.n3-carousel-indicators li {\n  display: inline-block;\n  width: 10px;\n  height: 10px;\n  margin: 1px;\n  text-indent: -999px;\n  cursor: pointer;\n  background-color: rgba(0, 0, 0, 0);\n  border: 1px solid #fff;\n  border-radius: 10px;\n  margin: 0px 5px;\n}\n.n3-carousel-indicators .n3-carousel-active {\n  background-color: #fff;\n}\n@media screen and (min-width: 768px) {\n  .n3-carousel-control .n3-fa-chevron-left,\n  .n3-carousel-control .n3-fa-chevron-right {\n    width: 30px;\n    height: 30px;\n    margin-top: -15px;\n    font-size: 30px;\n  }\n  .n3-carousel-control .n3-fa-chevron-left {\n    margin-left: -15px;\n  }\n  .n3-carousel-control .n3-fa-chevron-right {\n    margin-right: -15px;\n  }\n  .n3-carousel-indicators {\n    bottom: 20px;\n  }\n}\n.n3-alert {\n  padding: 15px;\n  border: 1px solid transparent;\n  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.1);\n  border-radius: 4px;\n  overflow: hidden;\n  z-index: 1200;\n  background-color: #fff;\n}\n.n3-alert h4 {\n  margin-top: 0;\n  color: inherit;\n}\n.n3-alert > p,\n.n3-alert > ul {\n  margin-bottom: 0;\n}\n.n3-alert > p + p {\n  margin-top: 5px;\n}\n.n3-alert hr {\n  border-top-color: #eee;\n}\n.n3-alert .n3-close {\n  margin-left: 10px;\n}\n.n3-alert-default {\n  color: #555;\n  border-left: 4px solid #eee;\n}\n.n3-alert-success {\n  color: #555;\n  border-left: 4px solid #19d567;\n}\n.n3-alert-success .n3-alert-icon {\n  color: #19d567;\n}\n.n3-alert-info {\n  color: #555;\n  border-left: 4px solid #2db7f5;\n}\n.n3-alert-info .n3-alert-icon {\n  color: #2db7f5;\n}\n.n3-alert-warning {\n  color: #555;\n  border-left: 4px solid #fa0;\n}\n.n3-alert-warning .n3-alert-icon {\n  color: #fa0;\n}\n.n3-alert-danger {\n  color: #555;\n  border-left: 4px solid #f50;\n}\n.n3-alert-danger .n3-alert-icon {\n  color: #f50;\n}\n.n3-alert-icon {\n  float: left;\n  font-size: 18px;\n  margin-right: 10px;\n}\n.n3-alert-content {\n  margin-left: 32px;\n}\n.n3-alert-small {\n  padding: 2px 14px;\n}\n.n3-alert-small .close {\n  font-size: 20px;\n  top: 0;\n}\n.n3-alert-dismissable,\n.n3-alert-dismissible {\n  padding-right: 35px;\n}\n.n3-alert-dismissable .n3-close,\n.n3-alert-dismissible .n3-close {\n  position: relative;\n  top: -2px;\n  right: -21px;\n  color: inherit;\n}\n.n3-alert-center {\n  position: fixed;\n  margin: 0 auto;\n  left: 50%;\n  top: 50%;\n}\n.n3-alert-top {\n  position: fixed;\n  top: 30px;\n  margin: 0 auto;\n  left: 50%;\n}\n.n3-alert-bottom {\n  position: fixed;\n  bottom: 30px;\n  margin: 0 auto;\n  left: 50%;\n}\n.n3-alert-top-right {\n  position: fixed;\n  top: 30px;\n  right: 50px;\n}\n.n3-alert-top-left {\n  position: fixed;\n  top: 30px;\n  left: 50px;\n}\n.n3-alert-bottom-right {\n  position: fixed;\n  bottom: 30px;\n  right: 50px;\n}\n.n3-alert-bottom-left {\n  position: fixed;\n  bottom: 30px;\n  left: 50px;\n}\n.n3-panel-body {\n  padding: 15px;\n}\n.n3-panel-heading {\n  padding: 10px 15px;\n  border-bottom: 1px solid transparent;\n  border-color: #f9f9f9;\n  font-size: 16px;\n  font-weight: 300;\n  background: transparent;\n}\n.n3-panel-heading > .n3-dropdown .n3-dropdown-toggle {\n  color: inherit;\n}\n.n3-panel-heading + .n3-list-group .n3-list-group-item:first-child {\n  border-top-width: 0;\n}\n.n3-panel-title {\n  margin-top: 0;\n  margin-bottom: 0;\n  font-size: 14px;\n  color: #555;\n  font-weight: 400;\n  font-family: 'Open Sans', sans-serif;\n}\n.n3-panel-title > a,\n.n3-panel-title > small,\n.n3-panel-title > .small,\n.n3-panel-title > small > a,\n.n3-panel-title > .small > a {\n  color: inherit;\n}\n.n3-panel {\n  margin-bottom: 20px;\n  background-color: #fff;\n  border-radius: 4px;\n}\n.n3-panel > .n3-list-group,\n.n3-panel > .n3-panel-collapse > .n3-list-group {\n  margin-bottom: 0;\n}\n.n3-panel > .n3-list-group .n3-list-group-item,\n.n3-panel > .n3-panel-collapse > .n3-list-group .n3-list-group-item {\n  border-width: 1px 0;\n  border-radius: 0;\n}\n.n3-panel > .n3-list-group:first-child .n3-list-group-item:first-child,\n.n3-panel > .n3-panel-collapse > .n3-list-group:first-child .n3-list-group-item:first-child {\n  border-top: 0;\n  border-top-left-radius: 3px;\n  border-top-right-radius: 3px;\n}\n.n3-panel > .n3-list-group:last-child .n3-list-group-item:last-child,\n.n3-panel > .n3-panel-collapse > .n3-list-group:last-child .n3-list-group-item:last-child {\n  border-bottom: 0;\n  border-bottom-right-radius: 3px;\n  border-bottom-left-radius: 3px;\n}\n.n3-panel > .n3-table,\n.n3-panel > .n3-table-responsive > .n3-table,\n.n3-panel > .n3-panel-collapse > .n3-table {\n  margin-bottom: 0;\n}\n.n3-panel > .n3-table caption,\n.n3-panel > .n3-table-responsive > .n3-table caption,\n.n3-panel > .n3-panel-collapse > .n3-table caption {\n  padding-right: 15px;\n  padding-left: 15px;\n}\n.n3-panel > .n3-table:first-child,\n.n3-panel > .n3-table-responsive:first-child > .n3-table:first-child {\n  border-top-left-radius: 3px;\n  border-top-right-radius: 3px;\n}\n.n3-panel > .n3-table:first-child > thead:first-child > tr:first-child,\n.n3-panel > .n3-table-responsive:first-child > .n3-table:first-child > thead:first-child > tr:first-child,\n.n3-panel > .n3-table:first-child > tbody:first-child > tr:first-child,\n.n3-panel > .n3-table-responsive:first-child > .n3-table:first-child > tbody:first-child > tr:first-child {\n  border-top-left-radius: 3px;\n  border-top-right-radius: 3px;\n}\n.n3-panel > .n3-table:first-child > thead:first-child > tr:first-child td:first-child,\n.n3-panel > .n3-table-responsive:first-child > .n3-table:first-child > thead:first-child > tr:first-child td:first-child,\n.n3-panel > .n3-table:first-child > tbody:first-child > tr:first-child td:first-child,\n.n3-panel > .n3-table-responsive:first-child > .n3-table:first-child > tbody:first-child > tr:first-child td:first-child,\n.n3-panel > .n3-table:first-child > thead:first-child > tr:first-child th:first-child,\n.n3-panel > .n3-table-responsive:first-child > .n3-table:first-child > thead:first-child > tr:first-child th:first-child,\n.n3-panel > .n3-table:first-child > tbody:first-child > tr:first-child th:first-child,\n.n3-panel > .n3-table-responsive:first-child > .n3-table:first-child > tbody:first-child > tr:first-child th:first-child {\n  border-top-left-radius: 3px;\n}\n.n3-panel > .n3-table:first-child > thead:first-child > tr:first-child td:last-child,\n.n3-panel > .n3-table-responsive:first-child > .n3-table:first-child > thead:first-child > tr:first-child td:last-child,\n.n3-panel > .n3-table:first-child > tbody:first-child > tr:first-child td:last-child,\n.n3-panel > .n3-table-responsive:first-child > .n3-table:first-child > tbody:first-child > tr:first-child td:last-child,\n.n3-panel > .n3-table:first-child > thead:first-child > tr:first-child th:last-child,\n.n3-panel > .n3-table-responsive:first-child > .n3-table:first-child > thead:first-child > tr:first-child th:last-child,\n.n3-panel > .n3-table:first-child > tbody:first-child > tr:first-child th:last-child,\n.n3-panel > .n3-table-responsive:first-child > .n3-table:first-child > tbody:first-child > tr:first-child th:last-child {\n  border-top-right-radius: 3px;\n}\n.n3-panel > .n3-table:last-child,\n.n3-panel > .n3-table-responsive:last-child > .n3-table:last-child {\n  border-bottom-right-radius: 3px;\n  border-bottom-left-radius: 3px;\n}\n.n3-panel > .n3-table:last-child > tbody:last-child > tr:last-child,\n.n3-panel > .n3-table-responsive:last-child > .n3-table:last-child > tbody:last-child > tr:last-child,\n.n3-panel > .n3-table:last-child > tfoot:last-child > tr:last-child,\n.n3-panel > .n3-table-responsive:last-child > .n3-table:last-child > tfoot:last-child > tr:last-child {\n  border-bottom-right-radius: 3px;\n  border-bottom-left-radius: 3px;\n}\n.n3-panel > .n3-table:last-child > tbody:last-child > tr:last-child td:first-child,\n.n3-panel > .n3-table-responsive:last-child > .n3-table:last-child > tbody:last-child > tr:last-child td:first-child,\n.n3-panel > .n3-table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.n3-panel > .n3-table-responsive:last-child > .n3-table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.n3-panel > .n3-table:last-child > tbody:last-child > tr:last-child th:first-child,\n.n3-panel > .n3-table-responsive:last-child > .n3-table:last-child > tbody:last-child > tr:last-child th:first-child,\n.n3-panel > .n3-table:last-child > tfoot:last-child > tr:last-child th:first-child,\n.n3-panel > .n3-table-responsive:last-child > .n3-table:last-child > tfoot:last-child > tr:last-child th:first-child {\n  border-bottom-left-radius: 3px;\n}\n.n3-panel > .n3-table:last-child > tbody:last-child > tr:last-child td:last-child,\n.n3-panel > .n3-table-responsive:last-child > .n3-table:last-child > tbody:last-child > tr:last-child td:last-child,\n.n3-panel > .n3-table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.n3-panel > .n3-table-responsive:last-child > .n3-table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.n3-panel > .n3-table:last-child > tbody:last-child > tr:last-child th:last-child,\n.n3-panel > .n3-table-responsive:last-child > .n3-table:last-child > tbody:last-child > tr:last-child th:last-child,\n.n3-panel > .n3-table:last-child > tfoot:last-child > tr:last-child th:last-child,\n.n3-panel > .n3-table-responsive:last-child > .n3-table:last-child > tfoot:last-child > tr:last-child th:last-child {\n  border-bottom-right-radius: 3px;\n}\n.n3-panel > .n3-panel-body + .n3-table,\n.n3-panel > .n3-panel-body + .n3-table-responsive,\n.n3-panel > .n3-table + .n3-panel-body,\n.n3-panel > .n3-table-responsive + .n3-panel-body {\n  border-top: 1px solid #eee;\n}\n.n3-panel > .n3-table > tbody:first-child > tr:first-child th,\n.n3-panel > .n3-table > tbody:first-child > tr:first-child td {\n  border-top: 0;\n}\n.n3-panel > .n3-table-bordered,\n.n3-panel > .n3-table-responsive > .n3-table-bordered {\n  border: 0;\n}\n.n3-panel > .n3-table-bordered > thead > tr > th:first-child,\n.n3-panel > .n3-table-responsive > .n3-table-bordered > thead > tr > th:first-child,\n.n3-panel > .n3-table-bordered > tbody > tr > th:first-child,\n.n3-panel > .n3-table-responsive > .n3-table-bordered > tbody > tr > th:first-child,\n.n3-panel > .n3-table-bordered > tfoot > tr > th:first-child,\n.n3-panel > .n3-table-responsive > .n3-table-bordered > tfoot > tr > th:first-child,\n.n3-panel > .n3-table-bordered > thead > tr > td:first-child,\n.n3-panel > .n3-table-responsive > .n3-table-bordered > thead > tr > td:first-child,\n.n3-panel > .n3-table-bordered > tbody > tr > td:first-child,\n.n3-panel > .n3-table-responsive > .n3-table-bordered > tbody > tr > td:first-child,\n.n3-panel > .n3-table-bordered > tfoot > tr > td:first-child,\n.n3-panel > .n3-table-responsive > .n3-table-bordered > tfoot > tr > td:first-child {\n  border-left: 0;\n}\n.n3-panel > .n3-table-bordered > thead > tr > th:last-child,\n.n3-panel > .n3-table-responsive > .n3-table-bordered > thead > tr > th:last-child,\n.n3-panel > .n3-table-bordered > tbody > tr > th:last-child,\n.n3-panel > .n3-table-responsive > .n3-table-bordered > tbody > tr > th:last-child,\n.n3-panel > .n3-table-bordered > tfoot > tr > th:last-child,\n.n3-panel > .n3-table-responsive > .n3-table-bordered > tfoot > tr > th:last-child,\n.n3-panel > .n3-table-bordered > thead > tr > td:last-child,\n.n3-panel > .n3-table-responsive > .n3-table-bordered > thead > tr > td:last-child,\n.n3-panel > .n3-table-bordered > tbody > tr > td:last-child,\n.n3-panel > .n3-table-responsive > .n3-table-bordered > tbody > tr > td:last-child,\n.n3-panel > .n3-table-bordered > tfoot > tr > td:last-child,\n.n3-panel > .n3-table-responsive > .n3-table-bordered > tfoot > tr > td:last-child {\n  border-right: 0;\n}\n.n3-panel > .n3-table-bordered > thead > tr:first-child > td,\n.n3-panel > .n3-table-responsive > .n3-table-bordered > thead > tr:first-child > td,\n.n3-panel > .n3-table-bordered > tbody > tr:first-child > td,\n.n3-panel > .n3-table-responsive > .n3-table-bordered > tbody > tr:first-child > td,\n.n3-panel > .n3-table-bordered > thead > tr:first-child > th,\n.n3-panel > .n3-table-responsive > .n3-table-bordered > thead > tr:first-child > th,\n.n3-panel > .n3-table-bordered > tbody > tr:first-child > th,\n.n3-panel > .n3-table-responsive > .n3-table-bordered > tbody > tr:first-child > th {\n  border-bottom: 0;\n}\n.n3-panel > .n3-table-bordered > tbody > tr:last-child > td,\n.n3-panel > .n3-table-responsive > .n3-table-bordered > tbody > tr:last-child > td,\n.n3-panel > .n3-table-bordered > tfoot > tr:last-child > td,\n.n3-panel > .n3-table-responsive > .n3-table-bordered > tfoot > tr:last-child > td,\n.n3-panel > .n3-table-bordered > tbody > tr:last-child > th,\n.n3-panel > .n3-table-responsive > .n3-table-bordered > tbody > tr:last-child > th,\n.n3-panel > .n3-table-bordered > tfoot > tr:last-child > th,\n.n3-panel > .n3-table-responsive > .n3-table-bordered > tfoot > tr:last-child > th {\n  border-bottom: 0;\n}\n.n3-panel > .n3-table-responsive {\n  margin-bottom: 0;\n  border: 0;\n}\n.n3-list-group + .n3-panel-footer {\n  border-top-width: 0;\n}\n.n3-panel-group {\n  margin-bottom: 20px;\n}\n.n3-panel-group .n3-panel {\n  margin-bottom: 0;\n  border-radius: 4px;\n}\n.n3-panel-group .n3-panel + .n3-panel {\n  margin-top: 5px;\n}\n.n3-panel-group .n3-panel-heading {\n  border-bottom: 0;\n}\n.n3-panel-group .n3-panel-heading + .n3-panel-collapse > .n3-panel-body,\n.n3-panel-group .n3-panel-heading + .n3-panel-collapse > .n3-list-group {\n  border-top: 1px solid #eee;\n}\n.n3-panel-group .n3-panel-footer {\n  border-top: 0;\n}\n.n3-panel-group .n3-panel-footer + .n3-panel-collapse .n3-panel-body {\n  border-bottom: 1px solid #eee;\n}\n.n3-panel-default {\n  border-color: #eee;\n}\n.n3-panel-default > .n3-panel-heading {\n  background-color: #fff;\n  border-color: #eee;\n  color: #555;\n}\n.n3-panel-default > .n3-panel-heading + .n3-panel-collapse > .n3-panel-body {\n  border-top-color: #eee;\n}\n.n3-panel-default > .n3-panel-heading .n3-badge {\n  color: #f9f9f9;\n  background-color: #555;\n}\n.n3-panel-default > .n3-panel-footer + .n3-panel-collapse > .n3-panel-body {\n  border-bottom-color: #eee;\n}\n@-webkit-keyframes progress-bar-stripes {\n  from {\n    background-position: 40px 0;\n  }\n  to {\n    background-position: 0 0;\n  }\n}\n@keyframes progress-bar-stripes {\n  from {\n    background-position: 40px 0;\n  }\n  to {\n    background-position: 0 0;\n  }\n}\n@-webkit-keyframes loading-spin {\n  from {\n    -webkit-transform: rotate(0deg);\n  }\n  to {\n    -webkit-transform: rotate(360deg);\n  }\n}\n@keyframes loading-spin {\n  from {\n    -webkit-transform: rotate(0deg);\n            transform: rotate(0deg);\n  }\n  to {\n    -webkit-transform: rotate(360deg);\n            transform: rotate(360deg);\n  }\n}\n.n3-progress {\n  overflow: hidden;\n  border-radius: 4px;\n  box-shadow: none;\n  background: #f9f9f9;\n}\n.n3-progress-bar {\n  float: left;\n  width: 0;\n  height: 100%;\n  font-size: 12px;\n  line-height: 20px;\n  color: #fff;\n  text-align: center;\n  background-color: #41cac0;\n  -webkit-transition: width .6s ease;\n  transition: width .6s ease;\n}\n.n3-progress-bar-striped {\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-size: 40px 40px;\n}\n.n3-progress-bar-animated {\n  -webkit-animation: progress-bar-stripes 2s linear infinite;\n          animation: progress-bar-stripes 2s linear infinite;\n}\n.n3-progress-bar-success {\n  background-color: #19d567;\n}\n.n3-progress-bar-info {\n  background-color: #2db7f5;\n}\n.n3-progress-bar-warning {\n  background-color: #fa0;\n}\n.n3-progress-bar-danger {\n  background-color: #f50;\n}\n.n3-breadcrumb {\n  padding: 8px 0px;\n  list-style: none;\n  margin: 0px;\n}\n.n3-breadcrumb a {\n  color: #555;\n}\n.n3-breadcrumb > li {\n  display: inline-block;\n}\n.n3-breadcrumb > li:hover {\n  cursor: pointer;\n}\n.n3-breadcrumb > li + li:before {\n  padding: 0 5px;\n  color: #ccc;\n  content: \"/\\A0\";\n}\n.n3-breadcrumb > .n3-breadcrumb-active {\n  color: #41cac0;\n}\n.n3-nav-tabs {\n  border-bottom: 1px solid #eee;\n}\n.n3-nav-tabs > li {\n  float: left;\n  margin-bottom: -1px;\n}\n.n3-nav-tabs > li > a {\n  margin-right: 1px;\n  line-height: 1.42857143;\n  border: 1px solid transparent;\n  border-radius: 4px 4px 0 0;\n}\n.n3-nav-tabs > li > a:hover {\n  border-color: #f9f9f9 #f9f9f9 #eee;\n}\n.n3-nav-tabs > li.n3-nav-tabs-active > a,\n.n3-nav-tabs > li.n3-nav-tabs-active > a:hover,\n.n3-nav-tabs > li.n3-nav-tabs-active > a:focus {\n  color: #555;\n  cursor: default;\n  background-color: #fff;\n  border: 1px solid #eee;\n  border-bottom-color: transparent;\n}\n.n3-nav-tabs-justified {\n  width: 100%;\n  border-bottom: 0;\n}\n.n3-nav-tabs-justified > li {\n  float: none!important;\n}\n.n3-nav-tabs-justified > li > a {\n  margin-bottom: 5px;\n  text-align: center;\n  margin-right: 0;\n  border-radius: 4px;\n}\n.n3-nav-tabs-justified li:last-child > a:hover,\n.n3-nav-tabs-justified li.n3-nav-tabsactive:last-child > a {\n  border-radius: 0 4px 0 0 !important;\n}\n.n3-nav-tabs-justified > .n3-dropdown .n3-dropdown-menu {\n  top: auto;\n  left: auto;\n}\n@media (min-width: 768px) {\n  .n3-nav-tabs-justified {\n    border-bottom: 0;\n  }\n  .n3-nav-tabs-justified > li {\n    display: table-cell;\n    width: 1%;\n  }\n  .n3-nav-tabs-justified > li > a {\n    margin-bottom: 0;\n    margin-right: 0;\n    border-bottom: 1px solid #eee;\n    border-radius: 4px 4px 0 0;\n  }\n  .n3-nav-tabs-justified > .n3-nav-tabs-active > a,\n  .n3-nav-tabs-justified > .n3-nav-tabs-active > a:hover,\n  .n3-nav-tabs-justified > .n3-nav-tabs-active > a:focus {\n    border: 1px solid #eee;\n    border-bottom-color: #fff;\n  }\n}\n.n3-nav-tabs-pills > li {\n  float: left;\n}\n.n3-nav-tabs-pills > li > a {\n  border-radius: 4px;\n}\n.n3-nav-tabs-pills > li + li {\n  margin-left: 2px;\n}\n.n3-nav-tabs-pills > li.n3-nav-tabs-active > a,\n.n3-nav-tabs-pills > li.n3-nav-tabs-active > a:hover,\n.n3-nav-tabs-pills > li.n3-nav-tabs-active > a:focus {\n  color: #fff;\n  background-color: #41cac0;\n}\n.n3-nav-tabs-stacked > li {\n  float: none;\n}\n.n3-nav-tabs-stacked > li + li {\n  margin-top: 2px;\n  margin-left: 0;\n}\n.n3-tab-content > .n3-tab-pane {\n  display: block;\n  visibility: visible !important;\n}\n.n3-tab-content .n3-nav-tabs-active {\n  display: block;\n  visibility: visible;\n}\n.n3-nav-tabs .n3-dropdown-menu {\n  margin-top: -1px;\n  border-top-left-radius: 0;\n  border-top-right-radius: 0;\n}\n.n3-nav-tabs-primary {\n  border-bottom: 2px solid #41cac0;\n}\n.n3-nav-tabs-primary li {\n  margin-bottom: 0;\n}\n.n3-nav-tabs-primary .n3-nav-tabs-active > a,\n.n3-nav-tabs-primary .n3-nav-tabs-active > a:hover,\n.n3-nav-tabs-primary .n3-nav-tabs-active > a:focus {\n  background: #41cac0;\n  border-color: #41cac0 !important;\n  color: white;\n  border-bottom: 0;\n}\n.n3-nav-tabs-primary.n3-nav-tabs-stacked {\n  border-bottom: 0;\n  border-right: 2px solid #41cac0;\n}\n.n3-nav-tabs-primary.n3-nav-tabs-stacked > li > a {\n  border-radius: 2px 0 0 2px;\n  margin-right: 0;\n}\n.n3-tree-node-data {\n  padding: 0px 0 0px 18px;\n}\n.n3-tree-node__content {\n  cursor: pointer;\n  color: #555;\n  margin: 5px 0px;\n}\n.n3-tree-active > .n3-tree-node__content {\n  color: #41cac0;\n}\n.n3-tree-select-icon {\n  color: #555;\n  margin-left: 5px;\n}\n.n3-tree-select-box {\n  margin-left: 5px;\n}\n.n3-tree-loading-box {\n  border-radius: 4px;\n  padding: 0px 5px;\n}\n.n3-tree-loading-box:hover {\n  cursor: pointer;\n  background: rgba(65, 202, 192, 0.05);\n}\n.n3-nav-item {\n  height: 40px;\n  line-height: 40px;\n  font-size: 14px;\n  color: #555;\n  padding: 0 20px;\n  cursor: pointer;\n  position: relative;\n  -webkit-transition: all .3s ease;\n  transition: all .3s ease;\n  box-sizing: border-box;\n  white-space: nowrap;\n}\n.n3-nav {\n  border-radius: 2px;\n  list-style: none;\n  position: relative;\n  margin: 0;\n  padding-left: 0;\n  background-color: #fff;\n}\n.n3-nav:after,\n.n3-nav:before {\n  display: table;\n  content: \"\";\n}\n.n3-nav:after {\n  clear: both;\n}\n.n3-nav li {\n  list-style: none;\n}\n.n3-nav-dark {\n  background-color: #2d3035;\n}\n.n3-nav-dark .n3-nav-item,\n.n3-nav-dark .n3-subnav__title {\n  color: #f9f9f9;\n}\n.n3-nav-dark .n3-nav-item:hover,\n.n3-nav-dark .n3-subnav__title:hover {\n  background-color: rgba(65, 202, 192, 0.1);\n}\n.n3-nav-dark .n3-subnav .n3-nav {\n  background-color: #333;\n}\n.n3-nav-dark .n3-subnav .n3-nav .n3-nav-item:hover {\n  background-color: rgba(65, 202, 192, 0.1);\n}\n.n3-nav-horizontal .n3-nav-item {\n  float: left;\n  height: 60px;\n  line-height: 60px;\n  margin: 0;\n  cursor: pointer;\n  position: relative;\n  box-sizing: border-box;\n  border-bottom: 4px solid transparent;\n}\n.n3-nav-horizontal .n3-nav-item a,\n.n3-nav-horizontal .n3-nav-item a:hover {\n  color: inherit;\n}\n.n3-nav-horizontal .n3-nav-item:hover {\n  background-color: #f9f9f9;\n}\n.n3-nav-horizontal .n3-subnav {\n  float: left;\n  position: relative;\n}\n.n3-nav-horizontal .n3-subnav > .n3-nav {\n  position: absolute;\n  top: 65px;\n  left: 0;\n  border: 1px solid #eee;\n  background-color: #fff;\n  z-index: 100;\n  min-width: 100%;\n  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2);\n  border-radius: 4px;\n}\n.n3-nav-horizontal .n3-subnav .n3-subnav__title {\n  height: 60px;\n  line-height: 60px;\n  border-bottom: 5px solid transparent;\n}\n.n3-nav-horizontal .n3-subnav .n3-nav-item {\n  background-color: #fff;\n  float: none;\n  height: 36px;\n  line-height: 36px;\n  padding: 0 10px;\n  height: 40px;\n  line-height: 40px;\n  font-size: 14px;\n  color: #555;\n  padding: 0 20px;\n  cursor: pointer;\n  position: relative;\n  -webkit-transition: all .3s ease;\n  transition: all .3s ease;\n  box-sizing: border-box;\n  white-space: nowrap;\n}\n.n3-nav-horizontal .n3-subnav .n3-subnav__icon-arrow {\n  position: static;\n  vertical-align: middle;\n  margin-left: 5px;\n  margin-top: -3px;\n}\n.n3-nav-horizontal .n3-nav-item:hover,\n.n3-nav-horizontal .n3-subnav__title:hover {\n  background-color: #f9f9f9;\n}\n.n3-nav-horizontal > .n3-nav-item:hover,\n.n3-nav-horizontal > .n3-subnav:hover .n3-subnav__title,\n.n3-nav-horizontal > .n3-subnav.is-active .n3-subnav__title {\n  border-bottom: 3px solid #41cac0;\n}\n.n3-nav-horizontal.n3-nav-dark .n3-nav-item:hover,\n.n3-nav-horizontal.n3-nav-dark .n3-subnav__title:hover {\n  background-color: rgba(65, 202, 192, 0.1);\n}\n.n3-nav-horizontal.n3-nav-dark .n3-subnav .n3-nav-item,\n.n3-nav-horizontal.n3-nav-dark .n3-subnav .n3-subnav-title {\n  color: #555;\n}\n.n3-nav-horizontal.n3-nav-dark .n3-subnav .n3-nav-item:hover,\n.n3-nav-horizontal.n3-nav-dark .n3-subnav .n3-subnav-title:hover {\n  background-color: #f9f9f9;\n}\n.n3-nav-horizontal.n3-nav-dark .n3-subnav .n3-nav-item.is-active {\n  color: #41cac0;\n}\n.n3-nav-item {\n  height: 40px;\n  line-height: 40px;\n  font-size: 14px;\n  color: #555;\n  padding: 0 20px;\n  cursor: pointer;\n  position: relative;\n  -webkit-transition: all .3s ease;\n  transition: all .3s ease;\n  box-sizing: border-box;\n  white-space: nowrap;\n}\n.n3-nav-item i.n3-fa {\n  vertical-align: baseline;\n  margin-right: 10px;\n}\n.n3-nav-item:first-child {\n  margin-left: 0;\n}\n.n3-nav-item:last-child {\n  margin-right: 0;\n}\n.n3-nav-item:hover {\n  background-color: rgba(65, 202, 192, 0.1);\n}\n.n3-nav-item.is-active {\n  color: #41cac0;\n}\n.n3-subnav__title {\n  height: 40px;\n  line-height: 40px;\n  font-size: 14px;\n  color: #555;\n  padding: 0 20px;\n  cursor: pointer;\n  position: relative;\n  -webkit-transition: all .3s ease;\n  transition: all .3s ease;\n  box-sizing: border-box;\n  white-space: nowrap;\n}\n.n3-subnav__title i.n3-fa {\n  margin-right: 10px;\n  vertical-align: baseline;\n}\n.n3-subnav__title:hover {\n  background-color: rgba(65, 202, 192, 0.1);\n}\n.n3-subnav .n3-nav {\n  background-color: #fff;\n}\n.n3-subnav .n3-nav-item {\n  height: 40px;\n  line-height: 40px;\n  padding: 0 45px;\n}\n.n3-subnav .n3-nav-item:hover {\n  background-color: rgba(65, 202, 192, 0.1);\n}\n.n3-subnav__icon-arrow {\n  position: absolute;\n  top: 50%;\n  right: 20px;\n  margin-top: -7px;\n  -webkit-transition: -webkit-transform .3s;\n  transition: -webkit-transform .3s;\n  transition: transform .3s;\n  transition: transform .3s, -webkit-transform .3s;\n  font-size: 14px;\n}\n.n3-subnav.is-active .n3-subnav__title {\n  border-bottom-color: #41cac0;\n}\n.n3-subnav.is-opened > .n3-subnav__title .n3-subnav__icon-arrow {\n  -webkit-transform: rotateZ(90deg);\n          transform: rotateZ(90deg);\n}\n.n3-subnav i.n3-fa {\n  vertical-align: baseline;\n  margin-right: 10px;\n}\n.n3-nav-item-group > ul {\n  padding: 0;\n}\n.n3-nav-item-group__title {\n  padding-top: 15px;\n  line-height: normal;\n  font-size: 16px;\n  padding-left: 20px;\n  color: #999;\n}\n.n3-badge {\n  display: inline-block;\n  min-width: 10px;\n  padding: 3px 7px;\n  font-size: 12px;\n  font-weight: bold;\n  line-height: 1;\n  color: #fff;\n  text-align: center;\n  white-space: nowrap;\n  vertical-align: baseline;\n  background-color: #999;\n  border-radius: 10px;\n}\n.n3-btn .n3-badge {\n  position: relative;\n  top: -1px;\n}\n.n3-btn-xs .n3-badge {\n  top: 0;\n  padding: 1px 5px;\n}\n.n3-nav-pills > .n3-active > a > .n3-badge {\n  color: #41cac0;\n  background-color: #fff;\n}\n.n3-nav-pills > li > a > .n3-badge {\n  margin-left: 3px;\n}\n.n3-close {\n  float: right;\n  font-size: 21px;\n  font-weight: bold;\n  line-height: 1;\n  color: #000;\n  text-shadow: 0 1px 0 #fff;\n  opacity: .2;\n  outline: none;\n}\n.n3-close:hover,\n.n3-close:focus {\n  color: #000;\n  text-decoration: none;\n  cursor: pointer;\n  opacity: .5;\n}\nbutton.n3-close {\n  -webkit-appearance: none;\n  padding: 0;\n  cursor: pointer;\n  background: transparent;\n  border: 0;\n}\n.n3-upload {\n  display: inline-block;\n}\n.n3-upload input[type=\"file\"] {\n  width: 0;\n  height: 0;\n  opacity: 0;\n  overflow: hidden;\n  z-index: -1;\n  outline: none;\n}\n.n3-upload-item-info {\n  position: relative;\n  height: 25px;\n  line-height: 25px;\n  padding: 0 4px;\n  -webkit-transition: background-color 0.3s ease;\n  transition: background-color 0.3s ease;\n  zoom: 1;\n}\n.n3-upload-drag-area {\n  outline: none;\n}\n.n3-upload-drag-area span {\n  color: #555;\n  font-size: 14px;\n}\n.n3-upload-drag-icon {\n  position: absolute;\n  color: #41cac0;\n  top: 50%;\n  left: 50%;\n  margin-top: -10px;\n  margin-left: -30px;\n  font-size: 60px;\n}\n.n3-upload-file-icon {\n  margin-right: 4px;\n  color: #999;\n}\n.n3-upload-file-name {\n  padding-right: 20px;\n}\n.n3-upload-del-info {\n  position: absolute;\n  right: 5px;\n  top: 0;\n  color: #999;\n  line-height: 25px;\n  cursor: pointer;\n}\n.n3-upload-item-progress {\n  padding: 0px;\n  margin: 5px;\n  font-size: 12px;\n}\n.n3-upload-item-progress .n3-upload-hide {\n  display: none;\n}\n.n3-upload-progress {\n  display: inline-block;\n}\n.n3-upload-progress-line {\n  position: relative;\n  width: 100%;\n  font-size: 12px;\n  zoom: 1;\n}\n.n3-upload-progress-inner {\n  width: 100%;\n  background-color: #f9f9f9;\n  vertical-align: middle;\n}\n.n3-upload-progress-bg {\n  height: 3px;\n  background-color: #41cac0;\n  -webkit-transition: all .3s linear 0s;\n  transition: all .3s linear 0s;\n  border-radius: 100px;\n}\n.n3-upload-progress-status-success .at-progress-bg {\n  background-color: #19d567;\n}\n.n3-upload-drag-container {\n  position: relative;\n  padding: 20px 0;\n  cursor: pointer;\n  border: 1px dashed #ccc;\n  border-radius: 6px;\n  text-align: center;\n  -webkit-transition: border-color 0.3s ease;\n  transition: border-color 0.3s ease;\n}\n.n3-upload-drag-container.n3-upload-is-dragover {\n  border-color: #41cac0;\n}\n.n3-upload-drag-container:hover {\n  border-color: #999;\n  background: #f9f9f9;\n}\n.n3-card {\n  background: #fff;\n  box-shadow: 1px 1px 5px #eee;\n  -webkit-transition: box-shadow 0.3s ease;\n  transition: box-shadow 0.3s ease;\n}\n.n3-card-hover:hover {\n  box-shadow: 1px 1px 10px #eee;\n}\n.n3-rate {\n  height: 30px;\n  line-height: 1;\n}\n.n3-rate-item {\n  display: inline-block;\n  position: relative;\n  font-size: 0;\n  vertical-align: middle;\n}\n.n3-rate-icon {\n  position: relative;\n  display: inline-block;\n  font-size: 18px;\n  margin-right: 10px;\n  color: #ddd;\n  -webkit-transition: .3s;\n  transition: .3s;\n}\n.n3-rate-icon.hover {\n  -webkit-transform: scale(1.15);\n          transform: scale(1.15);\n}\n.n3-rate-icon .path2 {\n  position: absolute;\n  left: 0;\n  top: 0;\n}\n.n3-rate-decimal {\n  position: absolute;\n  top: 0;\n  left: 0;\n  display: inline-block;\n  overflow: hidden;\n}\n.n3-rate-text {\n  font-size: 13px;\n  vertical-align: middle;\n}\n.n3-input-number {\n  display: inline-block;\n  position: relative;\n}\n.n3-input-number .n3-form-control {\n  padding-right: 30px;\n}\n.n3-input-number-handler {\n  text-align: center;\n  line-height: 0;\n  height: 15px;\n  overflow: hidden;\n  color: #555;\n  position: relative;\n  -webkit-transition: all 0.1s linear;\n  transition: all 0.1s linear;\n  display: block;\n  width: 100%;\n}\n.n3-input-number-handler:hover .n3-input-number-handler-up-inner,\n.n3-input-number-handler:hover .n3-input-number-handler-down-inner {\n  color: #41cac0;\n}\n.n3-input-number-handler-up-inner,\n.n3-input-number-handler-down-inner {\n  line-height: 12px;\n  -webkit-user-select: none;\n     -moz-user-select: none;\n      -ms-user-select: none;\n          user-select: none;\n  position: absolute;\n  width: 12px;\n  height: 12px;\n  -webkit-transition: all 0.1s linear;\n  transition: all 0.1s linear;\n  right: 4px;\n  color: #555;\n}\n.n3-input-number-handler-wrap {\n  border-left: 1px solid #eee;\n  width: 22px;\n  height: 31px;\n  background: #fff;\n  position: absolute;\n  top: 2px;\n  right: 2px;\n  z-index: 3;\n  opacity: 0;\n  -webkit-transition: opacity 0.24s linear 0.1s;\n  transition: opacity 0.24s linear 0.1s;\n}\n.n3-input-number:hover .n3-input-number-handler-wrap {\n  opacity: 1;\n}\n.n3-input-number-handler-up {\n  cursor: pointer;\n}\n.n3-input-number-handler-up-inner {\n  top: 1px;\n}\n.n3-input-number-handler-up-inner:before {\n  text-align: center;\n}\n.n3-input-number-handler-up:hover {\n  height: 16px;\n}\n.n3-input-number-handler-up:hover .n3-input-number-handler-up-inner {\n  margin-top: 2px;\n}\n.n3-input-number-handler-down {\n  border-top: 1px solid #eee;\n  top: -1px;\n  cursor: pointer;\n}\n.n3-input-number-handler-down-inner:before {\n  text-align: center;\n}\n.n3-input-number-handler-down:hover {\n  height: 16px;\n  margin-top: -2px;\n}\n.n3-input-number-handler-down-disabled .n3-input-number-handler-down-inner,\n.n3-input-number-handler-up-disabled .n3-input-number-handler-down-inner,\n.n3-input-number-disabled .n3-input-number-handler-down-inner,\n.n3-input-number-readonly .n3-input-number-handler-down-inner,\n.n3-input-number-handler-down-disabled .n3-input-number-handler-up-inner,\n.n3-input-number-handler-up-disabled .n3-input-number-handler-up-inner,\n.n3-input-number-disabled .n3-input-number-handler-up-inner,\n.n3-input-number-readonly .n3-input-number-handler-up-inner {\n  cursor: not-allowed;\n}\n.n3-input-number-disabled .n3-input-number-handler-wrap,\n.n3-input-number-readonly .n3-input-number-handler-wrap {\n  display: none;\n}\n.n3-input-number-disabled .n3-input-number-handler,\n.n3-input-number-readonly .n3-input-number-handler {\n  cursor: not-allowed;\n}\nhtml {\n  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n  font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, SimSun, sans-serif;\n  -webkit-text-size-adjust: 100%;\n  -ms-text-size-adjust: 100%;\n}\nbody {\n  margin: 0;\n  font-size: 14px;\n  line-height: 1.42857143;\n  color: #555;\n  -webkit-font-smoothing: antialiased;\n}\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n  display: block;\n}\naudio,\ncanvas,\nprogress,\nvideo {\n  display: inline-block;\n  vertical-align: baseline;\n}\naudio:not([controls]) {\n  display: none;\n  height: 0;\n}\n[hidden],\ntemplate {\n  display: none;\n}\na {\n  background-color: transparent;\n  text-decoration: none;\n  color: #555;\n}\na:active,\na:hover {\n  outline: 0;\n  text-decoration: none;\n  color: #555;\n}\na:hover {\n  cursor: pointer;\n}\nabbr[title] {\n  border-bottom: 1px dotted;\n}\nb,\nstrong {\n  font-weight: bold;\n}\ndfn {\n  font-style: italic;\n}\nh1 {\n  margin: .67em 0;\n  font-size: 2em;\n}\nmark {\n  background: rgba(65, 202, 192, 0.05);\n  padding: .2em;\n}\nsmall {\n  font-size: 80%;\n}\nsub,\nsup {\n  position: relative;\n  font-size: 75%;\n  line-height: 0;\n  vertical-align: baseline;\n}\nsup {\n  top: -0.5em;\n}\nsub {\n  bottom: -0.25em;\n}\nimg {\n  border: 0;\n}\nsvg:not(:root) {\n  overflow: hidden;\n}\nfigure {\n  margin: 1em 40px;\n}\nhr {\n  height: 0;\n  box-sizing: content-box;\n  margin-top: 20px;\n  margin-bottom: 20px;\n  border: 0;\n  border-top: 1px solid #f9f9f9;\n}\npre {\n  overflow: auto;\n}\ncode,\nkbd,\npre,\nsamp {\n  font-family: monospace, monospace;\n  font-size: 1em;\n}\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n  margin: 0;\n  font: inherit;\n  color: inherit;\n}\nbutton {\n  overflow: visible;\n}\nbutton,\nselect {\n  text-transform: none;\n}\nbutton,\nhtml input[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n  -webkit-appearance: button;\n  cursor: pointer;\n}\nbutton[disabled],\nhtml input[disabled] {\n  cursor: default;\n}\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n  padding: 0;\n  border: 0;\n}\ninput {\n  line-height: normal;\n}\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n  box-sizing: border-box;\n  padding: 0;\n  margin: 4px 0 0;\n  margin-top: 1px \\9;\n  line-height: normal;\n}\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n  height: auto;\n}\ninput[type=\"search\"] {\n  box-sizing: border-box;\n  -webkit-appearance: textfield;\n}\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n  -webkit-appearance: none;\n}\ninput[type=\"file\"] {\n  display: block;\n}\ninput[type=\"range\"] {\n  display: block;\n  width: 100%;\n}\nselect[multiple],\nselect[size] {\n  height: auto;\n}\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n  outline: thin dotted;\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\nfieldset {\n  min-width: 0;\n  padding: 0;\n  margin: 0;\n  border: 0;\n}\nlegend {\n  display: block;\n  width: 100%;\n  padding: 0;\n  margin-bottom: 20px;\n  font-size: 21px;\n  line-height: inherit;\n  color: #555;\n  border: 0;\n  border-bottom: 1px solid #eee;\n}\ntextarea {\n  overflow: auto;\n}\noptgroup {\n  font-weight: bold;\n}\ntable {\n  border-spacing: 0;\n  border-collapse: collapse;\n}\ntd,\nth {\n  padding: 0;\n}\nul li {\n  list-style: none;\n}\nul {\n  margin: 0px;\n  padding-left: 0px;\n}\n* {\n  box-sizing: border-box;\n}\n*:before,\n*:after {\n  box-sizing: border-box;\n}\ninput,\nbutton,\nselect,\ntextarea {\n  font-family: inherit;\n  font-size: inherit;\n  line-height: inherit;\n}\nfigure {\n  margin: 0;\n}\nimg {\n  vertical-align: middle;\n}\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n  font-family: inherit;\n  font-weight: 500;\n  line-height: 1.1;\n  color: inherit;\n}\nh1 small,\nh2 small,\nh3 small,\nh4 small,\nh5 small,\nh6 small {\n  font-weight: normal;\n  line-height: 1;\n  color: #999;\n}\nh1,\nh2,\nh3 {\n  margin-top: 20px;\n  margin-bottom: 10px;\n}\nh1 small,\nh2 small,\nh3 small {\n  font-size: 65%;\n}\nh4,\nh5,\nh6 {\n  margin-top: 10px;\n  margin-bottom: 10px;\n}\nh4 small,\nh5 small,\nh6 small {\n  font-size: 75%;\n}\nh1 {\n  font-size: 36px;\n}\nh2 {\n  font-size: 30px;\n}\nh3 {\n  font-size: 24px;\n}\nh4 {\n  font-size: 18px;\n}\nh5 {\n  font-size: 14px;\n}\nh6 {\n  font-size: 12px;\n}\np {\n  margin: 0 0 10px;\n}\nul ul,\nol ul,\nul ol,\nol ol {\n  margin-bottom: 0;\n}\ndl {\n  margin-top: 0;\n  margin-bottom: 20px;\n}\ndt,\ndd {\n  line-height: 1.42857143;\n}\ndt {\n  font-weight: bold;\n}\ndd {\n  margin-left: 0;\n}\nabbr[title],\nabbr[data-original-title] {\n  cursor: help;\n  border-bottom: 1px dotted #999;\n}\nblockquote {\n  padding: 10px 20px;\n  margin: 0 0 20px;\n  font-size: 17.5px;\n  border-left: 5px solid #f9f9f9;\n}\nblockquote p:last-child,\nblockquote ul:last-child,\nblockquote ol:last-child {\n  margin-bottom: 0;\n}\nblockquote footer,\nblockquote small {\n  display: block;\n  font-size: 80%;\n  line-height: 1.42857143;\n  color: #999;\n}\nblockquote footer:before,\nblockquote small:before {\n  content: '\\2014   \\A0';\n}\nblockquote.pull-right {\n  padding-right: 15px;\n  padding-left: 0;\n  text-align: right;\n  border-right: 5px solid #f9f9f9;\n  border-left: 0;\n}\nblockquote.pull-right footer:before,\nblockquote.pull-right small:before {\n  content: '';\n}\nblockquote.pull-right footer:after,\nblockquote.pull-right small:after {\n  content: '\\A0   \\2014';\n}\naddress {\n  margin-bottom: 20px;\n  font-style: normal;\n  line-height: 1.42857143;\n}\ncode,\nkbd,\npre,\nsamp {\n  font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace;\n}\ncode {\n  padding: 2px 4px;\n  font-size: 90%;\n  background-color: #f9f9f9;\n  border-radius: 4px;\n}\nkbd {\n  padding: 2px 4px;\n  font-size: 90%;\n  color: #fff;\n  background-color: #555;\n  border-radius: 3px;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\nkbd kbd {\n  padding: 0;\n  font-size: 100%;\n  font-weight: bold;\n  box-shadow: none;\n}\npre {\n  display: block;\n  padding: 9.5px;\n  margin: 0 0 10px;\n  font-size: 13px;\n  line-height: 1.42857143;\n  color: #555;\n  word-break: break-all;\n  word-wrap: break-word;\n  background-color: #f9f9f9;\n  border-radius: 4px;\n}\npre code {\n  padding: 0;\n  font-size: inherit;\n  color: inherit;\n  white-space: pre-wrap;\n  background-color: transparent;\n  border-radius: 0;\n}\ntable {\n  background-color: transparent;\n}\ncaption {\n  padding-top: 6px 8px;\n  padding-bottom: 6px 8px;\n  color: #999;\n  text-align: left;\n}\nth {\n  text-align: left;\n}\nlabel {\n  display: inline-block;\n  max-width: 100%;\n}\noutput {\n  display: block;\n  padding-top: 7px;\n  font-size: 14px;\n  line-height: 1.42857143;\n}\n.clearfix:before,\n.clearfix:after {\n  display: table;\n  content: \" \";\n}\n.clearfix:after {\n  clear: both;\n}\n.center-block {\n  display: block;\n  margin-right: auto;\n  margin-left: auto;\n}\n.pull-right {\n  float: right !important;\n}\n.pull-left {\n  float: left !important;\n}\n.hide {\n  display: none !important;\n}\n.show {\n  display: block !important;\n}\n.pointer:hover {\n  cursor: pointer;\n}\n.invisible {\n  visibility: hidden;\n}\n.text-hide {\n  font: 0/0 a;\n  color: transparent;\n  text-shadow: none;\n  background-color: transparent;\n  border: 0;\n}\n.hidden {\n  display: none !important;\n  visibility: hidden !important;\n}\n.affix {\n  position: fixed;\n}\n.inline {\n  display: inline-block;\n}\n.list-unstyled {\n  padding-left: 0;\n  list-style: none;\n}\n.list-inline {\n  padding-left: 0;\n  margin-left: -5px;\n  list-style: none;\n}\n.list-inline > li {\n  display: inline-block;\n  padding-right: 5px;\n  padding-left: 5px;\n}\n.initialism {\n  font-size: 90%;\n  text-transform: uppercase;\n}\n.text-left {\n  text-align: left;\n}\n.text-right {\n  text-align: right;\n}\n.text-center {\n  text-align: center;\n}\n.text-justify {\n  text-align: justify;\n}\n.text-nowrap {\n  white-space: nowrap;\n}\n.text-lowercase {\n  text-transform: lowercase;\n}\n.text-uppercase {\n  text-transform: uppercase;\n}\n.text-capitalize {\n  text-transform: capitalize;\n}\n.text-muted {\n  color: #ccc;\n}\n.text-primary {\n  color: #41cac0;\n}\na.text-primary:hover {\n  color: #39b2a9;\n}\n.text-success {\n  color: #19d567;\n}\na.text-success:hover {\n  color: #30d073;\n}\n.text-info {\n  color: #2db7f5;\n}\na.text-info:hover {\n  color: #43bcf3;\n}\n.text-warning {\n  color: #fa0;\n}\na.text-warning:hover {\n  color: #f5b73b;\n}\n.text-danger {\n  color: #f50;\n}\na.text-danger:hover {\n  color: #f9702b;\n}\n.bg-primary {\n  color: #fff;\n  background-color: #41cac0;\n}\na.bg-primary:hover {\n  background-color: #39b2a9;\n}\n.bg-success {\n  background-color: #19d567;\n}\na.bg-success:hover {\n  background-color: #30d073;\n}\n.bg-info {\n  background-color: #2db7f5;\n}\na.bg-info:hover {\n  background-color: #43bcf3;\n}\n.bg-warning {\n  background-color: #fa0;\n}\na.bg-warning:hover {\n  background-color: #f5b73b;\n}\n.bg-danger {\n  background-color: #f50;\n}\na.bg-danger:hover {\n  background-color: #f9702b;\n}\n.position-left-bottom {\n  top: 100%!important;\n  bottom: initial!important;\n  left: initial!important;\n  right: 0px!important;\n}\n.position-right-bottom {\n  top: 100%!important;\n  bottom: initial!important;\n  left: 0px!important;\n  right: initial!important;\n}\n.position-left-top {\n  top: initial!important;\n  bottom: 40px !important;\n  left: initial!important;\n  right: 0px!important;\n}\n.position-right-top {\n  top: initial!important;\n  bottom: 40px !important;\n  left: 0px!important;\n  right: initial!important;\n}\n", ""]);
    
    // exports


/***/ }),
/* 764 */
/***/ (function(module, exports, __webpack_require__) {

    /*
        MIT License http://www.opensource.org/licenses/mit-license.php
        Author Tobias Koppers @sokra
    */
    var stylesInDom = {},
        memoize = function(fn) {
            var memo;
            return function () {
                if (typeof memo === "undefined") memo = fn.apply(this, arguments);
                return memo;
            };
        },
        isOldIE = memoize(function() {
            return /msie [6-9]\b/.test(self.navigator.userAgent.toLowerCase());
        }),
        getHeadElement = memoize(function () {
            return document.head || document.getElementsByTagName("head")[0];
        }),
        singletonElement = null,
        singletonCounter = 0,
        styleElementsInsertedAtTop = [];
    
    module.exports = function(list, options) {
        if(false) {
            if(typeof document !== "object") throw new Error("The style-loader cannot be used in a non-browser environment");
        }
    
        options = options || {};
        // Force single-tag solution on IE6-9, which has a hard limit on the # of <style>
        // tags it will allow on a page
        if (typeof options.singleton === "undefined") options.singleton = isOldIE();
    
        // By default, add <style> tags to the bottom of <head>.
        if (typeof options.insertAt === "undefined") options.insertAt = "bottom";
    
        var styles = listToStyles(list);
        addStylesToDom(styles, options);
    
        return function update(newList) {
            var mayRemove = [];
            for(var i = 0; i < styles.length; i++) {
                var item = styles[i];
                var domStyle = stylesInDom[item.id];
                domStyle.refs--;
                mayRemove.push(domStyle);
            }
            if(newList) {
                var newStyles = listToStyles(newList);
                addStylesToDom(newStyles, options);
            }
            for(var i = 0; i < mayRemove.length; i++) {
                var domStyle = mayRemove[i];
                if(domStyle.refs === 0) {
                    for(var j = 0; j < domStyle.parts.length; j++)
                        domStyle.parts[j]();
                    delete stylesInDom[domStyle.id];
                }
            }
        };
    }
    
    function addStylesToDom(styles, options) {
        for(var i = 0; i < styles.length; i++) {
            var item = styles[i];
            var domStyle = stylesInDom[item.id];
            if(domStyle) {
                domStyle.refs++;
                for(var j = 0; j < domStyle.parts.length; j++) {
                    domStyle.parts[j](item.parts[j]);
                }
                for(; j < item.parts.length; j++) {
                    domStyle.parts.push(addStyle(item.parts[j], options));
                }
            } else {
                var parts = [];
                for(var j = 0; j < item.parts.length; j++) {
                    parts.push(addStyle(item.parts[j], options));
                }
                stylesInDom[item.id] = {id: item.id, refs: 1, parts: parts};
            }
        }
    }
    
    function listToStyles(list) {
        var styles = [];
        var newStyles = {};
        for(var i = 0; i < list.length; i++) {
            var item = list[i];
            var id = item[0];
            var css = item[1];
            var media = item[2];
            var sourceMap = item[3];
            var part = {css: css, media: media, sourceMap: sourceMap};
            if(!newStyles[id])
                styles.push(newStyles[id] = {id: id, parts: [part]});
            else
                newStyles[id].parts.push(part);
        }
        return styles;
    }
    
    function insertStyleElement(options, styleElement) {
        var head = getHeadElement();
        var lastStyleElementInsertedAtTop = styleElementsInsertedAtTop[styleElementsInsertedAtTop.length - 1];
        if (options.insertAt === "top") {
            if(!lastStyleElementInsertedAtTop) {
                head.insertBefore(styleElement, head.firstChild);
            } else if(lastStyleElementInsertedAtTop.nextSibling) {
                head.insertBefore(styleElement, lastStyleElementInsertedAtTop.nextSibling);
            } else {
                head.appendChild(styleElement);
            }
            styleElementsInsertedAtTop.push(styleElement);
        } else if (options.insertAt === "bottom") {
            head.appendChild(styleElement);
        } else {
            throw new Error("Invalid value for parameter 'insertAt'. Must be 'top' or 'bottom'.");
        }
    }
    
    function removeStyleElement(styleElement) {
        styleElement.parentNode.removeChild(styleElement);
        var idx = styleElementsInsertedAtTop.indexOf(styleElement);
        if(idx >= 0) {
            styleElementsInsertedAtTop.splice(idx, 1);
        }
    }
    
    function createStyleElement(options) {
        var styleElement = document.createElement("style");
        styleElement.type = "text/css";
        insertStyleElement(options, styleElement);
        return styleElement;
    }
    
    function createLinkElement(options) {
        var linkElement = document.createElement("link");
        linkElement.rel = "stylesheet";
        insertStyleElement(options, linkElement);
        return linkElement;
    }
    
    function addStyle(obj, options) {
        var styleElement, update, remove;
    
        if (options.singleton) {
            var styleIndex = singletonCounter++;
            styleElement = singletonElement || (singletonElement = createStyleElement(options));
            update = applyToSingletonTag.bind(null, styleElement, styleIndex, false);
            remove = applyToSingletonTag.bind(null, styleElement, styleIndex, true);
        } else if(obj.sourceMap &&
            typeof URL === "function" &&
            typeof URL.createObjectURL === "function" &&
            typeof URL.revokeObjectURL === "function" &&
            typeof Blob === "function" &&
            typeof btoa === "function") {
            styleElement = createLinkElement(options);
            update = updateLink.bind(null, styleElement);
            remove = function() {
                removeStyleElement(styleElement);
                if(styleElement.href)
                    URL.revokeObjectURL(styleElement.href);
            };
        } else {
            styleElement = createStyleElement(options);
            update = applyToTag.bind(null, styleElement);
            remove = function() {
                removeStyleElement(styleElement);
            };
        }
    
        update(obj);
    
        return function updateStyle(newObj) {
            if(newObj) {
                if(newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap)
                    return;
                update(obj = newObj);
            } else {
                remove();
            }
        };
    }
    
    var replaceText = (function () {
        var textStore = [];
    
        return function (index, replacement) {
            textStore[index] = replacement;
            return textStore.filter(Boolean).join('\n');
        };
    })();
    
    function applyToSingletonTag(styleElement, index, remove, obj) {
        var css = remove ? "" : obj.css;
    
        if (styleElement.styleSheet) {
            styleElement.styleSheet.cssText = replaceText(index, css);
        } else {
            var cssNode = document.createTextNode(css);
            var childNodes = styleElement.childNodes;
            if (childNodes[index]) styleElement.removeChild(childNodes[index]);
            if (childNodes.length) {
                styleElement.insertBefore(cssNode, childNodes[index]);
            } else {
                styleElement.appendChild(cssNode);
            }
        }
    }
    
    function applyToTag(styleElement, obj) {
        var css = obj.css;
        var media = obj.media;
    
        if(media) {
            styleElement.setAttribute("media", media)
        }
    
        if(styleElement.styleSheet) {
            styleElement.styleSheet.cssText = css;
        } else {
            while(styleElement.firstChild) {
                styleElement.removeChild(styleElement.firstChild);
            }
            styleElement.appendChild(document.createTextNode(css));
        }
    }
    
    function updateLink(linkElement, obj) {
        var css = obj.css;
        var sourceMap = obj.sourceMap;
    
        if(sourceMap) {
            // http://stackoverflow.com/a/26603875
            css += "\n/*# sourceMappingURL=data:application/json;base64," + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + " */";
        }
    
        var blob = new Blob([css], { type: "text/css" });
    
        var oldSrc = linkElement.href;
    
        linkElement.href = URL.createObjectURL(blob);
    
        if(oldSrc)
            URL.revokeObjectURL(oldSrc);
    }


/***/ })
/******/ ]);
//# sourceMappingURL=default.js.map