diff --git a/dist/vue.js b/dist/vue.js index eb6c0c17b41..04d42c5b210 100644 --- a/dist/vue.js +++ b/dist/vue.js @@ -1,5 +1,5 @@ /** - * Vue.js v0.12.6 + * Vue.js v0.12.6-csp * (c) 2015 Evan You * Released under the MIT License. */ @@ -98,9 +98,9 @@ return /******/ (function(modules) { // webpackBootstrap Vue.options = { replace: true, - directives: __webpack_require__(28), - elementDirectives: __webpack_require__(50), - filters: __webpack_require__(53), + directives: __webpack_require__(29), + elementDirectives: __webpack_require__(51), + filters: __webpack_require__(54), transitions: {}, components: {}, partials: {} @@ -132,21 +132,21 @@ return /******/ (function(modules) { // webpackBootstrap * Mixin internal instance methods */ - extend(p, __webpack_require__(55)) extend(p, __webpack_require__(56)) extend(p, __webpack_require__(57)) extend(p, __webpack_require__(58)) - extend(p, __webpack_require__(60)) + extend(p, __webpack_require__(59)) + extend(p, __webpack_require__(61)) /** * Mixin public API methods */ - extend(p, __webpack_require__(61)) extend(p, __webpack_require__(62)) extend(p, __webpack_require__(63)) extend(p, __webpack_require__(64)) extend(p, __webpack_require__(65)) + extend(p, __webpack_require__(66)) module.exports = _.Vue = Vue @@ -1458,7 +1458,7 @@ return /******/ (function(modules) { // webpackBootstrap exports.parsers = { path: __webpack_require__(23), text: __webpack_require__(13), - template: __webpack_require__(25), + template: __webpack_require__(26), directive: __webpack_require__(15), expression: __webpack_require__(22) } @@ -1481,11 +1481,9 @@ return /******/ (function(modules) { // webpackBootstrap exports.extend = function (extendOptions) { extendOptions = extendOptions || {} var Super = this - var Sub = createClass( - extendOptions.name || - Super.options.name || - 'VueComponent' - ) + var Sub = function VueComponent (options) { + _.Vue.call(this, options) + } Sub.prototype = Object.create(Super.prototype) Sub.prototype.constructor = Sub Sub.cid = cid++ @@ -1504,22 +1502,6 @@ return /******/ (function(modules) { // webpackBootstrap return Sub } - /** - * A function that returns a sub-class constructor with the - * given name. This gives us much nicer output when - * logging instances in the console. - * - * @param {String} name - * @return {Function} - */ - - function createClass (name) { - return new Function( - 'return function ' + _.classify(name) + - ' (options) { this._init(options) }' - )() - } - /** * Plugin system * @@ -1571,7 +1553,7 @@ return /******/ (function(modules) { // webpackBootstrap var _ = __webpack_require__(1) _.extend(exports, __webpack_require__(11)) - _.extend(exports, __webpack_require__(27)) + _.extend(exports, __webpack_require__(28)) /***/ }, @@ -1583,9 +1565,9 @@ return /******/ (function(modules) { // webpackBootstrap var config = __webpack_require__(3) var textParser = __webpack_require__(13) var dirParser = __webpack_require__(15) - var templateParser = __webpack_require__(25) + var templateParser = __webpack_require__(26) var resolveAsset = _.resolveAsset - var componentDef = __webpack_require__(26) + var componentDef = __webpack_require__(27) // terminal directives var terminalDirectives = [ @@ -2950,7 +2932,7 @@ return /******/ (function(modules) { // webpackBootstrap var config = __webpack_require__(3) var Observer = __webpack_require__(18) var expParser = __webpack_require__(22) - var batcher = __webpack_require__(24) + var batcher = __webpack_require__(25) var uid = 0 /** @@ -3698,6 +3680,7 @@ return /******/ (function(modules) { // webpackBootstrap var _ = __webpack_require__(1) var Path = __webpack_require__(23) var Cache = __webpack_require__(14) + var notevil = __webpack_require__(24) var expressionCache = new Cache(1000) var allowedKeywords = @@ -3870,7 +3853,13 @@ return /******/ (function(modules) { // webpackBootstrap function makeGetter (body) { try { - return new Function('scope', 'return ' + body + ';') + var fn = notevil.Function( + 'scope', 'Math', + 'return ' + body + ';' + ) + return function (scope) { + return fn.call(this, scope, Math) + } } catch (e) { _.warn( 'Invalid expression. ' + @@ -3895,7 +3884,15 @@ return /******/ (function(modules) { // webpackBootstrap function makeSetter (body) { try { - return new Function('scope', 'value', body + '=value;') + var fn = notevil.Function( + 'scope', 'value', 'Math', + body + ' = value;' + ) + return function (scope, value) { + try { + fn.call(this, scope, value, Math) + } catch (e) {} + } } catch (e) { _.warn('Invalid setter function body: ' + body) } @@ -3966,7 +3963,7 @@ return /******/ (function(modules) { // webpackBootstrap var _ = __webpack_require__(1) var Cache = __webpack_require__(14) var pathCache = new Cache(1000) - var identRE = exports.identRE = /^[$_a-zA-Z]+[\w$]*$/ + exports.identRE = /^[$_a-zA-Z]+[\w$]*$/ /** * Path-parsing algorithm scooped from Polymer/observe-js @@ -4173,25 +4170,6 @@ return /******/ (function(modules) { // webpackBootstrap } } - /** - * Format a accessor segment based on its type. - * - * @param {String} key - * @return {Boolean} - */ - - function formatAccessor (key) { - if (identRE.test(key)) { // identifier - return '.' + key - } else if (+key === key >>> 0) { // bracket index - return '[' + key + ']' - } else if (key.charAt(0) === '*') { - return '[o' + formatAccessor(key.slice(1)) + ']' - } else { // bracket string - return '["' + key.replace(/"/g, '\\"') + '"]' - } - } - /** * Compiles a getter function with a fixed path. * The fixed path getter supresses errors. @@ -4201,8 +4179,22 @@ return /******/ (function(modules) { // webpackBootstrap */ exports.compileGetter = function (path) { - var body = 'return o' + path.map(formatAccessor).join('') - return new Function('o', body) + return function get (obj) { + var original = obj + var segment + for (var i = 0, l = path.length; i < l; i++) { + segment = path[i] + if (segment.charAt(0) === '*') { + segment = original[segment.slice(1)] + } + obj = obj[segment] + if (i === l - 1) { + return obj + } else if (!_.isObject(obj)) { + return + } + } + } } /** @@ -4294,6 +4286,4742 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, /* 24 */ +/***/ function(module, exports, __webpack_require__) { + + module.exports = + /******/ (function(modules) { // webpackBootstrap + /******/ // The module cache + /******/ var installedModules = {}; + + /******/ // The require function + /******/ function __webpack_require__(moduleId) { + + /******/ // Check if module is in cache + /******/ if(installedModules[moduleId]) + /******/ return installedModules[moduleId].exports; + + /******/ // Create a new module (and put it into the cache) + /******/ var module = installedModules[moduleId] = { + /******/ exports: {}, + /******/ id: moduleId, + /******/ loaded: false + /******/ }; + + /******/ // Execute the module function + /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); + + /******/ // Flag the module as loaded + /******/ module.loaded = true; + + /******/ // Return the exports of the module + /******/ return module.exports; + /******/ } + + + /******/ // expose the modules object (__webpack_modules__) + /******/ __webpack_require__.m = modules; + + /******/ // expose the module cache + /******/ __webpack_require__.c = installedModules; + + /******/ // __webpack_public_path__ + /******/ __webpack_require__.p = ""; + + /******/ // Load entry module and return exports + /******/ return __webpack_require__(0); + /******/ }) + /************************************************************************/ + /******/ ([ + /* 0 */ + /***/ function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(global) {var parse = __webpack_require__(1).parse + var hoist = __webpack_require__(2) + + var InfiniteChecker = __webpack_require__(3) + var Primitives = __webpack_require__(4) + + module.exports = safeEval + module.exports.eval = safeEval + module.exports.FunctionFactory = FunctionFactory + module.exports.Function = FunctionFactory() + + var maxIterations = 1000000 + + // 'eval' with a controlled environment + function safeEval(src, parentContext){ + var tree = prepareAst(src) + var context = Object.create(parentContext || {}) + return finalValue(evaluateAst(tree, context)) + } + + // create a 'Function' constructor for a controlled environment + function FunctionFactory(parentContext){ + var context = Object.create(parentContext || {}) + return function Function() { + // normalize arguments array + var args = Array.prototype.slice.call(arguments) + var src = args.slice(-1)[0] + args = args.slice(0,-1) + if (typeof src === 'string'){ + //HACK: esprima doesn't like returns outside functions + src = parse('function a(){' + src + '}').body[0].body + } + var tree = prepareAst(src) + return getFunction(tree, args, context) + } + } + + // takes an AST or js source and returns an AST + function prepareAst(src){ + var tree = (typeof src === 'string') ? parse(src) : src + return hoist(tree) + } + + // evaluate an AST in the given context + function evaluateAst(tree, context){ + + var safeFunction = FunctionFactory(context) + var primitives = Primitives(context) + + // block scoped context for catch (ex) and 'let' + var blockContext = context + + return walk(tree) + + // recursively walk every node in an array + function walkAll(nodes){ + var result = undefined + for (var i=0;i': return l > r + case '>=': return l >= r + case '|': return l | r + case '&': return l & r + case '^': return l ^ r + case 'instanceof': return l instanceof r + default: return unsupportedExpression(node) + } + + case 'LogicalExpression': + switch(node.operator) { + case '&&': return walk(node.left) && walk(node.right) + case '||': return walk(node.left) || walk(node.right) + default: return unsupportedExpression(node) + } + + case 'ThisExpression': + return blockContext['this'] + + case 'Identifier': + if (node.name === 'undefined'){ + return undefined + } else if (hasProperty(blockContext, node.name, primitives)){ + return finalValue(blockContext[node.name]) + } else { + throw new ReferenceError(node.name + ' is not defined') + } + + case 'CallExpression': + var args = node.arguments.map(function(arg){ + return walk(arg) + }) + var object = null + var target = walk(node.callee) + + if (node.callee.type === 'MemberExpression'){ + object = walk(node.callee.object) + } + return target.apply(object, args) + + case 'MemberExpression': + var obj = walk(node.object) + if (node.computed){ + var prop = walk(node.property) + } else { + var prop = node.property.name + } + obj = primitives.getPropertyObject(obj, prop) + return checkValue(obj[prop]); + + case 'ConditionalExpression': + var val = walk(node.test) + return val ? walk(node.consequent) : walk(node.alternate) + + case 'EmptyStatement': + return + + default: + return unsupportedExpression(node) + } + } + + // safely retrieve a value + function checkValue(value){ + if (value === Function){ + value = safeFunction + } + return finalValue(value) + } + + // block scope context control + function enterBlock(){ + blockContext = Object.create(blockContext) + } + function leaveBlock(){ + blockContext = Object.getPrototypeOf(blockContext) + } + + // set a value in the specified context if allowed + function setValue(object, left, right, operator){ + var name = null + + if (left.type === 'Identifier'){ + name = left.name + // handle parent context shadowing + object = objectForKey(object, name, primitives) + } else if (left.type === 'MemberExpression'){ + if (left.computed){ + name = walk(left.property) + } else { + name = left.property.name + } + object = walk(left.object) + } + + // stop built in properties from being able to be changed + if (canSetProperty(object, name, primitives)){ + switch(operator) { + case undefined: return object[name] = walk(right) + case '=': return object[name] = walk(right) + case '+=': return object[name] += walk(right) + case '-=': return object[name] -= walk(right) + case '++': return object[name]++ + case '--': return object[name]-- + } + } + + } + + } + + // when an unsupported expression is encountered, throw an error + function unsupportedExpression(node){ + console.error(node) + var err = new Error('Unsupported expression: ' + node.type) + err.node = node + throw err + } + + // walk a provided object's prototypal hierarchy to retrieve an inherited object + function objectForKey(object, key, primitives){ + var proto = primitives.getPrototypeOf(object) + if (!proto || hasOwnProperty(object, key)){ + return object + } else { + return objectForKey(proto, key, primitives) + } + } + + function hasProperty(object, key, primitives){ + var proto = primitives.getPrototypeOf(object) + var hasOwn = hasOwnProperty(object, key) + if (object[key] !== undefined){ + return true + } else if (!proto || hasOwn){ + return hasOwn + } else { + return hasProperty(proto, key, primitives) + } + } + + function hasOwnProperty(object, key){ + return Object.prototype.hasOwnProperty.call(object, key) + } + + function propertyIsEnumerable(object, key){ + return Object.prototype.propertyIsEnumerable.call(object, key) + } + + + // determine if we have write access to a property + function canSetProperty(object, property, primitives){ + if (property === '__proto__' || primitives.isPrimitive(object)){ + return false + } else if (object != null){ + + if (hasOwnProperty(object, property)){ + if (propertyIsEnumerable(object, property)){ + return true + } else { + return false + } + } else { + return canSetProperty(primitives.getPrototypeOf(object), property, primitives) + } + + } else { + return true + } + } + + // generate a function with specified context + function getFunction(body, params, parentContext){ + return function(){ + var context = Object.create(parentContext) + if (this == global){ + context['this'] = null + } else { + context['this'] = this + } + // normalize arguments array + var args = Array.prototype.slice.call(arguments) + context['arguments'] = arguments + args.forEach(function(arg,idx){ + var param = params[idx] + if (param){ + context[param] = arg + } + }) + var result = evaluateAst(body, context) + + if (result instanceof ReturnValue){ + return result.value + } + } + } + + function finalValue(value){ + if (value instanceof ReturnValue){ + return value.value + } + return value + } + + // get the name of an identifier + function getName(identifier){ + return identifier.name + } + + // a ReturnValue struct for differentiating between expression result and return statement + function ReturnValue(type, value){ + this.type = type + this.value = value + } + + /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()))) + + /***/ }, + /* 1 */ + /***/ function(module, exports, __webpack_require__) { + + var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/* + Copyright (C) 2012 Ariya Hidayat + Copyright (C) 2012 Mathias Bynens + Copyright (C) 2012 Joost-Wim Boekesteijn + Copyright (C) 2012 Kris Kowal + Copyright (C) 2012 Yusuke Suzuki + Copyright (C) 2012 Arpad Borsos + Copyright (C) 2011 Ariya Hidayat + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + + /*jslint bitwise:true plusplus:true */ + /*global esprima:true, define:true, exports:true, window: true, + throwError: true, createLiteral: true, generateStatement: true, + parseAssignmentExpression: true, parseBlock: true, parseExpression: true, + parseFunctionDeclaration: true, parseFunctionExpression: true, + parseFunctionSourceElements: true, parseVariableIdentifier: true, + parseLeftHandSideExpression: true, + parseStatement: true, parseSourceElement: true */ + + (function (root, factory) { + 'use strict'; + + // Universal Module Definition (UMD) to support AMD, CommonJS/Node.js, + // Rhino, and plain browser loading. + if (true) { + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); + } else if (typeof exports !== 'undefined') { + factory(exports); + } else { + factory((root.esprima = {})); + } + }(this, function (exports) { + 'use strict'; + + var Token, + TokenName, + Syntax, + PropertyKind, + Messages, + Regex, + source, + strict, + index, + lineNumber, + lineStart, + length, + buffer, + state, + extra; + + Token = { + BooleanLiteral: 1, + EOF: 2, + Identifier: 3, + Keyword: 4, + NullLiteral: 5, + NumericLiteral: 6, + Punctuator: 7, + StringLiteral: 8 + }; + + TokenName = {}; + TokenName[Token.BooleanLiteral] = 'Boolean'; + TokenName[Token.EOF] = ''; + TokenName[Token.Identifier] = 'Identifier'; + TokenName[Token.Keyword] = 'Keyword'; + TokenName[Token.NullLiteral] = 'Null'; + TokenName[Token.NumericLiteral] = 'Numeric'; + TokenName[Token.Punctuator] = 'Punctuator'; + TokenName[Token.StringLiteral] = 'String'; + + Syntax = { + AssignmentExpression: 'AssignmentExpression', + ArrayExpression: 'ArrayExpression', + BlockStatement: 'BlockStatement', + BinaryExpression: 'BinaryExpression', + BreakStatement: 'BreakStatement', + CallExpression: 'CallExpression', + CatchClause: 'CatchClause', + ConditionalExpression: 'ConditionalExpression', + ContinueStatement: 'ContinueStatement', + DoWhileStatement: 'DoWhileStatement', + DebuggerStatement: 'DebuggerStatement', + EmptyStatement: 'EmptyStatement', + ExpressionStatement: 'ExpressionStatement', + ForStatement: 'ForStatement', + ForInStatement: 'ForInStatement', + FunctionDeclaration: 'FunctionDeclaration', + FunctionExpression: 'FunctionExpression', + Identifier: 'Identifier', + IfStatement: 'IfStatement', + Literal: 'Literal', + LabeledStatement: 'LabeledStatement', + LogicalExpression: 'LogicalExpression', + MemberExpression: 'MemberExpression', + NewExpression: 'NewExpression', + ObjectExpression: 'ObjectExpression', + Program: 'Program', + Property: 'Property', + ReturnStatement: 'ReturnStatement', + SequenceExpression: 'SequenceExpression', + SwitchStatement: 'SwitchStatement', + SwitchCase: 'SwitchCase', + ThisExpression: 'ThisExpression', + ThrowStatement: 'ThrowStatement', + TryStatement: 'TryStatement', + UnaryExpression: 'UnaryExpression', + UpdateExpression: 'UpdateExpression', + VariableDeclaration: 'VariableDeclaration', + VariableDeclarator: 'VariableDeclarator', + WhileStatement: 'WhileStatement', + WithStatement: 'WithStatement' + }; + + PropertyKind = { + Data: 1, + Get: 2, + Set: 4 + }; + + // Error messages should be identical to V8. + Messages = { + UnexpectedToken: 'Unexpected token %0', + UnexpectedNumber: 'Unexpected number', + UnexpectedString: 'Unexpected string', + UnexpectedIdentifier: 'Unexpected identifier', + UnexpectedReserved: 'Unexpected reserved word', + UnexpectedEOS: 'Unexpected end of input', + NewlineAfterThrow: 'Illegal newline after throw', + InvalidRegExp: 'Invalid regular expression', + UnterminatedRegExp: 'Invalid regular expression: missing /', + InvalidLHSInAssignment: 'Invalid left-hand side in assignment', + InvalidLHSInForIn: 'Invalid left-hand side in for-in', + MultipleDefaultsInSwitch: 'More than one default clause in switch statement', + NoCatchOrFinally: 'Missing catch or finally after try', + UnknownLabel: 'Undefined label \'%0\'', + Redeclaration: '%0 \'%1\' has already been declared', + IllegalContinue: 'Illegal continue statement', + IllegalBreak: 'Illegal break statement', + IllegalReturn: 'Illegal return statement', + StrictModeWith: 'Strict mode code may not include a with statement', + StrictCatchVariable: 'Catch variable may not be eval or arguments in strict mode', + StrictVarName: 'Variable name may not be eval or arguments in strict mode', + StrictParamName: 'Parameter name eval or arguments is not allowed in strict mode', + StrictParamDupe: 'Strict mode function may not have duplicate parameter names', + StrictFunctionName: 'Function name may not be eval or arguments in strict mode', + StrictOctalLiteral: 'Octal literals are not allowed in strict mode.', + StrictDelete: 'Delete of an unqualified identifier in strict mode.', + StrictDuplicateProperty: 'Duplicate data property in object literal not allowed in strict mode', + AccessorDataProperty: 'Object literal may not have data and accessor property with the same name', + AccessorGetSet: 'Object literal may not have multiple get/set accessors with the same name', + StrictLHSAssignment: 'Assignment to eval or arguments is not allowed in strict mode', + StrictLHSPostfix: 'Postfix increment/decrement may not have eval or arguments operand in strict mode', + StrictLHSPrefix: 'Prefix increment/decrement may not have eval or arguments operand in strict mode', + StrictReservedWord: 'Use of future reserved word in strict mode' + }; + + // See also tools/generate-unicode-regex.py. + Regex = { + NonAsciiIdentifierStart: new RegExp('[\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05d0-\u05ea\u05f0-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u08a0\u08a2-\u08ac\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097f\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c33\u0c35-\u0c39\u0c3d\u0c58\u0c59\u0c60\u0c61\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d60\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f4\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f0\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1877\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191c\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19c1-\u19c7\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1ce9-\u1cec\u1cee-\u1cf1\u1cf5\u1cf6\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2e2f\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309d-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fcc\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua697\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua78e\ua790-\ua793\ua7a0-\ua7aa\ua7f8-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa80-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uabc0-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc]'), + NonAsciiIdentifierPart: new RegExp('[\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0300-\u0374\u0376\u0377\u037a-\u037d\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u0483-\u0487\u048a-\u0527\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u05d0-\u05ea\u05f0-\u05f2\u0610-\u061a\u0620-\u0669\u066e-\u06d3\u06d5-\u06dc\u06df-\u06e8\u06ea-\u06fc\u06ff\u0710-\u074a\u074d-\u07b1\u07c0-\u07f5\u07fa\u0800-\u082d\u0840-\u085b\u08a0\u08a2-\u08ac\u08e4-\u08fe\u0900-\u0963\u0966-\u096f\u0971-\u0977\u0979-\u097f\u0981-\u0983\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7\u09c8\u09cb-\u09ce\u09d7\u09dc\u09dd\u09df-\u09e3\u09e6-\u09f1\u0a01-\u0a03\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a75\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0aef\u0b01-\u0b03\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b56\u0b57\u0b5c\u0b5d\u0b5f-\u0b63\u0b66-\u0b6f\u0b71\u0b82\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bef\u0c01-\u0c03\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c33\u0c35-\u0c39\u0c3d-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c58\u0c59\u0c60-\u0c63\u0c66-\u0c6f\u0c82\u0c83\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1\u0cf2\u0d02\u0d03\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d-\u0d44\u0d46-\u0d48\u0d4a-\u0d4e\u0d57\u0d60-\u0d63\u0d66-\u0d6f\u0d7a-\u0d7f\u0d82\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0df2\u0df3\u0e01-\u0e3a\u0e40-\u0e4e\u0e50-\u0e59\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb9\u0ebb-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ecd\u0ed0-\u0ed9\u0edc-\u0edf\u0f00\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e-\u0f47\u0f49-\u0f6c\u0f71-\u0f84\u0f86-\u0f97\u0f99-\u0fbc\u0fc6\u1000-\u1049\u1050-\u109d\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u135f\u1380-\u138f\u13a0-\u13f4\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f0\u1700-\u170c\u170e-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772\u1773\u1780-\u17d3\u17d7\u17dc\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u1820-\u1877\u1880-\u18aa\u18b0-\u18f5\u1900-\u191c\u1920-\u192b\u1930-\u193b\u1946-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19d9\u1a00-\u1a1b\u1a20-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa7\u1b00-\u1b4b\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1bf3\u1c00-\u1c37\u1c40-\u1c49\u1c4d-\u1c7d\u1cd0-\u1cd2\u1cd4-\u1cf6\u1d00-\u1de6\u1dfc-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u200c\u200d\u203f\u2040\u2054\u2071\u207f\u2090-\u209c\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2dff\u2e2f\u3005-\u3007\u3021-\u302f\u3031-\u3035\u3038-\u303c\u3041-\u3096\u3099\u309a\u309d-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fcc\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua62b\ua640-\ua66f\ua674-\ua67d\ua67f-\ua697\ua69f-\ua6f1\ua717-\ua71f\ua722-\ua788\ua78b-\ua78e\ua790-\ua793\ua7a0-\ua7aa\ua7f8-\ua827\ua840-\ua873\ua880-\ua8c4\ua8d0-\ua8d9\ua8e0-\ua8f7\ua8fb\ua900-\ua92d\ua930-\ua953\ua960-\ua97c\ua980-\ua9c0\ua9cf-\ua9d9\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa60-\uaa76\uaa7a\uaa7b\uaa80-\uaac2\uaadb-\uaadd\uaae0-\uaaef\uaaf2-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uabc0-\uabea\uabec\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe00-\ufe0f\ufe20-\ufe26\ufe33\ufe34\ufe4d-\ufe4f\ufe70-\ufe74\ufe76-\ufefc\uff10-\uff19\uff21-\uff3a\uff3f\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc]') + }; + + // Ensure the condition is true, otherwise throw an error. + // This is only to have a better contract semantic, i.e. another safety net + // to catch a logic error. The condition shall be fulfilled in normal case. + // Do NOT use this to enforce a certain condition on any user input. + + function assert(condition, message) { + if (!condition) { + throw new Error('ASSERT: ' + message); + } + } + + function sliceSource(from, to) { + return source.slice(from, to); + } + + if (typeof 'esprima'[0] === 'undefined') { + sliceSource = function sliceArraySource(from, to) { + return source.slice(from, to).join(''); + }; + } + + function isDecimalDigit(ch) { + return '0123456789'.indexOf(ch) >= 0; + } + + function isHexDigit(ch) { + return '0123456789abcdefABCDEF'.indexOf(ch) >= 0; + } + + function isOctalDigit(ch) { + return '01234567'.indexOf(ch) >= 0; + } + + + // 7.2 White Space + + function isWhiteSpace(ch) { + return (ch === ' ') || (ch === '\u0009') || (ch === '\u000B') || + (ch === '\u000C') || (ch === '\u00A0') || + (ch.charCodeAt(0) >= 0x1680 && + '\u1680\u180E\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\uFEFF'.indexOf(ch) >= 0); + } + + // 7.3 Line Terminators + + function isLineTerminator(ch) { + return (ch === '\n' || ch === '\r' || ch === '\u2028' || ch === '\u2029'); + } + + // 7.6 Identifier Names and Identifiers + + function isIdentifierStart(ch) { + return (ch === '$') || (ch === '_') || (ch === '\\') || + (ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z') || + ((ch.charCodeAt(0) >= 0x80) && Regex.NonAsciiIdentifierStart.test(ch)); + } + + function isIdentifierPart(ch) { + return (ch === '$') || (ch === '_') || (ch === '\\') || + (ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z') || + ((ch >= '0') && (ch <= '9')) || + ((ch.charCodeAt(0) >= 0x80) && Regex.NonAsciiIdentifierPart.test(ch)); + } + + // 7.6.1.2 Future Reserved Words + + function isFutureReservedWord(id) { + switch (id) { + + // Future reserved words. + case 'class': + case 'enum': + case 'export': + case 'extends': + case 'import': + case 'super': + return true; + } + + return false; + } + + function isStrictModeReservedWord(id) { + switch (id) { + + // Strict Mode reserved words. + case 'implements': + case 'interface': + case 'package': + case 'private': + case 'protected': + case 'public': + case 'static': + case 'yield': + case 'let': + return true; + } + + return false; + } + + function isRestrictedWord(id) { + return id === 'eval' || id === 'arguments'; + } + + // 7.6.1.1 Keywords + + function isKeyword(id) { + var keyword = false; + switch (id.length) { + case 2: + keyword = (id === 'if') || (id === 'in') || (id === 'do'); + break; + case 3: + keyword = (id === 'var') || (id === 'for') || (id === 'new') || (id === 'try'); + break; + case 4: + keyword = (id === 'this') || (id === 'else') || (id === 'case') || (id === 'void') || (id === 'with'); + break; + case 5: + keyword = (id === 'while') || (id === 'break') || (id === 'catch') || (id === 'throw'); + break; + case 6: + keyword = (id === 'return') || (id === 'typeof') || (id === 'delete') || (id === 'switch'); + break; + case 7: + keyword = (id === 'default') || (id === 'finally'); + break; + case 8: + keyword = (id === 'function') || (id === 'continue') || (id === 'debugger'); + break; + case 10: + keyword = (id === 'instanceof'); + break; + } + + if (keyword) { + return true; + } + + switch (id) { + // Future reserved words. + // 'const' is specialized as Keyword in V8. + case 'const': + return true; + + // For compatiblity to SpiderMonkey and ES.next + case 'yield': + case 'let': + return true; + } + + if (strict && isStrictModeReservedWord(id)) { + return true; + } + + return isFutureReservedWord(id); + } + + // 7.4 Comments + + function skipComment() { + var ch, blockComment, lineComment; + + blockComment = false; + lineComment = false; + + while (index < length) { + ch = source[index]; + + if (lineComment) { + ch = source[index++]; + if (isLineTerminator(ch)) { + lineComment = false; + if (ch === '\r' && source[index] === '\n') { + ++index; + } + ++lineNumber; + lineStart = index; + } + } else if (blockComment) { + if (isLineTerminator(ch)) { + if (ch === '\r' && source[index + 1] === '\n') { + ++index; + } + ++lineNumber; + ++index; + lineStart = index; + if (index >= length) { + throwError({}, Messages.UnexpectedToken, 'ILLEGAL'); + } + } else { + ch = source[index++]; + if (index >= length) { + throwError({}, Messages.UnexpectedToken, 'ILLEGAL'); + } + if (ch === '*') { + ch = source[index]; + if (ch === '/') { + ++index; + blockComment = false; + } + } + } + } else if (ch === '/') { + ch = source[index + 1]; + if (ch === '/') { + index += 2; + lineComment = true; + } else if (ch === '*') { + index += 2; + blockComment = true; + if (index >= length) { + throwError({}, Messages.UnexpectedToken, 'ILLEGAL'); + } + } else { + break; + } + } else if (isWhiteSpace(ch)) { + ++index; + } else if (isLineTerminator(ch)) { + ++index; + if (ch === '\r' && source[index] === '\n') { + ++index; + } + ++lineNumber; + lineStart = index; + } else { + break; + } + } + } + + function scanHexEscape(prefix) { + var i, len, ch, code = 0; + + len = (prefix === 'u') ? 4 : 2; + for (i = 0; i < len; ++i) { + if (index < length && isHexDigit(source[index])) { + ch = source[index++]; + code = code * 16 + '0123456789abcdef'.indexOf(ch.toLowerCase()); + } else { + return ''; + } + } + return String.fromCharCode(code); + } + + function scanIdentifier() { + var ch, start, id, restore; + + ch = source[index]; + if (!isIdentifierStart(ch)) { + return; + } + + start = index; + if (ch === '\\') { + ++index; + if (source[index] !== 'u') { + return; + } + ++index; + restore = index; + ch = scanHexEscape('u'); + if (ch) { + if (ch === '\\' || !isIdentifierStart(ch)) { + return; + } + id = ch; + } else { + index = restore; + id = 'u'; + } + } else { + id = source[index++]; + } + + while (index < length) { + ch = source[index]; + if (!isIdentifierPart(ch)) { + break; + } + if (ch === '\\') { + ++index; + if (source[index] !== 'u') { + return; + } + ++index; + restore = index; + ch = scanHexEscape('u'); + if (ch) { + if (ch === '\\' || !isIdentifierPart(ch)) { + return; + } + id += ch; + } else { + index = restore; + id += 'u'; + } + } else { + id += source[index++]; + } + } + + // There is no keyword or literal with only one character. + // Thus, it must be an identifier. + if (id.length === 1) { + return { + type: Token.Identifier, + value: id, + lineNumber: lineNumber, + lineStart: lineStart, + range: [start, index] + }; + } + + if (isKeyword(id)) { + return { + type: Token.Keyword, + value: id, + lineNumber: lineNumber, + lineStart: lineStart, + range: [start, index] + }; + } + + // 7.8.1 Null Literals + + if (id === 'null') { + return { + type: Token.NullLiteral, + value: id, + lineNumber: lineNumber, + lineStart: lineStart, + range: [start, index] + }; + } + + // 7.8.2 Boolean Literals + + if (id === 'true' || id === 'false') { + return { + type: Token.BooleanLiteral, + value: id, + lineNumber: lineNumber, + lineStart: lineStart, + range: [start, index] + }; + } + + return { + type: Token.Identifier, + value: id, + lineNumber: lineNumber, + lineStart: lineStart, + range: [start, index] + }; + } + + // 7.7 Punctuators + + function scanPunctuator() { + var start = index, + ch1 = source[index], + ch2, + ch3, + ch4; + + // Check for most common single-character punctuators. + + if (ch1 === ';' || ch1 === '{' || ch1 === '}') { + ++index; + return { + type: Token.Punctuator, + value: ch1, + lineNumber: lineNumber, + lineStart: lineStart, + range: [start, index] + }; + } + + if (ch1 === ',' || ch1 === '(' || ch1 === ')') { + ++index; + return { + type: Token.Punctuator, + value: ch1, + lineNumber: lineNumber, + lineStart: lineStart, + range: [start, index] + }; + } + + // Dot (.) can also start a floating-point number, hence the need + // to check the next character. + + ch2 = source[index + 1]; + if (ch1 === '.' && !isDecimalDigit(ch2)) { + return { + type: Token.Punctuator, + value: source[index++], + lineNumber: lineNumber, + lineStart: lineStart, + range: [start, index] + }; + } + + // Peek more characters. + + ch3 = source[index + 2]; + ch4 = source[index + 3]; + + // 4-character punctuator: >>>= + + if (ch1 === '>' && ch2 === '>' && ch3 === '>') { + if (ch4 === '=') { + index += 4; + return { + type: Token.Punctuator, + value: '>>>=', + lineNumber: lineNumber, + lineStart: lineStart, + range: [start, index] + }; + } + } + + // 3-character punctuators: === !== >>> <<= >>= + + if (ch1 === '=' && ch2 === '=' && ch3 === '=') { + index += 3; + return { + type: Token.Punctuator, + value: '===', + lineNumber: lineNumber, + lineStart: lineStart, + range: [start, index] + }; + } + + if (ch1 === '!' && ch2 === '=' && ch3 === '=') { + index += 3; + return { + type: Token.Punctuator, + value: '!==', + lineNumber: lineNumber, + lineStart: lineStart, + range: [start, index] + }; + } + + if (ch1 === '>' && ch2 === '>' && ch3 === '>') { + index += 3; + return { + type: Token.Punctuator, + value: '>>>', + lineNumber: lineNumber, + lineStart: lineStart, + range: [start, index] + }; + } + + if (ch1 === '<' && ch2 === '<' && ch3 === '=') { + index += 3; + return { + type: Token.Punctuator, + value: '<<=', + lineNumber: lineNumber, + lineStart: lineStart, + range: [start, index] + }; + } + + if (ch1 === '>' && ch2 === '>' && ch3 === '=') { + index += 3; + return { + type: Token.Punctuator, + value: '>>=', + lineNumber: lineNumber, + lineStart: lineStart, + range: [start, index] + }; + } + + // 2-character punctuators: <= >= == != ++ -- << >> && || + // += -= *= %= &= |= ^= /= + + if (ch2 === '=') { + if ('<>=!+-*%&|^/'.indexOf(ch1) >= 0) { + index += 2; + return { + type: Token.Punctuator, + value: ch1 + ch2, + lineNumber: lineNumber, + lineStart: lineStart, + range: [start, index] + }; + } + } + + if (ch1 === ch2 && ('+-<>&|'.indexOf(ch1) >= 0)) { + if ('+-<>&|'.indexOf(ch2) >= 0) { + index += 2; + return { + type: Token.Punctuator, + value: ch1 + ch2, + lineNumber: lineNumber, + lineStart: lineStart, + range: [start, index] + }; + } + } + + // The remaining 1-character punctuators. + + if ('[]<>+-*%&|^!~?:=/'.indexOf(ch1) >= 0) { + return { + type: Token.Punctuator, + value: source[index++], + lineNumber: lineNumber, + lineStart: lineStart, + range: [start, index] + }; + } + } + + // 7.8.3 Numeric Literals + + function scanNumericLiteral() { + var number, start, ch; + + ch = source[index]; + assert(isDecimalDigit(ch) || (ch === '.'), + 'Numeric literal must start with a decimal digit or a decimal point'); + + start = index; + number = ''; + if (ch !== '.') { + number = source[index++]; + ch = source[index]; + + // Hex number starts with '0x'. + // Octal number starts with '0'. + if (number === '0') { + if (ch === 'x' || ch === 'X') { + number += source[index++]; + while (index < length) { + ch = source[index]; + if (!isHexDigit(ch)) { + break; + } + number += source[index++]; + } + + if (number.length <= 2) { + // only 0x + throwError({}, Messages.UnexpectedToken, 'ILLEGAL'); + } + + if (index < length) { + ch = source[index]; + if (isIdentifierStart(ch)) { + throwError({}, Messages.UnexpectedToken, 'ILLEGAL'); + } + } + return { + type: Token.NumericLiteral, + value: parseInt(number, 16), + lineNumber: lineNumber, + lineStart: lineStart, + range: [start, index] + }; + } else if (isOctalDigit(ch)) { + number += source[index++]; + while (index < length) { + ch = source[index]; + if (!isOctalDigit(ch)) { + break; + } + number += source[index++]; + } + + if (index < length) { + ch = source[index]; + if (isIdentifierStart(ch) || isDecimalDigit(ch)) { + throwError({}, Messages.UnexpectedToken, 'ILLEGAL'); + } + } + return { + type: Token.NumericLiteral, + value: parseInt(number, 8), + octal: true, + lineNumber: lineNumber, + lineStart: lineStart, + range: [start, index] + }; + } + + // decimal number starts with '0' such as '09' is illegal. + if (isDecimalDigit(ch)) { + throwError({}, Messages.UnexpectedToken, 'ILLEGAL'); + } + } + + while (index < length) { + ch = source[index]; + if (!isDecimalDigit(ch)) { + break; + } + number += source[index++]; + } + } + + if (ch === '.') { + number += source[index++]; + while (index < length) { + ch = source[index]; + if (!isDecimalDigit(ch)) { + break; + } + number += source[index++]; + } + } + + if (ch === 'e' || ch === 'E') { + number += source[index++]; + + ch = source[index]; + if (ch === '+' || ch === '-') { + number += source[index++]; + } + + ch = source[index]; + if (isDecimalDigit(ch)) { + number += source[index++]; + while (index < length) { + ch = source[index]; + if (!isDecimalDigit(ch)) { + break; + } + number += source[index++]; + } + } else { + ch = 'character ' + ch; + if (index >= length) { + ch = ''; + } + throwError({}, Messages.UnexpectedToken, 'ILLEGAL'); + } + } + + if (index < length) { + ch = source[index]; + if (isIdentifierStart(ch)) { + throwError({}, Messages.UnexpectedToken, 'ILLEGAL'); + } + } + + return { + type: Token.NumericLiteral, + value: parseFloat(number), + lineNumber: lineNumber, + lineStart: lineStart, + range: [start, index] + }; + } + + // 7.8.4 String Literals + + function scanStringLiteral() { + var str = '', quote, start, ch, code, unescaped, restore, octal = false; + + quote = source[index]; + assert((quote === '\'' || quote === '"'), + 'String literal must starts with a quote'); + + start = index; + ++index; + + while (index < length) { + ch = source[index++]; + + if (ch === quote) { + quote = ''; + break; + } else if (ch === '\\') { + ch = source[index++]; + if (!isLineTerminator(ch)) { + switch (ch) { + case 'n': + str += '\n'; + break; + case 'r': + str += '\r'; + break; + case 't': + str += '\t'; + break; + case 'u': + case 'x': + restore = index; + unescaped = scanHexEscape(ch); + if (unescaped) { + str += unescaped; + } else { + index = restore; + str += ch; + } + break; + case 'b': + str += '\b'; + break; + case 'f': + str += '\f'; + break; + case 'v': + str += '\x0B'; + break; + + default: + if (isOctalDigit(ch)) { + code = '01234567'.indexOf(ch); + + // \0 is not octal escape sequence + if (code !== 0) { + octal = true; + } + + if (index < length && isOctalDigit(source[index])) { + octal = true; + code = code * 8 + '01234567'.indexOf(source[index++]); + + // 3 digits are only allowed when string starts + // with 0, 1, 2, 3 + if ('0123'.indexOf(ch) >= 0 && + index < length && + isOctalDigit(source[index])) { + code = code * 8 + '01234567'.indexOf(source[index++]); + } + } + str += String.fromCharCode(code); + } else { + str += ch; + } + break; + } + } else { + ++lineNumber; + if (ch === '\r' && source[index] === '\n') { + ++index; + } + } + } else if (isLineTerminator(ch)) { + break; + } else { + str += ch; + } + } + + if (quote !== '') { + throwError({}, Messages.UnexpectedToken, 'ILLEGAL'); + } + + return { + type: Token.StringLiteral, + value: str, + octal: octal, + lineNumber: lineNumber, + lineStart: lineStart, + range: [start, index] + }; + } + + function scanRegExp() { + var str, ch, start, pattern, flags, value, classMarker = false, restore, terminated = false; + + buffer = null; + skipComment(); + + start = index; + ch = source[index]; + assert(ch === '/', 'Regular expression literal must start with a slash'); + str = source[index++]; + + while (index < length) { + ch = source[index++]; + str += ch; + if (ch === '\\') { + ch = source[index++]; + // ECMA-262 7.8.5 + if (isLineTerminator(ch)) { + throwError({}, Messages.UnterminatedRegExp); + } + str += ch; + } else if (classMarker) { + if (ch === ']') { + classMarker = false; + } + } else { + if (ch === '/') { + terminated = true; + break; + } else if (ch === '[') { + classMarker = true; + } else if (isLineTerminator(ch)) { + throwError({}, Messages.UnterminatedRegExp); + } + } + } + + if (!terminated) { + throwError({}, Messages.UnterminatedRegExp); + } + + // Exclude leading and trailing slash. + pattern = str.substr(1, str.length - 2); + + flags = ''; + while (index < length) { + ch = source[index]; + if (!isIdentifierPart(ch)) { + break; + } + + ++index; + if (ch === '\\' && index < length) { + ch = source[index]; + if (ch === 'u') { + ++index; + restore = index; + ch = scanHexEscape('u'); + if (ch) { + flags += ch; + str += '\\u'; + for (; restore < index; ++restore) { + str += source[restore]; + } + } else { + index = restore; + flags += 'u'; + str += '\\u'; + } + } else { + str += '\\'; + } + } else { + flags += ch; + str += ch; + } + } + + try { + value = new RegExp(pattern, flags); + } catch (e) { + throwError({}, Messages.InvalidRegExp); + } + + return { + literal: str, + value: value, + range: [start, index] + }; + } + + function isIdentifierName(token) { + return token.type === Token.Identifier || + token.type === Token.Keyword || + token.type === Token.BooleanLiteral || + token.type === Token.NullLiteral; + } + + function advance() { + var ch, token; + + skipComment(); + + if (index >= length) { + return { + type: Token.EOF, + lineNumber: lineNumber, + lineStart: lineStart, + range: [index, index] + }; + } + + token = scanPunctuator(); + if (typeof token !== 'undefined') { + return token; + } + + ch = source[index]; + + if (ch === '\'' || ch === '"') { + return scanStringLiteral(); + } + + if (ch === '.' || isDecimalDigit(ch)) { + return scanNumericLiteral(); + } + + token = scanIdentifier(); + if (typeof token !== 'undefined') { + return token; + } + + throwError({}, Messages.UnexpectedToken, 'ILLEGAL'); + } + + function lex() { + var token; + + if (buffer) { + index = buffer.range[1]; + lineNumber = buffer.lineNumber; + lineStart = buffer.lineStart; + token = buffer; + buffer = null; + return token; + } + + buffer = null; + return advance(); + } + + function lookahead() { + var pos, line, start; + + if (buffer !== null) { + return buffer; + } + + pos = index; + line = lineNumber; + start = lineStart; + buffer = advance(); + index = pos; + lineNumber = line; + lineStart = start; + + return buffer; + } + + // Return true if there is a line terminator before the next token. + + function peekLineTerminator() { + var pos, line, start, found; + + pos = index; + line = lineNumber; + start = lineStart; + skipComment(); + found = lineNumber !== line; + index = pos; + lineNumber = line; + lineStart = start; + + return found; + } + + // Throw an exception + + function throwError(token, messageFormat) { + var error, + args = Array.prototype.slice.call(arguments, 2), + msg = messageFormat.replace( + /%(\d)/g, + function (whole, index) { + return args[index] || ''; + } + ); + + if (typeof token.lineNumber === 'number') { + error = new Error('Line ' + token.lineNumber + ': ' + msg); + error.index = token.range[0]; + error.lineNumber = token.lineNumber; + error.column = token.range[0] - lineStart + 1; + } else { + error = new Error('Line ' + lineNumber + ': ' + msg); + error.index = index; + error.lineNumber = lineNumber; + error.column = index - lineStart + 1; + } + + throw error; + } + + function throwErrorTolerant() { + try { + throwError.apply(null, arguments); + } catch (e) { + if (extra.errors) { + extra.errors.push(e); + } else { + throw e; + } + } + } + + + // Throw an exception because of the token. + + function throwUnexpected(token) { + if (token.type === Token.EOF) { + throwError(token, Messages.UnexpectedEOS); + } + + if (token.type === Token.NumericLiteral) { + throwError(token, Messages.UnexpectedNumber); + } + + if (token.type === Token.StringLiteral) { + throwError(token, Messages.UnexpectedString); + } + + if (token.type === Token.Identifier) { + throwError(token, Messages.UnexpectedIdentifier); + } + + if (token.type === Token.Keyword) { + if (isFutureReservedWord(token.value)) { + throwError(token, Messages.UnexpectedReserved); + } else if (strict && isStrictModeReservedWord(token.value)) { + throwErrorTolerant(token, Messages.StrictReservedWord); + return; + } + throwError(token, Messages.UnexpectedToken, token.value); + } + + // BooleanLiteral, NullLiteral, or Punctuator. + throwError(token, Messages.UnexpectedToken, token.value); + } + + // Expect the next token to match the specified punctuator. + // If not, an exception will be thrown. + + function expect(value) { + var token = lex(); + if (token.type !== Token.Punctuator || token.value !== value) { + throwUnexpected(token); + } + } + + // Expect the next token to match the specified keyword. + // If not, an exception will be thrown. + + function expectKeyword(keyword) { + var token = lex(); + if (token.type !== Token.Keyword || token.value !== keyword) { + throwUnexpected(token); + } + } + + // Return true if the next token matches the specified punctuator. + + function match(value) { + var token = lookahead(); + return token.type === Token.Punctuator && token.value === value; + } + + // Return true if the next token matches the specified keyword + + function matchKeyword(keyword) { + var token = lookahead(); + return token.type === Token.Keyword && token.value === keyword; + } + + // Return true if the next token is an assignment operator + + function matchAssign() { + var token = lookahead(), + op = token.value; + + if (token.type !== Token.Punctuator) { + return false; + } + return op === '=' || + op === '*=' || + op === '/=' || + op === '%=' || + op === '+=' || + op === '-=' || + op === '<<=' || + op === '>>=' || + op === '>>>=' || + op === '&=' || + op === '^=' || + op === '|='; + } + + function consumeSemicolon() { + var token, line; + + // Catch the very common case first. + if (source[index] === ';') { + lex(); + return; + } + + line = lineNumber; + skipComment(); + if (lineNumber !== line) { + return; + } + + if (match(';')) { + lex(); + return; + } + + token = lookahead(); + if (token.type !== Token.EOF && !match('}')) { + throwUnexpected(token); + } + } + + // Return true if provided expression is LeftHandSideExpression + + function isLeftHandSide(expr) { + return expr.type === Syntax.Identifier || expr.type === Syntax.MemberExpression; + } + + // 11.1.4 Array Initialiser + + function parseArrayInitialiser() { + var elements = []; + + expect('['); + + while (!match(']')) { + if (match(',')) { + lex(); + elements.push(null); + } else { + elements.push(parseAssignmentExpression()); + + if (!match(']')) { + expect(','); + } + } + } + + expect(']'); + + return { + type: Syntax.ArrayExpression, + elements: elements + }; + } + + // 11.1.5 Object Initialiser + + function parsePropertyFunction(param, first) { + var previousStrict, body; + + previousStrict = strict; + body = parseFunctionSourceElements(); + if (first && strict && isRestrictedWord(param[0].name)) { + throwErrorTolerant(first, Messages.StrictParamName); + } + strict = previousStrict; + + return { + type: Syntax.FunctionExpression, + id: null, + params: param, + defaults: [], + body: body, + rest: null, + generator: false, + expression: false + }; + } + + function parseObjectPropertyKey() { + var token = lex(); + + // Note: This function is called only from parseObjectProperty(), where + // EOF and Punctuator tokens are already filtered out. + + if (token.type === Token.StringLiteral || token.type === Token.NumericLiteral) { + if (strict && token.octal) { + throwErrorTolerant(token, Messages.StrictOctalLiteral); + } + return createLiteral(token); + } + + return { + type: Syntax.Identifier, + name: token.value + }; + } + + function parseObjectProperty() { + var token, key, id, param; + + token = lookahead(); + + if (token.type === Token.Identifier) { + + id = parseObjectPropertyKey(); + + // Property Assignment: Getter and Setter. + + if (token.value === 'get' && !match(':')) { + key = parseObjectPropertyKey(); + expect('('); + expect(')'); + return { + type: Syntax.Property, + key: key, + value: parsePropertyFunction([]), + kind: 'get' + }; + } else if (token.value === 'set' && !match(':')) { + key = parseObjectPropertyKey(); + expect('('); + token = lookahead(); + if (token.type !== Token.Identifier) { + expect(')'); + throwErrorTolerant(token, Messages.UnexpectedToken, token.value); + return { + type: Syntax.Property, + key: key, + value: parsePropertyFunction([]), + kind: 'set' + }; + } else { + param = [ parseVariableIdentifier() ]; + expect(')'); + return { + type: Syntax.Property, + key: key, + value: parsePropertyFunction(param, token), + kind: 'set' + }; + } + } else { + expect(':'); + return { + type: Syntax.Property, + key: id, + value: parseAssignmentExpression(), + kind: 'init' + }; + } + } else if (token.type === Token.EOF || token.type === Token.Punctuator) { + throwUnexpected(token); + } else { + key = parseObjectPropertyKey(); + expect(':'); + return { + type: Syntax.Property, + key: key, + value: parseAssignmentExpression(), + kind: 'init' + }; + } + } + + function parseObjectInitialiser() { + var properties = [], property, name, kind, map = {}, toString = String; + + expect('{'); + + while (!match('}')) { + property = parseObjectProperty(); + + if (property.key.type === Syntax.Identifier) { + name = property.key.name; + } else { + name = toString(property.key.value); + } + kind = (property.kind === 'init') ? PropertyKind.Data : (property.kind === 'get') ? PropertyKind.Get : PropertyKind.Set; + if (Object.prototype.hasOwnProperty.call(map, name)) { + if (map[name] === PropertyKind.Data) { + if (strict && kind === PropertyKind.Data) { + throwErrorTolerant({}, Messages.StrictDuplicateProperty); + } else if (kind !== PropertyKind.Data) { + throwErrorTolerant({}, Messages.AccessorDataProperty); + } + } else { + if (kind === PropertyKind.Data) { + throwErrorTolerant({}, Messages.AccessorDataProperty); + } else if (map[name] & kind) { + throwErrorTolerant({}, Messages.AccessorGetSet); + } + } + map[name] |= kind; + } else { + map[name] = kind; + } + + properties.push(property); + + if (!match('}')) { + expect(','); + } + } + + expect('}'); + + return { + type: Syntax.ObjectExpression, + properties: properties + }; + } + + // 11.1.6 The Grouping Operator + + function parseGroupExpression() { + var expr; + + expect('('); + + expr = parseExpression(); + + expect(')'); + + return expr; + } + + + // 11.1 Primary Expressions + + function parsePrimaryExpression() { + var token = lookahead(), + type = token.type; + + if (type === Token.Identifier) { + return { + type: Syntax.Identifier, + name: lex().value + }; + } + + if (type === Token.StringLiteral || type === Token.NumericLiteral) { + if (strict && token.octal) { + throwErrorTolerant(token, Messages.StrictOctalLiteral); + } + return createLiteral(lex()); + } + + if (type === Token.Keyword) { + if (matchKeyword('this')) { + lex(); + return { + type: Syntax.ThisExpression + }; + } + + if (matchKeyword('function')) { + return parseFunctionExpression(); + } + } + + if (type === Token.BooleanLiteral) { + lex(); + token.value = (token.value === 'true'); + return createLiteral(token); + } + + if (type === Token.NullLiteral) { + lex(); + token.value = null; + return createLiteral(token); + } + + if (match('[')) { + return parseArrayInitialiser(); + } + + if (match('{')) { + return parseObjectInitialiser(); + } + + if (match('(')) { + return parseGroupExpression(); + } + + if (match('/') || match('/=')) { + return createLiteral(scanRegExp()); + } + + return throwUnexpected(lex()); + } + + // 11.2 Left-Hand-Side Expressions + + function parseArguments() { + var args = []; + + expect('('); + + if (!match(')')) { + while (index < length) { + args.push(parseAssignmentExpression()); + if (match(')')) { + break; + } + expect(','); + } + } + + expect(')'); + + return args; + } + + function parseNonComputedProperty() { + var token = lex(); + + if (!isIdentifierName(token)) { + throwUnexpected(token); + } + + return { + type: Syntax.Identifier, + name: token.value + }; + } + + function parseNonComputedMember() { + expect('.'); + + return parseNonComputedProperty(); + } + + function parseComputedMember() { + var expr; + + expect('['); + + expr = parseExpression(); + + expect(']'); + + return expr; + } + + function parseNewExpression() { + var expr; + + expectKeyword('new'); + + expr = { + type: Syntax.NewExpression, + callee: parseLeftHandSideExpression(), + 'arguments': [] + }; + + if (match('(')) { + expr['arguments'] = parseArguments(); + } + + return expr; + } + + function parseLeftHandSideExpressionAllowCall() { + var expr; + + expr = matchKeyword('new') ? parseNewExpression() : parsePrimaryExpression(); + + while (match('.') || match('[') || match('(')) { + if (match('(')) { + expr = { + type: Syntax.CallExpression, + callee: expr, + 'arguments': parseArguments() + }; + } else if (match('[')) { + expr = { + type: Syntax.MemberExpression, + computed: true, + object: expr, + property: parseComputedMember() + }; + } else { + expr = { + type: Syntax.MemberExpression, + computed: false, + object: expr, + property: parseNonComputedMember() + }; + } + } + + return expr; + } + + + function parseLeftHandSideExpression() { + var expr; + + expr = matchKeyword('new') ? parseNewExpression() : parsePrimaryExpression(); + + while (match('.') || match('[')) { + if (match('[')) { + expr = { + type: Syntax.MemberExpression, + computed: true, + object: expr, + property: parseComputedMember() + }; + } else { + expr = { + type: Syntax.MemberExpression, + computed: false, + object: expr, + property: parseNonComputedMember() + }; + } + } + + return expr; + } + + // 11.3 Postfix Expressions + + function parsePostfixExpression() { + var expr = parseLeftHandSideExpressionAllowCall(), token; + + token = lookahead(); + if (token.type !== Token.Punctuator) { + return expr; + } + + if ((match('++') || match('--')) && !peekLineTerminator()) { + // 11.3.1, 11.3.2 + if (strict && expr.type === Syntax.Identifier && isRestrictedWord(expr.name)) { + throwErrorTolerant({}, Messages.StrictLHSPostfix); + } + if (!isLeftHandSide(expr)) { + throwErrorTolerant({}, Messages.InvalidLHSInAssignment); + } + + expr = { + type: Syntax.UpdateExpression, + operator: lex().value, + argument: expr, + prefix: false + }; + } + + return expr; + } + + // 11.4 Unary Operators + + function parseUnaryExpression() { + var token, expr; + + token = lookahead(); + if (token.type !== Token.Punctuator && token.type !== Token.Keyword) { + return parsePostfixExpression(); + } + + if (match('++') || match('--')) { + token = lex(); + expr = parseUnaryExpression(); + // 11.4.4, 11.4.5 + if (strict && expr.type === Syntax.Identifier && isRestrictedWord(expr.name)) { + throwErrorTolerant({}, Messages.StrictLHSPrefix); + } + + if (!isLeftHandSide(expr)) { + throwErrorTolerant({}, Messages.InvalidLHSInAssignment); + } + + expr = { + type: Syntax.UpdateExpression, + operator: token.value, + argument: expr, + prefix: true + }; + return expr; + } + + if (match('+') || match('-') || match('~') || match('!')) { + expr = { + type: Syntax.UnaryExpression, + operator: lex().value, + argument: parseUnaryExpression(), + prefix: true + }; + return expr; + } + + if (matchKeyword('delete') || matchKeyword('void') || matchKeyword('typeof')) { + expr = { + type: Syntax.UnaryExpression, + operator: lex().value, + argument: parseUnaryExpression(), + prefix: true + }; + if (strict && expr.operator === 'delete' && expr.argument.type === Syntax.Identifier) { + throwErrorTolerant({}, Messages.StrictDelete); + } + return expr; + } + + return parsePostfixExpression(); + } + + // 11.5 Multiplicative Operators + + function parseMultiplicativeExpression() { + var expr = parseUnaryExpression(); + + while (match('*') || match('/') || match('%')) { + expr = { + type: Syntax.BinaryExpression, + operator: lex().value, + left: expr, + right: parseUnaryExpression() + }; + } + + return expr; + } + + // 11.6 Additive Operators + + function parseAdditiveExpression() { + var expr = parseMultiplicativeExpression(); + + while (match('+') || match('-')) { + expr = { + type: Syntax.BinaryExpression, + operator: lex().value, + left: expr, + right: parseMultiplicativeExpression() + }; + } + + return expr; + } + + // 11.7 Bitwise Shift Operators + + function parseShiftExpression() { + var expr = parseAdditiveExpression(); + + while (match('<<') || match('>>') || match('>>>')) { + expr = { + type: Syntax.BinaryExpression, + operator: lex().value, + left: expr, + right: parseAdditiveExpression() + }; + } + + return expr; + } + // 11.8 Relational Operators + + function parseRelationalExpression() { + var expr, previousAllowIn; + + previousAllowIn = state.allowIn; + state.allowIn = true; + + expr = parseShiftExpression(); + + while (match('<') || match('>') || match('<=') || match('>=') || (previousAllowIn && matchKeyword('in')) || matchKeyword('instanceof')) { + expr = { + type: Syntax.BinaryExpression, + operator: lex().value, + left: expr, + right: parseShiftExpression() + }; + } + + state.allowIn = previousAllowIn; + return expr; + } + + // 11.9 Equality Operators + + function parseEqualityExpression() { + var expr = parseRelationalExpression(); + + while (match('==') || match('!=') || match('===') || match('!==')) { + expr = { + type: Syntax.BinaryExpression, + operator: lex().value, + left: expr, + right: parseRelationalExpression() + }; + } + + return expr; + } + + // 11.10 Binary Bitwise Operators + + function parseBitwiseANDExpression() { + var expr = parseEqualityExpression(); + + while (match('&')) { + lex(); + expr = { + type: Syntax.BinaryExpression, + operator: '&', + left: expr, + right: parseEqualityExpression() + }; + } + + return expr; + } + + function parseBitwiseXORExpression() { + var expr = parseBitwiseANDExpression(); + + while (match('^')) { + lex(); + expr = { + type: Syntax.BinaryExpression, + operator: '^', + left: expr, + right: parseBitwiseANDExpression() + }; + } + + return expr; + } + + function parseBitwiseORExpression() { + var expr = parseBitwiseXORExpression(); + + while (match('|')) { + lex(); + expr = { + type: Syntax.BinaryExpression, + operator: '|', + left: expr, + right: parseBitwiseXORExpression() + }; + } + + return expr; + } + + // 11.11 Binary Logical Operators + + function parseLogicalANDExpression() { + var expr = parseBitwiseORExpression(); + + while (match('&&')) { + lex(); + expr = { + type: Syntax.LogicalExpression, + operator: '&&', + left: expr, + right: parseBitwiseORExpression() + }; + } + + return expr; + } + + function parseLogicalORExpression() { + var expr = parseLogicalANDExpression(); + + while (match('||')) { + lex(); + expr = { + type: Syntax.LogicalExpression, + operator: '||', + left: expr, + right: parseLogicalANDExpression() + }; + } + + return expr; + } + + // 11.12 Conditional Operator + + function parseConditionalExpression() { + var expr, previousAllowIn, consequent; + + expr = parseLogicalORExpression(); + + if (match('?')) { + lex(); + previousAllowIn = state.allowIn; + state.allowIn = true; + consequent = parseAssignmentExpression(); + state.allowIn = previousAllowIn; + expect(':'); + + expr = { + type: Syntax.ConditionalExpression, + test: expr, + consequent: consequent, + alternate: parseAssignmentExpression() + }; + } + + return expr; + } + + // 11.13 Assignment Operators + + function parseAssignmentExpression() { + var token, expr; + + token = lookahead(); + expr = parseConditionalExpression(); + + if (matchAssign()) { + // LeftHandSideExpression + if (!isLeftHandSide(expr)) { + throwErrorTolerant({}, Messages.InvalidLHSInAssignment); + } + + // 11.13.1 + if (strict && expr.type === Syntax.Identifier && isRestrictedWord(expr.name)) { + throwErrorTolerant(token, Messages.StrictLHSAssignment); + } + + expr = { + type: Syntax.AssignmentExpression, + operator: lex().value, + left: expr, + right: parseAssignmentExpression() + }; + } + + return expr; + } + + // 11.14 Comma Operator + + function parseExpression() { + var expr = parseAssignmentExpression(); + + if (match(',')) { + expr = { + type: Syntax.SequenceExpression, + expressions: [ expr ] + }; + + while (index < length) { + if (!match(',')) { + break; + } + lex(); + expr.expressions.push(parseAssignmentExpression()); + } + + } + return expr; + } + + // 12.1 Block + + function parseStatementList() { + var list = [], + statement; + + while (index < length) { + if (match('}')) { + break; + } + statement = parseSourceElement(); + if (typeof statement === 'undefined') { + break; + } + list.push(statement); + } + + return list; + } + + function parseBlock() { + var block; + + expect('{'); + + block = parseStatementList(); + + expect('}'); + + return { + type: Syntax.BlockStatement, + body: block + }; + } + + // 12.2 Variable Statement + + function parseVariableIdentifier() { + var token = lex(); + + if (token.type !== Token.Identifier) { + throwUnexpected(token); + } + + return { + type: Syntax.Identifier, + name: token.value + }; + } + + function parseVariableDeclaration(kind) { + var id = parseVariableIdentifier(), + init = null; + + // 12.2.1 + if (strict && isRestrictedWord(id.name)) { + throwErrorTolerant({}, Messages.StrictVarName); + } + + if (kind === 'const') { + expect('='); + init = parseAssignmentExpression(); + } else if (match('=')) { + lex(); + init = parseAssignmentExpression(); + } + + return { + type: Syntax.VariableDeclarator, + id: id, + init: init + }; + } + + function parseVariableDeclarationList(kind) { + var list = []; + + do { + list.push(parseVariableDeclaration(kind)); + if (!match(',')) { + break; + } + lex(); + } while (index < length); + + return list; + } + + function parseVariableStatement() { + var declarations; + + expectKeyword('var'); + + declarations = parseVariableDeclarationList(); + + consumeSemicolon(); + + return { + type: Syntax.VariableDeclaration, + declarations: declarations, + kind: 'var' + }; + } + + // kind may be `const` or `let` + // Both are experimental and not in the specification yet. + // see http://wiki.ecmascript.org/doku.php?id=harmony:const + // and http://wiki.ecmascript.org/doku.php?id=harmony:let + function parseConstLetDeclaration(kind) { + var declarations; + + expectKeyword(kind); + + declarations = parseVariableDeclarationList(kind); + + consumeSemicolon(); + + return { + type: Syntax.VariableDeclaration, + declarations: declarations, + kind: kind + }; + } + + // 12.3 Empty Statement + + function parseEmptyStatement() { + expect(';'); + + return { + type: Syntax.EmptyStatement + }; + } + + // 12.4 Expression Statement + + function parseExpressionStatement() { + var expr = parseExpression(); + + consumeSemicolon(); + + return { + type: Syntax.ExpressionStatement, + expression: expr + }; + } + + // 12.5 If statement + + function parseIfStatement() { + var test, consequent, alternate; + + expectKeyword('if'); + + expect('('); + + test = parseExpression(); + + expect(')'); + + consequent = parseStatement(); + + if (matchKeyword('else')) { + lex(); + alternate = parseStatement(); + } else { + alternate = null; + } + + return { + type: Syntax.IfStatement, + test: test, + consequent: consequent, + alternate: alternate + }; + } + + // 12.6 Iteration Statements + + function parseDoWhileStatement() { + var body, test, oldInIteration; + + expectKeyword('do'); + + oldInIteration = state.inIteration; + state.inIteration = true; + + body = parseStatement(); + + state.inIteration = oldInIteration; + + expectKeyword('while'); + + expect('('); + + test = parseExpression(); + + expect(')'); + + if (match(';')) { + lex(); + } + + return { + type: Syntax.DoWhileStatement, + body: body, + test: test + }; + } + + function parseWhileStatement() { + var test, body, oldInIteration; + + expectKeyword('while'); + + expect('('); + + test = parseExpression(); + + expect(')'); + + oldInIteration = state.inIteration; + state.inIteration = true; + + body = parseStatement(); + + state.inIteration = oldInIteration; + + return { + type: Syntax.WhileStatement, + test: test, + body: body + }; + } + + function parseForVariableDeclaration() { + var token = lex(); + + return { + type: Syntax.VariableDeclaration, + declarations: parseVariableDeclarationList(), + kind: token.value + }; + } + + function parseForStatement() { + var init, test, update, left, right, body, oldInIteration; + + init = test = update = null; + + expectKeyword('for'); + + expect('('); + + if (match(';')) { + lex(); + } else { + if (matchKeyword('var') || matchKeyword('let')) { + state.allowIn = false; + init = parseForVariableDeclaration(); + state.allowIn = true; + + if (init.declarations.length === 1 && matchKeyword('in')) { + lex(); + left = init; + right = parseExpression(); + init = null; + } + } else { + state.allowIn = false; + init = parseExpression(); + state.allowIn = true; + + if (matchKeyword('in')) { + // LeftHandSideExpression + if (!isLeftHandSide(init)) { + throwErrorTolerant({}, Messages.InvalidLHSInForIn); + } + + lex(); + left = init; + right = parseExpression(); + init = null; + } + } + + if (typeof left === 'undefined') { + expect(';'); + } + } + + if (typeof left === 'undefined') { + + if (!match(';')) { + test = parseExpression(); + } + expect(';'); + + if (!match(')')) { + update = parseExpression(); + } + } + + expect(')'); + + oldInIteration = state.inIteration; + state.inIteration = true; + + body = parseStatement(); + + state.inIteration = oldInIteration; + + if (typeof left === 'undefined') { + return { + type: Syntax.ForStatement, + init: init, + test: test, + update: update, + body: body + }; + } + + return { + type: Syntax.ForInStatement, + left: left, + right: right, + body: body, + each: false + }; + } + + // 12.7 The continue statement + + function parseContinueStatement() { + var token, label = null; + + expectKeyword('continue'); + + // Optimize the most common form: 'continue;'. + if (source[index] === ';') { + lex(); + + if (!state.inIteration) { + throwError({}, Messages.IllegalContinue); + } + + return { + type: Syntax.ContinueStatement, + label: null + }; + } + + if (peekLineTerminator()) { + if (!state.inIteration) { + throwError({}, Messages.IllegalContinue); + } + + return { + type: Syntax.ContinueStatement, + label: null + }; + } + + token = lookahead(); + if (token.type === Token.Identifier) { + label = parseVariableIdentifier(); + + if (!Object.prototype.hasOwnProperty.call(state.labelSet, label.name)) { + throwError({}, Messages.UnknownLabel, label.name); + } + } + + consumeSemicolon(); + + if (label === null && !state.inIteration) { + throwError({}, Messages.IllegalContinue); + } + + return { + type: Syntax.ContinueStatement, + label: label + }; + } + + // 12.8 The break statement + + function parseBreakStatement() { + var token, label = null; + + expectKeyword('break'); + + // Optimize the most common form: 'break;'. + if (source[index] === ';') { + lex(); + + if (!(state.inIteration || state.inSwitch)) { + throwError({}, Messages.IllegalBreak); + } + + return { + type: Syntax.BreakStatement, + label: null + }; + } + + if (peekLineTerminator()) { + if (!(state.inIteration || state.inSwitch)) { + throwError({}, Messages.IllegalBreak); + } + + return { + type: Syntax.BreakStatement, + label: null + }; + } + + token = lookahead(); + if (token.type === Token.Identifier) { + label = parseVariableIdentifier(); + + if (!Object.prototype.hasOwnProperty.call(state.labelSet, label.name)) { + throwError({}, Messages.UnknownLabel, label.name); + } + } + + consumeSemicolon(); + + if (label === null && !(state.inIteration || state.inSwitch)) { + throwError({}, Messages.IllegalBreak); + } + + return { + type: Syntax.BreakStatement, + label: label + }; + } + + // 12.9 The return statement + + function parseReturnStatement() { + var token, argument = null; + + expectKeyword('return'); + + if (!state.inFunctionBody) { + throwErrorTolerant({}, Messages.IllegalReturn); + } + + // 'return' followed by a space and an identifier is very common. + if (source[index] === ' ') { + if (isIdentifierStart(source[index + 1])) { + argument = parseExpression(); + consumeSemicolon(); + return { + type: Syntax.ReturnStatement, + argument: argument + }; + } + } + + if (peekLineTerminator()) { + return { + type: Syntax.ReturnStatement, + argument: null + }; + } + + if (!match(';')) { + token = lookahead(); + if (!match('}') && token.type !== Token.EOF) { + argument = parseExpression(); + } + } + + consumeSemicolon(); + + return { + type: Syntax.ReturnStatement, + argument: argument + }; + } + + // 12.10 The with statement + + function parseWithStatement() { + var object, body; + + if (strict) { + throwErrorTolerant({}, Messages.StrictModeWith); + } + + expectKeyword('with'); + + expect('('); + + object = parseExpression(); + + expect(')'); + + body = parseStatement(); + + return { + type: Syntax.WithStatement, + object: object, + body: body + }; + } + + // 12.10 The swith statement + + function parseSwitchCase() { + var test, + consequent = [], + statement; + + if (matchKeyword('default')) { + lex(); + test = null; + } else { + expectKeyword('case'); + test = parseExpression(); + } + expect(':'); + + while (index < length) { + if (match('}') || matchKeyword('default') || matchKeyword('case')) { + break; + } + statement = parseStatement(); + if (typeof statement === 'undefined') { + break; + } + consequent.push(statement); + } + + return { + type: Syntax.SwitchCase, + test: test, + consequent: consequent + }; + } + + function parseSwitchStatement() { + var discriminant, cases, clause, oldInSwitch, defaultFound; + + expectKeyword('switch'); + + expect('('); + + discriminant = parseExpression(); + + expect(')'); + + expect('{'); + + cases = []; + + if (match('}')) { + lex(); + return { + type: Syntax.SwitchStatement, + discriminant: discriminant, + cases: cases + }; + } + + oldInSwitch = state.inSwitch; + state.inSwitch = true; + defaultFound = false; + + while (index < length) { + if (match('}')) { + break; + } + clause = parseSwitchCase(); + if (clause.test === null) { + if (defaultFound) { + throwError({}, Messages.MultipleDefaultsInSwitch); + } + defaultFound = true; + } + cases.push(clause); + } + + state.inSwitch = oldInSwitch; + + expect('}'); + + return { + type: Syntax.SwitchStatement, + discriminant: discriminant, + cases: cases + }; + } + + // 12.13 The throw statement + + function parseThrowStatement() { + var argument; + + expectKeyword('throw'); + + if (peekLineTerminator()) { + throwError({}, Messages.NewlineAfterThrow); + } + + argument = parseExpression(); + + consumeSemicolon(); + + return { + type: Syntax.ThrowStatement, + argument: argument + }; + } + + // 12.14 The try statement + + function parseCatchClause() { + var param; + + expectKeyword('catch'); + + expect('('); + if (match(')')) { + throwUnexpected(lookahead()); + } + + param = parseVariableIdentifier(); + // 12.14.1 + if (strict && isRestrictedWord(param.name)) { + throwErrorTolerant({}, Messages.StrictCatchVariable); + } + + expect(')'); + + return { + type: Syntax.CatchClause, + param: param, + body: parseBlock() + }; + } + + function parseTryStatement() { + var block, handlers = [], finalizer = null; + + expectKeyword('try'); + + block = parseBlock(); + + if (matchKeyword('catch')) { + handlers.push(parseCatchClause()); + } + + if (matchKeyword('finally')) { + lex(); + finalizer = parseBlock(); + } + + if (handlers.length === 0 && !finalizer) { + throwError({}, Messages.NoCatchOrFinally); + } + + return { + type: Syntax.TryStatement, + block: block, + guardedHandlers: [], + handlers: handlers, + finalizer: finalizer + }; + } + + // 12.15 The debugger statement + + function parseDebuggerStatement() { + expectKeyword('debugger'); + + consumeSemicolon(); + + return { + type: Syntax.DebuggerStatement + }; + } + + // 12 Statements + + function parseStatement() { + var token = lookahead(), + expr, + labeledBody; + + if (token.type === Token.EOF) { + throwUnexpected(token); + } + + if (token.type === Token.Punctuator) { + switch (token.value) { + case ';': + return parseEmptyStatement(); + case '{': + return parseBlock(); + case '(': + return parseExpressionStatement(); + default: + break; + } + } + + if (token.type === Token.Keyword) { + switch (token.value) { + case 'break': + return parseBreakStatement(); + case 'continue': + return parseContinueStatement(); + case 'debugger': + return parseDebuggerStatement(); + case 'do': + return parseDoWhileStatement(); + case 'for': + return parseForStatement(); + case 'function': + return parseFunctionDeclaration(); + case 'if': + return parseIfStatement(); + case 'return': + return parseReturnStatement(); + case 'switch': + return parseSwitchStatement(); + case 'throw': + return parseThrowStatement(); + case 'try': + return parseTryStatement(); + case 'var': + return parseVariableStatement(); + case 'while': + return parseWhileStatement(); + case 'with': + return parseWithStatement(); + default: + break; + } + } + + expr = parseExpression(); + + // 12.12 Labelled Statements + if ((expr.type === Syntax.Identifier) && match(':')) { + lex(); + + if (Object.prototype.hasOwnProperty.call(state.labelSet, expr.name)) { + throwError({}, Messages.Redeclaration, 'Label', expr.name); + } + + state.labelSet[expr.name] = true; + labeledBody = parseStatement(); + delete state.labelSet[expr.name]; + + return { + type: Syntax.LabeledStatement, + label: expr, + body: labeledBody + }; + } + + consumeSemicolon(); + + return { + type: Syntax.ExpressionStatement, + expression: expr + }; + } + + // 13 Function Definition + + function parseFunctionSourceElements() { + var sourceElement, sourceElements = [], token, directive, firstRestricted, + oldLabelSet, oldInIteration, oldInSwitch, oldInFunctionBody; + + expect('{'); + + while (index < length) { + token = lookahead(); + if (token.type !== Token.StringLiteral) { + break; + } + + sourceElement = parseSourceElement(); + sourceElements.push(sourceElement); + if (sourceElement.expression.type !== Syntax.Literal) { + // this is not directive + break; + } + directive = sliceSource(token.range[0] + 1, token.range[1] - 1); + if (directive === 'use strict') { + strict = true; + if (firstRestricted) { + throwErrorTolerant(firstRestricted, Messages.StrictOctalLiteral); + } + } else { + if (!firstRestricted && token.octal) { + firstRestricted = token; + } + } + } + + oldLabelSet = state.labelSet; + oldInIteration = state.inIteration; + oldInSwitch = state.inSwitch; + oldInFunctionBody = state.inFunctionBody; + + state.labelSet = {}; + state.inIteration = false; + state.inSwitch = false; + state.inFunctionBody = true; + + while (index < length) { + if (match('}')) { + break; + } + sourceElement = parseSourceElement(); + if (typeof sourceElement === 'undefined') { + break; + } + sourceElements.push(sourceElement); + } + + expect('}'); + + state.labelSet = oldLabelSet; + state.inIteration = oldInIteration; + state.inSwitch = oldInSwitch; + state.inFunctionBody = oldInFunctionBody; + + return { + type: Syntax.BlockStatement, + body: sourceElements + }; + } + + function parseFunctionDeclaration() { + var id, param, params = [], body, token, stricted, firstRestricted, message, previousStrict, paramSet; + + expectKeyword('function'); + token = lookahead(); + id = parseVariableIdentifier(); + if (strict) { + if (isRestrictedWord(token.value)) { + throwErrorTolerant(token, Messages.StrictFunctionName); + } + } else { + if (isRestrictedWord(token.value)) { + firstRestricted = token; + message = Messages.StrictFunctionName; + } else if (isStrictModeReservedWord(token.value)) { + firstRestricted = token; + message = Messages.StrictReservedWord; + } + } + + expect('('); + + if (!match(')')) { + paramSet = {}; + while (index < length) { + token = lookahead(); + param = parseVariableIdentifier(); + if (strict) { + if (isRestrictedWord(token.value)) { + stricted = token; + message = Messages.StrictParamName; + } + if (Object.prototype.hasOwnProperty.call(paramSet, token.value)) { + stricted = token; + message = Messages.StrictParamDupe; + } + } else if (!firstRestricted) { + if (isRestrictedWord(token.value)) { + firstRestricted = token; + message = Messages.StrictParamName; + } else if (isStrictModeReservedWord(token.value)) { + firstRestricted = token; + message = Messages.StrictReservedWord; + } else if (Object.prototype.hasOwnProperty.call(paramSet, token.value)) { + firstRestricted = token; + message = Messages.StrictParamDupe; + } + } + params.push(param); + paramSet[param.name] = true; + if (match(')')) { + break; + } + expect(','); + } + } + + expect(')'); + + previousStrict = strict; + body = parseFunctionSourceElements(); + if (strict && firstRestricted) { + throwError(firstRestricted, message); + } + if (strict && stricted) { + throwErrorTolerant(stricted, message); + } + strict = previousStrict; + + return { + type: Syntax.FunctionDeclaration, + id: id, + params: params, + defaults: [], + body: body, + rest: null, + generator: false, + expression: false + }; + } + + function parseFunctionExpression() { + var token, id = null, stricted, firstRestricted, message, param, params = [], body, previousStrict, paramSet; + + expectKeyword('function'); + + if (!match('(')) { + token = lookahead(); + id = parseVariableIdentifier(); + if (strict) { + if (isRestrictedWord(token.value)) { + throwErrorTolerant(token, Messages.StrictFunctionName); + } + } else { + if (isRestrictedWord(token.value)) { + firstRestricted = token; + message = Messages.StrictFunctionName; + } else if (isStrictModeReservedWord(token.value)) { + firstRestricted = token; + message = Messages.StrictReservedWord; + } + } + } + + expect('('); + + if (!match(')')) { + paramSet = {}; + while (index < length) { + token = lookahead(); + param = parseVariableIdentifier(); + if (strict) { + if (isRestrictedWord(token.value)) { + stricted = token; + message = Messages.StrictParamName; + } + if (Object.prototype.hasOwnProperty.call(paramSet, token.value)) { + stricted = token; + message = Messages.StrictParamDupe; + } + } else if (!firstRestricted) { + if (isRestrictedWord(token.value)) { + firstRestricted = token; + message = Messages.StrictParamName; + } else if (isStrictModeReservedWord(token.value)) { + firstRestricted = token; + message = Messages.StrictReservedWord; + } else if (Object.prototype.hasOwnProperty.call(paramSet, token.value)) { + firstRestricted = token; + message = Messages.StrictParamDupe; + } + } + params.push(param); + paramSet[param.name] = true; + if (match(')')) { + break; + } + expect(','); + } + } + + expect(')'); + + previousStrict = strict; + body = parseFunctionSourceElements(); + if (strict && firstRestricted) { + throwError(firstRestricted, message); + } + if (strict && stricted) { + throwErrorTolerant(stricted, message); + } + strict = previousStrict; + + return { + type: Syntax.FunctionExpression, + id: id, + params: params, + defaults: [], + body: body, + rest: null, + generator: false, + expression: false + }; + } + + // 14 Program + + function parseSourceElement() { + var token = lookahead(); + + if (token.type === Token.Keyword) { + switch (token.value) { + case 'const': + case 'let': + return parseConstLetDeclaration(token.value); + case 'function': + return parseFunctionDeclaration(); + default: + return parseStatement(); + } + } + + if (token.type !== Token.EOF) { + return parseStatement(); + } + } + + function parseSourceElements() { + var sourceElement, sourceElements = [], token, directive, firstRestricted; + + while (index < length) { + token = lookahead(); + if (token.type !== Token.StringLiteral) { + break; + } + + sourceElement = parseSourceElement(); + sourceElements.push(sourceElement); + if (sourceElement.expression.type !== Syntax.Literal) { + // this is not directive + break; + } + directive = sliceSource(token.range[0] + 1, token.range[1] - 1); + if (directive === 'use strict') { + strict = true; + if (firstRestricted) { + throwErrorTolerant(firstRestricted, Messages.StrictOctalLiteral); + } + } else { + if (!firstRestricted && token.octal) { + firstRestricted = token; + } + } + } + + while (index < length) { + sourceElement = parseSourceElement(); + if (typeof sourceElement === 'undefined') { + break; + } + sourceElements.push(sourceElement); + } + return sourceElements; + } + + function parseProgram() { + var program; + strict = false; + program = { + type: Syntax.Program, + body: parseSourceElements() + }; + return program; + } + + // The following functions are needed only when the option to preserve + // the comments is active. + + function addComment(type, value, start, end, loc) { + assert(typeof start === 'number', 'Comment must have valid position'); + + // Because the way the actual token is scanned, often the comments + // (if any) are skipped twice during the lexical analysis. + // Thus, we need to skip adding a comment if the comment array already + // handled it. + if (extra.comments.length > 0) { + if (extra.comments[extra.comments.length - 1].range[1] > start) { + return; + } + } + + extra.comments.push({ + type: type, + value: value, + range: [start, end], + loc: loc + }); + } + + function scanComment() { + var comment, ch, loc, start, blockComment, lineComment; + + comment = ''; + blockComment = false; + lineComment = false; + + while (index < length) { + ch = source[index]; + + if (lineComment) { + ch = source[index++]; + if (isLineTerminator(ch)) { + loc.end = { + line: lineNumber, + column: index - lineStart - 1 + }; + lineComment = false; + addComment('Line', comment, start, index - 1, loc); + if (ch === '\r' && source[index] === '\n') { + ++index; + } + ++lineNumber; + lineStart = index; + comment = ''; + } else if (index >= length) { + lineComment = false; + comment += ch; + loc.end = { + line: lineNumber, + column: length - lineStart + }; + addComment('Line', comment, start, length, loc); + } else { + comment += ch; + } + } else if (blockComment) { + if (isLineTerminator(ch)) { + if (ch === '\r' && source[index + 1] === '\n') { + ++index; + comment += '\r\n'; + } else { + comment += ch; + } + ++lineNumber; + ++index; + lineStart = index; + if (index >= length) { + throwError({}, Messages.UnexpectedToken, 'ILLEGAL'); + } + } else { + ch = source[index++]; + if (index >= length) { + throwError({}, Messages.UnexpectedToken, 'ILLEGAL'); + } + comment += ch; + if (ch === '*') { + ch = source[index]; + if (ch === '/') { + comment = comment.substr(0, comment.length - 1); + blockComment = false; + ++index; + loc.end = { + line: lineNumber, + column: index - lineStart + }; + addComment('Block', comment, start, index, loc); + comment = ''; + } + } + } + } else if (ch === '/') { + ch = source[index + 1]; + if (ch === '/') { + loc = { + start: { + line: lineNumber, + column: index - lineStart + } + }; + start = index; + index += 2; + lineComment = true; + if (index >= length) { + loc.end = { + line: lineNumber, + column: index - lineStart + }; + lineComment = false; + addComment('Line', comment, start, index, loc); + } + } else if (ch === '*') { + start = index; + index += 2; + blockComment = true; + loc = { + start: { + line: lineNumber, + column: index - lineStart - 2 + } + }; + if (index >= length) { + throwError({}, Messages.UnexpectedToken, 'ILLEGAL'); + } + } else { + break; + } + } else if (isWhiteSpace(ch)) { + ++index; + } else if (isLineTerminator(ch)) { + ++index; + if (ch === '\r' && source[index] === '\n') { + ++index; + } + ++lineNumber; + lineStart = index; + } else { + break; + } + } + } + + function filterCommentLocation() { + var i, entry, comment, comments = []; + + for (i = 0; i < extra.comments.length; ++i) { + entry = extra.comments[i]; + comment = { + type: entry.type, + value: entry.value + }; + if (extra.range) { + comment.range = entry.range; + } + if (extra.loc) { + comment.loc = entry.loc; + } + comments.push(comment); + } + + extra.comments = comments; + } + + function collectToken() { + var start, loc, token, range, value; + + skipComment(); + start = index; + loc = { + start: { + line: lineNumber, + column: index - lineStart + } + }; + + token = extra.advance(); + loc.end = { + line: lineNumber, + column: index - lineStart + }; + + if (token.type !== Token.EOF) { + range = [token.range[0], token.range[1]]; + value = sliceSource(token.range[0], token.range[1]); + extra.tokens.push({ + type: TokenName[token.type], + value: value, + range: range, + loc: loc + }); + } + + return token; + } + + function collectRegex() { + var pos, loc, regex, token; + + skipComment(); + + pos = index; + loc = { + start: { + line: lineNumber, + column: index - lineStart + } + }; + + regex = extra.scanRegExp(); + loc.end = { + line: lineNumber, + column: index - lineStart + }; + + // Pop the previous token, which is likely '/' or '/=' + if (extra.tokens.length > 0) { + token = extra.tokens[extra.tokens.length - 1]; + if (token.range[0] === pos && token.type === 'Punctuator') { + if (token.value === '/' || token.value === '/=') { + extra.tokens.pop(); + } + } + } + + extra.tokens.push({ + type: 'RegularExpression', + value: regex.literal, + range: [pos, index], + loc: loc + }); + + return regex; + } + + function filterTokenLocation() { + var i, entry, token, tokens = []; + + for (i = 0; i < extra.tokens.length; ++i) { + entry = extra.tokens[i]; + token = { + type: entry.type, + value: entry.value + }; + if (extra.range) { + token.range = entry.range; + } + if (extra.loc) { + token.loc = entry.loc; + } + tokens.push(token); + } + + extra.tokens = tokens; + } + + function createLiteral(token) { + return { + type: Syntax.Literal, + value: token.value + }; + } + + function createRawLiteral(token) { + return { + type: Syntax.Literal, + value: token.value, + raw: sliceSource(token.range[0], token.range[1]) + }; + } + + function createLocationMarker() { + var marker = {}; + + marker.range = [index, index]; + marker.loc = { + start: { + line: lineNumber, + column: index - lineStart + }, + end: { + line: lineNumber, + column: index - lineStart + } + }; + + marker.end = function () { + this.range[1] = index; + this.loc.end.line = lineNumber; + this.loc.end.column = index - lineStart; + }; + + marker.applyGroup = function (node) { + if (extra.range) { + node.groupRange = [this.range[0], this.range[1]]; + } + if (extra.loc) { + node.groupLoc = { + start: { + line: this.loc.start.line, + column: this.loc.start.column + }, + end: { + line: this.loc.end.line, + column: this.loc.end.column + } + }; + } + }; + + marker.apply = function (node) { + if (extra.range) { + node.range = [this.range[0], this.range[1]]; + } + if (extra.loc) { + node.loc = { + start: { + line: this.loc.start.line, + column: this.loc.start.column + }, + end: { + line: this.loc.end.line, + column: this.loc.end.column + } + }; + } + }; + + return marker; + } + + function trackGroupExpression() { + var marker, expr; + + skipComment(); + marker = createLocationMarker(); + expect('('); + + expr = parseExpression(); + + expect(')'); + + marker.end(); + marker.applyGroup(expr); + + return expr; + } + + function trackLeftHandSideExpression() { + var marker, expr; + + skipComment(); + marker = createLocationMarker(); + + expr = matchKeyword('new') ? parseNewExpression() : parsePrimaryExpression(); + + while (match('.') || match('[')) { + if (match('[')) { + expr = { + type: Syntax.MemberExpression, + computed: true, + object: expr, + property: parseComputedMember() + }; + marker.end(); + marker.apply(expr); + } else { + expr = { + type: Syntax.MemberExpression, + computed: false, + object: expr, + property: parseNonComputedMember() + }; + marker.end(); + marker.apply(expr); + } + } + + return expr; + } + + function trackLeftHandSideExpressionAllowCall() { + var marker, expr; + + skipComment(); + marker = createLocationMarker(); + + expr = matchKeyword('new') ? parseNewExpression() : parsePrimaryExpression(); + + while (match('.') || match('[') || match('(')) { + if (match('(')) { + expr = { + type: Syntax.CallExpression, + callee: expr, + 'arguments': parseArguments() + }; + marker.end(); + marker.apply(expr); + } else if (match('[')) { + expr = { + type: Syntax.MemberExpression, + computed: true, + object: expr, + property: parseComputedMember() + }; + marker.end(); + marker.apply(expr); + } else { + expr = { + type: Syntax.MemberExpression, + computed: false, + object: expr, + property: parseNonComputedMember() + }; + marker.end(); + marker.apply(expr); + } + } + + return expr; + } + + function filterGroup(node) { + var n, i, entry; + + n = (Object.prototype.toString.apply(node) === '[object Array]') ? [] : {}; + for (i in node) { + if (node.hasOwnProperty(i) && i !== 'groupRange' && i !== 'groupLoc') { + entry = node[i]; + if (entry === null || typeof entry !== 'object' || entry instanceof RegExp) { + n[i] = entry; + } else { + n[i] = filterGroup(entry); + } + } + } + return n; + } + + function wrapTrackingFunction(range, loc) { + + return function (parseFunction) { + + function isBinary(node) { + return node.type === Syntax.LogicalExpression || + node.type === Syntax.BinaryExpression; + } + + function visit(node) { + var start, end; + + if (isBinary(node.left)) { + visit(node.left); + } + if (isBinary(node.right)) { + visit(node.right); + } + + if (range) { + if (node.left.groupRange || node.right.groupRange) { + start = node.left.groupRange ? node.left.groupRange[0] : node.left.range[0]; + end = node.right.groupRange ? node.right.groupRange[1] : node.right.range[1]; + node.range = [start, end]; + } else if (typeof node.range === 'undefined') { + start = node.left.range[0]; + end = node.right.range[1]; + node.range = [start, end]; + } + } + if (loc) { + if (node.left.groupLoc || node.right.groupLoc) { + start = node.left.groupLoc ? node.left.groupLoc.start : node.left.loc.start; + end = node.right.groupLoc ? node.right.groupLoc.end : node.right.loc.end; + node.loc = { + start: start, + end: end + }; + } else if (typeof node.loc === 'undefined') { + node.loc = { + start: node.left.loc.start, + end: node.right.loc.end + }; + } + } + } + + return function () { + var marker, node; + + skipComment(); + + marker = createLocationMarker(); + node = parseFunction.apply(null, arguments); + marker.end(); + + if (range && typeof node.range === 'undefined') { + marker.apply(node); + } + + if (loc && typeof node.loc === 'undefined') { + marker.apply(node); + } + + if (isBinary(node)) { + visit(node); + } + + return node; + }; + }; + } + + function patch() { + + var wrapTracking; + + if (extra.comments) { + extra.skipComment = skipComment; + skipComment = scanComment; + } + + if (extra.raw) { + extra.createLiteral = createLiteral; + createLiteral = createRawLiteral; + } + + if (extra.range || extra.loc) { + + extra.parseGroupExpression = parseGroupExpression; + extra.parseLeftHandSideExpression = parseLeftHandSideExpression; + extra.parseLeftHandSideExpressionAllowCall = parseLeftHandSideExpressionAllowCall; + parseGroupExpression = trackGroupExpression; + parseLeftHandSideExpression = trackLeftHandSideExpression; + parseLeftHandSideExpressionAllowCall = trackLeftHandSideExpressionAllowCall; + + wrapTracking = wrapTrackingFunction(extra.range, extra.loc); + + extra.parseAdditiveExpression = parseAdditiveExpression; + extra.parseAssignmentExpression = parseAssignmentExpression; + extra.parseBitwiseANDExpression = parseBitwiseANDExpression; + extra.parseBitwiseORExpression = parseBitwiseORExpression; + extra.parseBitwiseXORExpression = parseBitwiseXORExpression; + extra.parseBlock = parseBlock; + extra.parseFunctionSourceElements = parseFunctionSourceElements; + extra.parseCatchClause = parseCatchClause; + extra.parseComputedMember = parseComputedMember; + extra.parseConditionalExpression = parseConditionalExpression; + extra.parseConstLetDeclaration = parseConstLetDeclaration; + extra.parseEqualityExpression = parseEqualityExpression; + extra.parseExpression = parseExpression; + extra.parseForVariableDeclaration = parseForVariableDeclaration; + extra.parseFunctionDeclaration = parseFunctionDeclaration; + extra.parseFunctionExpression = parseFunctionExpression; + extra.parseLogicalANDExpression = parseLogicalANDExpression; + extra.parseLogicalORExpression = parseLogicalORExpression; + extra.parseMultiplicativeExpression = parseMultiplicativeExpression; + extra.parseNewExpression = parseNewExpression; + extra.parseNonComputedProperty = parseNonComputedProperty; + extra.parseObjectProperty = parseObjectProperty; + extra.parseObjectPropertyKey = parseObjectPropertyKey; + extra.parsePostfixExpression = parsePostfixExpression; + extra.parsePrimaryExpression = parsePrimaryExpression; + extra.parseProgram = parseProgram; + extra.parsePropertyFunction = parsePropertyFunction; + extra.parseRelationalExpression = parseRelationalExpression; + extra.parseStatement = parseStatement; + extra.parseShiftExpression = parseShiftExpression; + extra.parseSwitchCase = parseSwitchCase; + extra.parseUnaryExpression = parseUnaryExpression; + extra.parseVariableDeclaration = parseVariableDeclaration; + extra.parseVariableIdentifier = parseVariableIdentifier; + + parseAdditiveExpression = wrapTracking(extra.parseAdditiveExpression); + parseAssignmentExpression = wrapTracking(extra.parseAssignmentExpression); + parseBitwiseANDExpression = wrapTracking(extra.parseBitwiseANDExpression); + parseBitwiseORExpression = wrapTracking(extra.parseBitwiseORExpression); + parseBitwiseXORExpression = wrapTracking(extra.parseBitwiseXORExpression); + parseBlock = wrapTracking(extra.parseBlock); + parseFunctionSourceElements = wrapTracking(extra.parseFunctionSourceElements); + parseCatchClause = wrapTracking(extra.parseCatchClause); + parseComputedMember = wrapTracking(extra.parseComputedMember); + parseConditionalExpression = wrapTracking(extra.parseConditionalExpression); + parseConstLetDeclaration = wrapTracking(extra.parseConstLetDeclaration); + parseEqualityExpression = wrapTracking(extra.parseEqualityExpression); + parseExpression = wrapTracking(extra.parseExpression); + parseForVariableDeclaration = wrapTracking(extra.parseForVariableDeclaration); + parseFunctionDeclaration = wrapTracking(extra.parseFunctionDeclaration); + parseFunctionExpression = wrapTracking(extra.parseFunctionExpression); + parseLeftHandSideExpression = wrapTracking(parseLeftHandSideExpression); + parseLogicalANDExpression = wrapTracking(extra.parseLogicalANDExpression); + parseLogicalORExpression = wrapTracking(extra.parseLogicalORExpression); + parseMultiplicativeExpression = wrapTracking(extra.parseMultiplicativeExpression); + parseNewExpression = wrapTracking(extra.parseNewExpression); + parseNonComputedProperty = wrapTracking(extra.parseNonComputedProperty); + parseObjectProperty = wrapTracking(extra.parseObjectProperty); + parseObjectPropertyKey = wrapTracking(extra.parseObjectPropertyKey); + parsePostfixExpression = wrapTracking(extra.parsePostfixExpression); + parsePrimaryExpression = wrapTracking(extra.parsePrimaryExpression); + parseProgram = wrapTracking(extra.parseProgram); + parsePropertyFunction = wrapTracking(extra.parsePropertyFunction); + parseRelationalExpression = wrapTracking(extra.parseRelationalExpression); + parseStatement = wrapTracking(extra.parseStatement); + parseShiftExpression = wrapTracking(extra.parseShiftExpression); + parseSwitchCase = wrapTracking(extra.parseSwitchCase); + parseUnaryExpression = wrapTracking(extra.parseUnaryExpression); + parseVariableDeclaration = wrapTracking(extra.parseVariableDeclaration); + parseVariableIdentifier = wrapTracking(extra.parseVariableIdentifier); + } + + if (typeof extra.tokens !== 'undefined') { + extra.advance = advance; + extra.scanRegExp = scanRegExp; + + advance = collectToken; + scanRegExp = collectRegex; + } + } + + function unpatch() { + if (typeof extra.skipComment === 'function') { + skipComment = extra.skipComment; + } + + if (extra.raw) { + createLiteral = extra.createLiteral; + } + + if (extra.range || extra.loc) { + parseAdditiveExpression = extra.parseAdditiveExpression; + parseAssignmentExpression = extra.parseAssignmentExpression; + parseBitwiseANDExpression = extra.parseBitwiseANDExpression; + parseBitwiseORExpression = extra.parseBitwiseORExpression; + parseBitwiseXORExpression = extra.parseBitwiseXORExpression; + parseBlock = extra.parseBlock; + parseFunctionSourceElements = extra.parseFunctionSourceElements; + parseCatchClause = extra.parseCatchClause; + parseComputedMember = extra.parseComputedMember; + parseConditionalExpression = extra.parseConditionalExpression; + parseConstLetDeclaration = extra.parseConstLetDeclaration; + parseEqualityExpression = extra.parseEqualityExpression; + parseExpression = extra.parseExpression; + parseForVariableDeclaration = extra.parseForVariableDeclaration; + parseFunctionDeclaration = extra.parseFunctionDeclaration; + parseFunctionExpression = extra.parseFunctionExpression; + parseGroupExpression = extra.parseGroupExpression; + parseLeftHandSideExpression = extra.parseLeftHandSideExpression; + parseLeftHandSideExpressionAllowCall = extra.parseLeftHandSideExpressionAllowCall; + parseLogicalANDExpression = extra.parseLogicalANDExpression; + parseLogicalORExpression = extra.parseLogicalORExpression; + parseMultiplicativeExpression = extra.parseMultiplicativeExpression; + parseNewExpression = extra.parseNewExpression; + parseNonComputedProperty = extra.parseNonComputedProperty; + parseObjectProperty = extra.parseObjectProperty; + parseObjectPropertyKey = extra.parseObjectPropertyKey; + parsePrimaryExpression = extra.parsePrimaryExpression; + parsePostfixExpression = extra.parsePostfixExpression; + parseProgram = extra.parseProgram; + parsePropertyFunction = extra.parsePropertyFunction; + parseRelationalExpression = extra.parseRelationalExpression; + parseStatement = extra.parseStatement; + parseShiftExpression = extra.parseShiftExpression; + parseSwitchCase = extra.parseSwitchCase; + parseUnaryExpression = extra.parseUnaryExpression; + parseVariableDeclaration = extra.parseVariableDeclaration; + parseVariableIdentifier = extra.parseVariableIdentifier; + } + + if (typeof extra.scanRegExp === 'function') { + advance = extra.advance; + scanRegExp = extra.scanRegExp; + } + } + + function stringToArray(str) { + var length = str.length, + result = [], + i; + for (i = 0; i < length; ++i) { + result[i] = str.charAt(i); + } + return result; + } + + function parse(code, options) { + var program, toString; + + toString = String; + if (typeof code !== 'string' && !(code instanceof String)) { + code = toString(code); + } + + source = code; + index = 0; + lineNumber = (source.length > 0) ? 1 : 0; + lineStart = 0; + length = source.length; + buffer = null; + state = { + allowIn: true, + labelSet: {}, + inFunctionBody: false, + inIteration: false, + inSwitch: false + }; + + extra = {}; + if (typeof options !== 'undefined') { + extra.range = (typeof options.range === 'boolean') && options.range; + extra.loc = (typeof options.loc === 'boolean') && options.loc; + extra.raw = (typeof options.raw === 'boolean') && options.raw; + if (typeof options.tokens === 'boolean' && options.tokens) { + extra.tokens = []; + } + if (typeof options.comment === 'boolean' && options.comment) { + extra.comments = []; + } + if (typeof options.tolerant === 'boolean' && options.tolerant) { + extra.errors = []; + } + } + + if (length > 0) { + if (typeof source[0] === 'undefined') { + // Try first to convert to a string. This is good as fast path + // for old IE which understands string indexing for string + // literals only and not for string object. + if (code instanceof String) { + source = code.valueOf(); + } + + // Force accessing the characters via an array. + if (typeof source[0] === 'undefined') { + source = stringToArray(code); + } + } + } + + patch(); + try { + program = parseProgram(); + if (typeof extra.comments !== 'undefined') { + filterCommentLocation(); + program.comments = extra.comments; + } + if (typeof extra.tokens !== 'undefined') { + filterTokenLocation(); + program.tokens = extra.tokens; + } + if (typeof extra.errors !== 'undefined') { + program.errors = extra.errors; + } + if (extra.range || extra.loc) { + program.body = filterGroup(program.body); + } + } catch (e) { + throw e; + } finally { + unpatch(); + extra = {}; + } + + return program; + } + + // Sync with package.json. + exports.version = '1.0.4'; + + exports.parse = parse; + + // Deep copy. + exports.Syntax = (function () { + var name, types = {}; + + if (typeof Object.create === 'function') { + types = Object.create(null); + } + + for (name in Syntax) { + if (Syntax.hasOwnProperty(name)) { + types[name] = Syntax[name]; + } + } + + if (typeof Object.freeze === 'function') { + Object.freeze(types); + } + + return types; + }()); + + })); + /* vim: set sw=4 ts=4 et tw=80 : */ + + + /***/ }, + /* 2 */ + /***/ function(module, exports, __webpack_require__) { + + module.exports = hoist + + function hoist(ast){ + + var parentStack = [] + var variables = [] + var functions = [] + + if (Array.isArray(ast)){ + + walkAll(ast) + prependScope(ast, variables, functions) + + } else { + walk(ast) + } + + return ast + + // walk through each node of a program of block statement + function walkAll(nodes){ + var result = null + for (var i=0;i this.maxIterations){ + throw new Error('Infinite loop detected - reached max iterations') + } + } + + /***/ }, + /* 4 */ + /***/ function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(global) {var names = ['Object', 'String', 'Boolean', 'Number', 'RegExp', 'Date', 'Array'] + var immutable = {string: 'String', boolean: 'Boolean', number: 'Number' } + + var primitives = names.map(getGlobal) + var protos = primitives.map(getProto) + + var protoReplacements = {} + + module.exports = Primitives + + function Primitives(context){ + if (this instanceof Primitives){ + this.context = context + for (var i=0;i1?t.apply(e,arguments):t.call(e,n):t.call(e)}},e.toArray=function(t,e){e=e||0;for(var n=t.length-e,i=new Array(n);n--;)i[n]=t[n+e];return i},e.extend=function(t,e){for(var n in e)t[n]=e[n];return t},e.isObject=function(t){return null!==t&&"object"==typeof t};var s=Object.prototype.toString;e.isPlainObject=function(t){return"[object Object]"===s.call(t)},e.isArray=Array.isArray,e.define=function(t,e,n,i){Object.defineProperty(t,e,{value:n,enumerable:!!i,writable:!0,configurable:!0})},e.debounce=function(t,e){var n,i,r,s,o,a=function(){var h=Date.now()-s;e>h&&h>=0?n=setTimeout(a,e-h):(n=null,o=t.apply(r,i),n||(r=i=null))};return function(){return r=this,i=arguments,s=Date.now(),n||(n=setTimeout(a,e)),o}},e.indexOf=function(t,e){for(var n=0,i=t.length;i>n;n++)if(t[n]===e)return n;return-1},e.cancellable=function(t){var e=function(){return e.cancelled?void 0:t.apply(this,arguments)};return e.cancel=function(){e.cancelled=!0},e}},function(t,e,n){e.hasProto="__proto__"in{};var i=e.inBrowser="undefined"!=typeof window&&"[object Object]"!==Object.prototype.toString.call(window);if(e.isIE9=i&&navigator.userAgent.toLowerCase().indexOf("msie 9.0")>0,e.isAndroid=i&&navigator.userAgent.toLowerCase().indexOf("android")>0,i&&!e.isIE9){var r=void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend,s=void 0===window.onanimationend&&void 0!==window.onwebkitanimationend;e.transitionProp=r?"WebkitTransition":"transition",e.transitionEndEvent=r?"webkitTransitionEnd":"transitionend",e.animationProp=s?"WebkitAnimation":"animation",e.animationEndEvent=s?"webkitAnimationEnd":"animationend"}e.nextTick=function(){function t(){i=!1;var t=n.slice(0);n=[];for(var e=0;e=0;)n=n.replace(i," ");t.setAttribute("class",n.trim())}},e.extractContent=function(t,n){var r,s;if(e.isTemplate(t)&&t.content instanceof DocumentFragment&&(t=t.content),t.hasChildNodes())for(i(t,t.firstChild),i(t,t.lastChild),s=n?document.createDocumentFragment():document.createElement("div");r=t.firstChild;)s.appendChild(r);return s},e.isTemplate=function(t){return t.tagName&&"template"===t.tagName.toLowerCase()}},function(t,e,n){n(3)},function(t,e,n){function i(t,e){var n,r,s;for(n in e)r=t[n],s=e[n],t.hasOwnProperty(n)?o.isObject(r)&&o.isObject(s)&&i(r,s):t.$add(n,s);return t}function r(t){if(t){var e;for(var n in t)o.commonTagRE.test(n),e=t[n],o.isPlainObject(e)&&(e.name=n,t[n]=o.Vue.extend(e))}}function s(t){var e=t.props;o.isPlainObject(e)?t.props=Object.keys(e).map(function(t){var n=e[t];return o.isPlainObject(n)||(n={type:n}),n.name=t,n}):o.isArray(e)&&(t.props=e.map(function(t){return"string"==typeof t?{name:t}:t}))}var o=n(1),a=o.extend,h=Object.create(null);h.data=function(t,e,n){return n?t||e?function(){var r="function"==typeof e?e.call(n):e,s="function"==typeof t?t.call(n):void 0;return r?i(r,s):s}:void 0:e?"function"!=typeof e?t:t?function(){return i(e.call(this),t.call(this))}:e:t},h.el=function(t,e,n){if(n||!e||"function"==typeof e){var i=e||t;return n&&"function"==typeof i?i.call(n):i}},h.created=h.ready=h.attached=h.detached=h.beforeCompile=h.compiled=h.beforeDestroy=h.destroyed=h.props=function(t,e){return e?t?t.concat(e):o.isArray(e)?e:[e]:t},h.paramAttributes=function(){},h.directives=h.filters=h.transitions=h.components=h.partials=h.elementDirectives=function(t,e){var n=Object.create(t);return e?a(n,e):n},h.watch=h.events=function(t,e){if(!e)return t;if(!t)return e;var n={};a(n,t);for(var i in e){var r=n[i],s=e[i];r&&!o.isArray(r)&&(r=[r]),n[i]=r?r.concat(s):[s]}return n},h.methods=h.computed=function(t,e){if(!e)return t;if(!t)return e;var n=Object.create(t);return a(n,e),n};var c=function(t,e){return void 0===e?t:e};e.mergeOptions=function l(t,e,n){function i(i){var r=h[i]||c;a[i]=r(t[i],e[i],n,i)}r(e.components),s(e);var o,a={};if(e.mixins)for(var u=0,f=e.mixins.length;f>u;u++)t=l(t,e.mixins[u],n);for(o in t)i(o);for(o in e)t.hasOwnProperty(o)||i(o);return a},e.resolveAsset=function(t,e,n){for(var i=t[e][n];!i&&t._parent;)t=t._parent.$options,i=t[e][n];return i}},function(t,e,n){function i(t){return new Function("return function "+r.classify(t)+" (options) { this._init(options) }")()}var r=n(1),s=n(3);e.util=r,e.nextTick=r.nextTick,e.config=n(3),e.compiler=n(10),e.parsers={path:n(23),text:n(13),template:n(25),directive:n(15),expression:n(22)},e.cid=0;var o=1;e.extend=function(t){t=t||{};var e=this,n=i(t.name||e.options.name||"VueComponent");return n.prototype=Object.create(e.prototype),n.prototype.constructor=n,n.cid=o++,n.options=r.mergeOptions(e.options,t),n["super"]=e,n.extend=e.extend,s._assetTypes.forEach(function(t){n[t]=e[t]}),n},e.use=function(t){var e=r.toArray(arguments,1);return e.unshift(this),"function"==typeof t.install?t.install.apply(t,e):t.apply(null,e),this},s._assetTypes.forEach(function(t){e[t]=function(e,n){return n?("component"===t&&r.isPlainObject(n)&&(n.name=e,n=r.Vue.extend(n)),void(this.options[t+"s"][e]=n)):this.options[t+"s"][e]}})},function(t,e,n){var i=n(1);i.extend(e,n(11)),i.extend(e,n(27))},function(t,e,n){function i(t,e){var n=e._directives.length;return t(),e._directives.slice(n)}function r(t,e,n,i){return function(r){s(t,e,r),n&&i&&s(n,i)}}function s(t,e,n){for(var i=e.length;i--;)e[i]._teardown(),n||t._directives.$remove(e[i])}function o(t,e){var n=t.nodeType;return 1===n&&"SCRIPT"!==t.tagName?a(t,e):3===n&&x.interpolate&&t.data.trim()?h(t,e):null}function a(t,e){var n,i=t.hasAttributes();if(i&&(n=v(t,e)),n||(n=d(t,e)),n||(n=p(t,e)),!n&&i&&(n=_(t,e)),"TEXTAREA"===t.tagName){var r=n;n=function(t,e){e.value=t.$interpolate(e.value),r&&r(t,e)},n.terminal=!0}return n}function h(t,e){var n=A.parse(t.data);if(!n)return null;for(var i,r,s=document.createDocumentFragment(),o=0,a=n.length;a>o;o++)r=n[o],i=r.tag?c(r,e):document.createTextNode(r.value),s.appendChild(i);return l(n,s,e)}function c(t,e){function n(n){t.type=n,t.def=P(e,"directives",n),t.descriptor=E.parse(t.value)[0]}var i;return t.oneTime?i=document.createTextNode(t.value):t.html?(i=document.createComment("v-html"),n("html")):(i=document.createTextNode(" "),n("text")),i}function l(t,e){return function(n,i){for(var r,s,o,a=e.cloneNode(!0),h=k.toArray(a.childNodes),c=0,l=t.length;l>c;c++)r=t[c],s=r.value,r.tag&&(o=h[c],r.oneTime?(s=n.$eval(s),r.html?k.replace(o,T.parse(s,!0)):o.data=s):n._bindDir(r.type,o,r.descriptor,r.def));k.replace(i,a)}}function u(t,e){for(var n,i,r,s=[],a=0,h=t.length;h>a;a++)r=t[a],n=o(r,e),i=n&&n.terminal||"SCRIPT"===r.tagName||!r.hasChildNodes()?null:u(r.childNodes,e),s.push(n,i);return s.length?f(s):null}function f(t){return function(e,n,i){for(var r,s,o,a=0,h=0,c=t.length;c>a;h++){r=n[h],s=t[a++],o=t[a++];var l=k.toArray(r.childNodes);s&&s(e,r,i),o&&o(e,l,i)}}}function d(t,e){var n=t.tagName.toLowerCase();if(!k.commonTagRE.test(n)){var i=P(e,"elementDirectives",n);return i?g(t,n,"",e,i):void 0}}function p(t,e,n){var i=k.checkComponent(t,e,n);if(i){var r=function(t,e,n){t._bindDir("component",e,{expression:i},D,n)};return r.terminal=!0,r}}function v(t,e){if(null!==k.attr(t,"pre"))return m;for(var n,i,r=0,s=O.length;s>r;r++)if(i=O[r],null!==(n=k.attr(t,i)))return g(t,i,n,e)}function m(){}function g(t,e,n,i,r){var s=E.parse(n)[0];r=r||i.directives[e];var o=function(t,n,i){t._bindDir(e,n,s,r,i)};return o.terminal=!0,o}function _(t,e){for(var n,i,r,s,o,a,h=k.isPlainObject(t)?b(t):t.attributes,c=h.length,l=[];c--;)n=h[c],i=n.name,r=n.value,0===i.indexOf(x.prefix)?(o=i.slice(x.prefix.length),a=P(e,"directives",o),a&&l.push({name:o,descriptors:E.parse(r),def:a})):x.interpolate&&(s=$(i,r,e),s&&l.push(s));return l.length?(l.sort(C),y(l)):void 0}function b(t){var e=[];for(var n in t)e.push({name:n,value:t[n]});return e}function y(t){return function(e,n,i){for(var r,s,o,a=t.length;a--;)if(r=t[a],r._link)r._link(e,n);else for(o=r.descriptors.length,s=0;o>s;s++)e._bindDir(r.name,n,r.descriptors[s],r.def,i)}}function $(t,e,n){var i=A.parse(e);if(i){for(var r=n.directives.attr,s=i.length,o=!0;s--;){var a=i[s];a.tag&&!a.oneTime&&(o=!1)}return{def:r,_link:o?function(n,i){i.setAttribute(t,n.$interpolate(e))}:function(e,n){var s=A.tokensToExp(i,e),o=E.parse(t+":"+s)[0];e._bindDir("attr",n,o,r)}}}}function C(t,e){return t=t.def.priority||0,e=e.def.priority||0,t>e?1:-1}var k=n(1),w=n(12),x=n(3),A=n(13),E=n(15),T=n(25),P=k.resolveAsset,D=n(26),O=["repeat","if"];e.compile=function(t,e,n,s){var a=n||!e._asComponent?o(t,e):null,h=a&&a.terminal||"SCRIPT"===t.tagName||!t.hasChildNodes()?null:u(t.childNodes,e);return function(t,e){var n=k.toArray(e.childNodes),o=i(function(){a&&a(t,e,s),h&&h(t,n,s)},t);return r(t,o)}},e.compileAndLinkProps=function(t,e,n){var s=w(e,n),o=i(function(){s(t,null)},t);return r(t,o)},e.compileAndLinkRoot=function(t,e,n){var s,o,a=n._containerAttrs,h=n._replacerAttrs;11!==e.nodeType&&(n._asComponent?(a&&(s=_(a,n)),h&&(o=_(h,n))):o=_(e,n));var c,l=t._context;l&&s&&(c=i(function(){s(l,e)},l));var u=i(function(){o&&o(t,e)},t);return r(t,u,l,c)},m.terminal=!0},function(t,e,n){function i(t){return function(e,n){for(var i,s,h,c,l=t.length;l--;)i=t[l],s=i.path,h=i.options,null===i.raw?e._data[s]=h.type===Boolean?!1:h.hasOwnProperty("default")?h["default"]:void 0:i.dynamic?e._context&&(i.mode===a.ONE_TIME?(c=e._context.$get(i.parentPath),r.assertProp(i,c)&&(e[s]=e._data[s]=c)):e._bindDir("prop",n,i,o)):(c=h.type===Boolean&&""===i.raw?!0:r.toBoolean(r.toNumber(i.raw)),r.assertProp(i,c)&&(e[s]=e._data[s]=c))}}var r=n(1),s=n(13),o=n(16),a=n(3)._propBindingModes,h=n(23).identRE,c=/^data-/,l=/^[A-Za-z_$][\w$]*(\.[A-Za-z_$][\w$]*|\[[^\[\]]+\])*$/,u=/^(true|false)$|^\d.*/;t.exports=function(t,e){for(var n,o,f,d,p,v,m,g=[],_=e.length;_--;){if(n=e[_],o=n.name,d=r.camelize(o.replace(c,"")),!h.test(d),f=t.getAttribute(r.hyphenate(o)),p={name:o,raw:f,path:d,options:n,mode:a.ONE_WAY},null!==f){t.removeAttribute(o);var b=s.parse(f);b&&(t&&1===t.nodeType&&t.removeAttribute(o),p.dynamic=!0,p.parentPath=s.tokensToExp(b),m=1===b.length,v=u.test(p.parentPath),v||m&&b[0].oneTime?p.mode=a.ONE_TIME:!v&&m&&b[0].twoWay&&l.test(p.parentPath)&&(p.mode=a.TWO_WAY))}else n&&n.required;g.push(p)}return i(g)}},function(t,e,n){function i(t){return t.replace(v,"\\$&")}function r(){d._delimitersChanged=!1;var t=d.delimiters[0],e=d.delimiters[1];l=t.charAt(0),u=e.charAt(e.length-1);var n=i(l),r=i(u),s=i(t),o=i(e);h=new RegExp(n+"?"+s+"(.+?)"+o+r+"?","g"),c=new RegExp("^"+n+s+".*"+o+r+"$"),a=new f(1e3)}function s(t,e,n){return t.tag?e&&t.oneTime?'"'+e.$eval(t.value)+'"':o(t.value,n):'"'+t.value+'"'}function o(t,e){if(m.test(t)){var n=p.parse(t)[0];return n.filters?"this._applyFilters("+n.expression+",null,"+JSON.stringify(n.filters)+",false)":"("+t+")"}return e?t:"("+t+")"}var a,h,c,l,u,f=n(14),d=n(3),p=n(15),v=/[-.*+?^${}()|[\]\/\\]/g;e.parse=function(t){d._delimitersChanged&&r();var e=a.get(t);if(e)return e;if(t=t.replace(/\n/g,""),!h.test(t))return null;for(var n,i,s,o,l,u,f=[],p=h.lastIndex=0;n=h.exec(t);)i=n.index,i>p&&f.push({value:t.slice(p,i)}),o=n[1].charCodeAt(0),l=42===o,u=64===o,s=l||u?n[1].slice(1):n[1],f.push({tag:!0,value:s.trim(),html:c.test(n[0]),oneTime:l,twoWay:u}),p=i+n[0].length;return p1?t.map(function(t){return s(t,e)}).join("+"):s(t[0],e,!0)};var m=/[^|]\|[^|]/},function(t,e,n){function i(t){this.size=0,this.limit=t,this.head=this.tail=void 0,this._keymap={}}var r=i.prototype;r.put=function(t,e){var n={key:t,value:e};return this._keymap[t]=n,this.tail?(this.tail.newer=n,n.older=this.tail):this.head=n,this.tail=n,this.size===this.limit?this.shift():void this.size++},r.shift=function(){var t=this.head;return t&&(this.head=this.head.newer,this.head.older=void 0,t.newer=t.older=void 0,this._keymap[t.key]=void 0),t},r.get=function(t,e){var n=this._keymap[t];if(void 0!==n)return n===this.tail?e?n:n.value:(n.newer&&(n===this.head&&(this.head=n.newer),n.newer.older=n.older),n.older&&(n.older.newer=n.newer),n.newer=void 0,n.older=this.tail,this.tail&&(this.tail.newer=n),this.tail=n,e?n:n.value)},t.exports=i},function(t,e,n){function i(){_.raw=o.slice(v,h).trim(),void 0===_.expression?_.expression=o.slice(m,h).trim():b!==v&&r(),(0===h||_.expression)&&g.push(_)}function r(){var t,e=o.slice(b,h).trim();if(e){t={};var n=e.match(x);t.name=n[0],n.length>1&&(t.args=n.slice(1).map(s))}t&&(_.filters=_.filters||[]).push(t),b=h+1}function s(t){var e=A.test(t)?t:$.stripQuotes(t);return{value:e||t,dynamic:!e}}var o,a,h,c,l,u,f,d,p,v,m,g,_,b,y,$=n(1),C=n(14),k=new C(1e3),w=/^[^\{\?]+$|^'[^']*'$|^"[^"]*"$/,x=/[^\s'"]+|'[^']+'|"[^"]+"/g,A=/^in$|^-?\d+/;e.parse=function(t){var e=k.get(t);if(e)return e;for(o=t,l=u=!1,f=d=p=v=m=0,b=0,g=[],_={},y=null,h=0,c=o.length;c>h;h++)if(a=o.charCodeAt(h),l)39===a&&(l=!l);else if(u)34===a&&(u=!u);else if(44!==a||p||f||d)if(58!==a||_.expression||_.arg)if(124===a&&124!==o.charCodeAt(h+1)&&124!==o.charCodeAt(h-1))void 0===_.expression?(b=h+1,_.expression=o.slice(m,h).trim()):r();else switch(a){case 34:u=!0;break;case 39:l=!0;break;case 40:p++;break;case 41:p--;break;case 91:d++;break;case 93:d--;break;case 123:f++;break;case 125:f--}else y=o.slice(v,h).trim(),w.test(y)&&(m=h+1,_.arg=$.stripQuotes(y)||y);else i(),_={},v=m=b=h+1;return(0===h||v!==h)&&i(),k.put(t,g),g}},function(t,e,n){var i=n(1),r=n(17),s=n(3)._propBindingModes;t.exports={bind:function(){function t(t){return function(e){c||(c=!0,t(e),i.nextTick(function(){c=!1}))}}var e=this.vm,n=e._context,o=this._descriptor,a=o.path,h=o.parentPath,c=!1;this.parentWatcher=new r(n,h,t(function(t){i.assertProp(o,t)&&(e[a]=t)}));var l=this.parentWatcher.value;if(i.assertProp(o,l)&&("$data"===a?e._data=l:e[a]=e._data[a]=l),o.mode===s.TWO_WAY){var u=this;e.$once("hook:created",function(){u.childWatcher=new r(e,a,t(function(t){n.$set(h,t)}))})}},unbind:function(){this.parentWatcher&&this.parentWatcher.teardown(),this.childWatcher&&this.childWatcher.teardown()}}},function(t,e,n){function i(t,e,n,i){var r="function"==typeof e;if(this.vm=t,t._watchers.push(this),this.expression=r?"":e,this.cb=n,this.id=++l,this.active=!0,i=i||{},this.deep=!!i.deep,this.user=!!i.user,this.twoWay=!!i.twoWay,this.filters=i.filters,this.preProcess=i.preProcess,this.deps=[],this.newDeps=[],r)this.getter=e,this.setter=void 0;else{var s=h.parse(e,i.twoWay);this.getter=s.get,this.setter=s.set}this.value=this.get()}function r(t){var e,n,i;for(e in t)if(n=t[e],s.isArray(n))for(i=n.length;i--;)r(n[i]);else s.isObject(n)&&r(n)}var s=n(1),o=n(3),a=n(18),h=n(22),c=n(24),l=0,u=i.prototype;u.addDep=function(t){var e=this.newDeps,n=this.deps;if(s.indexOf(e,t)<0){e.push(t);var i=s.indexOf(n,t);0>i?t.addSub(this):n[i]=null}},u.get=function(){this.beforeGet();var t,e=this.vm;try{t=this.getter.call(e,e)}catch(n){o.warnExpressionErrors}return this.deep&&r(t),this.preProcess&&(t=this.preProcess(t)),this.filters&&(t=e._applyFilters(t,null,this.filters,!1)),this.afterGet(),t},u.set=function(t){var e=this.vm;this.filters&&(t=e._applyFilters(t,this.value,this.filters,!0));try{this.setter.call(e,e,t)}catch(n){o.warnExpressionErrors}},u.beforeGet=function(){a.setTarget(this)},u.afterGet=function(){a.setTarget(null);for(var t=this.deps.length;t--;){var e=this.deps[t];e&&e.removeSub(this)}this.deps=this.newDeps,this.newDeps=[]},u.update=function(){o.async?c.push(this):this.run()},u.run=function(){if(this.active){var t=this.get();if(t!==this.value||s.isArray(t)||this.deep){var e=this.value;this.value=t,this.cb(t,e)}}},u.teardown=function(){if(this.active){this.vm._isBeingDestroyed||this.vm._watchers.$remove(this);for(var t=this.deps.length;t--;)this.deps[t].removeSub(this);this.active=!1,this.vm=this.cb=this.value=null}},t.exports=i},function(t,e,n){function i(t,e){if(this.id=++u,this.value=t,this.active=!0,this.deps=[],o.define(t,"__ob__",this),e===f){var n=a.proto&&o.hasProto?r:s;n(t,c,l),this.observeArray(t)}else e===d&&this.walk(t)}function r(t,e){t.__proto__=e}function s(t,e,n){for(var i,r=n.length;r--;)i=n[r],o.define(t,i,e[i])}var o=n(1),a=n(3),h=n(19),c=n(20),l=Object.getOwnPropertyNames(c);n(21);var u=0,f=0,d=1;i.create=function(t){return t&&t.hasOwnProperty("__ob__")&&t.__ob__ instanceof i?t.__ob__:o.isArray(t)?new i(t,f):o.isPlainObject(t)&&!t._isVue?new i(t,d):void 0},i.setTarget=function(t){h.target=t};var p=i.prototype;p.walk=function(t){for(var e,n,i=Object.keys(t),r=i.length;r--;)e=i[r],n=e.charCodeAt(0),36!==n&&95!==n&&this.convert(e,t[e])},p.observe=function(t){return i.create(t)},p.observeArray=function(t){for(var e=t.length;e--;)this.observe(t[e])},p.convert=function(t,e){var n=this,i=n.observe(e),r=new h;i&&i.deps.push(r),Object.defineProperty(n.value,t,{enumerable:!0,configurable:!0,get:function(){return n.active&&r.depend(),e},set:function(t){if(t!==e){var i=e&&e.__ob__;i&&i.deps.$remove(r),e=t;var s=n.observe(t);s&&s.deps.push(r),r.notify()}}})},p.notify=function(){for(var t=this.deps,e=0,n=t.length;n>e;e++)t[e].notify()},p.addVm=function(t){(this.vms||(this.vms=[])).push(t)},p.removeVm=function(t){this.vms.$remove(t)},t.exports=i},function(t,e,n){function i(){this.subs=[]}var r=n(1);i.target=null;var s=i.prototype;s.addSub=function(t){this.subs.push(t)},s.removeSub=function(t){this.subs.$remove(t)},s.depend=function(){i.target&&i.target.addDep(this)},s.notify=function(){for(var t=r.toArray(this.subs),e=0,n=t.length;n>e;e++)t[e].update()},t.exports=i},function(t,e,n){var i=n(1),r=Array.prototype,s=Object.create(r);["push","pop","shift","unshift","splice","sort","reverse"].forEach(function(t){var e=r[t];i.define(s,t,function(){for(var n=arguments.length,i=new Array(n);n--;)i[n]=arguments[n];var r,s=e.apply(this,i),o=this.__ob__;switch(t){case"push":r=i;break;case"unshift":r=i;break;case"splice":r=i.slice(2)}return r&&o.observeArray(r),o.notify(),s})}),i.define(r,"$set",function(t,e){return t>=this.length&&(this.length=t+1),this.splice(t,1,e)[0]}),i.define(r,"$remove",function(t){return this.length?("number"!=typeof t&&(t=i.indexOf(this,t)),t>-1?this.splice(t,1):void 0):void 0}),t.exports=s},function(t,e,n){var i=n(1),r=Object.prototype;i.define(r,"$add",function(t,e){if(!this.hasOwnProperty(t)){var n=this.__ob__;if(!n||i.isReserved(t))return void(this[t]=e);if(n.convert(t,e),n.notify(),n.vms)for(var r=n.vms.length;r--;){var s=n.vms[r];s._proxy(t),s._digest()}}}),i.define(r,"$set",function(t,e){this.$add(t,e),this[t]=e}),i.define(r,"$delete",function(t){if(this.hasOwnProperty(t)){delete this[t];var e=this.__ob__;if(e&&!i.isReserved(t)&&(e.notify(),e.vms))for(var n=e.vms.length;n--;){var r=e.vms[n];r._unproxy(t),r._digest()}}})},function(t,e,n){function i(t,e){var n=x.length;return x[n]=e?t.replace(b,"\\n"):t,'"'+n+'"'}function r(t){var e=t.charAt(0),n=t.slice(1);return v.test(n)?t:(n=n.indexOf('"')>-1?n.replace($,s):n,e+"scope."+n)}function s(t,e){return x[e]}function o(t,e){g.test(t),x.length=0;var n=t.replace(y,i).replace(_,"");n=(" "+n).replace(k,r).replace($,s);var o=h(n);return o?{get:o,body:n,set:e?c(n):null}:void 0}function a(t){var e,n;return t.indexOf("[")<0?(n=t.split("."),n.raw=t,e=u.compileGetter(n)):(n=u.parse(t),e=n.get),{get:e,set:function(t,e){u.set(t,n,e)}}}function h(t){try{return new Function("scope","return "+t+";")}catch(e){}}function c(t){try{return new Function("scope","value",t+"=value;")}catch(e){}}function l(t){t.set||(t.set=c(t.body))}var u=(n(1),n(23)),f=n(14),d=new f(1e3),p="Math,Date,this,true,false,null,undefined,Infinity,NaN,isNaN,isFinite,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,parseInt,parseFloat",v=new RegExp("^("+p.replace(/,/g,"\\b|")+"\\b)"),m="break,case,class,catch,const,continue,debugger,default,delete,do,else,export,extends,finally,for,function,if,import,in,instanceof,let,return,super,switch,throw,try,var,while,with,yield,enum,await,implements,package,proctected,static,interface,private,public",g=new RegExp("^("+m.replace(/,/g,"\\b|")+"\\b)"),_=/\s/g,b=/\n/g,y=/[\{,]\s*[\w\$_]+\s*:|('[^']*'|"[^"]*")|new |typeof |void /g,$=/"(\d+)"/g,C=/^[A-Za-z_$][\w$]*(\.[A-Za-z_$][\w$]*|\['.*?'\]|\[".*?"\]|\[\d+\]|\[[A-Za-z_$][\w$]*\])*$/,k=/[^\w$\.]([A-Za-z_$][\w$]*(\.[A-Za-z_$][\w$]*|\['.*?'\]|\[".*?"\])*)/g,w=/^(true|false)$/,x=[];e.parse=function(t,n){t=t.trim();var i=d.get(t);if(i)return n&&l(i),i;var r=e.isSimplePath(t)?a(t):o(t,n);return d.put(t,r),r},e.isSimplePath=function(t){return C.test(t)&&!w.test(t)&&"Math."!==t.slice(0,5)}},function(t,e,n){function i(){}function r(t){if(void 0===t)return"eof";var e=t.charCodeAt(0);switch(e){case 91:case 93:case 46:case 34:case 39:case 48:return t;case 95:case 36:return"ident";case 32:case 9:case 10:case 13:case 160:case 65279:case 8232:case 8233:return"ws"}return e>=97&&122>=e||e>=65&&90>=e?"ident":e>=49&&57>=e?"number":"else"}function s(t){function e(){var e=t[d+1];return"inSingleQuote"===p&&"'"===e||"inDoubleQuote"===p&&'"'===e?(d++,s=e,v.append(),!0):void 0}for(var n,s,o,a,h,c,l,u=[],d=-1,p="beforePath",v={push:function(){void 0!==o&&(u.push(o),o=void 0)},append:function(){void 0===o?o=s:o+=s}};p;)if(d++,n=t[d],"\\"!==n||!e()){if(a=r(n),l=f[p],h=l[a]||l["else"]||"error","error"===h)return;if(p=h[0],c=v[h[1]]||i,s=h[2],s=void 0===s?n:"*"===s?s+n:s,c(),"afterPath"===p)return u.raw=t,u}}function o(t){return u.test(t)?"."+t:+t===t>>>0?"["+t+"]":"*"===t.charAt(0)?"[o"+o(t.slice(1))+"]":'["'+t.replace(/"/g,'\\"')+'"]'}function a(t){}var h=n(1),c=n(14),l=new c(1e3),u=e.identRE=/^[$_a-zA-Z]+[\w$]*$/,f={beforePath:{ws:["beforePath"],ident:["inIdent","append"],"[":["beforeElement"],eof:["afterPath"]},inPath:{ws:["inPath"],".":["beforeIdent"],"[":["beforeElement"],eof:["afterPath"]},beforeIdent:{ws:["beforeIdent"],ident:["inIdent","append"]},inIdent:{ident:["inIdent","append"],0:["inIdent","append"],number:["inIdent","append"],ws:["inPath","push"],".":["beforeIdent","push"],"[":["beforeElement","push"],eof:["afterPath","push"],"]":["inPath","push"]},beforeElement:{ws:["beforeElement"],0:["afterZero","append"],number:["inIndex","append"],"'":["inSingleQuote","append",""],'"':["inDoubleQuote","append",""],ident:["inIdent","append","*"]},afterZero:{ws:["afterElement","push"],"]":["inPath","push"]},inIndex:{0:["inIndex","append"],number:["inIndex","append"],ws:["afterElement"],"]":["inPath","push"]},inSingleQuote:{"'":["afterElement"],eof:"error","else":["inSingleQuote","append"]},inDoubleQuote:{'"':["afterElement"],eof:"error","else":["inDoubleQuote","append"]},afterElement:{ws:["afterElement"],"]":["inPath","push"]}};e.compileGetter=function(t){var e="return o"+t.map(o).join("");return new Function("o",e)},e.parse=function(t){var n=l.get(t);return n||(n=s(t),n&&(n.get=e.compileGetter(n),l.put(t,n))),n},e.get=function(t,n){return n=e.parse(n),n?n.get(t):void 0},e.set=function(t,n,i){var r=t;if("string"==typeof n&&(n=e.parse(n)),!n||!h.isObject(t))return!1;for(var s,o,c=0,l=n.length;l>c;c++)s=t,o=n[c],"*"===o.charAt(0)&&(o=r[o.slice(1)]),l-1>c?(t=t[o],h.isObject(t)||(t={},s.$add(o,t),a(n))):h.isArray(t)?t.$set(o,i):o in t?t[o]=i:(t.$add(o,i),a(n));return!0}},function(t,e,n){function i(){h=[],c=[],l={},u=f=d=!1}function r(){f=!0,s(h),d=!0,s(c),i()}function s(t){for(var e=0;ea._maxUpdateCount)return}else l[e]=1;if(f&&!t.user&&d)return void t.run();(t.user?c:h).push(t),u||(u=!0,o.nextTick(r))}}},function(t,e,n){function i(t){var e=a.get(t);if(e)return e;var n=document.createDocumentFragment(),i=t.match(l),r=u.test(t);if(i||r){var s=i&&i[1],o=c[s]||c._default,h=o[0],f=o[1],d=o[2],p=document.createElement("div");for(p.innerHTML=f+t.trim()+d;h--;)p=p.lastChild;for(var v;v=p.firstChild;)n.appendChild(v)}else n.appendChild(document.createTextNode(t));return a.put(t,n),n}function r(t){if(s.isTemplate(t)&&t.content instanceof DocumentFragment)return t.content;if("SCRIPT"===t.tagName)return i(t.textContent);for(var n,r=e.clone(t),o=document.createDocumentFragment();n=r.firstChild;)o.appendChild(n);return o}var s=n(1),o=n(14),a=new o(1e3),h=new o(1e3),c={_default:[0,"",""],legend:[1,"
","
"],tr:[2,"","
"],col:[2,"","
"]};c.td=c.th=[3,"","
"],c.option=c.optgroup=[1,'"],c.thead=c.tbody=c.colgroup=c.caption=c.tfoot=[1,"","
"],c.g=c.defs=c.symbol=c.use=c.image=c.text=c.circle=c.ellipse=c.line=c.path=c.polygon=c.polyline=c.rect=[1,'',""];var l=/<([\w:]+)/,u=/&\w+;/,f=s.inBrowser?function(){var t=document.createElement("div");return t.innerHTML="",!t.cloneNode(!0).firstChild.innerHTML}():!1,d=s.inBrowser?function(){var t=document.createElement("textarea");return t.placeholder="t","t"===t.cloneNode(!0).value}():!1;e.clone=function(t){var e,n,i,r=t.cloneNode(!0);if(f&&(n=t.querySelectorAll("template"),n.length))for(i=r.querySelectorAll("template"),e=i.length;e--;)i[e].parentNode.replaceChild(n[e].cloneNode(!0),i[e]);if(d)if("TEXTAREA"===t.tagName)r.value=t.value;else if(n=t.querySelectorAll("textarea"),n.length)for(i=r.querySelectorAll("textarea"),e=i.length;e--;)i[e].value=n[e].value;return r},e.parse=function(t,n,s){var o,a;return t instanceof DocumentFragment?n?t.cloneNode(!0):t:("string"==typeof t?s||"#"!==t.charAt(0)?a=i(t):(a=h.get(t),a||(o=document.getElementById(t.slice(1)),o&&(a=r(o),h.put(t,a)))):t.nodeType&&(a=r(t)),a&&n?e.clone(a):a)}},function(t,e,n){var i=n(1),r=n(25);t.exports={isLiteral:!0,bind:function(){this.el.__vue__||(this.anchor=i.createAnchor("v-component"),i.replace(this.el,this.anchor),this.keepAlive=null!=this._checkParam("keep-alive"),this.readyEvent=this._checkParam("wait-for"),this.refID=i.attr(this.el,"ref"),this.keepAlive&&(this.cache={}),null!==this._checkParam("inline-template")&&(this.template=i.extractContent(this.el,!0)),this._pendingCb=this.ctorId=this.Ctor=null,this._isDynamicLiteral?this.transMode=this._checkParam("transition-mode"):this.resolveCtor(this.expression,i.bind(this.initStatic,this)))},initStatic:function(){var t=this.build(),e=this.anchor;this.setCurrent(t),this.readyEvent?t.$once(this.readyEvent,function(){t.$before(e)}):t.$before(e)},update:function(t){this.setComponent(t)},setComponent:function(t,e,n,r){this.invalidatePending(),t?this.resolveCtor(t,i.bind(function(){this.unbuild(!0);var t=this.build(e);n&&n(t);var i=this;this.readyEvent?t.$once(this.readyEvent,function(){i.transition(t,r)}):this.transition(t,r)},this)):(this.unbuild(!0),this.remove(this.childVM,r),this.unsetCurrent())},resolveCtor:function(t,e){var n=this;this._pendingCb=i.cancellable(function(i){n.ctorId=t,n.Ctor=i,e()}),this.vm._resolveComponent(t,this._pendingCb)},invalidatePending:function(){this._pendingCb&&(this._pendingCb.cancel(),this._pendingCb=null)},build:function(t){if(this.keepAlive){var e=this.cache[this.ctorId];if(e)return e}if(this.Ctor){var n=this._host||this.vm,i=r.clone(this.el),s=n.$addChild({el:i,data:t,template:this.template,_linkerCachable:!this.template,_asComponent:!0,_isRouterView:this._isRouterView,_context:this.vm},this.Ctor);return this.keepAlive&&(this.cache[this.ctorId]=s),s}},unbuild:function(t){var e=this.childVM;e&&!this.keepAlive&&e.$destroy(!1,t)},remove:function(t,e){var n=this.keepAlive;t?t.$remove(function(){n||t._cleanup(),e&&e()}):e&&e()},transition:function(t,e){var n=this,i=this.childVM;switch(this.unsetCurrent(),this.setCurrent(t),n.transMode){case"in-out":t.$before(n.anchor,function(){ -n.remove(i,e)});break;case"out-in":n.remove(i,function(){t._isDestroyed||t.$before(n.anchor,e)});break;default:n.remove(i),t.$before(n.anchor,e)}},setCurrent:function(t){this.childVM=t;var e=t._refID||this.refID;e&&(this.vm.$[e]=t)},unsetCurrent:function(){var t=this.childVM;this.childVM=null;var e=t&&t._refID||this.refID;e&&(this.vm.$[e]=null)},unbind:function(){if(this.invalidatePending(),this.unbuild(),this.unsetCurrent(),this.cache){for(var t in this.cache)this.cache[t].$destroy();this.cache=null}}}},function(t,e,n){function i(t,e){var n=e.template,i=h.parse(n,!0);if(i){var c=i.firstChild,l=c.tagName&&c.tagName.toLowerCase();return e.replace?(t===document.body,i.childNodes.length>1||1!==c.nodeType||"component"===l||o.resolveAsset(e,"elementDirectives",l)||c.hasAttribute(a.prefix+"repeat")?i:(e._replacerAttrs=r(c),s(t,c),c)):(t.appendChild(i),t)}}function r(t){if(1===t.nodeType&&t.hasAttributes()){for(var e=t.attributes,n={},i=e.length;i--;)n[e[i].name]=e[i].value;return n}}function s(t,e){for(var n,i,r=t.attributes,s=r.length;s--;)n=r[s].name,i=r[s].value,e.hasAttribute(n)?"class"===n&&(e.className=e.className+" "+i):e.setAttribute(n,i)}var o=n(1),a=n(3),h=n(25);e.transclude=function(t,e){return e&&(e._containerAttrs=r(t)),o.isTemplate(t)&&(t=h.parse(t)),e&&(e._asComponent&&!e.template&&(e.template=""),e.template&&(e._content=o.extractContent(t),t=i(t,e))),t instanceof DocumentFragment&&(o.prepend(o.createAnchor("v-start",!0),t),t.appendChild(o.createAnchor("v-end",!0))),t}},function(t,e,n){e.text=n(30),e.html=n(31),e.attr=n(32),e.show=n(33),e["class"]=n(35),e.el=n(36),e.ref=n(37),e.cloak=n(38),e.style=n(29),e.transition=n(39),e.on=n(42),e.model=n(43),e.repeat=n(48),e["if"]=n(49),e._component=n(26),e._prop=n(16)},function(t,e,n){function i(t){if(u[t])return u[t];var e=r(t);return u[t]=u[e]=e,e}function r(t){t=t.replace(c,"$1-$2").toLowerCase();var e=s.camelize(t),n=e.charAt(0).toUpperCase()+e.slice(1);if(l||(l=document.createElement("div")),e in l.style)return t;for(var i,r=o.length;r--;)if(i=a[r]+n,i in l.style)return o[r]+t}var s=n(1),o=["-webkit-","-moz-","-ms-"],a=["Webkit","Moz","ms"],h=/!important;?$/,c=/([a-z])([A-Z])/g,l=null,u={};t.exports={deep:!0,update:function(t){this.arg?this.setProp(this.arg,t):"object"==typeof t?this.objectHandler(t):this.el.style.cssText=t},objectHandler:function(t){var e,n,i=this.cache||(this.cache={});for(e in i)e in t||(this.setProp(e,null),delete i[e]);for(e in t)n=t[e],n!==i[e]&&(i[e]=n,this.setProp(e,n))},setProp:function(t,e){if(t=i(t))if(null!=e&&(e+=""),e){var n=h.test(e)?"important":"";n&&(e=e.replace(h,"").trim()),this.el.style.setProperty(t,e,n)}else this.el.style.removeProperty(t)}}},function(t,e,n){var i=n(1);t.exports={bind:function(){this.attr=3===this.el.nodeType?"data":"textContent"},update:function(t){this.el[this.attr]=i.toString(t)}}},function(t,e,n){var i=n(1),r=n(25);t.exports={bind:function(){8===this.el.nodeType&&(this.nodes=[],this.anchor=i.createAnchor("v-html"),i.replace(this.el,this.anchor))},update:function(t){t=i.toString(t),this.nodes?this.swap(t):this.el.innerHTML=t},swap:function(t){for(var e=this.nodes.length;e--;)i.remove(this.nodes[e]);var n=r.parse(t,!0,!0);this.nodes=i.toArray(n.childNodes),i.before(n,this.anchor)}}},function(t,e,n){var i="http://www.w3.org/1999/xlink",r=/^xlink:/;t.exports={priority:850,update:function(t){this.arg?this.setAttr(this.arg,t):"object"==typeof t&&this.objectHandler(t)},objectHandler:function(t){var e,n,i=this.cache||(this.cache={});for(e in i)e in t||(this.setAttr(e,null),delete i[e]);for(e in t)n=t[e],n!==i[e]&&(i[e]=n,this.setAttr(e,n))},setAttr:function(t,e){e||0===e?r.test(t)?this.el.setAttributeNS(i,t,e):this.el.setAttribute(t,e):this.el.removeAttribute(t)}}},function(t,e,n){var i=n(34);t.exports=function(t){var e=this.el;i.apply(e,t?1:-1,function(){e.style.display=t?"":"none"},this.vm)}},function(t,e,n){var i=n(1);e.append=function(t,e,n,i){r(t,1,function(){e.appendChild(t)},n,i)},e.before=function(t,e,n,s){r(t,1,function(){i.before(t,e)},n,s)},e.remove=function(t,e,n){r(t,-1,function(){i.remove(t)},e,n)},e.removeThenAppend=function(t,e,n,i){r(t,-1,function(){e.appendChild(t)},n,i)},e.blockAppend=function(t,n,r){for(var s=i.toArray(t.childNodes),o=0,a=s.length;a>o;o++)e.before(s[o],n,r)},e.blockRemove=function(t,n,i){for(var r,s=t.nextSibling;s!==n;)r=s.nextSibling,e.remove(s,i),s=r};var r=e.apply=function(t,e,n,r,s){var o=t.__v_trans;if(!o||!o.hooks&&!i.transitionEndEvent||!r._isCompiled||r.$parent&&!r.$parent._isCompiled)return n(),void(s&&s());var a=e>0?"enter":"leave";o[a](n,s)}},function(t,e,n){var i=n(1),r=i.addClass,s=i.removeClass;t.exports={update:function(t){if(this.arg){var e=t?r:s;e(this.el,this.arg)}else if(this.cleanup(),t&&"string"==typeof t)r(this.el,t),this.lastVal=t;else if(i.isPlainObject(t)){for(var n in t)t[n]?r(this.el,n):s(this.el,n);this.prevKeys=Object.keys(t)}},cleanup:function(t){if(this.lastVal&&s(this.el,this.lastVal),this.prevKeys)for(var e=this.prevKeys.length;e--;)t&&t[this.prevKeys[e]]||s(this.el,this.prevKeys[e])}}},function(t,e,n){t.exports={isLiteral:!0,bind:function(){this.vm.$$[this.expression]=this.el},unbind:function(){delete this.vm.$$[this.expression]}}},function(t,e,n){n(1);t.exports={isLiteral:!0,bind:function(){var t=this.el.__vue__;t&&(t._refID=this.expression)}}},function(t,e,n){var i=n(3);t.exports={bind:function(){var t=this.el;this.vm.$once("hook:compiled",function(){t.removeAttribute(i.prefix+"cloak")})}}},function(t,e,n){var i=n(1),r=n(40);t.exports={priority:1e3,isLiteral:!0,bind:function(){this._isDynamicLiteral||this.update(this.expression)},update:function(t,e){var n=this.el,s=this.el.__vue__||this.vm,o=i.resolveAsset(s.$options,"transitions",t);t=t||"v",n.__v_trans=new r(n,t,o,s),e&&i.removeClass(n,e+"-transition"),i.addClass(n,t+"-transition")}}},function(t,e,n){function i(t,e,n,i){this.el=t,this.enterClass=e+"-enter",this.leaveClass=e+"-leave",this.hooks=n,this.vm=i,this.pendingCssEvent=this.pendingCssCb=this.cancel=this.pendingJsCb=this.op=this.cb=null,this.typeCache={};var s=this;["enterNextTick","enterDone","leaveNextTick","leaveDone"].forEach(function(t){s[t]=r.bind(s[t],s)})}var r=n(1),s=n(41),o=r.addClass,a=r.removeClass,h=r.transitionEndEvent,c=r.animationEndEvent,l=r.transitionProp+"Duration",u=r.animationProp+"Duration",f=1,d=2,p=i.prototype;p.enter=function(t,e){this.cancelPending(),this.callHook("beforeEnter"),this.cb=e,o(this.el,this.enterClass),t(),this.callHookWithCb("enter"),this.cancel=this.hooks&&this.hooks.enterCancelled,s.push(this.enterNextTick)},p.enterNextTick=function(){var t=this.getCssTransitionType(this.enterClass),e=this.enterDone;t===f?(a(this.el,this.enterClass),this.setupCssCb(h,e)):t===d?this.setupCssCb(c,e):this.pendingJsCb||e()},p.enterDone=function(){this.cancel=this.pendingJsCb=null,a(this.el,this.enterClass),this.callHook("afterEnter"),this.cb&&this.cb()},p.leave=function(t,e){this.cancelPending(),this.callHook("beforeLeave"),this.op=t,this.cb=e,o(this.el,this.leaveClass),this.callHookWithCb("leave"),this.cancel=this.hooks&&this.hooks.enterCancelled,this.pendingJsCb||s.push(this.leaveNextTick)},p.leaveNextTick=function(){var t=this.getCssTransitionType(this.leaveClass);if(t){var e=t===f?h:c;this.setupCssCb(e,this.leaveDone)}else this.leaveDone()},p.leaveDone=function(){this.cancel=this.pendingJsCb=null,this.op(),a(this.el,this.leaveClass),this.callHook("afterLeave"),this.cb&&this.cb()},p.cancelPending=function(){this.op=this.cb=null;var t=!1;this.pendingCssCb&&(t=!0,r.off(this.el,this.pendingCssEvent,this.pendingCssCb),this.pendingCssEvent=this.pendingCssCb=null),this.pendingJsCb&&(t=!0,this.pendingJsCb.cancel(),this.pendingJsCb=null),t&&(a(this.el,this.enterClass),a(this.el,this.leaveClass)),this.cancel&&(this.cancel.call(this.vm,this.el),this.cancel=null)},p.callHook=function(t){this.hooks&&this.hooks[t]&&this.hooks[t].call(this.vm,this.el)},p.callHookWithCb=function(t){var e=this.hooks&&this.hooks[t];e&&(e.length>1&&(this.pendingJsCb=r.cancellable(this[t+"Done"])),e.call(this.vm,this.el,this.pendingJsCb))},p.getCssTransitionType=function(t){if(!(!h||document.hidden||this.hooks&&this.hooks.css===!1)){var e=this.typeCache[t];if(e)return e;var n=this.el.style,i=window.getComputedStyle(this.el),r=n[l]||i[l];if(r&&"0s"!==r)e=f;else{var s=n[u]||i[u];s&&"0s"!==s&&(e=d)}return e&&(this.typeCache[t]=e),e}},p.setupCssCb=function(t,e){this.pendingCssEvent=t;var n=this,i=this.el,s=this.pendingCssCb=function(o){o.target===i&&(r.off(i,t,s),n.pendingCssEvent=n.pendingCssCb=null,!n.pendingJsCb&&e&&e())};r.on(i,t,s)},t.exports=i},function(t,e,n){function i(){for(var t=document.documentElement.offsetHeight,e=0;er||(t(),i.nextTick(function(){var t=e._watcher.value;if(e.update(t),null!=r){var s=i.toString(t).length-r;n.setSelectionRange(s,s)}}))}}:this.listener=function(){a||t()},o&&(this.listener=i.debounce(this.listener,o)),this.event=r?"change":"input",this.hasjQuery="function"==typeof jQuery,this.hasjQuery?jQuery(n).on(this.event,this.listener):i.on(n,this.event,this.listener),!r&&i.isIE9&&(this.onCut=function(){i.nextTick(e.listener)},this.onDel=function(t){(46===t.keyCode||8===t.keyCode)&&e.listener()},i.on(n,"cut",this.onCut),i.on(n,"keyup",this.onDel)),(n.hasAttribute("value")||"TEXTAREA"===n.tagName&&n.value.trim())&&(this._initValue=s?i.toNumber(n.value):n.value)},update:function(t){this.el.value=i.toString(t)},unbind:function(){var t=this.el;this.hasjQuery?jQuery(t).off(this.event,this.listener):i.off(t,this.event,this.listener),this.onComposeStart&&(i.off(t,"compositionstart",this.onComposeStart),i.off(t,"compositionend",this.onComposeEnd)),this.onCut&&(i.off(t,"cut",this.onCut),i.off(t,"keyup",this.onDel))}}},function(t,e,n){var i=n(1);t.exports={bind:function(){var t=this,e=this.el;this.listener=function(){t.set(e.value)},i.on(e,"change",this.listener),e.checked&&(this._initValue=e.value)},update:function(t){this.el.checked=t==this.el.value},unbind:function(){i.off(this.el,"change",this.listener)}}},function(t,e,n){function i(t){function e(t){l.isArray(t)&&(n.el.innerHTML="",r(n.el,t),n.forceUpdate())}var n=this,i=f.parse(t)[0];this.optionWatcher=new u(this.vm,i.expression,e,{deep:!0,filters:i.filters}),e(this.optionWatcher.value)}function r(t,e){for(var n,i,s=0,o=e.length;o>s;s++)n=e[s],n.options?(i=document.createElement("optgroup"),i.label=n.label,r(i,n.options)):(i=document.createElement("option"),"string"==typeof n?i.text=i.value=n:(null!=n.value&&(i.value=n.value),i.text=n.text||n.value||"",n.disabled&&(i.disabled=!0))),t.appendChild(i)}function s(){for(var t,e=this.el.options,n=0,i=e.length;i>n;n++)e[n].hasAttribute("selected")&&(this.multiple?(t||(t=[])).push(e[n].value):t=e[n].value);"undefined"!=typeof t&&(this._initValue=this.number?l.toNumber(t):t)}function o(t){return Array.prototype.filter.call(t.options,a).map(h)}function a(t){return t.selected}function h(t){return t.value||t.text}function c(t,e){for(var n=t.length;n--;)if(t[n]==e)return n;return-1}var l=n(1),u=n(17),f=n(15);t.exports={bind:function(){var t=this,e=this.el;this.forceUpdate=function(){t._watcher&&t.update(t._watcher.get())};var n=this._checkParam("options");n&&i.call(this,n),this.number=null!=this._checkParam("number"),this.multiple=e.hasAttribute("multiple"),this.listener=function(){var n=t.multiple?o(e):e.value;n=t.number?l.isArray(n)?n.map(l.toNumber):l.toNumber(n):n,t.set(n)},l.on(e,"change",this.listener),s.call(this),this.vm.$on("hook:attached",this.forceUpdate)},update:function(t){var e=this.el;e.selectedIndex=-1;for(var n,i=this.multiple&&l.isArray(t),r=e.options,s=r.length;s--;)n=r[s],n.selected=i?c(t,n.value)>-1:t==n.value},unbind:function(){l.off(this.el,"change",this.listener),this.vm.$off("hook:attached",this.forceUpdate),this.optionWatcher&&this.optionWatcher.teardown()}}},function(t,e,n){var i=n(1);t.exports={bind:function(){var t=this,e=this.el;this.listener=function(){t.set(e.checked)},i.on(e,"change",this.listener),e.checked&&(this._initValue=e.checked)},update:function(t){this.el.checked=!!t},unbind:function(){i.off(this.el,"change",this.listener)}}},function(t,e,n){function i(t,e,n){for(var i=t.$el.previousSibling;(!i.__vue__||i.__vue__.$options._repeatId!==n)&&i!==e;)i=i.previousSibling;return i.__vue__}function r(t){for(var e=-1,n=new Array(t);++en;n++)e[t[n].$key]=t[n];return e}var o=n(1),a=o.isObject,h=o.isPlainObject,c=n(13),l=n(22),u=n(25),f=n(10),d=0,p=0,v=1,m=2,g=3;t.exports={bind:function(){this.id="__v_repeat_"+ ++d,this.start=o.createAnchor("v-repeat-start"),this.end=o.createAnchor("v-repeat-end"),o.replace(this.el,this.end),o.before(this.start,this.end),this.template=o.isTemplate(this.el)?u.parse(this.el,!0):this.el,this.checkIf(),this.checkRef(),this.checkComponent(),this.idKey=this._checkParam("track-by")||this._checkParam("trackby");var t=+this._checkParam("stagger");this.enterStagger=+this._checkParam("enter-stagger")||t,this.leaveStagger=+this._checkParam("leave-stagger")||t,this.cache=Object.create(null)},checkIf:function(){null!==o.attr(this.el,"if")},checkRef:function(){var t=o.attr(this.el,"ref");this.refID=t?this.vm.$interpolate(t):null;var e=o.attr(this.el,"el");this.elId=e?this.vm.$interpolate(e):null},checkComponent:function(){this.componentState=p;var t=this.vm.$options,e=o.checkComponent(this.el,t);if(e){this.Ctor=null,this.asComponent=!0,null!==this._checkParam("inline-template")&&(this.inlineTemplate=o.extractContent(this.el,!0));var n=c.parse(e);if(n){var i=c.tokensToExp(n);this.ctorGetter=l.parse(i).get}else this.componentId=e,this.pendingData=null}else{this.Ctor=o.Vue,this.inherit=!0,this.template=f.transclude(this.template);var r=o.extend({},t);r._asComponent=!1,this._linkFn=f.compile(this.template,r)}},resolveComponent:function(){this.componentState=v,this.vm._resolveComponent(this.componentId,o.bind(function(t){this.componentState!==g&&(this.Ctor=t,this.componentState=m,this.realUpdate(this.pendingData),this.pendingData=null)},this))},resolveDynamicComponent:function(t,e){var n,i=Object.create(this.vm);for(n in t)o.define(i,n,t[n]);for(n in e)o.define(i,n,e[n]);var r=this.ctorGetter.call(i,i),s=o.resolveAsset(this.vm.$options,"components",r);return s.options?s:o.Vue},update:function(t){if(this.componentId){var e=this.componentState;e===p?(this.pendingData=t,this.resolveComponent()):e===v?this.pendingData=t:e===m&&this.realUpdate(t)}else this.realUpdate(t)},realUpdate:function(t){this.vms=this.diff(t,this.vms),this.refID&&(this.vm.$[this.refID]=this.converted?s(this.vms):this.vms),this.elId&&(this.vm.$$[this.elId]=this.vms.map(function(t){return t.$el}))},diff:function(t,e){var n,r,s,h,c,l,u=this.idKey,f=this.converted,d=this.start,p=this.end,v=o.inDoc(d),m=this.arg,g=!e,_=new Array(t.length);for(h=0,c=t.length;c>h;h++)n=t[h],r=f?n.$value:n,l=!a(r),s=!g&&this.getVm(r,h,f?n.$key:null),s?(s._reused=!0,s.$index=h,(u||f||l)&&(m?s[m]=r:o.isPlainObject(r)?s.$data=r:s.$value=r)):(s=this.build(n,h,!0),s._reused=!1),_[h]=s,g&&s.$before(p);if(g)return _;var b=0,y=e.length-_.length;for(h=0,c=e.length;c>h;h++)s=e[h],s._reused||(this.uncacheVm(s),s.$destroy(!1,!0),this.remove(s,b++,y,v));var $,C,k,w=0;for(h=0,c=_.length;c>h;h++)s=_[h],$=_[h-1],C=$?$._staggerCb?$._staggerAnchor:$._blockEnd||$.$el:d,s._reused&&!s._staggerCb?(k=i(s,d,this.id),k!==$&&this.move(s,C)):this.insert(s,w++,C,v),s._reused=!1;return _},build:function(t,e,n){var i={$index:e};this.converted&&(i.$key=t.$key);var r=this.converted?t.$value:t,s=this.arg;s?(t={},t[s]=r):h(r)?t=r:(t={},i.$value=r);var a=this.Ctor||this.resolveDynamicComponent(t,i),c=this._host||this.vm,l=c.$addChild({el:u.clone(this.template),data:t,inherit:this.inherit,template:this.inlineTemplate,_meta:i,_repeat:this.inherit,_asComponent:this.asComponent,_linkerCachable:!this.inlineTemplate&&a!==o.Vue,_linkFn:this._linkFn,_repeatId:this.id,_context:this.vm},a);n&&this.cacheVm(r,l,e,this.converted?i.$key:null);var f=typeof r,d=this;return"object"!==this.rawType||"string"!==f&&"number"!==f||l.$watch(s||"$value",function(t){d.filters,d._withLock(function(){d.converted?d.rawValue[l.$key]=t:d.rawValue.$set(l.$index,t)})}),l},unbind:function(){if(this.componentState=g,this.refID&&(this.vm.$[this.refID]=null),this.vms)for(var t,e=this.vms.length;e--;)t=this.vms[e],this.uncacheVm(t),t.$destroy()},cacheVm:function(t,e,n,i){var r,s=this.idKey,h=this.cache,c=!a(t);i||s||c?(r=s?"$index"===s?n:t[s]:i||n,h[r]||(h[r]=e)):(r=this.id,t.hasOwnProperty(r)?null===t[r]&&(t[r]=e):o.define(t,r,e)),e._raw=t},getVm:function(t,e,n){var i=this.idKey,r=!a(t);if(n||i||r){var s=i?"$index"===i?e:t[i]:n||e;return this.cache[s]}return t[this.id]},uncacheVm:function(t){var e=t._raw,n=this.idKey,i=t.$index,r=t.hasOwnProperty("$key")&&t.$key,s=!a(e);if(n||r||s){var o=n?"$index"===n?i:e[n]:r||i;this.cache[o]=null}else e[this.id]=null,t._raw=null},_preProcess:function(t){this.rawValue=t;var e=this.rawType=typeof t;if(h(t)){for(var n,i=Object.keys(t),s=i.length,a=new Array(s);s--;)n=i[s],a[s]={$key:n,$value:t[n]};return this.converted=!0,a}return this.converted=!1,"number"===e?t=r(t):"string"===e&&(t=o.toArray(t)),t||[]},insert:function(t,e,n,i){t._staggerCb&&(t._staggerCb.cancel(),t._staggerCb=null);var r=this.getStagger(t,e,null,"enter");if(i&&r){var s=t._staggerAnchor;s||(s=t._staggerAnchor=o.createAnchor("stagger-anchor"),s.__vue__=t),o.after(s,n);var a=t._staggerCb=o.cancellable(function(){t._staggerCb=null,t.$before(s),o.remove(s)});setTimeout(a,r)}else t.$after(n)},move:function(t,e){t.$after(e,null,!1)},remove:function(t,e,n,i){function r(){t.$remove(function(){t._cleanup()})}if(t._staggerCb)return t._staggerCb.cancel(),void(t._staggerCb=null);var s=this.getStagger(t,e,n,"leave");if(i&&s){var a=t._staggerCb=o.cancellable(function(){t._staggerCb=null,r()});setTimeout(a,s)}else r()},getStagger:function(t,e,n,i){i+="Stagger";var r=t.$el.__v_trans,s=r&&r.hooks,o=s&&(s[i]||s.stagger);return o?o.call(t,e,n):e*this[i]}}},function(t,e,n){function i(t){t._isAttached||t._callHook("attached")}function r(t){t._isAttached&&t._callHook("detached")}var s=n(1),o=n(10),a=n(25),h=n(34);t.exports={bind:function(){var t=this.el;t.__vue__?this.invalid=!0:(this.start=s.createAnchor("v-if-start"),this.end=s.createAnchor("v-if-end"),s.replace(t,this.end),s.before(this.start,this.end),s.isTemplate(t)?this.template=a.parse(t,!0):(this.template=document.createDocumentFragment(),this.template.appendChild(a.clone(t))),this.linker=o.compile(this.template,this.vm.$options,!0))},update:function(t){this.invalid||(t?this.unlink||this.link(a.clone(this.template),this.linker):this.teardown())},link:function(t,e){var n=this.vm;if(this.unlink=e(n,t),h.blockAppend(t,this.end,n),s.inDoc(n.$el)){var r=this.getContainedComponents();r&&r.forEach(i)}},teardown:function(){if(this.unlink){var t;s.inDoc(this.vm.$el)&&(t=this.getContainedComponents()),h.blockRemove(this.start,this.end,this.vm),t&&t.forEach(r),this.unlink(),this.unlink=null}},getContainedComponents:function(){function t(t){for(var e,r=n;e!==i;){if(e=r.nextSibling,r===t.$el||r.contains&&r.contains(t.$el))return!0;r=e}return!1}var e=this.vm,n=this.start.nextSibling,i=this.end;return e.$children.length&&e.$children.filter(t)},unbind:function(){this.unlink&&this.unlink()}}},function(t,e,n){e.content=n(51),e.partial=n(52)},function(t,e,n){function i(t,e,n){for(var i=document.createDocumentFragment(),r=0,s=t.length;s>r;r++){var o=t[r];n&&!o.__v_selected?i.appendChild(o.cloneNode(!0)):n||o.parentNode!==e||(o.__v_selected=!0,i.appendChild(o.cloneNode(!0)))}return i}var r=n(1);t.exports={bind:function(){for(var t=this.vm,e=t;e.$options._repeat;)e=e.$parent;var n,r=e.$options._content;if(!r)return void this.fallback();var s=e._context,o=this.el.getAttribute("select");if(o){o=t.$interpolate(o);var a=r.querySelectorAll(o);a.length?(n=i(a,r),n.hasChildNodes()?this.compile(n,s,t):this.fallback()):this.fallback()}else{var h=this,c=function(){h.compile(i(r.childNodes,r,!0),s,t)};e._isCompiled?c():e.$once("hook:compiled",c)}},fallback:function(){this.compile(r.extractContent(this.el,!0),this.vm)},compile:function(t,e,n){t&&e&&(this.unlink=e.$compile(t,n)),t?r.replace(this.el,t):r.remove(this.el)},unbind:function(){this.unlink&&this.unlink()}}},function(t,e,n){var i=n(1),r=n(25),s=n(13),o=n(10),a=n(14),h=new a(1e3),c=n(49);t.exports={link:c.link,teardown:c.teardown,getContainedComponents:c.getContainedComponents,bind:function(){var t=this.el;this.start=i.createAnchor("v-partial-start"),this.end=i.createAnchor("v-partial-end"),i.replace(t,this.end),i.before(this.start,this.end);var e=t.getAttribute("name"),n=s.parse(e);n?this.setupDynamic(n):this.insert(e)},setupDynamic:function(t){var e=this,n=s.tokensToExp(t);this.unwatch=this.vm.$watch(n,function(t){e.teardown(),e.insert(t)},{immediate:!0,user:!1})},insert:function(t){var e=i.resolveAsset(this.vm.$options,"partials",t);if(e){var n=r.parse(e,!0),s=(this.vm.constructor.cid||"")+e,o=this.compile(n,s);this.link(n,o)}},compile:function(t,e){var n=h.get(e);if(n)return n;var i=o.compile(t,this.vm.$options,!0);return h.put(e,i),i},unbind:function(){this.unlink&&this.unlink(),this.unwatch&&this.unwatch()}}},function(t,e,n){var i=n(1);e.json={read:function(t,e){return"string"==typeof t?t:JSON.stringify(t,null,Number(e)||2)},write:function(t){try{return JSON.parse(t)}catch(e){return t}}},e.capitalize=function(t){return t||0===t?(t=t.toString(),t.charAt(0).toUpperCase()+t.slice(1)):""},e.uppercase=function(t){return t||0===t?t.toString().toUpperCase():""},e.lowercase=function(t){return t||0===t?t.toString().toLowerCase():""};var r=/(\d{3})(?=\d)/g;e.currency=function(t,e){if(t=parseFloat(t),!isFinite(t)||!t&&0!==t)return"";e=e||"$";var n=Math.abs(t).toFixed(2),i=n.slice(0,-3),s=i.length%3,o=s>0?i.slice(0,s)+(i.length>3?",":""):"",a=n.slice(-3),h=0>t?"-":"";return e+h+o+i.slice(s).replace(r,"$1,")+a},e.pluralize=function(t){var e=i.toArray(arguments,1);return e.length>1?e[t%10-1]||e[e.length-1]:e[0]+(1===t?"":"s")};var s={esc:27,tab:9,enter:13,"delete":46,up:38,left:37,right:39,down:40};e.key=function(t,e){if(t){var n=s[e];return n||(n=parseInt(e,10)),function(e){return e.keyCode===n?t.call(this,e):void 0}}},e.key.keyCodes=s,i.extend(e,n(54))},function(t,e,n){function i(t,e){if(r.isPlainObject(t)){for(var n in t)if(i(t[n],e))return!0}else if(r.isArray(t)){for(var s=t.length;s--;)if(i(t[s],e))return!0}else if(null!=t)return t.toString().toLowerCase().indexOf(e)>-1}var r=n(1),s=n(23);e.filterBy=function(t,e,n,r){return n&&"in"!==n&&(r=n),null==e?t:(e=(""+e).toLowerCase(),t.filter(function(t){return r?i(s.get(t,r),e):i(t,e)}))},e.orderBy=function(t,e,n){if(!e)return t;var i=1;return arguments.length>2&&(i="-1"===n?-1:n?-1:1),t.slice().sort(function(t,n){return"$key"!==e&&"$value"!==e&&(t&&"$value"in t&&(t=t.$value),n&&"$value"in n&&(n=n.$value)),t=r.isObject(t)?s.get(t,e):t,n=r.isObject(n)?s.get(n,e):n,t===n?0:t>n?i:-i})}},function(t,e,n){var i=n(1).mergeOptions;e._init=function(t){t=t||{},this.$el=null,this.$parent=t._parent,this.$root=t._root||this,this.$children=[],this.$={},this.$$={},this._watchers=[],this._directives=[],this._childCtors={},this._isVue=!0,this._events={},this._eventsCount={},this._eventCancelled=!1,this._isBlock=!1,this._blockStart=this._blockEnd=null,this._isCompiled=this._isDestroyed=this._isReady=this._isAttached=this._isBeingDestroyed=!1,this._unlinkFn=null,this._context=t._context||t._parent,this.$parent&&this.$parent.$children.push(this),this._reused=!1,this._staggerOp=null,t=this.$options=i(this.constructor.options,t,this),this._data={},this._initScope(),this._initEvents(),this._callHook("created"),t.el&&this.$mount(t.el)}},function(t,e,n){function i(t,e,n){if(n){var i,s,o,a;for(s in n)if(i=n[s],c.isArray(i))for(o=0,a=i.length;a>o;o++)r(t,e,s,i[o]);else r(t,e,s,i)}}function r(t,e,n,i,s){var o=typeof i;if("function"===o)t[e](n,i,s);else if("string"===o){var a=t.$options.methods,h=a&&a[i];h&&t[e](n,h,s)}else i&&"object"===o&&r(t,e,n,i.handler,i)}function s(){this._isAttached||(this._isAttached=!0,this.$children.forEach(o))}function o(t){!t._isAttached&&l(t.$el)&&t._callHook("attached")}function a(){this._isAttached&&(this._isAttached=!1,this.$children.forEach(h))}function h(t){t._isAttached&&!l(t.$el)&&t._callHook("detached")}var c=n(1),l=c.inDoc;e._initEvents=function(){var t=this.$options;i(this,"$on",t.events),i(this,"$watch",t.watch)},e._initDOMHooks=function(){this.$on("hook:attached",s),this.$on("hook:detached",a)},e._callHook=function(t){var e=this.$options[t];if(e)for(var n=0,i=e.length;i>n;n++)e[n].call(this);this.$emit("hook:"+t)}},function(t,e,n){function i(){}var r=n(1),s=n(10),o=n(18),a=n(19);e._initScope=function(){this._initProps(),this._initMeta(),this._initMethods(),this._initData(),this._initComputed()},e._initProps=function(){var t=this.$options,e=t.el,n=t.props;e=t.el=r.query(e),this._propsUnlinkFn=e&&n?s.compileAndLinkProps(this,e,n):null},e._initData=function(){var t=this._data,e=this.$options.data,n=e&&e();if(n){this._data=n;for(var i in t)n.hasOwnProperty(i)&&void 0===t[i]||n.$set(i,t[i])}var s,a,h=this._data,c=Object.keys(h);for(s=c.length;s--;)a=c[s],r.isReserved(a)||this._proxy(a);o.create(h).addVm(this)},e._setData=function(t){t=t||{};var e=this._data;this._data=t;var n,i,s,a=this.$options.props;if(a)for(s=a.length;s--;)i=a[s].name,"$data"===i||t.hasOwnProperty(i)||t.$set(i,e[i]);for(n=Object.keys(e),s=n.length;s--;)i=n[s],r.isReserved(i)||i in t||this._unproxy(i);for(n=Object.keys(t),s=n.length;s--;)i=n[s],this.hasOwnProperty(i)||r.isReserved(i)||this._proxy(i);e.__ob__.removeVm(this),o.create(t).addVm(this),this._digest()},e._proxy=function(t){var e=this;Object.defineProperty(e,t,{configurable:!0,enumerable:!0,get:function(){return e._data[t]},set:function(n){e._data[t]=n}})},e._unproxy=function(t){delete this[t]},e._digest=function(){for(var t=this._watchers.length;t--;)this._watchers[t].update();var e=this.$children;for(t=e.length;t--;){var n=e[t];n.$options.inherit&&n._digest()}},e._initComputed=function(){var t=this.$options.computed;if(t)for(var e in t){var n=t[e],s={enumerable:!0,configurable:!0};"function"==typeof n?(s.get=r.bind(n,this),s.set=i):(s.get=n.get?r.bind(n.get,this):i,s.set=n.set?r.bind(n.set,this):i),Object.defineProperty(this,e,s)}},e._initMethods=function(){var t=this.$options.methods;if(t)for(var e in t)this[e]=r.bind(t[e],this)},e._initMeta=function(){var t=this.$options._meta;if(t)for(var e in t)this._defineMeta(e,t[e])},e._defineMeta=function(t,e){var n=new a;Object.defineProperty(this,t,{enumerable:!0,configurable:!0,get:function(){return n.depend(),e},set:function(t){t!==e&&(e=t,n.notify())}})}},function(t,e,n){var i=n(1),r=n(59),s=n(10);e._compile=function(t){var e=this.$options,n=this._host;if(e._linkFn)this._initElement(t),this._unlinkFn=e._linkFn(this,t,n);else{var r=t;t=s.transclude(t,e),this._initElement(t);var o,a=s.compileAndLinkRoot(this,t,e),h=this.constructor;e._linkerCachable&&(o=h.linker,o||(o=h.linker=s.compile(t,e)));var c=o?o(this,t):s.compile(t,e)(this,t,n);this._unlinkFn=function(){a(),c(!0)},e.replace&&i.replace(r,t)}return t},e._initElement=function(t){t instanceof DocumentFragment?(this._isBlock=!0,this.$el=this._blockStart=t.firstChild,this._blockEnd=t.lastChild,3===this._blockStart.nodeType&&(this._blockStart.data=this._blockEnd.data=""),this._blockFragment=t):this.$el=t,this.$el.__vue__=this,this._callHook("beforeCompile")},e._bindDir=function(t,e,n,i,s){this._directives.push(new r(t,e,this,n,i,s))},e._destroy=function(t,e){if(!this._isBeingDestroyed){this._callHook("beforeDestroy"),this._isBeingDestroyed=!0;var n,i=this.$parent;for(i&&!i._isBeingDestroyed&&i.$children.$remove(this),n=this.$children.length;n--;)this.$children[n].$destroy();for(this._propsUnlinkFn&&this._propsUnlinkFn(),this._unlinkFn&&this._unlinkFn(),n=this._watchers.length;n--;)this._watchers[n].teardown();this.$el&&(this.$el.__vue__=null);var r=this;t&&this.$el?this.$remove(function(){r._cleanup()}):e||this._cleanup()}},e._cleanup=function(){this._data.__ob__.removeVm(this),this._data=this._watchers=this.$el=this.$parent=this.$root=this.$children=this._directives=null,this._isDestroyed=!0,this._callHook("destroyed"),this.$off()}},function(t,e,n){function i(t,e,n,i,r,s){this.name=t,this.el=e,this.vm=n,this.raw=i.raw,this.expression=i.expression,this.arg=i.arg,this.filters=i.filters,this._descriptor=i,this._host=s,this._locked=!1,this._bound=!1,this._bind(r)}var r=n(1),s=n(3),o=n(17),a=n(13),h=n(22),c=i.prototype;c._bind=function(t){if("cloak"!==this.name&&this.el&&this.el.removeAttribute&&this.el.removeAttribute(s.prefix+this.name),"function"==typeof t?this.update=t:r.extend(this,t),this._watcherExp=this.expression,this._checkDynamicLiteral(),this.bind&&this.bind(),this._watcherExp&&(this.update||this.twoWay)&&(!this.isLiteral||this._isDynamicLiteral)&&!this._checkStatement()){var e=this,n=this._update=this.update?function(t,n){e._locked||e.update(t,n)}:function(){},i=this._preProcess?r.bind(this._preProcess,this):null,a=this._watcher=new o(this.vm,this._watcherExp,n,{filters:this.filters,twoWay:this.twoWay,deep:this.deep,preProcess:i});null!=this._initValue?a.set(this._initValue):this.update&&this.update(a.value)}this._bound=!0},c._checkDynamicLiteral=function(){var t=this.expression;if(t&&this.isLiteral){var e=a.parse(t);if(e){var n=a.tokensToExp(e);this.expression=this.vm.$get(n),this._watcherExp=n,this._isDynamicLiteral=!0}}},c._checkStatement=function(){var t=this.expression;if(t&&this.acceptStatement&&!h.isSimplePath(t)){var e=h.parse(t).get,n=this.vm,i=function(){e.call(n,n)};return this.filters&&(i=n._applyFilters(i,null,this.filters)),this.update(i),!0}},c._checkParam=function(t){var e=this.el.getAttribute(t);return null!==e&&this.el.removeAttribute(t),e},c._teardown=function(){this._bound&&(this._bound=!1,this.unbind&&this.unbind(),this._watcher&&this._watcher.teardown(),this.vm=this.el=this._watcher=null)},c.set=function(t){this.twoWay&&this._withLock(function(){this._watcher.set(t)})},c._withLock=function(t){var e=this;e._locked=!0,t.call(e),r.nextTick(function(){ -e._locked=!1})},t.exports=i},function(t,e,n){var i=n(1);e._applyFilters=function(t,e,n,r){var s,o,a,h,c,l,u,f,d;for(l=0,u=n.length;u>l;l++)if(s=n[l],o=i.resolveAsset(this.$options,"filters",s.name),o&&(o=r?o.write:o.read||o,"function"==typeof o)){if(a=r?[t,e]:[t],c=r?2:1,s.args)for(f=0,d=s.args.length;d>f;f++)h=s.args[f],a[f+c]=h.dynamic?this.$get(h.value):h.value;t=o.apply(this,a)}return t},e._resolveComponent=function(t,e){var n=i.resolveAsset(this.$options,"components",t);if(n.options)e(n);else if(n.resolved)e(n.resolved);else if(n.requested)n.pendingCallbacks.push(e);else{n.requested=!0;var r=n.pendingCallbacks=[e];n(function(t){i.isPlainObject(t)&&(t=i.Vue.extend(t)),n.resolved=t;for(var e=0,s=r.length;s>e;e++)r[e](t)},function(t){})}}},function(t,e,n){var i=n(17),r=n(23),s=n(13),o=n(15),a=n(22),h=/[^|]\|[^|]/;e.$get=function(t){var e=a.parse(t);if(e)try{return e.get.call(this,this)}catch(n){}},e.$set=function(t,e){var n=a.parse(t,!0);n&&n.set&&n.set.call(this,this,e)},e.$add=function(t,e){this._data.$add(t,e)},e.$delete=function(t){this._data.$delete(t)},e.$watch=function(t,e,n){var r=this,s=function(t,n){e.call(r,t,n)},o=new i(r,t,s,{deep:n&&n.deep,user:!n||n.user!==!1});return n&&n.immediate&&s(o.value),function(){o.teardown()}},e.$eval=function(t){if(h.test(t)){var e=o.parse(t)[0],n=this.$get(e.expression);return e.filters?this._applyFilters(n,null,e.filters):n}return this.$get(t)},e.$interpolate=function(t){var e=s.parse(t),n=this;return e?1===e.length?n.$eval(e[0].value):e.map(function(t){return t.tag?n.$eval(t.value):t.value}).join(""):t},e.$log=function(t){var e=t?r.get(this._data,t):this._data;e&&(e=JSON.parse(JSON.stringify(e))),console.log(e)}},function(t,e,n){function i(t,e,n,i,o,a){e=s(e);var h=!c.inDoc(e),l=i===!1||h?o:a,u=!h&&!t._isAttached&&!c.inDoc(t.$el);return t._isBlock?r(t,e,l,n):l(t.$el,e,t,n),u&&t._callHook("attached"),t}function r(t,e,n,i){for(var r,s=t._blockStart,o=t._blockEnd;r!==o;)r=s.nextSibling,n(s,e,t),s=r;n(o,e,t,i)}function s(t){return"string"==typeof t?document.querySelector(t):t}function o(t,e,n,i){e.appendChild(t),i&&i()}function a(t,e,n,i){c.before(t,e),i&&i()}function h(t,e,n){c.remove(t),n&&n()}var c=n(1),l=n(34);e.$nextTick=function(t){c.nextTick(t,this)},e.$appendTo=function(t,e,n){return i(this,t,e,n,o,l.append)},e.$prependTo=function(t,e,n){return t=s(t),t.hasChildNodes()?this.$before(t.firstChild,e,n):this.$appendTo(t,e,n),this},e.$before=function(t,e,n){return i(this,t,e,n,a,l.before)},e.$after=function(t,e,n){return t=s(t),t.nextSibling?this.$before(t.nextSibling,e,n):this.$appendTo(t.parentNode,e,n),this},e.$remove=function(t,e){if(!this.$el.parentNode)return t&&t();var n=this._isAttached&&c.inDoc(this.$el);n||(e=!1);var i,s=this,a=function(){n&&s._callHook("detached"),t&&t()};return this._isBlock&&!this._blockFragment.hasChildNodes()?(i=e===!1?o:l.removeThenAppend,r(this,this._blockFragment,i,a)):(i=e===!1?h:l.remove)(this.$el,this,a),this}},function(t,e,n){function i(t,e,n){var i=t.$parent;if(i&&n&&!s.test(e))for(;i;)i._eventsCount[e]=(i._eventsCount[e]||0)+n,i=i.$parent}var r=n(1);e.$on=function(t,e){return(this._events[t]||(this._events[t]=[])).push(e),i(this,t,1),this},e.$once=function(t,e){function n(){i.$off(t,n),e.apply(this,arguments)}var i=this;return n.fn=e,this.$on(t,n),this},e.$off=function(t,e){var n;if(!arguments.length){if(this.$parent)for(t in this._events)n=this._events[t],n&&i(this,t,-n.length);return this._events={},this}if(n=this._events[t],!n)return this;if(1===arguments.length)return i(this,t,-n.length),this._events[t]=null,this;for(var r,s=n.length;s--;)if(r=n[s],r===e||r.fn===e){i(this,t,-1),n.splice(s,1);break}return this},e.$emit=function(t){this._eventCancelled=!1;var e=this._events[t];if(e){for(var n=arguments.length-1,i=new Array(n);n--;)i[n]=arguments[n+1];n=0,e=e.length>1?r.toArray(e):e;for(var s=e.length;s>n;n++)e[n].apply(this,i)===!1&&(this._eventCancelled=!0)}return this},e.$broadcast=function(t){if(this._eventsCount[t]){for(var e=this.$children,n=0,i=e.length;i>n;n++){var r=e[n];r.$emit.apply(r,arguments),r._eventCancelled||r.$broadcast.apply(r,arguments)}return this}},e.$dispatch=function(){for(var t=this.$parent;t;)t.$emit.apply(t,arguments),t=t._eventCancelled?null:t.$parent;return this};var s=/^hook:/},function(t,e,n){var i=n(1);e.$addChild=function(t,e){e=e||i.Vue,t=t||{};var n,r=this,s=void 0!==t.inherit?t.inherit:e.options.inherit;if(s){var o=r._childCtors;if(n=o[e.cid],!n){var a=e.options.name,h=a?i.classify(a):"VueComponent";n=new Function("return function "+h+" (options) {this.constructor = "+h+";this._init(options) }")(),n.options=e.options,n.linker=e.linker,n.prototype=this,o[e.cid]=n}}else n=e;t._parent=r,t._root=r.$root;var c=new n(t);return c}},function(t,e,n){function i(){this._isAttached=!0,this._isReady=!0,this._callHook("ready")}var r=n(1),s=n(10);e.$mount=function(t){return this._isCompiled?void 0:(t=r.query(t),t||(t=document.createElement("div")),this._compile(t),this._isCompiled=!0,this._callHook("compiled"),this._initDOMHooks(),r.inDoc(this.$el)?(this._callHook("attached"),i.call(this)):this.$once("hook:attached",i),this)},e.$destroy=function(t,e){this._destroy(t,e)},e.$compile=function(t,e){return s.compile(t,this.$options,!0,e)(this,t)}}])}); \ No newline at end of file +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):"object"==typeof exports?exports.Vue=t():e.Vue=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var i=n[r]={exports:{},id:r,loaded:!1};return e[r].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){function r(e){this._init(e)}var i=n(1),a=i.extend;a(r,n(9)),r.options={replace:!0,directives:n(29),elementDirectives:n(51),filters:n(54),transitions:{},components:{},partials:{}};var o=r.prototype;Object.defineProperty(o,"$data",{get:function(){return this._data},set:function(e){e!==this._data&&this._setData(e)}}),a(o,n(56)),a(o,n(57)),a(o,n(58)),a(o,n(59)),a(o,n(61)),a(o,n(62)),a(o,n(63)),a(o,n(64)),a(o,n(65)),a(o,n(66)),e.exports=i.Vue=r},function(e,t,n){var r=n(4),i=r.extend;i(t,r),i(t,n(5)),i(t,n(6)),i(t,n(2)),i(t,n(7)),i(t,n(8))},function(e,t,n){var r=n(1),i=n(3);t.assertProp=function(e,t){var n,i=e.options,a=i.type,o=!0;if(a&&(a===String?(n="string",o=typeof t===n):a===Number?(n="number",o="number"==typeof t):a===Boolean?(n="boolean",o="boolean"==typeof t):a===Function?(n="function",o="function"==typeof t):a===Object?(n="object",o=r.isPlainObject(t)):a===Array?(n="array",o=r.isArray(t)):o=t instanceof a),!o)return!1;var s=i.validator;return s&&!s.call(null,t)?!1:!0},t.commonTagRE=/^(div|p|span|img|a|br|ul|ol|li|h1|h2|h3|h4|h5|code|pre)$/,t.checkComponent=function(e,n){var i=e.tagName.toLowerCase();if("component"===i){var a=e.getAttribute("is");return e.removeAttribute("is"),a}return!t.commonTagRE.test(i)&&r.resolveAsset(n,"components",i)?i:(i=r.attr(e,"component"))?i:void 0},t.createAnchor=function(e,t){return i.debug?document.createComment(e):document.createTextNode(t?" ":"")}},function(e,t,n){e.exports={prefix:"v-",debug:!1,silent:!1,proto:!0,interpolate:!0,async:!0,warnExpressionErrors:!0,_delimitersChanged:!0,_assetTypes:["component","directive","elementDirective","filter","transition","partial"],_propBindingModes:{ONE_WAY:0,TWO_WAY:1,ONE_TIME:2},_maxUpdateCount:100};var r=["{{","}}"];Object.defineProperty(e.exports,"delimiters",{get:function(){return r},set:function(e){r=e,this._delimitersChanged=!0}})},function(e,t,n){function r(e,t){return t?t.toUpperCase():""}t.isReserved=function(e){var t=(e+"").charCodeAt(0);return 36===t||95===t},t.toString=function(e){return null==e?"":e.toString()},t.toNumber=function(e){return isNaN(e)||null===e||"boolean"==typeof e?e:Number(e)},t.toBoolean=function(e){return"true"===e?!0:"false"===e?!1:e},t.stripQuotes=function(e){var t=e.charCodeAt(0),n=e.charCodeAt(e.length-1);return t!==n||34!==t&&39!==t?!1:e.slice(1,-1)},t.camelize=function(e){return e.replace(/-(\w)/g,r)},t.hyphenate=function(e){return e.replace(/([a-z\d])([A-Z])/g,"$1-$2").toLowerCase()};var i=/(?:^|[-_\/])(\w)/g;t.classify=function(e){return e.replace(i,r)},t.bind=function(e,t){return function(n){var r=arguments.length;return r?r>1?e.apply(t,arguments):e.call(t,n):e.call(t)}},t.toArray=function(e,t){t=t||0;for(var n=e.length-t,r=new Array(n);n--;)r[n]=e[n+t];return r},t.extend=function(e,t){for(var n in t)e[n]=t[n];return e},t.isObject=function(e){return null!==e&&"object"==typeof e};var a=Object.prototype.toString;t.isPlainObject=function(e){return"[object Object]"===a.call(e)},t.isArray=Array.isArray,t.define=function(e,t,n,r){Object.defineProperty(e,t,{value:n,enumerable:!!r,writable:!0,configurable:!0})},t.debounce=function(e,t){var n,r,i,a,o,s=function(){var c=Date.now()-a;t>c&&c>=0?n=setTimeout(s,t-c):(n=null,o=e.apply(i,r),n||(i=r=null))};return function(){return i=this,r=arguments,a=Date.now(),n||(n=setTimeout(s,t)),o}},t.indexOf=function(e,t){for(var n=0,r=e.length;r>n;n++)if(e[n]===t)return n;return-1},t.cancellable=function(e){var t=function(){return t.cancelled?void 0:e.apply(this,arguments)};return t.cancel=function(){t.cancelled=!0},t}},function(e,t,n){t.hasProto="__proto__"in{};var r=t.inBrowser="undefined"!=typeof window&&"[object Object]"!==Object.prototype.toString.call(window);if(t.isIE9=r&&navigator.userAgent.toLowerCase().indexOf("msie 9.0")>0,t.isAndroid=r&&navigator.userAgent.toLowerCase().indexOf("android")>0,r&&!t.isIE9){var i=void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend,a=void 0===window.onanimationend&&void 0!==window.onwebkitanimationend;t.transitionProp=i?"WebkitTransition":"transition",t.transitionEndEvent=i?"webkitTransitionEnd":"transitionend",t.animationProp=a?"WebkitAnimation":"animation",t.animationEndEvent=a?"webkitAnimationEnd":"animationend"}t.nextTick=function(){function e(){r=!1;var e=n.slice(0);n=[];for(var t=0;t=0;)n=n.replace(r," ");e.setAttribute("class",n.trim())}},t.extractContent=function(e,n){var i,a;if(t.isTemplate(e)&&e.content instanceof DocumentFragment&&(e=e.content),e.hasChildNodes())for(r(e,e.firstChild),r(e,e.lastChild),a=n?document.createDocumentFragment():document.createElement("div");i=e.firstChild;)a.appendChild(i);return a},t.isTemplate=function(e){return e.tagName&&"template"===e.tagName.toLowerCase()}},function(e,t,n){n(3)},function(e,t,n){function r(e,t){var n,i,a;for(n in t)i=e[n],a=t[n],e.hasOwnProperty(n)?o.isObject(i)&&o.isObject(a)&&r(i,a):e.$add(n,a);return e}function i(e){if(e){var t;for(var n in e)o.commonTagRE.test(n),t=e[n],o.isPlainObject(t)&&(t.name=n,e[n]=o.Vue.extend(t))}}function a(e){var t=e.props;o.isPlainObject(t)?e.props=Object.keys(t).map(function(e){var n=t[e];return o.isPlainObject(n)||(n={type:n}),n.name=e,n}):o.isArray(t)&&(e.props=t.map(function(e){return"string"==typeof e?{name:e}:e}))}var o=n(1),s=o.extend,c=Object.create(null);c.data=function(e,t,n){return n?e||t?function(){var i="function"==typeof t?t.call(n):t,a="function"==typeof e?e.call(n):void 0;return i?r(i,a):a}:void 0:t?"function"!=typeof t?e:e?function(){return r(t.call(this),e.call(this))}:t:e},c.el=function(e,t,n){if(n||!t||"function"==typeof t){var r=t||e;return n&&"function"==typeof r?r.call(n):r}},c.created=c.ready=c.attached=c.detached=c.beforeCompile=c.compiled=c.beforeDestroy=c.destroyed=c.props=function(e,t){return t?e?e.concat(t):o.isArray(t)?t:[t]:e},c.paramAttributes=function(){},c.directives=c.filters=c.transitions=c.components=c.partials=c.elementDirectives=function(e,t){var n=Object.create(e);return t?s(n,t):n},c.watch=c.events=function(e,t){if(!t)return e;if(!e)return t;var n={};s(n,e);for(var r in t){var i=n[r],a=t[r];i&&!o.isArray(i)&&(i=[i]),n[r]=i?i.concat(a):[a]}return n},c.methods=c.computed=function(e,t){if(!t)return e;if(!e)return t;var n=Object.create(e);return s(n,t),n};var l=function(e,t){return void 0===t?e:t};t.mergeOptions=function u(e,t,n){function r(r){var i=c[r]||l;s[r]=i(e[r],t[r],n,r)}i(t.components),a(t);var o,s={};if(t.mixins)for(var p=0,h=t.mixins.length;h>p;p++)e=u(e,t.mixins[p],n);for(o in e)r(o);for(o in t)e.hasOwnProperty(o)||r(o);return s},t.resolveAsset=function(e,t,n){for(var r=e[t][n];!r&&e._parent;)e=e._parent.$options,r=e[t][n];return r}},function(e,t,n){var r=n(1),i=n(3);t.util=r,t.nextTick=r.nextTick,t.config=n(3),t.compiler=n(10),t.parsers={path:n(23),text:n(13),template:n(26),directive:n(15),expression:n(22)},t.cid=0;var a=1;t.extend=function(e){e=e||{};var t=this,n=function(e){r.Vue.call(this,e)};return n.prototype=Object.create(t.prototype),n.prototype.constructor=n,n.cid=a++,n.options=r.mergeOptions(t.options,e),n["super"]=t,n.extend=t.extend,i._assetTypes.forEach(function(e){n[e]=t[e]}),n},t.use=function(e){var t=r.toArray(arguments,1);return t.unshift(this),"function"==typeof e.install?e.install.apply(e,t):e.apply(null,t),this},i._assetTypes.forEach(function(e){t[e]=function(t,n){return n?("component"===e&&r.isPlainObject(n)&&(n.name=t,n=r.Vue.extend(n)),void(this.options[e+"s"][t]=n)):this.options[e+"s"][t]}})},function(e,t,n){var r=n(1);r.extend(t,n(11)),r.extend(t,n(28))},function(e,t,n){function r(e,t){var n=t._directives.length;return e(),t._directives.slice(n)}function i(e,t,n,r){return function(i){a(e,t,i),n&&r&&a(n,r)}}function a(e,t,n){for(var r=t.length;r--;)t[r]._teardown(),n||e._directives.$remove(t[r])}function o(e,t){var n=e.nodeType;return 1===n&&"SCRIPT"!==e.tagName?s(e,t):3===n&&E.interpolate&&e.data.trim()?c(e,t):null}function s(e,t){var n,r=e.hasAttributes();if(r&&(n=v(e,t)),n||(n=f(e,t)),n||(n=d(e,t)),!n&&r&&(n=g(e,t)),"TEXTAREA"===e.tagName){var i=n;n=function(e,t){t.value=e.$interpolate(t.value),i&&i(e,t)},n.terminal=!0}return n}function c(e,t){var n=S.parse(e.data);if(!n)return null;for(var r,i,a=document.createDocumentFragment(),o=0,s=n.length;s>o;o++)i=n[o],r=i.tag?l(i,t):document.createTextNode(i.value),a.appendChild(r);return u(n,a,t)}function l(e,t){function n(n){e.type=n,e.def=P(t,"directives",n),e.descriptor=$.parse(e.value)[0]}var r;return e.oneTime?r=document.createTextNode(e.value):e.html?(r=document.createComment("v-html"),n("html")):(r=document.createTextNode(" "),n("text")),r}function u(e,t){return function(n,r){for(var i,a,o,s=t.cloneNode(!0),c=k.toArray(s.childNodes),l=0,u=e.length;u>l;l++)i=e[l],a=i.value,i.tag&&(o=c[l],i.oneTime?(a=n.$eval(a),i.html?k.replace(o,A.parse(a,!0)):o.data=a):n._bindDir(i.type,o,i.descriptor,i.def));k.replace(r,s)}}function p(e,t){for(var n,r,i,a=[],s=0,c=e.length;c>s;s++)i=e[s],n=o(i,t),r=n&&n.terminal||"SCRIPT"===i.tagName||!i.hasChildNodes()?null:p(i.childNodes,t),a.push(n,r);return a.length?h(a):null}function h(e){return function(t,n,r){for(var i,a,o,s=0,c=0,l=e.length;l>s;c++){i=n[c],a=e[s++],o=e[s++];var u=k.toArray(i.childNodes);a&&a(t,i,r),o&&o(t,u,r)}}}function f(e,t){var n=e.tagName.toLowerCase();if(!k.commonTagRE.test(n)){var r=P(t,"elementDirectives",n);return r?y(e,n,"",t,r):void 0}}function d(e,t,n){var r=k.checkComponent(e,t,n);if(r){var i=function(e,t,n){e._bindDir("component",t,{expression:r},O,n)};return i.terminal=!0,i}}function v(e,t){if(null!==k.attr(e,"pre"))return m;for(var n,r,i=0,a=I.length;a>i;i++)if(r=I[i],null!==(n=k.attr(e,r)))return y(e,r,n,t)}function m(){}function y(e,t,n,r,i){var a=$.parse(n)[0];i=i||r.directives[t];var o=function(e,n,r){e._bindDir(t,n,a,i,r)};return o.terminal=!0,o}function g(e,t){for(var n,r,i,a,o,s,c=k.isPlainObject(e)?b(e):e.attributes,l=c.length,u=[];l--;)n=c[l],r=n.name,i=n.value,0===r.indexOf(E.prefix)?(o=r.slice(E.prefix.length),s=P(t,"directives",o),s&&u.push({name:o,descriptors:$.parse(i),def:s})):E.interpolate&&(a=x(r,i,t),a&&u.push(a));return u.length?(u.sort(w),_(u)):void 0}function b(e){var t=[];for(var n in e)t.push({name:n,value:e[n]});return t}function _(e){return function(t,n,r){for(var i,a,o,s=e.length;s--;)if(i=e[s],i._link)i._link(t,n);else for(o=i.descriptors.length,a=0;o>a;a++)t._bindDir(i.name,n,i.descriptors[a],i.def,r)}}function x(e,t,n){var r=S.parse(t);if(r){for(var i=n.directives.attr,a=r.length,o=!0;a--;){var s=r[a];s.tag&&!s.oneTime&&(o=!1)}return{def:i,_link:o?function(n,r){r.setAttribute(e,n.$interpolate(t))}:function(t,n){var a=S.tokensToExp(r,t),o=$.parse(e+":"+a)[0];t._bindDir("attr",n,o,i)}}}}function w(e,t){return e=e.def.priority||0,t=t.def.priority||0,e>t?1:-1}var k=n(1),C=n(12),E=n(3),S=n(13),$=n(15),A=n(26),P=k.resolveAsset,O=n(27),I=["repeat","if"];t.compile=function(e,t,n,a){var s=n||!t._asComponent?o(e,t):null,c=s&&s.terminal||"SCRIPT"===e.tagName||!e.hasChildNodes()?null:p(e.childNodes,t);return function(e,t){var n=k.toArray(t.childNodes),o=r(function(){s&&s(e,t,a),c&&c(e,n,a)},e);return i(e,o)}},t.compileAndLinkProps=function(e,t,n){var a=C(t,n),o=r(function(){a(e,null)},e);return i(e,o)},t.compileAndLinkRoot=function(e,t,n){var a,o,s=n._containerAttrs,c=n._replacerAttrs;11!==t.nodeType&&(n._asComponent?(s&&(a=g(s,n)),c&&(o=g(c,n))):o=g(t,n));var l,u=e._context;u&&a&&(l=r(function(){a(u,t)},u));var p=r(function(){o&&o(e,t)},e);return i(e,p,u,l)},m.terminal=!0},function(e,t,n){function r(e){return function(t,n){for(var r,a,c,l,u=e.length;u--;)r=e[u],a=r.path,c=r.options,null===r.raw?t._data[a]=c.type===Boolean?!1:c.hasOwnProperty("default")?c["default"]:void 0:r.dynamic?t._context&&(r.mode===s.ONE_TIME?(l=t._context.$get(r.parentPath),i.assertProp(r,l)&&(t[a]=t._data[a]=l)):t._bindDir("prop",n,r,o)):(l=c.type===Boolean&&""===r.raw?!0:i.toBoolean(i.toNumber(r.raw)),i.assertProp(r,l)&&(t[a]=t._data[a]=l))}}var i=n(1),a=n(13),o=n(16),s=n(3)._propBindingModes,c=n(23).identRE,l=/^data-/,u=/^[A-Za-z_$][\w$]*(\.[A-Za-z_$][\w$]*|\[[^\[\]]+\])*$/,p=/^(true|false)$|^\d.*/;e.exports=function(e,t){for(var n,o,h,f,d,v,m,y=[],g=t.length;g--;){if(n=t[g],o=n.name,f=i.camelize(o.replace(l,"")),!c.test(f),h=e.getAttribute(i.hyphenate(o)),d={name:o,raw:h,path:f,options:n,mode:s.ONE_WAY},null!==h){e.removeAttribute(o);var b=a.parse(h);b&&(e&&1===e.nodeType&&e.removeAttribute(o),d.dynamic=!0,d.parentPath=a.tokensToExp(b),m=1===b.length,v=p.test(d.parentPath),v||m&&b[0].oneTime?d.mode=s.ONE_TIME:!v&&m&&b[0].twoWay&&u.test(d.parentPath)&&(d.mode=s.TWO_WAY))}else n&&n.required;y.push(d)}return r(y)}},function(e,t,n){function r(e){return e.replace(v,"\\$&")}function i(){f._delimitersChanged=!1;var e=f.delimiters[0],t=f.delimiters[1];u=e.charAt(0),p=t.charAt(t.length-1);var n=r(u),i=r(p),a=r(e),o=r(t);c=new RegExp(n+"?"+a+"(.+?)"+o+i+"?","g"),l=new RegExp("^"+n+a+".*"+o+i+"$"),s=new h(1e3)}function a(e,t,n){return e.tag?t&&e.oneTime?'"'+t.$eval(e.value)+'"':o(e.value,n):'"'+e.value+'"'}function o(e,t){if(m.test(e)){var n=d.parse(e)[0];return n.filters?"this._applyFilters("+n.expression+",null,"+JSON.stringify(n.filters)+",false)":"("+e+")"}return t?e:"("+e+")"}var s,c,l,u,p,h=n(14),f=n(3),d=n(15),v=/[-.*+?^${}()|[\]\/\\]/g;t.parse=function(e){f._delimitersChanged&&i();var t=s.get(e);if(t)return t;if(e=e.replace(/\n/g,""),!c.test(e))return null;for(var n,r,a,o,u,p,h=[],d=c.lastIndex=0;n=c.exec(e);)r=n.index,r>d&&h.push({value:e.slice(d,r)}),o=n[1].charCodeAt(0),u=42===o,p=64===o,a=u||p?n[1].slice(1):n[1],h.push({tag:!0,value:a.trim(),html:l.test(n[0]),oneTime:u,twoWay:p}),d=r+n[0].length;return d1?e.map(function(e){return a(e,t)}).join("+"):a(e[0],t,!0)};var m=/[^|]\|[^|]/},function(e,t,n){function r(e){this.size=0,this.limit=e,this.head=this.tail=void 0,this._keymap={}}var i=r.prototype;i.put=function(e,t){var n={key:e,value:t};return this._keymap[e]=n,this.tail?(this.tail.newer=n,n.older=this.tail):this.head=n,this.tail=n,this.size===this.limit?this.shift():void this.size++},i.shift=function(){var e=this.head;return e&&(this.head=this.head.newer,this.head.older=void 0,e.newer=e.older=void 0,this._keymap[e.key]=void 0),e},i.get=function(e,t){var n=this._keymap[e];if(void 0!==n)return n===this.tail?t?n:n.value:(n.newer&&(n===this.head&&(this.head=n.newer),n.newer.older=n.older),n.older&&(n.older.newer=n.newer),n.newer=void 0,n.older=this.tail,this.tail&&(this.tail.newer=n),this.tail=n,t?n:n.value)},e.exports=r},function(e,t,n){function r(){g.raw=o.slice(v,c).trim(),void 0===g.expression?g.expression=o.slice(m,c).trim():b!==v&&i(),(0===c||g.expression)&&y.push(g)}function i(){var e,t=o.slice(b,c).trim();if(t){e={};var n=t.match(E);e.name=n[0],n.length>1&&(e.args=n.slice(1).map(a))}e&&(g.filters=g.filters||[]).push(e),b=c+1}function a(e){var t=S.test(e)?e:x.stripQuotes(e);return{value:t||e,dynamic:!t}}var o,s,c,l,u,p,h,f,d,v,m,y,g,b,_,x=n(1),w=n(14),k=new w(1e3),C=/^[^\{\?]+$|^'[^']*'$|^"[^"]*"$/,E=/[^\s'"]+|'[^']+'|"[^"]+"/g,S=/^in$|^-?\d+/;t.parse=function(e){var t=k.get(e);if(t)return t;for(o=e,u=p=!1,h=f=d=v=m=0,b=0,y=[],g={},_=null,c=0,l=o.length;l>c;c++)if(s=o.charCodeAt(c),u)39===s&&(u=!u);else if(p)34===s&&(p=!p);else if(44!==s||d||h||f)if(58!==s||g.expression||g.arg)if(124===s&&124!==o.charCodeAt(c+1)&&124!==o.charCodeAt(c-1))void 0===g.expression?(b=c+1,g.expression=o.slice(m,c).trim()):i();else switch(s){case 34:p=!0;break;case 39:u=!0;break;case 40:d++;break;case 41:d--;break;case 91:f++;break;case 93:f--;break;case 123:h++;break;case 125:h--}else _=o.slice(v,c).trim(),C.test(_)&&(m=c+1,g.arg=x.stripQuotes(_)||_);else r(),g={},v=m=b=c+1;return(0===c||v!==c)&&r(),k.put(e,y),y}},function(e,t,n){var r=n(1),i=n(17),a=n(3)._propBindingModes;e.exports={bind:function(){function e(e){return function(t){l||(l=!0,e(t),r.nextTick(function(){l=!1}))}}var t=this.vm,n=t._context,o=this._descriptor,s=o.path,c=o.parentPath,l=!1;this.parentWatcher=new i(n,c,e(function(e){r.assertProp(o,e)&&(t[s]=e)}));var u=this.parentWatcher.value;if(r.assertProp(o,u)&&("$data"===s?t._data=u:t[s]=t._data[s]=u),o.mode===a.TWO_WAY){var p=this;t.$once("hook:created",function(){p.childWatcher=new i(t,s,e(function(e){n.$set(c,e)}))})}},unbind:function(){this.parentWatcher&&this.parentWatcher.teardown(),this.childWatcher&&this.childWatcher.teardown()}}},function(e,t,n){function r(e,t,n,r){var i="function"==typeof t;if(this.vm=e,e._watchers.push(this),this.expression=i?"":t,this.cb=n,this.id=++u,this.active=!0,r=r||{},this.deep=!!r.deep,this.user=!!r.user,this.twoWay=!!r.twoWay,this.filters=r.filters,this.preProcess=r.preProcess,this.deps=[],this.newDeps=[],i)this.getter=t,this.setter=void 0;else{var a=c.parse(t,r.twoWay);this.getter=a.get,this.setter=a.set}this.value=this.get()}function i(e){var t,n,r;for(t in e)if(n=e[t],a.isArray(n))for(r=n.length;r--;)i(n[r]);else a.isObject(n)&&i(n)}var a=n(1),o=n(3),s=n(18),c=n(22),l=n(25),u=0,p=r.prototype;p.addDep=function(e){var t=this.newDeps,n=this.deps;if(a.indexOf(t,e)<0){t.push(e);var r=a.indexOf(n,e);0>r?e.addSub(this):n[r]=null}},p.get=function(){this.beforeGet();var e,t=this.vm;try{e=this.getter.call(t,t)}catch(n){o.warnExpressionErrors}return this.deep&&i(e),this.preProcess&&(e=this.preProcess(e)),this.filters&&(e=t._applyFilters(e,null,this.filters,!1)),this.afterGet(),e},p.set=function(e){var t=this.vm;this.filters&&(e=t._applyFilters(e,this.value,this.filters,!0));try{this.setter.call(t,t,e)}catch(n){o.warnExpressionErrors}},p.beforeGet=function(){s.setTarget(this)},p.afterGet=function(){s.setTarget(null);for(var e=this.deps.length;e--;){var t=this.deps[e];t&&t.removeSub(this)}this.deps=this.newDeps,this.newDeps=[]},p.update=function(){o.async?l.push(this):this.run()},p.run=function(){if(this.active){var e=this.get();if(e!==this.value||a.isArray(e)||this.deep){var t=this.value;this.value=e,this.cb(e,t)}}},p.teardown=function(){if(this.active){this.vm._isBeingDestroyed||this.vm._watchers.$remove(this);for(var e=this.deps.length;e--;)this.deps[e].removeSub(this);this.active=!1,this.vm=this.cb=this.value=null}},e.exports=r},function(e,t,n){function r(e,t){if(this.id=++p,this.value=e,this.active=!0,this.deps=[],o.define(e,"__ob__",this),t===h){var n=s.proto&&o.hasProto?i:a;n(e,l,u),this.observeArray(e)}else t===f&&this.walk(e)}function i(e,t){e.__proto__=t}function a(e,t,n){for(var r,i=n.length;i--;)r=n[i],o.define(e,r,t[r])}var o=n(1),s=n(3),c=n(19),l=n(20),u=Object.getOwnPropertyNames(l);n(21);var p=0,h=0,f=1;r.create=function(e){return e&&e.hasOwnProperty("__ob__")&&e.__ob__ instanceof r?e.__ob__:o.isArray(e)?new r(e,h):o.isPlainObject(e)&&!e._isVue?new r(e,f):void 0},r.setTarget=function(e){c.target=e};var d=r.prototype;d.walk=function(e){for(var t,n,r=Object.keys(e),i=r.length;i--;)t=r[i],n=t.charCodeAt(0),36!==n&&95!==n&&this.convert(t,e[t])},d.observe=function(e){return r.create(e)},d.observeArray=function(e){for(var t=e.length;t--;)this.observe(e[t])},d.convert=function(e,t){var n=this,r=n.observe(t),i=new c;r&&r.deps.push(i),Object.defineProperty(n.value,e,{enumerable:!0,configurable:!0,get:function(){return n.active&&i.depend(),t},set:function(e){if(e!==t){var r=t&&t.__ob__;r&&r.deps.$remove(i),t=e;var a=n.observe(e);a&&a.deps.push(i),i.notify()}}})},d.notify=function(){for(var e=this.deps,t=0,n=e.length;n>t;t++)e[t].notify()},d.addVm=function(e){(this.vms||(this.vms=[])).push(e)},d.removeVm=function(e){this.vms.$remove(e)},e.exports=r},function(e,t,n){function r(){this.subs=[]}var i=n(1);r.target=null;var a=r.prototype;a.addSub=function(e){this.subs.push(e)},a.removeSub=function(e){this.subs.$remove(e)},a.depend=function(){r.target&&r.target.addDep(this)},a.notify=function(){for(var e=i.toArray(this.subs),t=0,n=e.length;n>t;t++)e[t].update()},e.exports=r},function(e,t,n){var r=n(1),i=Array.prototype,a=Object.create(i);["push","pop","shift","unshift","splice","sort","reverse"].forEach(function(e){var t=i[e];r.define(a,e,function(){for(var n=arguments.length,r=new Array(n);n--;)r[n]=arguments[n];var i,a=t.apply(this,r),o=this.__ob__;switch(e){case"push":i=r;break;case"unshift":i=r;break;case"splice":i=r.slice(2)}return i&&o.observeArray(i),o.notify(),a})}),r.define(i,"$set",function(e,t){return e>=this.length&&(this.length=e+1),this.splice(e,1,t)[0]}),r.define(i,"$remove",function(e){return this.length?("number"!=typeof e&&(e=r.indexOf(this,e)),e>-1?this.splice(e,1):void 0):void 0}),e.exports=a},function(e,t,n){var r=n(1),i=Object.prototype;r.define(i,"$add",function(e,t){if(!this.hasOwnProperty(e)){var n=this.__ob__;if(!n||r.isReserved(e))return void(this[e]=t);if(n.convert(e,t),n.notify(),n.vms)for(var i=n.vms.length;i--;){var a=n.vms[i];a._proxy(e),a._digest()}}}),r.define(i,"$set",function(e,t){this.$add(e,t),this[e]=t}),r.define(i,"$delete",function(e){if(this.hasOwnProperty(e)){delete this[e];var t=this.__ob__;if(t&&!r.isReserved(e)&&(t.notify(),t.vms))for(var n=t.vms.length;n--;){var i=t.vms[n];i._unproxy(e),i._digest()}}})},function(e,t,n){function r(e,t){var n=S.length;return S[n]=t?e.replace(_,"\\n"):e,'"'+n+'"'}function i(e){var t=e.charAt(0),n=e.slice(1);return m.test(n)?e:(n=n.indexOf('"')>-1?n.replace(w,a):n,t+"scope."+n)}function a(e,t){return S[t]}function o(e,t){g.test(e),S.length=0;var n=e.replace(x,r).replace(b,"");n=(" "+n).replace(C,i).replace(w,a);var o=c(n);return o?{get:o,body:n,set:t?l(n):null}:void 0}function s(e){var t,n;return e.indexOf("[")<0?(n=e.split("."),n.raw=e,t=p.compileGetter(n)):(n=p.parse(e),t=n.get),{get:t,set:function(e,t){p.set(e,n,t)}}}function c(e){try{var t=f.Function("scope","Math","return "+e+";");return function(e){return t.call(this,e,Math)}}catch(n){}}function l(e){try{var t=f.Function("scope","value","Math",e+" = value;");return function(e,n){try{t.call(this,e,n,Math)}catch(r){}}}catch(n){}}function u(e){e.set||(e.set=l(e.body))}var p=(n(1),n(23)),h=n(14),f=n(24),d=new h(1e3),v="Math,Date,this,true,false,null,undefined,Infinity,NaN,isNaN,isFinite,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,parseInt,parseFloat",m=new RegExp("^("+v.replace(/,/g,"\\b|")+"\\b)"),y="break,case,class,catch,const,continue,debugger,default,delete,do,else,export,extends,finally,for,function,if,import,in,instanceof,let,return,super,switch,throw,try,var,while,with,yield,enum,await,implements,package,proctected,static,interface,private,public",g=new RegExp("^("+y.replace(/,/g,"\\b|")+"\\b)"),b=/\s/g,_=/\n/g,x=/[\{,]\s*[\w\$_]+\s*:|('[^']*'|"[^"]*")|new |typeof |void /g,w=/"(\d+)"/g,k=/^[A-Za-z_$][\w$]*(\.[A-Za-z_$][\w$]*|\['.*?'\]|\[".*?"\]|\[\d+\]|\[[A-Za-z_$][\w$]*\])*$/,C=/[^\w$\.]([A-Za-z_$][\w$]*(\.[A-Za-z_$][\w$]*|\['.*?'\]|\[".*?"\])*)/g,E=/^(true|false)$/,S=[];t.parse=function(e,n){e=e.trim();var r=d.get(e);if(r)return n&&u(r),r;var i=t.isSimplePath(e)?s(e):o(e,n);return d.put(e,i),i},t.isSimplePath=function(e){return k.test(e)&&!E.test(e)&&"Math."!==e.slice(0,5)}},function(e,t,n){function r(){}function i(e){if(void 0===e)return"eof";var t=e.charCodeAt(0);switch(t){case 91:case 93:case 46:case 34:case 39:case 48:return e;case 95:case 36:return"ident";case 32:case 9:case 10:case 13:case 160:case 65279:case 8232:case 8233:return"ws"}return t>=97&&122>=t||t>=65&&90>=t?"ident":t>=49&&57>=t?"number":"else"}function a(e){function t(){var t=e[f+1];return"inSingleQuote"===d&&"'"===t||"inDoubleQuote"===d&&'"'===t?(f++,a=t,v.append(),!0):void 0}for(var n,a,o,s,c,l,p,h=[],f=-1,d="beforePath",v={push:function(){void 0!==o&&(h.push(o),o=void 0)},append:function(){void 0===o?o=a:o+=a}};d;)if(f++,n=e[f],"\\"!==n||!t()){if(s=i(n),p=u[d],c=p[s]||p["else"]||"error","error"===c)return;if(d=c[0],l=v[c[1]]||r,a=c[2],a=void 0===a?n:"*"===a?a+n:a,l(),"afterPath"===d)return h.raw=e,h}}function o(e){}var s=n(1),c=n(14),l=new c(1e3);t.identRE=/^[$_a-zA-Z]+[\w$]*$/;var u={beforePath:{ws:["beforePath"],ident:["inIdent","append"],"[":["beforeElement"],eof:["afterPath"]},inPath:{ws:["inPath"],".":["beforeIdent"],"[":["beforeElement"],eof:["afterPath"]},beforeIdent:{ws:["beforeIdent"],ident:["inIdent","append"]},inIdent:{ident:["inIdent","append"],0:["inIdent","append"],number:["inIdent","append"],ws:["inPath","push"],".":["beforeIdent","push"],"[":["beforeElement","push"],eof:["afterPath","push"],"]":["inPath","push"]},beforeElement:{ws:["beforeElement"],0:["afterZero","append"],number:["inIndex","append"],"'":["inSingleQuote","append",""],'"':["inDoubleQuote","append",""],ident:["inIdent","append","*"]},afterZero:{ws:["afterElement","push"],"]":["inPath","push"]},inIndex:{0:["inIndex","append"],number:["inIndex","append"],ws:["afterElement"],"]":["inPath","push"]},inSingleQuote:{"'":["afterElement"],eof:"error","else":["inSingleQuote","append"]},inDoubleQuote:{'"':["afterElement"],eof:"error","else":["inDoubleQuote","append"]},afterElement:{ws:["afterElement"],"]":["inPath","push"]}};t.compileGetter=function(e){return function(t){for(var n,r=t,i=0,a=e.length;a>i;i++){if(n=e[i],"*"===n.charAt(0)&&(n=r[n.slice(1)]),t=t[n],i===a-1)return t;if(!s.isObject(t))return}}},t.parse=function(e){var n=l.get(e);return n||(n=a(e),n&&(n.get=t.compileGetter(n),l.put(e,n))),n},t.get=function(e,n){return n=t.parse(n),n?n.get(e):void 0},t.set=function(e,n,r){var i=e;if("string"==typeof n&&(n=t.parse(n)),!n||!s.isObject(e))return!1;for(var a,c,l=0,u=n.length;u>l;l++)a=e,c=n[l],"*"===c.charAt(0)&&(c=i[c.slice(1)]),u-1>l?(e=e[c],s.isObject(e)||(e={},a.$add(c,e),o(n))):s.isArray(e)?e.$set(c,r):c in e?e[c]=r:(e.$add(c,r),o(n));return!0}},function(e,t,n){e.exports=function(e){function t(r){if(n[r])return n[r].exports;var i=n[r]={exports:{},id:r,loaded:!1};return e[r].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){(function(t){function r(e,t){var n=a(e),r=Object.create(t||{});return d(o(n,r))}function i(e){var t=Object.create(e||{});return function(){var e=Array.prototype.slice.call(arguments),n=e.slice(-1)[0];e=e.slice(0,-1),"string"==typeof n&&(n=y("function a(){"+n+"}").body[0].body);var r=a(n);return f(r,e,t)}}function a(e){var t="string"==typeof e?y(e):e;return g(t)}function o(e,t){function n(e){for(var t=void 0,n=0;nT;case"<=":return C>=T;case">":return T>C;case">=":return T>=C;case"|":return T|C;case"&":return T&C;case"^":return T^C;case"instanceof":return T instanceof C;default:return s(e)}case"LogicalExpression":switch(e.operator){case"&&":return r(e.left)&&r(e.right);case"||":return r(e.left)||r(e.right);default:return s(e)}case"ThisExpression":return w["this"];case"Identifier":if("undefined"===e.name)return void 0;if(l(w,e.name,g))return d(w[e.name]);throw new ReferenceError(e.name+" is not defined");case"CallExpression":var D=e.arguments.map(function(e){return r(e)}),j=null,$=r(e.callee);return"MemberExpression"===e.callee.type&&(j=r(e.callee.object)),$.apply(j,D);case"MemberExpression":var L=r(e.object);if(e.computed)var N=r(e.property);else var N=e.property.name;return L=g.getPropertyObject(L,N),a(L[N]);case"ConditionalExpression":var I=r(e.test);return r(I?e.consequent:e.alternate);case"EmptyStatement":return;default:return s(e)}}function a(e){return e===Function&&(e=y),d(e)}function o(){w=Object.create(w)}function u(){w=Object.getPrototypeOf(w)}function p(e,t,n,i){var a=null;if("Identifier"===t.type?(a=t.name,e=c(e,a,g)):"MemberExpression"===t.type&&(a=t.computed?r(t.property):t.property.name, +e=r(t.object)),h(e,a,g))switch(i){case void 0:return e[a]=r(n);case"=":return e[a]=r(n);case"+=":return e[a]+=r(n);case"-=":return e[a]-=r(n);case"++":return e[a]++;case"--":return e[a]--}}var y=i(t),g=_(t),w=t;return r(e)}function s(e){console.error(e);var t=new Error("Unsupported expression: "+e.type);throw t.node=e,t}function c(e,t,n){var r=n.getPrototypeOf(e);return!r||u(e,t)?e:c(r,t,n)}function l(e,t,n){var r=n.getPrototypeOf(e),i=u(e,t);return void 0!==e[t]?!0:!r||i?i:l(r,t,n)}function u(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function p(e,t){return Object.prototype.propertyIsEnumerable.call(e,t)}function h(e,t,n){return"__proto__"===t||n.isPrimitive(e)?!1:null!=e?u(e,t)?p(e,t)?!0:!1:h(n.getPrototypeOf(e),t,n):!0}function f(e,n,r){return function(){var i=Object.create(r);this==t?i["this"]=null:i["this"]=this;var a=Array.prototype.slice.call(arguments);i.arguments=arguments,a.forEach(function(e,t){var r=n[t];r&&(i[r]=e)});var s=o(e,i);return s instanceof m?s.value:void 0}}function d(e){return e instanceof m?e.value:e}function v(e){return e.name}function m(e,t){this.type=e,this.value=t}var y=n(1).parse,g=n(2),b=n(3),_=n(4);e.exports=r,e.exports.eval=r,e.exports.FunctionFactory=i,e.exports.Function=i();var x=1e6}).call(t,function(){return this}())},function(e,t,n){var r,i,a;!function(n,o){"use strict";i=[t],r=o,a="function"==typeof r?r.apply(t,i):r,!(void 0!==a&&(e.exports=a))}(this,function(e){"use strict";function t(e,t){if(!e)throw new Error("ASSERT: "+t)}function n(e,t){return ht.slice(e,t)}function r(e){return"0123456789".indexOf(e)>=0}function i(e){return"0123456789abcdefABCDEF".indexOf(e)>=0}function a(e){return"01234567".indexOf(e)>=0}function o(e){return" "===e||" "===e||" "===e||"\f"===e||"\xa0"===e||e.charCodeAt(0)>=5760&&"\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\ufeff".indexOf(e)>=0}function s(e){return"\n"===e||"\r"===e||"\u2028"===e||"\u2029"===e}function c(e){return"$"===e||"_"===e||"\\"===e||e>="a"&&"z">=e||e>="A"&&"Z">=e||e.charCodeAt(0)>=128&&pt.NonAsciiIdentifierStart.test(e)}function l(e){return"$"===e||"_"===e||"\\"===e||e>="a"&&"z">=e||e>="A"&&"Z">=e||e>="0"&&"9">=e||e.charCodeAt(0)>=128&&pt.NonAsciiIdentifierPart.test(e)}function u(e){switch(e){case"class":case"enum":case"export":case"extends":case"import":case"super":return!0}return!1}function p(e){switch(e){case"implements":case"interface":case"package":case"private":case"protected":case"public":case"static":case"yield":case"let":return!0}return!1}function h(e){return"eval"===e||"arguments"===e}function f(e){var t=!1;switch(e.length){case 2:t="if"===e||"in"===e||"do"===e;break;case 3:t="var"===e||"for"===e||"new"===e||"try"===e;break;case 4:t="this"===e||"else"===e||"case"===e||"void"===e||"with"===e;break;case 5:t="while"===e||"break"===e||"catch"===e||"throw"===e;break;case 6:t="return"===e||"typeof"===e||"delete"===e||"switch"===e;break;case 7:t="default"===e||"finally"===e;break;case 8:t="function"===e||"continue"===e||"debugger"===e;break;case 10:t="instanceof"===e}if(t)return!0;switch(e){case"const":return!0;case"yield":case"let":return!0}return ft&&p(e)?!0:u(e)}function d(){var e,t,n;for(t=!1,n=!1;yt>dt;)if(e=ht[dt],n)e=ht[dt++],s(e)&&(n=!1,"\r"===e&&"\n"===ht[dt]&&++dt,++vt,mt=dt);else if(t)s(e)?("\r"===e&&"\n"===ht[dt+1]&&++dt,++vt,++dt,mt=dt,dt>=yt&&S({},ut.UnexpectedToken,"ILLEGAL")):(e=ht[dt++],dt>=yt&&S({},ut.UnexpectedToken,"ILLEGAL"),"*"===e&&(e=ht[dt],"/"===e&&(++dt,t=!1)));else if("/"===e)if(e=ht[dt+1],"/"===e)dt+=2,n=!0;else{if("*"!==e)break;dt+=2,t=!0,dt>=yt&&S({},ut.UnexpectedToken,"ILLEGAL")}else if(o(e))++dt;else{if(!s(e))break;++dt,"\r"===e&&"\n"===ht[dt]&&++dt,++vt,mt=dt}}function v(e){var t,n,r,a=0;for(n="u"===e?4:2,t=0;n>t;++t){if(!(yt>dt&&i(ht[dt])))return"";r=ht[dt++],a=16*a+"0123456789abcdef".indexOf(r.toLowerCase())}return String.fromCharCode(a)}function m(){var e,t,n,r;if(e=ht[dt],c(e)){if(t=dt,"\\"===e){if(++dt,"u"!==ht[dt])return;if(++dt,r=dt,e=v("u")){if("\\"===e||!c(e))return;n=e}else dt=r,n="u"}else n=ht[dt++];for(;yt>dt&&(e=ht[dt],l(e));)if("\\"===e){if(++dt,"u"!==ht[dt])return;if(++dt,r=dt,e=v("u")){if("\\"===e||!l(e))return;n+=e}else dt=r,n+="u"}else n+=ht[dt++];return 1===n.length?{type:ot.Identifier,value:n,lineNumber:vt,lineStart:mt,range:[t,dt]}:f(n)?{type:ot.Keyword,value:n,lineNumber:vt,lineStart:mt,range:[t,dt]}:"null"===n?{type:ot.NullLiteral,value:n,lineNumber:vt,lineStart:mt,range:[t,dt]}:"true"===n||"false"===n?{type:ot.BooleanLiteral,value:n,lineNumber:vt,lineStart:mt,range:[t,dt]}:{type:ot.Identifier,value:n,lineNumber:vt,lineStart:mt,range:[t,dt]}}}function y(){var e,t,n,i=dt,a=ht[dt];return";"===a||"{"===a||"}"===a?(++dt,{type:ot.Punctuator,value:a,lineNumber:vt,lineStart:mt,range:[i,dt]}):","===a||"("===a||")"===a?(++dt,{type:ot.Punctuator,value:a,lineNumber:vt,lineStart:mt,range:[i,dt]}):(e=ht[dt+1],"."!==a||r(e)?(t=ht[dt+2],n=ht[dt+3],">"===a&&">"===e&&">"===t&&"="===n?(dt+=4,{type:ot.Punctuator,value:">>>=",lineNumber:vt,lineStart:mt,range:[i,dt]}):"="===a&&"="===e&&"="===t?(dt+=3,{type:ot.Punctuator,value:"===",lineNumber:vt,lineStart:mt,range:[i,dt]}):"!"===a&&"="===e&&"="===t?(dt+=3,{type:ot.Punctuator,value:"!==",lineNumber:vt,lineStart:mt,range:[i,dt]}):">"===a&&">"===e&&">"===t?(dt+=3,{type:ot.Punctuator,value:">>>",lineNumber:vt,lineStart:mt,range:[i,dt]}):"<"===a&&"<"===e&&"="===t?(dt+=3,{type:ot.Punctuator,value:"<<=",lineNumber:vt,lineStart:mt,range:[i,dt]}):">"===a&&">"===e&&"="===t?(dt+=3,{type:ot.Punctuator,value:">>=",lineNumber:vt,lineStart:mt,range:[i,dt]}):"="===e&&"<>=!+-*%&|^/".indexOf(a)>=0?(dt+=2,{type:ot.Punctuator,value:a+e,lineNumber:vt,lineStart:mt,range:[i,dt]}):a===e&&"+-<>&|".indexOf(a)>=0&&"+-<>&|".indexOf(e)>=0?(dt+=2,{type:ot.Punctuator,value:a+e,lineNumber:vt,lineStart:mt,range:[i,dt]}):"[]<>+-*%&|^!~?:=/".indexOf(a)>=0?{type:ot.Punctuator,value:ht[dt++],lineNumber:vt,lineStart:mt,range:[i,dt]}:void 0):{type:ot.Punctuator,value:ht[dt++],lineNumber:vt,lineStart:mt,range:[i,dt]})}function g(){var e,n,o;if(o=ht[dt],t(r(o)||"."===o,"Numeric literal must start with a decimal digit or a decimal point"),n=dt,e="","."!==o){if(e=ht[dt++],o=ht[dt],"0"===e){if("x"===o||"X"===o){for(e+=ht[dt++];yt>dt&&(o=ht[dt],i(o));)e+=ht[dt++];return e.length<=2&&S({},ut.UnexpectedToken,"ILLEGAL"),yt>dt&&(o=ht[dt],c(o)&&S({},ut.UnexpectedToken,"ILLEGAL")),{type:ot.NumericLiteral,value:parseInt(e,16),lineNumber:vt,lineStart:mt,range:[n,dt]}}if(a(o)){for(e+=ht[dt++];yt>dt&&(o=ht[dt],a(o));)e+=ht[dt++];return yt>dt&&(o=ht[dt],(c(o)||r(o))&&S({},ut.UnexpectedToken,"ILLEGAL")),{type:ot.NumericLiteral,value:parseInt(e,8),octal:!0,lineNumber:vt,lineStart:mt,range:[n,dt]}}r(o)&&S({},ut.UnexpectedToken,"ILLEGAL")}for(;yt>dt&&(o=ht[dt],r(o));)e+=ht[dt++]}if("."===o)for(e+=ht[dt++];yt>dt&&(o=ht[dt],r(o));)e+=ht[dt++];if("e"===o||"E"===o)if(e+=ht[dt++],o=ht[dt],("+"===o||"-"===o)&&(e+=ht[dt++]),o=ht[dt],r(o))for(e+=ht[dt++];yt>dt&&(o=ht[dt],r(o));)e+=ht[dt++];else o="character "+o,dt>=yt&&(o=""),S({},ut.UnexpectedToken,"ILLEGAL");return yt>dt&&(o=ht[dt],c(o)&&S({},ut.UnexpectedToken,"ILLEGAL")),{type:ot.NumericLiteral,value:parseFloat(e),lineNumber:vt,lineStart:mt,range:[n,dt]}}function b(){var e,n,r,i,o,c,l="",u=!1;for(e=ht[dt],t("'"===e||'"'===e,"String literal must starts with a quote"),n=dt,++dt;yt>dt;){if(r=ht[dt++],r===e){e="";break}if("\\"===r)if(r=ht[dt++],s(r))++vt,"\r"===r&&"\n"===ht[dt]&&++dt;else switch(r){case"n":l+="\n";break;case"r":l+="\r";break;case"t":l+=" ";break;case"u":case"x":c=dt,o=v(r),o?l+=o:(dt=c,l+=r);break;case"b":l+="\b";break;case"f":l+="\f";break;case"v":l+=" ";break;default:a(r)?(i="01234567".indexOf(r),0!==i&&(u=!0),yt>dt&&a(ht[dt])&&(u=!0,i=8*i+"01234567".indexOf(ht[dt++]),"0123".indexOf(r)>=0&&yt>dt&&a(ht[dt])&&(i=8*i+"01234567".indexOf(ht[dt++]))),l+=String.fromCharCode(i)):l+=r}else{if(s(r))break;l+=r}}return""!==e&&S({},ut.UnexpectedToken,"ILLEGAL"),{type:ot.StringLiteral,value:l,octal:u,lineNumber:vt,lineStart:mt,range:[n,dt]}}function _(){var e,n,r,i,a,o,c,u=!1,p=!1;for(gt=null,d(),r=dt,n=ht[dt],t("/"===n,"Regular expression literal must start with a slash"),e=ht[dt++];yt>dt;)if(n=ht[dt++],e+=n,"\\"===n)n=ht[dt++],s(n)&&S({},ut.UnterminatedRegExp),e+=n;else if(u)"]"===n&&(u=!1);else{if("/"===n){p=!0;break}"["===n?u=!0:s(n)&&S({},ut.UnterminatedRegExp)}for(p||S({},ut.UnterminatedRegExp),i=e.substr(1,e.length-2),a="";yt>dt&&(n=ht[dt],l(n));)if(++dt,"\\"===n&&yt>dt)if(n=ht[dt],"u"===n)if(++dt,c=dt,n=v("u"))for(a+=n,e+="\\u";dt>c;++c)e+=ht[c];else dt=c,a+="u",e+="\\u";else e+="\\";else a+=n,e+=n;try{o=new RegExp(i,a)}catch(h){S({},ut.InvalidRegExp)}return{literal:e,value:o,range:[r,dt]}}function x(e){return e.type===ot.Identifier||e.type===ot.Keyword||e.type===ot.BooleanLiteral||e.type===ot.NullLiteral}function w(){var e,t;return d(),dt>=yt?{type:ot.EOF,lineNumber:vt,lineStart:mt,range:[dt,dt]}:(t=y(),"undefined"!=typeof t?t:(e=ht[dt],"'"===e||'"'===e?b():"."===e||r(e)?g():(t=m(),"undefined"!=typeof t?t:void S({},ut.UnexpectedToken,"ILLEGAL"))))}function k(){var e;return gt?(dt=gt.range[1],vt=gt.lineNumber,mt=gt.lineStart,e=gt,gt=null,e):(gt=null,w())}function C(){var e,t,n;return null!==gt?gt:(e=dt,t=vt,n=mt,gt=w(),dt=e,vt=t,mt=n,gt)}function E(){var e,t,n,r;return e=dt,t=vt,n=mt,d(),r=vt!==t,dt=e,vt=t,mt=n,r}function S(e,t){var n,r=Array.prototype.slice.call(arguments,2),i=t.replace(/%(\d)/g,function(e,t){return r[t]||""});throw"number"==typeof e.lineNumber?(n=new Error("Line "+e.lineNumber+": "+i),n.index=e.range[0],n.lineNumber=e.lineNumber,n.column=e.range[0]-mt+1):(n=new Error("Line "+vt+": "+i),n.index=dt,n.lineNumber=vt,n.column=dt-mt+1),n}function $(){try{S.apply(null,arguments)}catch(e){if(!_t.errors)throw e;_t.errors.push(e)}}function A(e){if(e.type===ot.EOF&&S(e,ut.UnexpectedEOS),e.type===ot.NumericLiteral&&S(e,ut.UnexpectedNumber),e.type===ot.StringLiteral&&S(e,ut.UnexpectedString),e.type===ot.Identifier&&S(e,ut.UnexpectedIdentifier),e.type===ot.Keyword){if(u(e.value))S(e,ut.UnexpectedReserved);else if(ft&&p(e.value))return void $(e,ut.StrictReservedWord);S(e,ut.UnexpectedToken,e.value)}S(e,ut.UnexpectedToken,e.value)}function P(e){var t=k();(t.type!==ot.Punctuator||t.value!==e)&&A(t)}function O(e){var t=k();(t.type!==ot.Keyword||t.value!==e)&&A(t)}function I(e){var t=C();return t.type===ot.Punctuator&&t.value===e}function L(e){var t=C();return t.type===ot.Keyword&&t.value===e}function N(){var e=C(),t=e.value;return e.type!==ot.Punctuator?!1:"="===t||"*="===t||"/="===t||"%="===t||"+="===t||"-="===t||"<<="===t||">>="===t||">>>="===t||"&="===t||"^="===t||"|="===t}function D(){var e,t;if(";"===ht[dt])return void k();if(t=vt,d(),vt===t){if(I(";"))return void k();e=C(),e.type===ot.EOF||I("}")||A(e)}}function T(e){return e.type===ct.Identifier||e.type===ct.MemberExpression}function j(){var e=[];for(P("[");!I("]");)I(",")?(k(),e.push(null)):(e.push(le()),I("]")||P(","));return P("]"),{type:ct.ArrayExpression,elements:e}}function F(e,t){var n,r;return n=ft,r=je(),t&&ft&&h(e[0].name)&&$(t,ut.StrictParamName),ft=n,{type:ct.FunctionExpression,id:null,params:e,defaults:[],body:r,rest:null,generator:!1,expression:!1}}function R(){var e=k();return e.type===ot.StringLiteral||e.type===ot.NumericLiteral?(ft&&e.octal&&$(e,ut.StrictOctalLiteral),Ke(e)):{type:ct.Identifier,name:e.value}}function B(){var e,t,n,r;return e=C(),e.type===ot.Identifier?(n=R(),"get"!==e.value||I(":")?"set"!==e.value||I(":")?(P(":"),{type:ct.Property,key:n,value:le(),kind:"init"}):(t=R(),P("("),e=C(),e.type!==ot.Identifier?(P(")"),$(e,ut.UnexpectedToken,e.value),{type:ct.Property,key:t,value:F([]),kind:"set"}):(r=[fe()],P(")"),{type:ct.Property,key:t,value:F(r,e),kind:"set"})):(t=R(),P("("),P(")"),{type:ct.Property,key:t,value:F([]),kind:"get"})):e.type!==ot.EOF&&e.type!==ot.Punctuator?(t=R(),P(":"),{type:ct.Property,key:t,value:le(),kind:"init"}):void A(e)}function U(){var e,t,n,r=[],i={},a=String;for(P("{");!I("}");)e=B(),t=e.key.type===ct.Identifier?e.key.name:a(e.key.value),n="init"===e.kind?lt.Data:"get"===e.kind?lt.Get:lt.Set,Object.prototype.hasOwnProperty.call(i,t)?(i[t]===lt.Data?ft&&n===lt.Data?$({},ut.StrictDuplicateProperty):n!==lt.Data&&$({},ut.AccessorDataProperty):n===lt.Data?$({},ut.AccessorDataProperty):i[t]&n&&$({},ut.AccessorGetSet),i[t]|=n):i[t]=n,r.push(e),I("}")||P(",");return P("}"),{type:ct.ObjectExpression,properties:r}}function V(){var e;return P("("),e=ue(),P(")"),e}function M(){var e=C(),t=e.type;if(t===ot.Identifier)return{type:ct.Identifier,name:k().value};if(t===ot.StringLiteral||t===ot.NumericLiteral)return ft&&e.octal&&$(e,ut.StrictOctalLiteral),Ke(k());if(t===ot.Keyword){if(L("this"))return k(),{type:ct.ThisExpression};if(L("function"))return Re()}return t===ot.BooleanLiteral?(k(),e.value="true"===e.value,Ke(e)):t===ot.NullLiteral?(k(),e.value=null,Ke(e)):I("[")?j():I("{")?U():I("(")?V():I("/")||I("/=")?Ke(_()):A(k())}function W(){var e=[];if(P("("),!I(")"))for(;yt>dt&&(e.push(le()),!I(")"));)P(",");return P(")"),e}function H(){var e=k();return x(e)||A(e),{type:ct.Identifier,name:e.value}}function G(){return P("."),H()}function z(){var e;return P("["),e=ue(),P("]"),e}function q(){var e;return O("new"),e={type:ct.NewExpression,callee:Q(),arguments:[]},I("(")&&(e.arguments=W()),e}function K(){var e;for(e=L("new")?q():M();I(".")||I("[")||I("(");)e=I("(")?{type:ct.CallExpression,callee:e,arguments:W()}:I("[")?{type:ct.MemberExpression,computed:!0,object:e,property:z()}:{type:ct.MemberExpression,computed:!1,object:e,property:G()};return e}function Q(){var e;for(e=L("new")?q():M();I(".")||I("[");)e=I("[")?{type:ct.MemberExpression,computed:!0,object:e,property:z()}:{type:ct.MemberExpression,computed:!1,object:e,property:G()};return e}function J(){var e,t=K();return e=C(),e.type!==ot.Punctuator?t:(!I("++")&&!I("--")||E()||(ft&&t.type===ct.Identifier&&h(t.name)&&$({},ut.StrictLHSPostfix),T(t)||$({},ut.InvalidLHSInAssignment),t={type:ct.UpdateExpression,operator:k().value,argument:t,prefix:!1}),t)}function Z(){var e,t;return e=C(),e.type!==ot.Punctuator&&e.type!==ot.Keyword?J():I("++")||I("--")?(e=k(),t=Z(),ft&&t.type===ct.Identifier&&h(t.name)&&$({},ut.StrictLHSPrefix),T(t)||$({},ut.InvalidLHSInAssignment),t={type:ct.UpdateExpression,operator:e.value,argument:t,prefix:!0}):I("+")||I("-")||I("~")||I("!")?t={type:ct.UnaryExpression,operator:k().value,argument:Z(),prefix:!0}:L("delete")||L("void")||L("typeof")?(t={type:ct.UnaryExpression,operator:k().value,argument:Z(),prefix:!0},ft&&"delete"===t.operator&&t.argument.type===ct.Identifier&&$({},ut.StrictDelete),t):J()}function X(){for(var e=Z();I("*")||I("/")||I("%");)e={type:ct.BinaryExpression,operator:k().value,left:e,right:Z()};return e}function Y(){for(var e=X();I("+")||I("-");)e={type:ct.BinaryExpression,operator:k().value,left:e,right:X()};return e}function ee(){for(var e=Y();I("<<")||I(">>")||I(">>>");)e={type:ct.BinaryExpression,operator:k().value,left:e,right:Y()};return e}function te(){var e,t;for(t=bt.allowIn,bt.allowIn=!0,e=ee();I("<")||I(">")||I("<=")||I(">=")||t&&L("in")||L("instanceof");)e={type:ct.BinaryExpression,operator:k().value,left:e,right:ee()};return bt.allowIn=t,e}function ne(){for(var e=te();I("==")||I("!=")||I("===")||I("!==");)e={type:ct.BinaryExpression,operator:k().value,left:e,right:te()};return e}function re(){for(var e=ne();I("&");)k(),e={type:ct.BinaryExpression,operator:"&",left:e,right:ne()};return e}function ie(){for(var e=re();I("^");)k(),e={type:ct.BinaryExpression,operator:"^",left:e,right:re()};return e}function ae(){for(var e=ie();I("|");)k(),e={type:ct.BinaryExpression,operator:"|",left:e,right:ie()};return e}function oe(){for(var e=ae();I("&&");)k(),e={type:ct.LogicalExpression,operator:"&&",left:e,right:ae()};return e}function se(){for(var e=oe();I("||");)k(),e={type:ct.LogicalExpression,operator:"||",left:e,right:oe()};return e}function ce(){var e,t,n;return e=se(),I("?")&&(k(),t=bt.allowIn,bt.allowIn=!0,n=le(),bt.allowIn=t,P(":"),e={type:ct.ConditionalExpression,test:e,consequent:n,alternate:le()}),e}function le(){var e,t;return e=C(),t=ce(),N()&&(T(t)||$({},ut.InvalidLHSInAssignment),ft&&t.type===ct.Identifier&&h(t.name)&&$(e,ut.StrictLHSAssignment),t={type:ct.AssignmentExpression,operator:k().value,left:t,right:le()}),t}function ue(){var e=le();if(I(","))for(e={type:ct.SequenceExpression,expressions:[e]};yt>dt&&I(",");)k(),e.expressions.push(le());return e}function pe(){for(var e,t=[];yt>dt&&!I("}")&&(e=Be(),"undefined"!=typeof e);)t.push(e);return t}function he(){var e;return P("{"),e=pe(),P("}"),{type:ct.BlockStatement,body:e}}function fe(){var e=k();return e.type!==ot.Identifier&&A(e),{type:ct.Identifier,name:e.value}}function de(e){var t=fe(),n=null;return ft&&h(t.name)&&$({},ut.StrictVarName),"const"===e?(P("="),n=le()):I("=")&&(k(),n=le()),{type:ct.VariableDeclarator,id:t,init:n}}function ve(e){var t=[];do{if(t.push(de(e)),!I(","))break;k()}while(yt>dt);return t}function me(){var e;return O("var"),e=ve(),D(),{type:ct.VariableDeclaration,declarations:e,kind:"var"}}function ye(e){var t;return O(e),t=ve(e),D(),{type:ct.VariableDeclaration,declarations:t,kind:e}}function ge(){return P(";"),{type:ct.EmptyStatement}}function be(){var e=ue();return D(),{type:ct.ExpressionStatement,expression:e}}function _e(){var e,t,n;return O("if"),P("("),e=ue(),P(")"),t=Te(),L("else")?(k(),n=Te()):n=null,{type:ct.IfStatement,test:e,consequent:t,alternate:n}}function xe(){var e,t,n;return O("do"),n=bt.inIteration,bt.inIteration=!0,e=Te(),bt.inIteration=n,O("while"),P("("),t=ue(),P(")"),I(";")&&k(),{type:ct.DoWhileStatement,body:e,test:t}}function we(){var e,t,n;return O("while"),P("("),e=ue(),P(")"),n=bt.inIteration,bt.inIteration=!0,t=Te(),bt.inIteration=n,{type:ct.WhileStatement,test:e,body:t}}function ke(){var e=k();return{type:ct.VariableDeclaration,declarations:ve(),kind:e.value}}function Ce(){var e,t,n,r,i,a,o;return e=t=n=null,O("for"),P("("),I(";")?k():(L("var")||L("let")?(bt.allowIn=!1,e=ke(),bt.allowIn=!0,1===e.declarations.length&&L("in")&&(k(),r=e,i=ue(),e=null)):(bt.allowIn=!1,e=ue(),bt.allowIn=!0,L("in")&&(T(e)||$({},ut.InvalidLHSInForIn),k(),r=e,i=ue(),e=null)),"undefined"==typeof r&&P(";")),"undefined"==typeof r&&(I(";")||(t=ue()),P(";"),I(")")||(n=ue())),P(")"),o=bt.inIteration,bt.inIteration=!0,a=Te(),bt.inIteration=o,"undefined"==typeof r?{type:ct.ForStatement,init:e,test:t,update:n,body:a}:{type:ct.ForInStatement,left:r,right:i,body:a,each:!1}}function Ee(){var e,t=null;return O("continue"),";"===ht[dt]?(k(),bt.inIteration||S({},ut.IllegalContinue),{type:ct.ContinueStatement,label:null}):E()?(bt.inIteration||S({},ut.IllegalContinue),{type:ct.ContinueStatement,label:null}):(e=C(),e.type===ot.Identifier&&(t=fe(),Object.prototype.hasOwnProperty.call(bt.labelSet,t.name)||S({},ut.UnknownLabel,t.name)),D(),null!==t||bt.inIteration||S({},ut.IllegalContinue),{type:ct.ContinueStatement,label:t})}function Se(){var e,t=null;return O("break"),";"===ht[dt]?(k(),bt.inIteration||bt.inSwitch||S({},ut.IllegalBreak),{type:ct.BreakStatement,label:null}):E()?(bt.inIteration||bt.inSwitch||S({},ut.IllegalBreak),{type:ct.BreakStatement,label:null}):(e=C(),e.type===ot.Identifier&&(t=fe(),Object.prototype.hasOwnProperty.call(bt.labelSet,t.name)||S({},ut.UnknownLabel,t.name)),D(),null!==t||bt.inIteration||bt.inSwitch||S({},ut.IllegalBreak),{type:ct.BreakStatement,label:t})}function $e(){var e,t=null;return O("return"),bt.inFunctionBody||$({},ut.IllegalReturn)," "===ht[dt]&&c(ht[dt+1])?(t=ue(),D(),{type:ct.ReturnStatement,argument:t}):E()?{type:ct.ReturnStatement,argument:null}:(I(";")||(e=C(),I("}")||e.type===ot.EOF||(t=ue())),D(),{type:ct.ReturnStatement,argument:t})}function Ae(){var e,t;return ft&&$({},ut.StrictModeWith),O("with"),P("("),e=ue(),P(")"),t=Te(),{type:ct.WithStatement,object:e,body:t}}function Pe(){var e,t,n=[];for(L("default")?(k(),e=null):(O("case"),e=ue()),P(":");yt>dt&&!(I("}")||L("default")||L("case"))&&(t=Te(),"undefined"!=typeof t);)n.push(t);return{type:ct.SwitchCase,test:e,consequent:n}}function Oe(){var e,t,n,r,i;if(O("switch"),P("("),e=ue(),P(")"),P("{"),t=[],I("}"))return k(),{type:ct.SwitchStatement,discriminant:e,cases:t};for(r=bt.inSwitch,bt.inSwitch=!0,i=!1;yt>dt&&!I("}");)n=Pe(),null===n.test&&(i&&S({},ut.MultipleDefaultsInSwitch),i=!0),t.push(n);return bt.inSwitch=r,P("}"),{type:ct.SwitchStatement,discriminant:e,cases:t}}function Ie(){var e;return O("throw"),E()&&S({},ut.NewlineAfterThrow),e=ue(),D(),{type:ct.ThrowStatement,argument:e}}function Le(){var e;return O("catch"),P("("),I(")")&&A(C()),e=fe(),ft&&h(e.name)&&$({},ut.StrictCatchVariable),P(")"),{type:ct.CatchClause,param:e,body:he()}}function Ne(){var e,t=[],n=null;return O("try"),e=he(),L("catch")&&t.push(Le()),L("finally")&&(k(),n=he()),0!==t.length||n||S({},ut.NoCatchOrFinally),{type:ct.TryStatement,block:e,guardedHandlers:[],handlers:t,finalizer:n}}function De(){return O("debugger"),D(),{type:ct.DebuggerStatement}}function Te(){var e,t,n=C();if(n.type===ot.EOF&&A(n),n.type===ot.Punctuator)switch(n.value){case";":return ge();case"{":return he();case"(":return be()}if(n.type===ot.Keyword)switch(n.value){case"break":return Se();case"continue":return Ee();case"debugger":return De();case"do":return xe();case"for":return Ce();case"function":return Fe();case"if":return _e();case"return":return $e();case"switch":return Oe();case"throw":return Ie();case"try":return Ne();case"var":return me();case"while":return we();case"with":return Ae()}return e=ue(),e.type===ct.Identifier&&I(":")?(k(),Object.prototype.hasOwnProperty.call(bt.labelSet,e.name)&&S({},ut.Redeclaration,"Label",e.name),bt.labelSet[e.name]=!0,t=Te(),delete bt.labelSet[e.name],{type:ct.LabeledStatement,label:e,body:t}):(D(),{type:ct.ExpressionStatement,expression:e})}function je(){var e,t,r,i,a,o,s,c,l=[];for(P("{");yt>dt&&(t=C(),t.type===ot.StringLiteral)&&(e=Be(),l.push(e),e.expression.type===ct.Literal);)r=n(t.range[0]+1,t.range[1]-1),"use strict"===r?(ft=!0,i&&$(i,ut.StrictOctalLiteral)):!i&&t.octal&&(i=t);for(a=bt.labelSet,o=bt.inIteration,s=bt.inSwitch,c=bt.inFunctionBody,bt.labelSet={},bt.inIteration=!1,bt.inSwitch=!1,bt.inFunctionBody=!0;yt>dt&&!I("}")&&(e=Be(),"undefined"!=typeof e);)l.push(e);return P("}"),bt.labelSet=a,bt.inIteration=o,bt.inSwitch=s,bt.inFunctionBody=c,{type:ct.BlockStatement,body:l}}function Fe(){var e,t,n,r,i,a,o,s,c,l=[];if(O("function"),r=C(),e=fe(),ft?h(r.value)&&$(r,ut.StrictFunctionName):h(r.value)?(a=r,o=ut.StrictFunctionName):p(r.value)&&(a=r,o=ut.StrictReservedWord),P("("),!I(")"))for(c={};yt>dt&&(r=C(),t=fe(),ft?(h(r.value)&&(i=r,o=ut.StrictParamName),Object.prototype.hasOwnProperty.call(c,r.value)&&(i=r,o=ut.StrictParamDupe)):a||(h(r.value)?(a=r,o=ut.StrictParamName):p(r.value)?(a=r,o=ut.StrictReservedWord):Object.prototype.hasOwnProperty.call(c,r.value)&&(a=r,o=ut.StrictParamDupe)),l.push(t),c[t.name]=!0,!I(")"));)P(",");return P(")"),s=ft,n=je(),ft&&a&&S(a,o),ft&&i&&$(i,o),ft=s,{type:ct.FunctionDeclaration,id:e,params:l,defaults:[],body:n,rest:null,generator:!1,expression:!1}}function Re(){var e,t,n,r,i,a,o,s,c=null,l=[];if(O("function"),I("(")||(e=C(),c=fe(),ft?h(e.value)&&$(e,ut.StrictFunctionName):h(e.value)?(n=e,r=ut.StrictFunctionName):p(e.value)&&(n=e,r=ut.StrictReservedWord)),P("("),!I(")"))for(s={};yt>dt&&(e=C(),i=fe(),ft?(h(e.value)&&(t=e,r=ut.StrictParamName),Object.prototype.hasOwnProperty.call(s,e.value)&&(t=e,r=ut.StrictParamDupe)):n||(h(e.value)?(n=e,r=ut.StrictParamName):p(e.value)?(n=e,r=ut.StrictReservedWord):Object.prototype.hasOwnProperty.call(s,e.value)&&(n=e,r=ut.StrictParamDupe)),l.push(i),s[i.name]=!0,!I(")"));)P(",");return P(")"),o=ft,a=je(),ft&&n&&S(n,r),ft&&t&&$(t,r),ft=o,{type:ct.FunctionExpression,id:c,params:l,defaults:[],body:a,rest:null,generator:!1,expression:!1}}function Be(){var e=C();if(e.type===ot.Keyword)switch(e.value){case"const":case"let":return ye(e.value);case"function":return Fe();default:return Te()}return e.type!==ot.EOF?Te():void 0}function Ue(){for(var e,t,r,i,a=[];yt>dt&&(t=C(),t.type===ot.StringLiteral)&&(e=Be(),a.push(e),e.expression.type===ct.Literal);)r=n(t.range[0]+1,t.range[1]-1),"use strict"===r?(ft=!0,i&&$(i,ut.StrictOctalLiteral)):!i&&t.octal&&(i=t);for(;yt>dt&&(e=Be(),"undefined"!=typeof e);)a.push(e);return a}function Ve(){var e;return ft=!1,e={type:ct.Program,body:Ue()}}function Me(e,n,r,i,a){t("number"==typeof r,"Comment must have valid position"),_t.comments.length>0&&_t.comments[_t.comments.length-1].range[1]>r||_t.comments.push({type:e,value:n,range:[r,i],loc:a})}function We(){var e,t,n,r,i,a;for(e="",i=!1,a=!1;yt>dt;)if(t=ht[dt],a)t=ht[dt++],s(t)?(n.end={line:vt,column:dt-mt-1},a=!1,Me("Line",e,r,dt-1,n),"\r"===t&&"\n"===ht[dt]&&++dt,++vt,mt=dt,e=""):dt>=yt?(a=!1,e+=t,n.end={line:vt,column:yt-mt},Me("Line",e,r,yt,n)):e+=t;else if(i)s(t)?("\r"===t&&"\n"===ht[dt+1]?(++dt,e+="\r\n"):e+=t,++vt,++dt,mt=dt,dt>=yt&&S({},ut.UnexpectedToken,"ILLEGAL")):(t=ht[dt++],dt>=yt&&S({},ut.UnexpectedToken,"ILLEGAL"),e+=t,"*"===t&&(t=ht[dt],"/"===t&&(e=e.substr(0,e.length-1),i=!1,++dt,n.end={line:vt,column:dt-mt},Me("Block",e,r,dt,n),e="")));else if("/"===t)if(t=ht[dt+1],"/"===t)n={start:{line:vt,column:dt-mt}},r=dt,dt+=2,a=!0,dt>=yt&&(n.end={line:vt,column:dt-mt},a=!1,Me("Line",e,r,dt,n));else{if("*"!==t)break;r=dt,dt+=2,i=!0,n={start:{line:vt,column:dt-mt-2}},dt>=yt&&S({},ut.UnexpectedToken,"ILLEGAL")}else if(o(t))++dt;else{if(!s(t))break;++dt,"\r"===t&&"\n"===ht[dt]&&++dt,++vt,mt=dt}}function He(){var e,t,n,r=[];for(e=0;e<_t.comments.length;++e)t=_t.comments[e],n={type:t.type,value:t.value},_t.range&&(n.range=t.range),_t.loc&&(n.loc=t.loc),r.push(n);_t.comments=r}function Ge(){var e,t,r,i,a;return d(),e=dt,t={start:{line:vt,column:dt-mt}},r=_t.advance(),t.end={line:vt,column:dt-mt},r.type!==ot.EOF&&(i=[r.range[0],r.range[1]],a=n(r.range[0],r.range[1]),_t.tokens.push({type:st[r.type],value:a,range:i,loc:t})),r}function ze(){var e,t,n,r;return d(),e=dt,t={start:{line:vt,column:dt-mt}},n=_t.scanRegExp(),t.end={line:vt,column:dt-mt},_t.tokens.length>0&&(r=_t.tokens[_t.tokens.length-1],r.range[0]===e&&"Punctuator"===r.type&&("/"===r.value||"/="===r.value)&&_t.tokens.pop()),_t.tokens.push({type:"RegularExpression",value:n.literal,range:[e,dt],loc:t}),n}function qe(){var e,t,n,r=[];for(e=0;e<_t.tokens.length;++e)t=_t.tokens[e],n={type:t.type,value:t.value},_t.range&&(n.range=t.range),_t.loc&&(n.loc=t.loc),r.push(n);_t.tokens=r}function Ke(e){return{type:ct.Literal,value:e.value}}function Qe(e){return{type:ct.Literal,value:e.value,raw:n(e.range[0],e.range[1])}}function Je(){var e={};return e.range=[dt,dt],e.loc={start:{line:vt,column:dt-mt},end:{line:vt,column:dt-mt}},e.end=function(){this.range[1]=dt,this.loc.end.line=vt,this.loc.end.column=dt-mt},e.applyGroup=function(e){_t.range&&(e.groupRange=[this.range[0],this.range[1]]),_t.loc&&(e.groupLoc={start:{line:this.loc.start.line,column:this.loc.start.column},end:{line:this.loc.end.line,column:this.loc.end.column}})},e.apply=function(e){_t.range&&(e.range=[this.range[0],this.range[1]]),_t.loc&&(e.loc={start:{line:this.loc.start.line,column:this.loc.start.column},end:{line:this.loc.end.line,column:this.loc.end.column}})},e}function Ze(){var e,t;return d(),e=Je(),P("("),t=ue(),P(")"),e.end(),e.applyGroup(t),t}function Xe(){var e,t;for(d(),e=Je(),t=L("new")?q():M();I(".")||I("[");)I("[")?(t={type:ct.MemberExpression,computed:!0,object:t,property:z()},e.end(),e.apply(t)):(t={type:ct.MemberExpression,computed:!1,object:t,property:G()},e.end(),e.apply(t));return t}function Ye(){var e,t;for(d(),e=Je(),t=L("new")?q():M();I(".")||I("[")||I("(");)I("(")?(t={type:ct.CallExpression,callee:t,arguments:W()},e.end(),e.apply(t)):I("[")?(t={type:ct.MemberExpression,computed:!0,object:t,property:z()},e.end(),e.apply(t)):(t={type:ct.MemberExpression,computed:!1,object:t,property:G()},e.end(),e.apply(t));return t}function et(e){var t,n,r;t="[object Array]"===Object.prototype.toString.apply(e)?[]:{};for(n in e)e.hasOwnProperty(n)&&"groupRange"!==n&&"groupLoc"!==n&&(r=e[n],null===r||"object"!=typeof r||r instanceof RegExp?t[n]=r:t[n]=et(r));return t}function tt(e,t){return function(n){function r(e){return e.type===ct.LogicalExpression||e.type===ct.BinaryExpression}function i(n){var a,o;r(n.left)&&i(n.left),r(n.right)&&i(n.right),e&&(n.left.groupRange||n.right.groupRange?(a=n.left.groupRange?n.left.groupRange[0]:n.left.range[0],o=n.right.groupRange?n.right.groupRange[1]:n.right.range[1],n.range=[a,o]):"undefined"==typeof n.range&&(a=n.left.range[0],o=n.right.range[1],n.range=[a,o])),t&&(n.left.groupLoc||n.right.groupLoc?(a=n.left.groupLoc?n.left.groupLoc.start:n.left.loc.start,o=n.right.groupLoc?n.right.groupLoc.end:n.right.loc.end,n.loc={start:a,end:o}):"undefined"==typeof n.loc&&(n.loc={start:n.left.loc.start,end:n.right.loc.end}))}return function(){var a,o;return d(),a=Je(),o=n.apply(null,arguments),a.end(),e&&"undefined"==typeof o.range&&a.apply(o),t&&"undefined"==typeof o.loc&&a.apply(o),r(o)&&i(o),o}}}function nt(){var e;_t.comments&&(_t.skipComment=d,d=We),_t.raw&&(_t.createLiteral=Ke,Ke=Qe),(_t.range||_t.loc)&&(_t.parseGroupExpression=V,_t.parseLeftHandSideExpression=Q,_t.parseLeftHandSideExpressionAllowCall=K,V=Ze,Q=Xe,K=Ye,e=tt(_t.range,_t.loc),_t.parseAdditiveExpression=Y,_t.parseAssignmentExpression=le,_t.parseBitwiseANDExpression=re,_t.parseBitwiseORExpression=ae,_t.parseBitwiseXORExpression=ie,_t.parseBlock=he,_t.parseFunctionSourceElements=je,_t.parseCatchClause=Le,_t.parseComputedMember=z,_t.parseConditionalExpression=ce,_t.parseConstLetDeclaration=ye,_t.parseEqualityExpression=ne,_t.parseExpression=ue,_t.parseForVariableDeclaration=ke,_t.parseFunctionDeclaration=Fe,_t.parseFunctionExpression=Re,_t.parseLogicalANDExpression=oe,_t.parseLogicalORExpression=se,_t.parseMultiplicativeExpression=X,_t.parseNewExpression=q,_t.parseNonComputedProperty=H,_t.parseObjectProperty=B,_t.parseObjectPropertyKey=R,_t.parsePostfixExpression=J,_t.parsePrimaryExpression=M,_t.parseProgram=Ve,_t.parsePropertyFunction=F,_t.parseRelationalExpression=te,_t.parseStatement=Te,_t.parseShiftExpression=ee,_t.parseSwitchCase=Pe,_t.parseUnaryExpression=Z,_t.parseVariableDeclaration=de,_t.parseVariableIdentifier=fe,Y=e(_t.parseAdditiveExpression),le=e(_t.parseAssignmentExpression),re=e(_t.parseBitwiseANDExpression),ae=e(_t.parseBitwiseORExpression),ie=e(_t.parseBitwiseXORExpression),he=e(_t.parseBlock),je=e(_t.parseFunctionSourceElements),Le=e(_t.parseCatchClause),z=e(_t.parseComputedMember),ce=e(_t.parseConditionalExpression),ye=e(_t.parseConstLetDeclaration),ne=e(_t.parseEqualityExpression),ue=e(_t.parseExpression),ke=e(_t.parseForVariableDeclaration),Fe=e(_t.parseFunctionDeclaration),Re=e(_t.parseFunctionExpression),Q=e(Q),oe=e(_t.parseLogicalANDExpression),se=e(_t.parseLogicalORExpression),X=e(_t.parseMultiplicativeExpression),q=e(_t.parseNewExpression),H=e(_t.parseNonComputedProperty),B=e(_t.parseObjectProperty),R=e(_t.parseObjectPropertyKey),J=e(_t.parsePostfixExpression),M=e(_t.parsePrimaryExpression),Ve=e(_t.parseProgram),F=e(_t.parsePropertyFunction),te=e(_t.parseRelationalExpression),Te=e(_t.parseStatement),ee=e(_t.parseShiftExpression),Pe=e(_t.parseSwitchCase),Z=e(_t.parseUnaryExpression),de=e(_t.parseVariableDeclaration),fe=e(_t.parseVariableIdentifier)),"undefined"!=typeof _t.tokens&&(_t.advance=w,_t.scanRegExp=_,w=Ge,_=ze)}function rt(){"function"==typeof _t.skipComment&&(d=_t.skipComment),_t.raw&&(Ke=_t.createLiteral),(_t.range||_t.loc)&&(Y=_t.parseAdditiveExpression,le=_t.parseAssignmentExpression,re=_t.parseBitwiseANDExpression,ae=_t.parseBitwiseORExpression,ie=_t.parseBitwiseXORExpression,he=_t.parseBlock,je=_t.parseFunctionSourceElements,Le=_t.parseCatchClause,z=_t.parseComputedMember,ce=_t.parseConditionalExpression,ye=_t.parseConstLetDeclaration,ne=_t.parseEqualityExpression,ue=_t.parseExpression,ke=_t.parseForVariableDeclaration,Fe=_t.parseFunctionDeclaration,Re=_t.parseFunctionExpression,V=_t.parseGroupExpression,Q=_t.parseLeftHandSideExpression,K=_t.parseLeftHandSideExpressionAllowCall,oe=_t.parseLogicalANDExpression, +se=_t.parseLogicalORExpression,X=_t.parseMultiplicativeExpression,q=_t.parseNewExpression,H=_t.parseNonComputedProperty,B=_t.parseObjectProperty,R=_t.parseObjectPropertyKey,M=_t.parsePrimaryExpression,J=_t.parsePostfixExpression,Ve=_t.parseProgram,F=_t.parsePropertyFunction,te=_t.parseRelationalExpression,Te=_t.parseStatement,ee=_t.parseShiftExpression,Pe=_t.parseSwitchCase,Z=_t.parseUnaryExpression,de=_t.parseVariableDeclaration,fe=_t.parseVariableIdentifier),"function"==typeof _t.scanRegExp&&(w=_t.advance,_=_t.scanRegExp)}function it(e){var t,n=e.length,r=[];for(t=0;n>t;++t)r[t]=e.charAt(t);return r}function at(e,t){var n,r;r=String,"string"==typeof e||e instanceof String||(e=r(e)),ht=e,dt=0,vt=ht.length>0?1:0,mt=0,yt=ht.length,gt=null,bt={allowIn:!0,labelSet:{},inFunctionBody:!1,inIteration:!1,inSwitch:!1},_t={},"undefined"!=typeof t&&(_t.range="boolean"==typeof t.range&&t.range,_t.loc="boolean"==typeof t.loc&&t.loc,_t.raw="boolean"==typeof t.raw&&t.raw,"boolean"==typeof t.tokens&&t.tokens&&(_t.tokens=[]),"boolean"==typeof t.comment&&t.comment&&(_t.comments=[]),"boolean"==typeof t.tolerant&&t.tolerant&&(_t.errors=[])),yt>0&&"undefined"==typeof ht[0]&&(e instanceof String&&(ht=e.valueOf()),"undefined"==typeof ht[0]&&(ht=it(e))),nt();try{n=Ve(),"undefined"!=typeof _t.comments&&(He(),n.comments=_t.comments),"undefined"!=typeof _t.tokens&&(qe(),n.tokens=_t.tokens),"undefined"!=typeof _t.errors&&(n.errors=_t.errors),(_t.range||_t.loc)&&(n.body=et(n.body))}catch(i){throw i}finally{rt(),_t={}}return n}var ot,st,ct,lt,ut,pt,ht,ft,dt,vt,mt,yt,gt,bt,_t;ot={BooleanLiteral:1,EOF:2,Identifier:3,Keyword:4,NullLiteral:5,NumericLiteral:6,Punctuator:7,StringLiteral:8},st={},st[ot.BooleanLiteral]="Boolean",st[ot.EOF]="",st[ot.Identifier]="Identifier",st[ot.Keyword]="Keyword",st[ot.NullLiteral]="Null",st[ot.NumericLiteral]="Numeric",st[ot.Punctuator]="Punctuator",st[ot.StringLiteral]="String",ct={AssignmentExpression:"AssignmentExpression",ArrayExpression:"ArrayExpression",BlockStatement:"BlockStatement",BinaryExpression:"BinaryExpression",BreakStatement:"BreakStatement",CallExpression:"CallExpression",CatchClause:"CatchClause",ConditionalExpression:"ConditionalExpression",ContinueStatement:"ContinueStatement",DoWhileStatement:"DoWhileStatement",DebuggerStatement:"DebuggerStatement",EmptyStatement:"EmptyStatement",ExpressionStatement:"ExpressionStatement",ForStatement:"ForStatement",ForInStatement:"ForInStatement",FunctionDeclaration:"FunctionDeclaration",FunctionExpression:"FunctionExpression",Identifier:"Identifier",IfStatement:"IfStatement",Literal:"Literal",LabeledStatement:"LabeledStatement",LogicalExpression:"LogicalExpression",MemberExpression:"MemberExpression",NewExpression:"NewExpression",ObjectExpression:"ObjectExpression",Program:"Program",Property:"Property",ReturnStatement:"ReturnStatement",SequenceExpression:"SequenceExpression",SwitchStatement:"SwitchStatement",SwitchCase:"SwitchCase",ThisExpression:"ThisExpression",ThrowStatement:"ThrowStatement",TryStatement:"TryStatement",UnaryExpression:"UnaryExpression",UpdateExpression:"UpdateExpression",VariableDeclaration:"VariableDeclaration",VariableDeclarator:"VariableDeclarator",WhileStatement:"WhileStatement",WithStatement:"WithStatement"},lt={Data:1,Get:2,Set:4},ut={UnexpectedToken:"Unexpected token %0",UnexpectedNumber:"Unexpected number",UnexpectedString:"Unexpected string",UnexpectedIdentifier:"Unexpected identifier",UnexpectedReserved:"Unexpected reserved word",UnexpectedEOS:"Unexpected end of input",NewlineAfterThrow:"Illegal newline after throw",InvalidRegExp:"Invalid regular expression",UnterminatedRegExp:"Invalid regular expression: missing /",InvalidLHSInAssignment:"Invalid left-hand side in assignment",InvalidLHSInForIn:"Invalid left-hand side in for-in",MultipleDefaultsInSwitch:"More than one default clause in switch statement",NoCatchOrFinally:"Missing catch or finally after try",UnknownLabel:"Undefined label '%0'",Redeclaration:"%0 '%1' has already been declared",IllegalContinue:"Illegal continue statement",IllegalBreak:"Illegal break statement",IllegalReturn:"Illegal return statement",StrictModeWith:"Strict mode code may not include a with statement",StrictCatchVariable:"Catch variable may not be eval or arguments in strict mode",StrictVarName:"Variable name may not be eval or arguments in strict mode",StrictParamName:"Parameter name eval or arguments is not allowed in strict mode",StrictParamDupe:"Strict mode function may not have duplicate parameter names",StrictFunctionName:"Function name may not be eval or arguments in strict mode",StrictOctalLiteral:"Octal literals are not allowed in strict mode.",StrictDelete:"Delete of an unqualified identifier in strict mode.",StrictDuplicateProperty:"Duplicate data property in object literal not allowed in strict mode",AccessorDataProperty:"Object literal may not have data and accessor property with the same name",AccessorGetSet:"Object literal may not have multiple get/set accessors with the same name",StrictLHSAssignment:"Assignment to eval or arguments is not allowed in strict mode",StrictLHSPostfix:"Postfix increment/decrement may not have eval or arguments operand in strict mode",StrictLHSPrefix:"Prefix increment/decrement may not have eval or arguments operand in strict mode",StrictReservedWord:"Use of future reserved word in strict mode"},pt={NonAsciiIdentifierStart:new RegExp("[\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05d0-\u05ea\u05f0-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u08a0\u08a2-\u08ac\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097f\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c33\u0c35-\u0c39\u0c3d\u0c58\u0c59\u0c60\u0c61\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d60\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f4\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f0\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1877\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191c\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19c1-\u19c7\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1ce9-\u1cec\u1cee-\u1cf1\u1cf5\u1cf6\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2e2f\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309d-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fcc\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua697\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua78e\ua790-\ua793\ua7a0-\ua7aa\ua7f8-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa80-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uabc0-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc]"),NonAsciiIdentifierPart:new RegExp("[\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0300-\u0374\u0376\u0377\u037a-\u037d\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u0483-\u0487\u048a-\u0527\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u05d0-\u05ea\u05f0-\u05f2\u0610-\u061a\u0620-\u0669\u066e-\u06d3\u06d5-\u06dc\u06df-\u06e8\u06ea-\u06fc\u06ff\u0710-\u074a\u074d-\u07b1\u07c0-\u07f5\u07fa\u0800-\u082d\u0840-\u085b\u08a0\u08a2-\u08ac\u08e4-\u08fe\u0900-\u0963\u0966-\u096f\u0971-\u0977\u0979-\u097f\u0981-\u0983\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7\u09c8\u09cb-\u09ce\u09d7\u09dc\u09dd\u09df-\u09e3\u09e6-\u09f1\u0a01-\u0a03\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a75\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0aef\u0b01-\u0b03\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b56\u0b57\u0b5c\u0b5d\u0b5f-\u0b63\u0b66-\u0b6f\u0b71\u0b82\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bef\u0c01-\u0c03\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c33\u0c35-\u0c39\u0c3d-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c58\u0c59\u0c60-\u0c63\u0c66-\u0c6f\u0c82\u0c83\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1\u0cf2\u0d02\u0d03\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d-\u0d44\u0d46-\u0d48\u0d4a-\u0d4e\u0d57\u0d60-\u0d63\u0d66-\u0d6f\u0d7a-\u0d7f\u0d82\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0df2\u0df3\u0e01-\u0e3a\u0e40-\u0e4e\u0e50-\u0e59\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb9\u0ebb-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ecd\u0ed0-\u0ed9\u0edc-\u0edf\u0f00\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e-\u0f47\u0f49-\u0f6c\u0f71-\u0f84\u0f86-\u0f97\u0f99-\u0fbc\u0fc6\u1000-\u1049\u1050-\u109d\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u135f\u1380-\u138f\u13a0-\u13f4\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f0\u1700-\u170c\u170e-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772\u1773\u1780-\u17d3\u17d7\u17dc\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u1820-\u1877\u1880-\u18aa\u18b0-\u18f5\u1900-\u191c\u1920-\u192b\u1930-\u193b\u1946-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19d9\u1a00-\u1a1b\u1a20-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa7\u1b00-\u1b4b\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1bf3\u1c00-\u1c37\u1c40-\u1c49\u1c4d-\u1c7d\u1cd0-\u1cd2\u1cd4-\u1cf6\u1d00-\u1de6\u1dfc-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u200c\u200d\u203f\u2040\u2054\u2071\u207f\u2090-\u209c\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2dff\u2e2f\u3005-\u3007\u3021-\u302f\u3031-\u3035\u3038-\u303c\u3041-\u3096\u3099\u309a\u309d-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fcc\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua62b\ua640-\ua66f\ua674-\ua67d\ua67f-\ua697\ua69f-\ua6f1\ua717-\ua71f\ua722-\ua788\ua78b-\ua78e\ua790-\ua793\ua7a0-\ua7aa\ua7f8-\ua827\ua840-\ua873\ua880-\ua8c4\ua8d0-\ua8d9\ua8e0-\ua8f7\ua8fb\ua900-\ua92d\ua930-\ua953\ua960-\ua97c\ua980-\ua9c0\ua9cf-\ua9d9\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa60-\uaa76\uaa7a\uaa7b\uaa80-\uaac2\uaadb-\uaadd\uaae0-\uaaef\uaaf2-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uabc0-\uabea\uabec\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe00-\ufe0f\ufe20-\ufe26\ufe33\ufe34\ufe4d-\ufe4f\ufe70-\ufe74\ufe76-\ufefc\uff10-\uff19\uff21-\uff3a\uff3f\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc]")},"undefined"==typeof"esprima"[0]&&(n=function(e,t){return ht.slice(e,t).join("")}),e.version="1.0.4",e.parse=at,e.Syntax=function(){var e,t={};"function"==typeof Object.create&&(t=Object.create(null));for(e in ct)ct.hasOwnProperty(e)&&(t[e]=ct[e]);return"function"==typeof Object.freeze&&Object.freeze(t),t}()})},function(e,t,n){function r(e){function t(e){for(var t=null,r=0;rthis.maxIterations)throw new Error("Infinite loop detected - reached max iterations")}},function(e,t,n){(function(t){function n(e){if(!(this instanceof n))return new n(e);this.context=e;for(var t=0;ts._maxUpdateCount)return}else u[t]=1;if(h&&!e.user&&f)return void e.run();(e.user?l:c).push(e),p||(p=!0,o.nextTick(i))}}},function(e,t,n){function r(e){var t=s.get(e);if(t)return t;var n=document.createDocumentFragment(),r=e.match(u),i=p.test(e);if(r||i){var a=r&&r[1],o=l[a]||l._default,c=o[0],h=o[1],f=o[2],d=document.createElement("div");for(d.innerHTML=h+e.trim()+f;c--;)d=d.lastChild;for(var v;v=d.firstChild;)n.appendChild(v)}else n.appendChild(document.createTextNode(e));return s.put(e,n),n}function i(e){if(a.isTemplate(e)&&e.content instanceof DocumentFragment)return e.content;if("SCRIPT"===e.tagName)return r(e.textContent);for(var n,i=t.clone(e),o=document.createDocumentFragment();n=i.firstChild;)o.appendChild(n);return o}var a=n(1),o=n(14),s=new o(1e3),c=new o(1e3),l={_default:[0,"",""],legend:[1,"
","
"],tr:[2,"","
"],col:[2,"","
"]};l.td=l.th=[3,"","
"],l.option=l.optgroup=[1,'"],l.thead=l.tbody=l.colgroup=l.caption=l.tfoot=[1,"","
"],l.g=l.defs=l.symbol=l.use=l.image=l.text=l.circle=l.ellipse=l.line=l.path=l.polygon=l.polyline=l.rect=[1,'',""];var u=/<([\w:]+)/,p=/&\w+;/,h=a.inBrowser?function(){var e=document.createElement("div");return e.innerHTML="",!e.cloneNode(!0).firstChild.innerHTML}():!1,f=a.inBrowser?function(){var e=document.createElement("textarea");return e.placeholder="t","t"===e.cloneNode(!0).value}():!1;t.clone=function(e){var t,n,r,i=e.cloneNode(!0);if(h&&(n=e.querySelectorAll("template"),n.length))for(r=i.querySelectorAll("template"),t=r.length;t--;)r[t].parentNode.replaceChild(n[t].cloneNode(!0),r[t]);if(f)if("TEXTAREA"===e.tagName)i.value=e.value;else if(n=e.querySelectorAll("textarea"),n.length)for(r=i.querySelectorAll("textarea"),t=r.length;t--;)r[t].value=n[t].value;return i},t.parse=function(e,n,a){var o,s;return e instanceof DocumentFragment?n?e.cloneNode(!0):e:("string"==typeof e?a||"#"!==e.charAt(0)?s=r(e):(s=c.get(e),s||(o=document.getElementById(e.slice(1)),o&&(s=i(o),c.put(e,s)))):e.nodeType&&(s=i(e)),s&&n?t.clone(s):s)}},function(e,t,n){var r=n(1),i=n(26);e.exports={isLiteral:!0,bind:function(){this.el.__vue__||(this.anchor=r.createAnchor("v-component"),r.replace(this.el,this.anchor),this.keepAlive=null!=this._checkParam("keep-alive"),this.readyEvent=this._checkParam("wait-for"),this.refID=r.attr(this.el,"ref"),this.keepAlive&&(this.cache={}),null!==this._checkParam("inline-template")&&(this.template=r.extractContent(this.el,!0)),this._pendingCb=this.ctorId=this.Ctor=null,this._isDynamicLiteral?this.transMode=this._checkParam("transition-mode"):this.resolveCtor(this.expression,r.bind(this.initStatic,this)))},initStatic:function(){var e=this.build(),t=this.anchor;this.setCurrent(e),this.readyEvent?e.$once(this.readyEvent,function(){e.$before(t)}):e.$before(t)},update:function(e){this.setComponent(e)},setComponent:function(e,t,n,i){this.invalidatePending(),e?this.resolveCtor(e,r.bind(function(){this.unbuild(!0);var e=this.build(t);n&&n(e);var r=this;this.readyEvent?e.$once(this.readyEvent,function(){r.transition(e,i)}):this.transition(e,i)},this)):(this.unbuild(!0),this.remove(this.childVM,i),this.unsetCurrent())},resolveCtor:function(e,t){var n=this;this._pendingCb=r.cancellable(function(r){n.ctorId=e,n.Ctor=r,t()}),this.vm._resolveComponent(e,this._pendingCb)},invalidatePending:function(){this._pendingCb&&(this._pendingCb.cancel(),this._pendingCb=null)},build:function(e){if(this.keepAlive){var t=this.cache[this.ctorId];if(t)return t}if(this.Ctor){var n=this._host||this.vm,r=i.clone(this.el),a=n.$addChild({el:r,data:e,template:this.template,_linkerCachable:!this.template,_asComponent:!0,_isRouterView:this._isRouterView,_context:this.vm},this.Ctor);return this.keepAlive&&(this.cache[this.ctorId]=a),a}},unbuild:function(e){var t=this.childVM;t&&!this.keepAlive&&t.$destroy(!1,e)},remove:function(e,t){var n=this.keepAlive;e?e.$remove(function(){n||e._cleanup(),t&&t()}):t&&t()},transition:function(e,t){var n=this,r=this.childVM;switch(this.unsetCurrent(),this.setCurrent(e),n.transMode){case"in-out":e.$before(n.anchor,function(){n.remove(r,t)});break;case"out-in":n.remove(r,function(){e._isDestroyed||e.$before(n.anchor,t)});break;default:n.remove(r),e.$before(n.anchor,t)}},setCurrent:function(e){this.childVM=e;var t=e._refID||this.refID;t&&(this.vm.$[t]=e)},unsetCurrent:function(){var e=this.childVM;this.childVM=null;var t=e&&e._refID||this.refID;t&&(this.vm.$[t]=null)},unbind:function(){if(this.invalidatePending(),this.unbuild(),this.unsetCurrent(),this.cache){for(var e in this.cache)this.cache[e].$destroy();this.cache=null}}}},function(e,t,n){function r(e,t){var n=t.template,r=c.parse(n,!0);if(r){var l=r.firstChild,u=l.tagName&&l.tagName.toLowerCase();return t.replace?(e===document.body,r.childNodes.length>1||1!==l.nodeType||"component"===u||o.resolveAsset(t,"elementDirectives",u)||l.hasAttribute(s.prefix+"repeat")?r:(t._replacerAttrs=i(l),a(e,l),l)):(e.appendChild(r),e)}}function i(e){if(1===e.nodeType&&e.hasAttributes()){for(var t=e.attributes,n={},r=t.length;r--;)n[t[r].name]=t[r].value;return n}}function a(e,t){for(var n,r,i=e.attributes,a=i.length;a--;)n=i[a].name,r=i[a].value,t.hasAttribute(n)?"class"===n&&(t.className=t.className+" "+r):t.setAttribute(n,r)}var o=n(1),s=n(3),c=n(26);t.transclude=function(e,t){return t&&(t._containerAttrs=i(e)),o.isTemplate(e)&&(e=c.parse(e)),t&&(t._asComponent&&!t.template&&(t.template=""),t.template&&(t._content=o.extractContent(e),e=r(e,t))),e instanceof DocumentFragment&&(o.prepend(o.createAnchor("v-start",!0),e),e.appendChild(o.createAnchor("v-end",!0))),e}},function(e,t,n){t.text=n(31),t.html=n(32),t.attr=n(33),t.show=n(34),t["class"]=n(36),t.el=n(37),t.ref=n(38),t.cloak=n(39),t.style=n(30),t.transition=n(40),t.on=n(43),t.model=n(44),t.repeat=n(49),t["if"]=n(50),t._component=n(27),t._prop=n(16)},function(e,t,n){function r(e){if(p[e])return p[e];var t=i(e);return p[e]=p[t]=t,t}function i(e){e=e.replace(l,"$1-$2").toLowerCase();var t=a.camelize(e),n=t.charAt(0).toUpperCase()+t.slice(1);if(u||(u=document.createElement("div")),t in u.style)return e;for(var r,i=o.length;i--;)if(r=s[i]+n,r in u.style)return o[i]+e}var a=n(1),o=["-webkit-","-moz-","-ms-"],s=["Webkit","Moz","ms"],c=/!important;?$/,l=/([a-z])([A-Z])/g,u=null,p={};e.exports={deep:!0,update:function(e){this.arg?this.setProp(this.arg,e):"object"==typeof e?this.objectHandler(e):this.el.style.cssText=e},objectHandler:function(e){var t,n,r=this.cache||(this.cache={});for(t in r)t in e||(this.setProp(t,null),delete r[t]);for(t in e)n=e[t],n!==r[t]&&(r[t]=n,this.setProp(t,n))},setProp:function(e,t){if(e=r(e))if(null!=t&&(t+=""),t){var n=c.test(t)?"important":"";n&&(t=t.replace(c,"").trim()),this.el.style.setProperty(e,t,n)}else this.el.style.removeProperty(e)}}},function(e,t,n){var r=n(1);e.exports={bind:function(){this.attr=3===this.el.nodeType?"data":"textContent"},update:function(e){this.el[this.attr]=r.toString(e)}}},function(e,t,n){var r=n(1),i=n(26);e.exports={bind:function(){8===this.el.nodeType&&(this.nodes=[],this.anchor=r.createAnchor("v-html"),r.replace(this.el,this.anchor))},update:function(e){e=r.toString(e),this.nodes?this.swap(e):this.el.innerHTML=e},swap:function(e){for(var t=this.nodes.length;t--;)r.remove(this.nodes[t]);var n=i.parse(e,!0,!0);this.nodes=r.toArray(n.childNodes),r.before(n,this.anchor)}}},function(e,t,n){var r="http://www.w3.org/1999/xlink",i=/^xlink:/;e.exports={priority:850,update:function(e){this.arg?this.setAttr(this.arg,e):"object"==typeof e&&this.objectHandler(e)},objectHandler:function(e){var t,n,r=this.cache||(this.cache={});for(t in r)t in e||(this.setAttr(t,null),delete r[t]);for(t in e)n=e[t],n!==r[t]&&(r[t]=n,this.setAttr(t,n))},setAttr:function(e,t){t||0===t?i.test(e)?this.el.setAttributeNS(r,e,t):this.el.setAttribute(e,t):this.el.removeAttribute(e)}}},function(e,t,n){var r=n(35);e.exports=function(e){var t=this.el;r.apply(t,e?1:-1,function(){t.style.display=e?"":"none"},this.vm)}},function(e,t,n){var r=n(1);t.append=function(e,t,n,r){i(e,1,function(){t.appendChild(e)},n,r)},t.before=function(e,t,n,a){i(e,1,function(){r.before(e,t)},n,a)},t.remove=function(e,t,n){i(e,-1,function(){r.remove(e)},t,n)},t.removeThenAppend=function(e,t,n,r){i(e,-1,function(){t.appendChild(e)},n,r)},t.blockAppend=function(e,n,i){for(var a=r.toArray(e.childNodes),o=0,s=a.length;s>o;o++)t.before(a[o],n,i)},t.blockRemove=function(e,n,r){for(var i,a=e.nextSibling;a!==n;)i=a.nextSibling,t.remove(a,r),a=i};var i=t.apply=function(e,t,n,i,a){var o=e.__v_trans;if(!o||!o.hooks&&!r.transitionEndEvent||!i._isCompiled||i.$parent&&!i.$parent._isCompiled)return n(),void(a&&a());var s=t>0?"enter":"leave";o[s](n,a)}},function(e,t,n){var r=n(1),i=r.addClass,a=r.removeClass;e.exports={update:function(e){if(this.arg){var t=e?i:a;t(this.el,this.arg)}else if(this.cleanup(),e&&"string"==typeof e)i(this.el,e),this.lastVal=e;else if(r.isPlainObject(e)){for(var n in e)e[n]?i(this.el,n):a(this.el,n);this.prevKeys=Object.keys(e)}},cleanup:function(e){if(this.lastVal&&a(this.el,this.lastVal),this.prevKeys)for(var t=this.prevKeys.length;t--;)e&&e[this.prevKeys[t]]||a(this.el,this.prevKeys[t])}}},function(e,t,n){e.exports={isLiteral:!0,bind:function(){this.vm.$$[this.expression]=this.el},unbind:function(){delete this.vm.$$[this.expression]}}},function(e,t,n){n(1);e.exports={isLiteral:!0,bind:function(){var e=this.el.__vue__;e&&(e._refID=this.expression)}}},function(e,t,n){var r=n(3);e.exports={bind:function(){var e=this.el;this.vm.$once("hook:compiled",function(){e.removeAttribute(r.prefix+"cloak")})}}},function(e,t,n){var r=n(1),i=n(41);e.exports={priority:1e3,isLiteral:!0,bind:function(){this._isDynamicLiteral||this.update(this.expression)},update:function(e,t){var n=this.el,a=this.el.__vue__||this.vm,o=r.resolveAsset(a.$options,"transitions",e);e=e||"v",n.__v_trans=new i(n,e,o,a),t&&r.removeClass(n,t+"-transition"),r.addClass(n,e+"-transition")}}},function(e,t,n){function r(e,t,n,r){this.el=e,this.enterClass=t+"-enter",this.leaveClass=t+"-leave",this.hooks=n,this.vm=r,this.pendingCssEvent=this.pendingCssCb=this.cancel=this.pendingJsCb=this.op=this.cb=null,this.typeCache={};var a=this;["enterNextTick","enterDone","leaveNextTick","leaveDone"].forEach(function(e){a[e]=i.bind(a[e],a)})}var i=n(1),a=n(42),o=i.addClass,s=i.removeClass,c=i.transitionEndEvent,l=i.animationEndEvent,u=i.transitionProp+"Duration",p=i.animationProp+"Duration",h=1,f=2,d=r.prototype;d.enter=function(e,t){this.cancelPending(),this.callHook("beforeEnter"),this.cb=t,o(this.el,this.enterClass),e(),this.callHookWithCb("enter"),this.cancel=this.hooks&&this.hooks.enterCancelled,a.push(this.enterNextTick)},d.enterNextTick=function(){var e=this.getCssTransitionType(this.enterClass),t=this.enterDone;e===h?(s(this.el,this.enterClass),this.setupCssCb(c,t)):e===f?this.setupCssCb(l,t):this.pendingJsCb||t()},d.enterDone=function(){this.cancel=this.pendingJsCb=null,s(this.el,this.enterClass),this.callHook("afterEnter"),this.cb&&this.cb()},d.leave=function(e,t){this.cancelPending(),this.callHook("beforeLeave"),this.op=e,this.cb=t,o(this.el,this.leaveClass),this.callHookWithCb("leave"),this.cancel=this.hooks&&this.hooks.enterCancelled,this.pendingJsCb||a.push(this.leaveNextTick)},d.leaveNextTick=function(){var e=this.getCssTransitionType(this.leaveClass);if(e){var t=e===h?c:l;this.setupCssCb(t,this.leaveDone)}else this.leaveDone()},d.leaveDone=function(){this.cancel=this.pendingJsCb=null,this.op(),s(this.el,this.leaveClass),this.callHook("afterLeave"),this.cb&&this.cb()},d.cancelPending=function(){this.op=this.cb=null;var e=!1;this.pendingCssCb&&(e=!0,i.off(this.el,this.pendingCssEvent,this.pendingCssCb),this.pendingCssEvent=this.pendingCssCb=null),this.pendingJsCb&&(e=!0,this.pendingJsCb.cancel(),this.pendingJsCb=null),e&&(s(this.el,this.enterClass),s(this.el,this.leaveClass)),this.cancel&&(this.cancel.call(this.vm,this.el),this.cancel=null)},d.callHook=function(e){this.hooks&&this.hooks[e]&&this.hooks[e].call(this.vm,this.el)},d.callHookWithCb=function(e){var t=this.hooks&&this.hooks[e];t&&(t.length>1&&(this.pendingJsCb=i.cancellable(this[e+"Done"])),t.call(this.vm,this.el,this.pendingJsCb))},d.getCssTransitionType=function(e){if(!(!c||document.hidden||this.hooks&&this.hooks.css===!1)){var t=this.typeCache[e];if(t)return t;var n=this.el.style,r=window.getComputedStyle(this.el),i=n[u]||r[u];if(i&&"0s"!==i)t=h;else{var a=n[p]||r[p];a&&"0s"!==a&&(t=f)}return t&&(this.typeCache[e]=t),t}},d.setupCssCb=function(e,t){this.pendingCssEvent=e;var n=this,r=this.el,a=this.pendingCssCb=function(o){o.target===r&&(i.off(r,e,a),n.pendingCssEvent=n.pendingCssCb=null,!n.pendingJsCb&&t&&t())};i.on(r,e,a)},e.exports=r},function(e,t,n){function r(){for(var e=document.documentElement.offsetHeight,t=0;ti||(e(),r.nextTick(function(){var e=t._watcher.value;if(t.update(e),null!=i){var a=r.toString(e).length-i;n.setSelectionRange(a,a)}}))}}:this.listener=function(){s||e()},o&&(this.listener=r.debounce(this.listener,o)),this.event=i?"change":"input",this.hasjQuery="function"==typeof jQuery,this.hasjQuery?jQuery(n).on(this.event,this.listener):r.on(n,this.event,this.listener),!i&&r.isIE9&&(this.onCut=function(){r.nextTick(t.listener)},this.onDel=function(e){(46===e.keyCode||8===e.keyCode)&&t.listener()},r.on(n,"cut",this.onCut),r.on(n,"keyup",this.onDel)),(n.hasAttribute("value")||"TEXTAREA"===n.tagName&&n.value.trim())&&(this._initValue=a?r.toNumber(n.value):n.value)},update:function(e){this.el.value=r.toString(e)},unbind:function(){var e=this.el;this.hasjQuery?jQuery(e).off(this.event,this.listener):r.off(e,this.event,this.listener),this.onComposeStart&&(r.off(e,"compositionstart",this.onComposeStart),r.off(e,"compositionend",this.onComposeEnd)),this.onCut&&(r.off(e,"cut",this.onCut),r.off(e,"keyup",this.onDel))}}},function(e,t,n){var r=n(1);e.exports={bind:function(){var e=this,t=this.el;this.listener=function(){e.set(t.value)},r.on(t,"change",this.listener),t.checked&&(this._initValue=t.value)},update:function(e){this.el.checked=e==this.el.value},unbind:function(){r.off(this.el,"change",this.listener)}}},function(e,t,n){function r(e){function t(e){u.isArray(e)&&(n.el.innerHTML="",i(n.el,e),n.forceUpdate())}var n=this,r=h.parse(e)[0];this.optionWatcher=new p(this.vm,r.expression,t,{deep:!0,filters:r.filters}),t(this.optionWatcher.value)}function i(e,t){for(var n,r,a=0,o=t.length;o>a;a++)n=t[a],n.options?(r=document.createElement("optgroup"),r.label=n.label,i(r,n.options)):(r=document.createElement("option"),"string"==typeof n?r.text=r.value=n:(null!=n.value&&(r.value=n.value),r.text=n.text||n.value||"",n.disabled&&(r.disabled=!0))),e.appendChild(r)}function a(){for(var e,t=this.el.options,n=0,r=t.length;r>n;n++)t[n].hasAttribute("selected")&&(this.multiple?(e||(e=[])).push(t[n].value):e=t[n].value);"undefined"!=typeof e&&(this._initValue=this.number?u.toNumber(e):e)}function o(e){return Array.prototype.filter.call(e.options,s).map(c)}function s(e){return e.selected}function c(e){return e.value||e.text}function l(e,t){for(var n=e.length;n--;)if(e[n]==t)return n;return-1}var u=n(1),p=n(17),h=n(15);e.exports={bind:function(){var e=this,t=this.el;this.forceUpdate=function(){e._watcher&&e.update(e._watcher.get())};var n=this._checkParam("options");n&&r.call(this,n),this.number=null!=this._checkParam("number"),this.multiple=t.hasAttribute("multiple"),this.listener=function(){var n=e.multiple?o(t):t.value;n=e.number?u.isArray(n)?n.map(u.toNumber):u.toNumber(n):n,e.set(n)},u.on(t,"change",this.listener),a.call(this),this.vm.$on("hook:attached",this.forceUpdate)},update:function(e){var t=this.el;t.selectedIndex=-1;for(var n,r=this.multiple&&u.isArray(e),i=t.options,a=i.length;a--;)n=i[a],n.selected=r?l(e,n.value)>-1:e==n.value},unbind:function(){u.off(this.el,"change",this.listener),this.vm.$off("hook:attached",this.forceUpdate),this.optionWatcher&&this.optionWatcher.teardown()}}},function(e,t,n){var r=n(1);e.exports={bind:function(){var e=this,t=this.el;this.listener=function(){e.set(t.checked)},r.on(t,"change",this.listener),t.checked&&(this._initValue=t.checked)},update:function(e){this.el.checked=!!e},unbind:function(){r.off(this.el,"change",this.listener)}}},function(e,t,n){function r(e,t,n){for(var r=e.$el.previousSibling;(!r.__vue__||r.__vue__.$options._repeatId!==n)&&r!==t;)r=r.previousSibling;return r.__vue__}function i(e){for(var t=-1,n=new Array(e);++tn;n++)t[e[n].$key]=e[n];return t}var o=n(1),s=o.isObject,c=o.isPlainObject,l=n(13),u=n(22),p=n(26),h=n(10),f=0,d=0,v=1,m=2,y=3;e.exports={bind:function(){this.id="__v_repeat_"+ ++f,this.start=o.createAnchor("v-repeat-start"),this.end=o.createAnchor("v-repeat-end"),o.replace(this.el,this.end),o.before(this.start,this.end),this.template=o.isTemplate(this.el)?p.parse(this.el,!0):this.el,this.checkIf(),this.checkRef(),this.checkComponent(),this.idKey=this._checkParam("track-by")||this._checkParam("trackby");var e=+this._checkParam("stagger");this.enterStagger=+this._checkParam("enter-stagger")||e,this.leaveStagger=+this._checkParam("leave-stagger")||e,this.cache=Object.create(null)},checkIf:function(){null!==o.attr(this.el,"if")},checkRef:function(){var e=o.attr(this.el,"ref");this.refID=e?this.vm.$interpolate(e):null;var t=o.attr(this.el,"el");this.elId=t?this.vm.$interpolate(t):null},checkComponent:function(){this.componentState=d;var e=this.vm.$options,t=o.checkComponent(this.el,e);if(t){this.Ctor=null,this.asComponent=!0,null!==this._checkParam("inline-template")&&(this.inlineTemplate=o.extractContent(this.el,!0));var n=l.parse(t);if(n){var r=l.tokensToExp(n);this.ctorGetter=u.parse(r).get}else this.componentId=t,this.pendingData=null}else{this.Ctor=o.Vue,this.inherit=!0,this.template=h.transclude(this.template);var i=o.extend({},e);i._asComponent=!1,this._linkFn=h.compile(this.template,i)}},resolveComponent:function(){this.componentState=v,this.vm._resolveComponent(this.componentId,o.bind(function(e){this.componentState!==y&&(this.Ctor=e,this.componentState=m,this.realUpdate(this.pendingData),this.pendingData=null)},this))},resolveDynamicComponent:function(e,t){var n,r=Object.create(this.vm);for(n in e)o.define(r,n,e[n]);for(n in t)o.define(r,n,t[n]);var i=this.ctorGetter.call(r,r),a=o.resolveAsset(this.vm.$options,"components",i);return a.options?a:o.Vue},update:function(e){if(this.componentId){var t=this.componentState;t===d?(this.pendingData=e,this.resolveComponent()):t===v?this.pendingData=e:t===m&&this.realUpdate(e)}else this.realUpdate(e)},realUpdate:function(e){this.vms=this.diff(e,this.vms),this.refID&&(this.vm.$[this.refID]=this.converted?a(this.vms):this.vms),this.elId&&(this.vm.$$[this.elId]=this.vms.map(function(e){return e.$el}))},diff:function(e,t){var n,i,a,c,l,u,p=this.idKey,h=this.converted,f=this.start,d=this.end,v=o.inDoc(f),m=this.arg,y=!t,g=new Array(e.length);for(c=0,l=e.length;l>c;c++)n=e[c],i=h?n.$value:n,u=!s(i),a=!y&&this.getVm(i,c,h?n.$key:null),a?(a._reused=!0,a.$index=c,(p||h||u)&&(m?a[m]=i:o.isPlainObject(i)?a.$data=i:a.$value=i)):(a=this.build(n,c,!0),a._reused=!1),g[c]=a,y&&a.$before(d);if(y)return g;var b=0,_=t.length-g.length;for(c=0,l=t.length;l>c;c++)a=t[c],a._reused||(this.uncacheVm(a),a.$destroy(!1,!0),this.remove(a,b++,_,v));var x,w,k,C=0;for(c=0,l=g.length;l>c;c++)a=g[c],x=g[c-1],w=x?x._staggerCb?x._staggerAnchor:x._blockEnd||x.$el:f,a._reused&&!a._staggerCb?(k=r(a,f,this.id),k!==x&&this.move(a,w)):this.insert(a,C++,w,v),a._reused=!1;return g},build:function(e,t,n){var r={$index:t};this.converted&&(r.$key=e.$key);var i=this.converted?e.$value:e,a=this.arg;a?(e={},e[a]=i):c(i)?e=i:(e={},r.$value=i);var s=this.Ctor||this.resolveDynamicComponent(e,r),l=this._host||this.vm,u=l.$addChild({el:p.clone(this.template),data:e,inherit:this.inherit,template:this.inlineTemplate,_meta:r,_repeat:this.inherit,_asComponent:this.asComponent,_linkerCachable:!this.inlineTemplate&&s!==o.Vue,_linkFn:this._linkFn,_repeatId:this.id,_context:this.vm},s);n&&this.cacheVm(i,u,t,this.converted?r.$key:null);var h=typeof i,f=this;return"object"!==this.rawType||"string"!==h&&"number"!==h||u.$watch(a||"$value",function(e){f.filters,f._withLock(function(){f.converted?f.rawValue[u.$key]=e:f.rawValue.$set(u.$index,e)})}),u},unbind:function(){if(this.componentState=y,this.refID&&(this.vm.$[this.refID]=null),this.vms)for(var e,t=this.vms.length;t--;)e=this.vms[t],this.uncacheVm(e),e.$destroy()},cacheVm:function(e,t,n,r){var i,a=this.idKey,c=this.cache,l=!s(e);r||a||l?(i=a?"$index"===a?n:e[a]:r||n,c[i]||(c[i]=t)):(i=this.id,e.hasOwnProperty(i)?null===e[i]&&(e[i]=t):o.define(e,i,t)),t._raw=e},getVm:function(e,t,n){var r=this.idKey,i=!s(e);if(n||r||i){var a=r?"$index"===r?t:e[r]:n||t;return this.cache[a]}return e[this.id]},uncacheVm:function(e){var t=e._raw,n=this.idKey,r=e.$index,i=e.hasOwnProperty("$key")&&e.$key,a=!s(t);if(n||i||a){var o=n?"$index"===n?r:t[n]:i||r;this.cache[o]=null}else t[this.id]=null,e._raw=null},_preProcess:function(e){this.rawValue=e;var t=this.rawType=typeof e;if(c(e)){for(var n,r=Object.keys(e),a=r.length,s=new Array(a);a--;)n=r[a],s[a]={$key:n,$value:e[n]};return this.converted=!0,s}return this.converted=!1,"number"===t?e=i(e):"string"===t&&(e=o.toArray(e)),e||[]},insert:function(e,t,n,r){e._staggerCb&&(e._staggerCb.cancel(),e._staggerCb=null);var i=this.getStagger(e,t,null,"enter");if(r&&i){var a=e._staggerAnchor;a||(a=e._staggerAnchor=o.createAnchor("stagger-anchor"),a.__vue__=e),o.after(a,n);var s=e._staggerCb=o.cancellable(function(){e._staggerCb=null,e.$before(a),o.remove(a)});setTimeout(s,i)}else e.$after(n)},move:function(e,t){e.$after(t,null,!1)},remove:function(e,t,n,r){function i(){e.$remove(function(){e._cleanup()})}if(e._staggerCb)return e._staggerCb.cancel(),void(e._staggerCb=null);var a=this.getStagger(e,t,n,"leave");if(r&&a){var s=e._staggerCb=o.cancellable(function(){e._staggerCb=null,i()});setTimeout(s,a)}else i()},getStagger:function(e,t,n,r){r+="Stagger";var i=e.$el.__v_trans,a=i&&i.hooks,o=a&&(a[r]||a.stagger);return o?o.call(e,t,n):t*this[r]}}},function(e,t,n){function r(e){e._isAttached||e._callHook("attached")}function i(e){e._isAttached&&e._callHook("detached")}var a=n(1),o=n(10),s=n(26),c=n(35);e.exports={bind:function(){var e=this.el;e.__vue__?this.invalid=!0:(this.start=a.createAnchor("v-if-start"),this.end=a.createAnchor("v-if-end"),a.replace(e,this.end),a.before(this.start,this.end),a.isTemplate(e)?this.template=s.parse(e,!0):(this.template=document.createDocumentFragment(),this.template.appendChild(s.clone(e))),this.linker=o.compile(this.template,this.vm.$options,!0))},update:function(e){this.invalid||(e?this.unlink||this.link(s.clone(this.template),this.linker):this.teardown())},link:function(e,t){var n=this.vm;if(this.unlink=t(n,e),c.blockAppend(e,this.end,n),a.inDoc(n.$el)){var i=this.getContainedComponents();i&&i.forEach(r)}},teardown:function(){if(this.unlink){var e;a.inDoc(this.vm.$el)&&(e=this.getContainedComponents()),c.blockRemove(this.start,this.end,this.vm),e&&e.forEach(i),this.unlink(),this.unlink=null}},getContainedComponents:function(){function e(e){for(var t,i=n;t!==r;){if(t=i.nextSibling,i===e.$el||i.contains&&i.contains(e.$el))return!0;i=t}return!1}var t=this.vm,n=this.start.nextSibling,r=this.end;return t.$children.length&&t.$children.filter(e)},unbind:function(){this.unlink&&this.unlink()}}},function(e,t,n){t.content=n(52),t.partial=n(53)},function(e,t,n){function r(e,t,n){for(var r=document.createDocumentFragment(),i=0,a=e.length;a>i;i++){var o=e[i];n&&!o.__v_selected?r.appendChild(o.cloneNode(!0)):n||o.parentNode!==t||(o.__v_selected=!0,r.appendChild(o.cloneNode(!0)))}return r}var i=n(1);e.exports={bind:function(){for(var e=this.vm,t=e;t.$options._repeat;)t=t.$parent;var n,i=t.$options._content;if(!i)return void this.fallback();var a=t._context,o=this.el.getAttribute("select");if(o){o=e.$interpolate(o);var s=i.querySelectorAll(o);s.length?(n=r(s,i),n.hasChildNodes()?this.compile(n,a,e):this.fallback()):this.fallback()}else{var c=this,l=function(){c.compile(r(i.childNodes,i,!0),a,e)};t._isCompiled?l():t.$once("hook:compiled",l)}},fallback:function(){this.compile(i.extractContent(this.el,!0),this.vm)},compile:function(e,t,n){e&&t&&(this.unlink=t.$compile(e,n)),e?i.replace(this.el,e):i.remove(this.el)},unbind:function(){this.unlink&&this.unlink()}}},function(e,t,n){var r=n(1),i=n(26),a=n(13),o=n(10),s=n(14),c=new s(1e3),l=n(50);e.exports={link:l.link,teardown:l.teardown,getContainedComponents:l.getContainedComponents,bind:function(){var e=this.el;this.start=r.createAnchor("v-partial-start"),this.end=r.createAnchor("v-partial-end"),r.replace(e,this.end),r.before(this.start,this.end);var t=e.getAttribute("name"),n=a.parse(t);n?this.setupDynamic(n):this.insert(t)},setupDynamic:function(e){var t=this,n=a.tokensToExp(e);this.unwatch=this.vm.$watch(n,function(e){t.teardown(),t.insert(e)},{immediate:!0,user:!1})},insert:function(e){var t=r.resolveAsset(this.vm.$options,"partials",e);if(t){var n=i.parse(t,!0),a=(this.vm.constructor.cid||"")+t,o=this.compile(n,a);this.link(n,o)}},compile:function(e,t){var n=c.get(t);if(n)return n;var r=o.compile(e,this.vm.$options,!0);return c.put(t,r),r},unbind:function(){this.unlink&&this.unlink(),this.unwatch&&this.unwatch()}}},function(e,t,n){var r=n(1);t.json={read:function(e,t){return"string"==typeof e?e:JSON.stringify(e,null,Number(t)||2)},write:function(e){try{return JSON.parse(e)}catch(t){return e}}},t.capitalize=function(e){return e||0===e?(e=e.toString(),e.charAt(0).toUpperCase()+e.slice(1)):""},t.uppercase=function(e){return e||0===e?e.toString().toUpperCase():""},t.lowercase=function(e){return e||0===e?e.toString().toLowerCase():""};var i=/(\d{3})(?=\d)/g;t.currency=function(e,t){if(e=parseFloat(e),!isFinite(e)||!e&&0!==e)return"";t=t||"$";var n=Math.abs(e).toFixed(2),r=n.slice(0,-3),a=r.length%3,o=a>0?r.slice(0,a)+(r.length>3?",":""):"",s=n.slice(-3),c=0>e?"-":"";return t+c+o+r.slice(a).replace(i,"$1,")+s},t.pluralize=function(e){var t=r.toArray(arguments,1);return t.length>1?t[e%10-1]||t[t.length-1]:t[0]+(1===e?"":"s")};var a={esc:27,tab:9,enter:13,"delete":46,up:38,left:37,right:39,down:40};t.key=function(e,t){if(e){var n=a[t];return n||(n=parseInt(t,10)),function(t){return t.keyCode===n?e.call(this,t):void 0}}},t.key.keyCodes=a,r.extend(t,n(55))},function(e,t,n){function r(e,t){if(i.isPlainObject(e)){for(var n in e)if(r(e[n],t))return!0}else if(i.isArray(e)){for(var a=e.length;a--;)if(r(e[a],t))return!0}else if(null!=e)return e.toString().toLowerCase().indexOf(t)>-1}var i=n(1),a=n(23);t.filterBy=function(e,t,n,i){return n&&"in"!==n&&(i=n),null==t?e:(t=(""+t).toLowerCase(),e.filter(function(e){return i?r(a.get(e,i),t):r(e,t)}))},t.orderBy=function(e,t,n){if(!t)return e;var r=1;return arguments.length>2&&(r="-1"===n?-1:n?-1:1),e.slice().sort(function(e,n){return"$key"!==t&&"$value"!==t&&(e&&"$value"in e&&(e=e.$value),n&&"$value"in n&&(n=n.$value)),e=i.isObject(e)?a.get(e,t):e,n=i.isObject(n)?a.get(n,t):n,e===n?0:e>n?r:-r})}},function(e,t,n){var r=n(1).mergeOptions;t._init=function(e){e=e||{},this.$el=null,this.$parent=e._parent,this.$root=e._root||this,this.$children=[],this.$={},this.$$={},this._watchers=[],this._directives=[],this._childCtors={},this._isVue=!0,this._events={},this._eventsCount={},this._eventCancelled=!1,this._isBlock=!1,this._blockStart=this._blockEnd=null,this._isCompiled=this._isDestroyed=this._isReady=this._isAttached=this._isBeingDestroyed=!1,this._unlinkFn=null,this._context=e._context||e._parent,this.$parent&&this.$parent.$children.push(this),this._reused=!1,this._staggerOp=null,e=this.$options=r(this.constructor.options,e,this),this._data={},this._initScope(),this._initEvents(),this._callHook("created"),e.el&&this.$mount(e.el)}},function(e,t,n){function r(e,t,n){if(n){var r,a,o,s;for(a in n)if(r=n[a],l.isArray(r))for(o=0,s=r.length;s>o;o++)i(e,t,a,r[o]);else i(e,t,a,r)}}function i(e,t,n,r,a){var o=typeof r;if("function"===o)e[t](n,r,a);else if("string"===o){var s=e.$options.methods,c=s&&s[r];c&&e[t](n,c,a)}else r&&"object"===o&&i(e,t,n,r.handler,r)}function a(){this._isAttached||(this._isAttached=!0,this.$children.forEach(o))}function o(e){!e._isAttached&&u(e.$el)&&e._callHook("attached")}function s(){this._isAttached&&(this._isAttached=!1,this.$children.forEach(c))}function c(e){e._isAttached&&!u(e.$el)&&e._callHook("detached")}var l=n(1),u=l.inDoc;t._initEvents=function(){var e=this.$options;r(this,"$on",e.events),r(this,"$watch",e.watch)},t._initDOMHooks=function(){this.$on("hook:attached",a),this.$on("hook:detached",s)},t._callHook=function(e){var t=this.$options[e];if(t)for(var n=0,r=t.length;r>n;n++)t[n].call(this);this.$emit("hook:"+e)}},function(e,t,n){function r(){}var i=n(1),a=n(10),o=n(18),s=n(19);t._initScope=function(){this._initProps(),this._initMeta(),this._initMethods(),this._initData(),this._initComputed()},t._initProps=function(){var e=this.$options,t=e.el,n=e.props;t=e.el=i.query(t),this._propsUnlinkFn=t&&n?a.compileAndLinkProps(this,t,n):null},t._initData=function(){var e=this._data,t=this.$options.data,n=t&&t();if(n){this._data=n;for(var r in e)n.hasOwnProperty(r)&&void 0===e[r]||n.$set(r,e[r])}var a,s,c=this._data,l=Object.keys(c);for(a=l.length;a--;)s=l[a],i.isReserved(s)||this._proxy(s);o.create(c).addVm(this)},t._setData=function(e){e=e||{};var t=this._data;this._data=e;var n,r,a,s=this.$options.props;if(s)for(a=s.length;a--;)r=s[a].name,"$data"===r||e.hasOwnProperty(r)||e.$set(r,t[r]);for(n=Object.keys(t),a=n.length;a--;)r=n[a],i.isReserved(r)||r in e||this._unproxy(r);for(n=Object.keys(e),a=n.length;a--;)r=n[a],this.hasOwnProperty(r)||i.isReserved(r)||this._proxy(r);t.__ob__.removeVm(this),o.create(e).addVm(this),this._digest()},t._proxy=function(e){var t=this;Object.defineProperty(t,e,{configurable:!0,enumerable:!0,get:function(){return t._data[e]},set:function(n){t._data[e]=n}})},t._unproxy=function(e){delete this[e]},t._digest=function(){for(var e=this._watchers.length;e--;)this._watchers[e].update();var t=this.$children;for(e=t.length;e--;){var n=t[e];n.$options.inherit&&n._digest()}},t._initComputed=function(){var e=this.$options.computed;if(e)for(var t in e){var n=e[t],a={enumerable:!0,configurable:!0};"function"==typeof n?(a.get=i.bind(n,this),a.set=r):(a.get=n.get?i.bind(n.get,this):r,a.set=n.set?i.bind(n.set,this):r),Object.defineProperty(this,t,a)}},t._initMethods=function(){var e=this.$options.methods;if(e)for(var t in e)this[t]=i.bind(e[t],this)},t._initMeta=function(){var e=this.$options._meta;if(e)for(var t in e)this._defineMeta(t,e[t])},t._defineMeta=function(e,t){var n=new s;Object.defineProperty(this,e,{enumerable:!0,configurable:!0,get:function(){return n.depend(),t},set:function(e){e!==t&&(t=e,n.notify())}})}},function(e,t,n){var r=n(1),i=n(60),a=n(10);t._compile=function(e){var t=this.$options,n=this._host;if(t._linkFn)this._initElement(e),this._unlinkFn=t._linkFn(this,e,n);else{var i=e;e=a.transclude(e,t),this._initElement(e);var o,s=a.compileAndLinkRoot(this,e,t),c=this.constructor;t._linkerCachable&&(o=c.linker,o||(o=c.linker=a.compile(e,t)));var l=o?o(this,e):a.compile(e,t)(this,e,n);this._unlinkFn=function(){s(),l(!0)},t.replace&&r.replace(i,e)}return e},t._initElement=function(e){e instanceof DocumentFragment?(this._isBlock=!0,this.$el=this._blockStart=e.firstChild,this._blockEnd=e.lastChild,3===this._blockStart.nodeType&&(this._blockStart.data=this._blockEnd.data=""),this._blockFragment=e):this.$el=e,this.$el.__vue__=this,this._callHook("beforeCompile")},t._bindDir=function(e,t,n,r,a){this._directives.push(new i(e,t,this,n,r,a))},t._destroy=function(e,t){if(!this._isBeingDestroyed){this._callHook("beforeDestroy"),this._isBeingDestroyed=!0;var n,r=this.$parent;for(r&&!r._isBeingDestroyed&&r.$children.$remove(this),n=this.$children.length;n--;)this.$children[n].$destroy();for(this._propsUnlinkFn&&this._propsUnlinkFn(),this._unlinkFn&&this._unlinkFn(),n=this._watchers.length;n--;)this._watchers[n].teardown();this.$el&&(this.$el.__vue__=null);var i=this;e&&this.$el?this.$remove(function(){i._cleanup()}):t||this._cleanup()}},t._cleanup=function(){this._data.__ob__.removeVm(this),this._data=this._watchers=this.$el=this.$parent=this.$root=this.$children=this._directives=null,this._isDestroyed=!0,this._callHook("destroyed"),this.$off()}},function(e,t,n){function r(e,t,n,r,i,a){this.name=e,this.el=t,this.vm=n,this.raw=r.raw,this.expression=r.expression,this.arg=r.arg,this.filters=r.filters,this._descriptor=r,this._host=a,this._locked=!1,this._bound=!1,this._bind(i)}var i=n(1),a=n(3),o=n(17),s=n(13),c=n(22),l=r.prototype;l._bind=function(e){if("cloak"!==this.name&&this.el&&this.el.removeAttribute&&this.el.removeAttribute(a.prefix+this.name),"function"==typeof e?this.update=e:i.extend(this,e),this._watcherExp=this.expression,this._checkDynamicLiteral(),this.bind&&this.bind(),this._watcherExp&&(this.update||this.twoWay)&&(!this.isLiteral||this._isDynamicLiteral)&&!this._checkStatement()){var t=this,n=this._update=this.update?function(e,n){t._locked||t.update(e,n)}:function(){},r=this._preProcess?i.bind(this._preProcess,this):null,s=this._watcher=new o(this.vm,this._watcherExp,n,{filters:this.filters,twoWay:this.twoWay,deep:this.deep,preProcess:r});null!=this._initValue?s.set(this._initValue):this.update&&this.update(s.value)}this._bound=!0},l._checkDynamicLiteral=function(){var e=this.expression;if(e&&this.isLiteral){var t=s.parse(e);if(t){var n=s.tokensToExp(t);this.expression=this.vm.$get(n),this._watcherExp=n,this._isDynamicLiteral=!0}}},l._checkStatement=function(){var e=this.expression;if(e&&this.acceptStatement&&!c.isSimplePath(e)){var t=c.parse(e).get,n=this.vm,r=function(){t.call(n,n)};return this.filters&&(r=n._applyFilters(r,null,this.filters)),this.update(r),!0}},l._checkParam=function(e){var t=this.el.getAttribute(e);return null!==t&&this.el.removeAttribute(e),t},l._teardown=function(){this._bound&&(this._bound=!1,this.unbind&&this.unbind(),this._watcher&&this._watcher.teardown(),this.vm=this.el=this._watcher=null)},l.set=function(e){this.twoWay&&this._withLock(function(){this._watcher.set(e)})},l._withLock=function(e){var t=this;t._locked=!0,e.call(t),i.nextTick(function(){t._locked=!1})},e.exports=r},function(e,t,n){var r=n(1);t._applyFilters=function(e,t,n,i){var a,o,s,c,l,u,p,h,f;for(u=0,p=n.length;p>u;u++)if(a=n[u],o=r.resolveAsset(this.$options,"filters",a.name),o&&(o=i?o.write:o.read||o,"function"==typeof o)){if(s=i?[e,t]:[e],l=i?2:1,a.args)for(h=0,f=a.args.length;f>h;h++)c=a.args[h],s[h+l]=c.dynamic?this.$get(c.value):c.value;e=o.apply(this,s)}return e},t._resolveComponent=function(e,t){var n=r.resolveAsset(this.$options,"components",e);if(n.options)t(n);else if(n.resolved)t(n.resolved);else if(n.requested)n.pendingCallbacks.push(t);else{n.requested=!0;var i=n.pendingCallbacks=[t];n(function(e){r.isPlainObject(e)&&(e=r.Vue.extend(e)),n.resolved=e;for(var t=0,a=i.length;a>t;t++)i[t](e)},function(e){})}}},function(e,t,n){var r=n(17),i=n(23),a=n(13),o=n(15),s=n(22),c=/[^|]\|[^|]/;t.$get=function(e){var t=s.parse(e);if(t)try{return t.get.call(this,this)}catch(n){}},t.$set=function(e,t){var n=s.parse(e,!0);n&&n.set&&n.set.call(this,this,t)},t.$add=function(e,t){this._data.$add(e,t)},t.$delete=function(e){this._data.$delete(e)},t.$watch=function(e,t,n){var i=this,a=function(e,n){t.call(i,e,n)},o=new r(i,e,a,{deep:n&&n.deep,user:!n||n.user!==!1});return n&&n.immediate&&a(o.value),function(){o.teardown()}},t.$eval=function(e){if(c.test(e)){var t=o.parse(e)[0],n=this.$get(t.expression);return t.filters?this._applyFilters(n,null,t.filters):n}return this.$get(e)},t.$interpolate=function(e){var t=a.parse(e),n=this;return t?1===t.length?n.$eval(t[0].value):t.map(function(e){return e.tag?n.$eval(e.value):e.value}).join(""):e},t.$log=function(e){var t=e?i.get(this._data,e):this._data;t&&(t=JSON.parse(JSON.stringify(t))),console.log(t)}},function(e,t,n){function r(e,t,n,r,o,s){t=a(t);var c=!l.inDoc(t),u=r===!1||c?o:s,p=!c&&!e._isAttached&&!l.inDoc(e.$el);return e._isBlock?i(e,t,u,n):u(e.$el,t,e,n),p&&e._callHook("attached"),e}function i(e,t,n,r){for(var i,a=e._blockStart,o=e._blockEnd;i!==o;)i=a.nextSibling,n(a,t,e),a=i;n(o,t,e,r)}function a(e){return"string"==typeof e?document.querySelector(e):e}function o(e,t,n,r){t.appendChild(e),r&&r()}function s(e,t,n,r){l.before(e,t),r&&r()}function c(e,t,n){l.remove(e),n&&n()}var l=n(1),u=n(35);t.$nextTick=function(e){l.nextTick(e,this)},t.$appendTo=function(e,t,n){return r(this,e,t,n,o,u.append)},t.$prependTo=function(e,t,n){return e=a(e),e.hasChildNodes()?this.$before(e.firstChild,t,n):this.$appendTo(e,t,n),this},t.$before=function(e,t,n){return r(this,e,t,n,s,u.before)},t.$after=function(e,t,n){return e=a(e),e.nextSibling?this.$before(e.nextSibling,t,n):this.$appendTo(e.parentNode,t,n),this},t.$remove=function(e,t){if(!this.$el.parentNode)return e&&e();var n=this._isAttached&&l.inDoc(this.$el);n||(t=!1);var r,a=this,s=function(){n&&a._callHook("detached"),e&&e()};return this._isBlock&&!this._blockFragment.hasChildNodes()?(r=t===!1?o:u.removeThenAppend,i(this,this._blockFragment,r,s)):(r=t===!1?c:u.remove)(this.$el,this,s),this}},function(e,t,n){function r(e,t,n){var r=e.$parent;if(r&&n&&!a.test(t))for(;r;)r._eventsCount[t]=(r._eventsCount[t]||0)+n,r=r.$parent}var i=n(1);t.$on=function(e,t){return(this._events[e]||(this._events[e]=[])).push(t),r(this,e,1),this},t.$once=function(e,t){function n(){r.$off(e,n),t.apply(this,arguments)}var r=this;return n.fn=t,this.$on(e,n),this},t.$off=function(e,t){var n;if(!arguments.length){if(this.$parent)for(e in this._events)n=this._events[e],n&&r(this,e,-n.length);return this._events={},this}if(n=this._events[e],!n)return this;if(1===arguments.length)return r(this,e,-n.length),this._events[e]=null,this;for(var i,a=n.length;a--;)if(i=n[a],i===t||i.fn===t){r(this,e,-1),n.splice(a,1);break}return this},t.$emit=function(e){this._eventCancelled=!1;var t=this._events[e];if(t){for(var n=arguments.length-1,r=new Array(n);n--;)r[n]=arguments[n+1];n=0,t=t.length>1?i.toArray(t):t;for(var a=t.length;a>n;n++)t[n].apply(this,r)===!1&&(this._eventCancelled=!0)}return this},t.$broadcast=function(e){if(this._eventsCount[e]){for(var t=this.$children,n=0,r=t.length;r>n;n++){var i=t[n];i.$emit.apply(i,arguments),i._eventCancelled||i.$broadcast.apply(i,arguments)}return this}},t.$dispatch=function(){for(var e=this.$parent;e;)e.$emit.apply(e,arguments),e=e._eventCancelled?null:e.$parent;return this};var a=/^hook:/},function(e,t,n){var r=n(1);t.$addChild=function(e,t){t=t||r.Vue,e=e||{};var n,i=this,a=void 0!==e.inherit?e.inherit:t.options.inherit;if(a){var o=i._childCtors;n=o[t.cid],n||(n=function(e){this.constructor=n,this._init(e)},n.options=t.options,n.linker=t.linker,n.prototype=this,o[t.cid]=n)}else n=t;e._parent=i,e._root=i.$root;var s=new n(e);return s}},function(e,t,n){function r(){this._isAttached=!0,this._isReady=!0,this._callHook("ready")}var i=n(1),a=n(10);t.$mount=function(e){return this._isCompiled?void 0:(e=i.query(e),e||(e=document.createElement("div")),this._compile(e),this._isCompiled=!0,this._callHook("compiled"),this._initDOMHooks(),i.inDoc(this.$el)?(this._callHook("attached"),r.call(this)):this.$once("hook:attached",r),this)},t.$destroy=function(e,t){this._destroy(e,t)},t.$compile=function(e,t){return a.compile(e,this.$options,!0,t)(this,e)}}])}); \ No newline at end of file