From c49a2b97baf81e28c703478b57fbbb899267d010 Mon Sep 17 00:00:00 2001 From: Wanchen He Date: Thu, 12 Mar 2020 11:57:33 +0800 Subject: [PATCH] V1.5.1 Seperate js and css, improve loading speed --- autopackup.py | 53 ++++++++++++++++++++++++++++---------------- docs/bundle.js | 5 +++-- docs/index.html | 1 + docs/style.js | 1 + src/app.js | 5 +++-- src/css/index.css | 3 --- src/css/toolbars.css | 27 +++++++++++----------- src/main.js | 11 --------- src/style.js | 5 +++++ webpack.config.js | 7 ++++-- 10 files changed, 65 insertions(+), 53 deletions(-) create mode 100644 docs/style.js delete mode 100644 src/main.js create mode 100644 src/style.js diff --git a/autopackup.py b/autopackup.py index b1cb458..aec8a91 100644 --- a/autopackup.py +++ b/autopackup.py @@ -1,43 +1,58 @@ -# Watch file changes and auto packup html and bundle.js +# Watch file changes in './Docs' and auto packup html with js import hashlib import os import re import time -html_sha = '' -js_sha = '' +# Detect difference by comparing MD5 +html_md5 = '' +js_md5 = '' +css_md5 = '' # Loop forever while True: - files = os.listdir('dist') + files = os.listdir('docs') - # Read html and bundle.js, calculate SHA256 + # Read html, bundle.js and style.js for filename in files: - filename = os.path.join('dist', filename) + filename = os.path.join('docs', filename) if filename.endswith('.html'): with open(filename, 'rb') as f: html_txt = f.read() - if filename.endswith('.js'): + if filename.endswith('bundle.js'): with open(filename, 'rb') as f: js_txt = f.read() - js_txt = js_txt.replace(b'\\', b'/@placeholder@/') - new_html_sha = hashlib.sha256(html_txt).hexdigest() - new_js_sha = hashlib.sha256(js_txt).hexdigest() + if filename.endswith('style.js'): + with open(filename, 'rb') as f: + css_txt = f.read() + + # '\' will cause error, replace them + js_txt = js_txt.replace(b'\\', b'/@placeholder@/') + css_txt = css_txt.replace(b'\\', b'/@placeholder@/') + + # Calculate MD5 + new_html_md5 = hashlib.md5(html_txt).hexdigest() + new_js_md5 = hashlib.md5(js_txt).hexdigest() + new_css_md5 = hashlib.md5(css_txt).hexdigest() # Check for difference and packup - if (new_html_sha != html_sha or new_js_sha != js_sha): + if (new_html_md5 != html_md5 or new_js_md5 != js_md5 or new_css_md5 != css_md5): print('Detect change. Packing...') - new_html_txt = re.sub(rb'', - b'', - html_txt) - new_html_txt = new_html_txt.replace(b'/@placeholder@/', b'\\') + html_txt = re.sub(rb'', + b'', + html_txt) + html_txt = re.sub(rb'', + b'', + html_txt) + html_txt = html_txt.replace(b'/@placeholder@/', b'\\') with open('TreePlaygroundPackup.html', 'wb') as f: - f.write(new_html_txt) + f.write(html_txt) print('Packed...') - # Update SHA256 value - html_sha = new_html_sha - js_sha = new_js_sha + # Update MD5 value + html_md5 = new_html_md5 + js_md5 = new_js_md5 + css_md5 = new_css_md5 time.sleep(1) diff --git a/docs/bundle.js b/docs/bundle.js index d91e524..c37a270 100644 --- a/docs/bundle.js +++ b/docs/bundle.js @@ -1,6 +1,7 @@ -!function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=11)}([function(e,t,n){"use strict";function r(e,t,n,r,i,o,a,s){var l,c="function"==typeof e?e.options:e;if(t&&(c.render=t,c.staticRenderFns=n,c._compiled=!0),r&&(c.functional=!0),o&&(c._scopeId="data-v-"+o),a?(l=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),i&&i.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(a)},c._ssrRegister=l):i&&(l=s?function(){i.call(this,this.$root.$options.shadowRoot)}:i),l)if(c.functional){c._injectStyles=l;var u=c.render;c.render=function(e,t){return l.call(t),u(e,t)}}else{var p=c.beforeCreate;c.beforeCreate=p?[].concat(p,l):[l]}return{exports:e,options:c}}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";var r=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[n("input",{ref:"input",staticClass:"binnode-input",style:{width:e.width+"px"},domProps:{value:e.value},on:{input:function(t){return e.$emit("input",t.target.value)},blur:function(t){return e.$emit("blur")},focus:e.onFocus}}),e._v(" "),n("span",{ref:"widthIndicator",staticStyle:{display:"inline-block",visibility:"hidden",position:"absolute"}},[e._v(e._s(e.value))])])};r._withStripped=!0;var i=n(5).a,o=n(0),a=Object(o.a)(i,r,[],!1,null,null,null);a.options.__file="src/components/binnode-input.vue";t.a=a.exports},function(e,t,n){"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=function(e,t){var n=e[1]||"",r=e[3];if(!r)return n;if(t&&"function"==typeof btoa){var i=(a=r,s=btoa(unescape(encodeURIComponent(JSON.stringify(a)))),l="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(s),"/*# ".concat(l," */")),o=r.sources.map((function(e){return"/*# sourceURL=".concat(r.sourceRoot||"").concat(e," */")}));return[n].concat(o).concat([i]).join("\n")}var a,s,l;return[n].join("\n")}(t,e);return t[2]?"@media ".concat(t[2]," {").concat(n,"}"):n})).join("")},t.i=function(e,n,r){"string"==typeof e&&(e=[[null,e,""]]);var i={};if(r)for(var o=0;o1)for(var n=1;n{this.$refs.input.forceFocus()})},inputOnBlur(){this.showInput=!1,this.updation=this.node.data}},computed:{title(){return"RedBlack"===this.$parent.curTreeType?`blackH: ${this.node.height+1}\nsize: ${this.node.size()}`:`height: ${this.node.height}\nsize: ${this.node.size()}`},showRemoveBelow(){let e=this.$parent.curTreeType;return"BinTree"===e||"BST"===e||!this.node.parent},showRemoveOne(){return"BinTree"!==this.$parent.curTreeType}}}}).call(this,n(3))},function(e,t,n){"use strict";(function(e){t.a={props:["value"],data:function(){return{width:40}},methods:{forceFocus(){this.$refs.input.focus()},onFocus(){this.width=this.$refs.widthIndicator.offsetWidth}},watch:{value(){e.nextTick(()=>{this.width=this.$refs.widthIndicator.offsetWidth})}}}}).call(this,n(3))},function(e,t,n){"use strict";(function(e){var r=n(1);t.a={props:["node"],data:()=>({insertion:"",showInput:!1}),components:{"binnode-input":r.a},methods:{emitExtrInsert(){let e=this.$parent.assertNumber(this.insertion);if(null==e)return!1;this.$emit("extr-insert",[this.node,e,e=>{e&&(this.insertion="")}])},divOnClick(){if(!0===this.showInput)return!1;this.showInput=!0,e.nextTick(()=>{this.$refs.input.forceFocus()})}}}}).call(this,n(3))},function(e,t,n){"use strict";(function(e){var r=n(1);t.a={props:["data"],data(){return{sequence:this.data.toString(),showInput:!1,helpInd:-1,helpMessages:["B: 真二叉树构建, 逗号分隔. 例如 1,,2,,3 对应 {1: [null, 2: [null, 3]]}","I: (回车)输入序列依次插入, 逗号分隔. 上限为666..666(具体几个不告诉你)","S: 输入单个数值进行搜索","P: 生成真二叉树层次遍历序列(复制下来就可以随时重建啦)"]}},components:{"binnode-input":r.a},methods:{divOnClick(){if(!0===this.showInput)return!1;this.showInput=!0,e.nextTick(()=>{this.$refs.input.forceFocus()})},emitTopBuild(){if(""===this.sequence)return!1;let e=this.$parent.strToArr(this.sequence);return e&&null!==e[0]?!(this.$parent.tree&&this.$parent.tree.root()&&!confirm("Overwrite current tree?"))&&(this.sequence=e.toString(),void this.$emit("top-build",e)):(alert("Empty Root!"),!1)},emitTopInsert(){let e=this.$parent.strToArr(this.sequence);if(!e||0===e.length)return!1;this.sequence=e.toString(),this.$emit("top-insert",e)},emitTopSearch(){let e=this.$parent.assertNumber(this.sequence);if(null===e)return!1;this.sequence=e.toString(),this.$emit("top-search",e)},emitTopHelp(){this.helpInd=++this.helpInd%this.helpMessages.length;let e=[this.showTopBuild,this.showTopInsert,this.showTopSearch,!0],t=0;for(;!e[this.helpInd]&&t++<5;)this.helpInd=++this.helpInd%this.helpMessages.length;e[this.helpInd]&&this.$emit("top-help",this.helpMessages[this.helpInd])}},computed:{showTopSearch(){return"BinTree"!==this.$parent.curTreeType},showTopInsert(){return"BinTree"!==this.$parent.curTreeType},showTopBuild(){return"RedBlack"!==this.$parent.curTreeType}},watch:{data(){this.sequence=this.data.toString()}}}}).call(this,n(3))},function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t,n){"use strict";var r,i=function(){return void 0===r&&(r=Boolean(window&&document&&document.all&&!window.atob)),r},o=function(){var e={};return function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}e[t]=n}return e[t]}}(),a=[];function s(e){for(var t=-1,n=0;n1)for(var n=1;n{this.$refs.input.forceFocus()})},inputOnBlur(){this.showInput=!1,this.updation=this.node.data}},computed:{title(){return"RedBlack"===this.$parent.curTreeType?`blackH: ${this.node.height+1}\nsize: ${this.node.size()}`:`height: ${this.node.height}\nsize: ${this.node.size()}`},showRemoveBelow(){let t=this.$parent.curTreeType;return"BinTree"===t||"BST"===t||!this.node.parent},showRemoveOne(){return"BinTree"!==this.$parent.curTreeType}}}}).call(this,n(2))},function(t,e,n){"use strict";(function(t){e.a={props:["value"],data:function(){return{width:40}},methods:{forceFocus(){this.$refs.input.focus()},onFocus(){this.width=this.$refs.widthIndicator.offsetWidth}},watch:{value(){t.nextTick(()=>{this.width=this.$refs.widthIndicator.offsetWidth})}}}}).call(this,n(2))},function(t,e,n){"use strict";(function(t){var r=n(1);e.a={props:["node"],data:()=>({insertion:"",showInput:!1}),components:{"binnode-input":r.a},methods:{emitExtrInsert(){let t=this.$parent.assertNumber(this.insertion);if(null==t)return!1;this.$emit("extr-insert",[this.node,t,t=>{t&&(this.insertion="")}])},divOnClick(){if(!0===this.showInput)return!1;this.showInput=!0,t.nextTick(()=>{this.$refs.input.forceFocus()})}}}}).call(this,n(2))},function(t,e,n){"use strict";(function(t){var r=n(1);e.a={props:["data"],data(){return{sequence:this.data.toString(),showInput:!1,helpInd:-1,helpMessages:["B: 真二叉树构建, 逗号分隔. 例如 1,,2,,3 对应 {1: [null, 2: [null, 3]]}","I: (回车)输入序列依次插入, 逗号分隔. 上限为666..666(具体几个不告诉你)","S: 输入单个数值进行搜索","P: 生成真二叉树层次遍历序列(复制下来就可以随时重建啦)"]}},components:{"binnode-input":r.a},methods:{divOnClick(){if(!0===this.showInput)return!1;this.showInput=!0,t.nextTick(()=>{this.$refs.input.forceFocus()})},emitTopBuild(){if(""===this.sequence)return!1;let t=this.$parent.strToArr(this.sequence);return t&&null!==t[0]?!(this.$parent.tree&&this.$parent.tree.root()&&!confirm("Overwrite current tree?"))&&(this.sequence=t.toString(),void this.$emit("top-build",t)):(alert("Empty Root!"),!1)},emitTopInsert(){let t=this.$parent.strToArr(this.sequence);if(!t||0===t.length)return!1;this.sequence=t.toString(),this.$emit("top-insert",t)},emitTopSearch(){let t=this.$parent.assertNumber(this.sequence);if(null===t)return!1;this.sequence=t.toString(),this.$emit("top-search",t)},emitTopHelp(){this.helpInd=++this.helpInd%this.helpMessages.length;let t=[this.showTopBuild,this.showTopInsert,this.showTopSearch,!0],e=0;for(;!t[this.helpInd]&&e++<5;)this.helpInd=++this.helpInd%this.helpMessages.length;t[this.helpInd]&&this.$emit("top-help",this.helpMessages[this.helpInd])}},computed:{showTopSearch(){return"BinTree"!==this.$parent.curTreeType},showTopInsert(){return"BinTree"!==this.$parent.curTreeType},showTopBuild(){return"RedBlack"!==this.$parent.curTreeType}},watch:{data(){this.sequence=this.data.toString()}}}}).call(this,n(2))},function(t,e){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(t){"object"==typeof window&&(n=window)}t.exports=n},function(t,e,n){(function(e,n){ /*! * Vue.js v2.6.11 * (c) 2014-2019 Evan You * Released under the MIT License. - */var r;r=function(){"use strict";var e=Object.freeze({});function r(e){return null==e}function i(e){return null!=e}function o(e){return!0===e}function a(e){return"string"==typeof e||"number"==typeof e||"symbol"==typeof e||"boolean"==typeof e}function s(e){return null!==e&&"object"==typeof e}var l=Object.prototype.toString;function c(e){return l.call(e).slice(8,-1)}function u(e){return"[object Object]"===l.call(e)}function p(e){return"[object RegExp]"===l.call(e)}function d(e){var t=parseFloat(String(e));return t>=0&&Math.floor(t)===t&&isFinite(e)}function f(e){return i(e)&&"function"==typeof e.then&&"function"==typeof e.catch}function h(e){return null==e?"":Array.isArray(e)||u(e)&&e.toString===l?JSON.stringify(e,null,2):String(e)}function v(e){var t=parseFloat(e);return isNaN(t)?e:t}function m(e,t){for(var n=Object.create(null),r=e.split(","),i=0;i-1)return e.splice(n,1)}}var _=Object.prototype.hasOwnProperty;function w(e,t){return _.call(e,t)}function x(e){var t=Object.create(null);return function(n){return t[n]||(t[n]=e(n))}}var k=/-(\w)/g,A=x((function(e){return e.replace(k,(function(e,t){return t?t.toUpperCase():""}))})),$=x((function(e){return e.charAt(0).toUpperCase()+e.slice(1)})),T=/\B([A-Z])/g,C=x((function(e){return e.replace(T,"-$1").toLowerCase()})),S=Function.prototype.bind?function(e,t){return e.bind(t)}:function(e,t){function n(n){var r=arguments.length;return r?r>1?e.apply(t,arguments):e.call(t,n):e.call(t)}return n._length=e.length,n};function O(e,t){t=t||0;for(var n=e.length-t,r=new Array(n);n--;)r[n]=e[n+t];return r}function M(e,t){for(var n in t)e[n]=t[n];return e}function L(e){for(var t={},n=0;n0,Q=W&&W.indexOf("edge/")>0,ee=(W&&W.indexOf("android"),W&&/iphone|ipad|ipod|ios/.test(W)||"ios"===Y),te=(W&&/chrome\/\d+/.test(W),W&&/phantomjs/.test(W),W&&W.match(/firefox\/(\d+)/)),ne={}.watch,re=!1;if(X)try{var ie={};Object.defineProperty(ie,"passive",{get:function(){re=!0}}),window.addEventListener("test-passive",null,ie)}catch(e){}var oe=function(){return void 0===q&&(q=!X&&!K&&void 0!==t&&t.process&&"server"===t.process.env.VUE_ENV),q},ae=X&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function se(e){return"function"==typeof e&&/native code/.test(e.toString())}var le,ce="undefined"!=typeof Symbol&&se(Symbol)&&"undefined"!=typeof Reflect&&se(Reflect.ownKeys);le="undefined"!=typeof Set&&se(Set)?Set:function(){function e(){this.set=Object.create(null)}return e.prototype.has=function(e){return!0===this.set[e]},e.prototype.add=function(e){this.set[e]=!0},e.prototype.clear=function(){this.set=Object.create(null)},e}();var ue,pe,de,fe=I,he="undefined"!=typeof console,ve=/(?:^|[-_])(\w)/g;ue=function(e,t){var n=t?fe(t):"";F.warnHandler?F.warnHandler.call(null,e,t,n):he&&!F.silent&&console.error("[Vue warn]: "+e+n)},pe=function(e,t){he&&!F.silent&&console.warn("[Vue tip]: "+e+(t?fe(t):""))},de=function(e,t){if(e.$root===e)return"";var n="function"==typeof e&&null!=e.cid?e.options:e._isVue?e.$options||e.constructor.options:e,r=n.name||n._componentTag,i=n.__file;if(!r&&i){var o=i.match(/([^/\\]+)\.vue$/);r=o&&o[1]}return(r?"<"+function(e){return e.replace(ve,(function(e){return e.toUpperCase()})).replace(/[-_]/g,"")}(r)+">":"")+(i&&!1!==t?" at "+i:"")},fe=function(e){if(e._isVue&&e.$parent){for(var t=[],n=0;e;){if(t.length>0){var r=t[t.length-1];if(r.constructor===e.constructor){n++,e=e.$parent;continue}n>0&&(t[t.length-1]=[r,n],n=0)}t.push(e),e=e.$parent}return"\n\nfound in\n\n"+t.map((function(e,t){return""+(0===t?"---\x3e ":function(e,t){for(var n="";t;)t%2==1&&(n+=e),t>1&&(e+=e),t>>=1;return n}(" ",5+2*t))+(Array.isArray(e)?de(e[0])+"... ("+e[1]+" recursive calls)":de(e))})).join("\n")}return"\n\n(found in "+de(e)+")"};var me=0,ge=function(){this.id=me++,this.subs=[]};ge.prototype.addSub=function(e){this.subs.push(e)},ge.prototype.removeSub=function(e){b(this.subs,e)},ge.prototype.depend=function(){ge.target&&ge.target.addDep(this)},ge.prototype.notify=function(){var e=this.subs.slice();F.async||e.sort((function(e,t){return e.id-t.id}));for(var t=0,n=e.length;t-1)if(o&&!w(i,"default"))a=!1;else if(""===a||a===C(e)){var u=Ze(String,i.type);(u<0||l0&&(Nt((l=e(l,(n||"")+"_"+s))[0])&&Nt(u)&&(p[c]=Ae(u.text+l[0].text),l.shift()),p.push.apply(p,l)):a(l)?Nt(u)?p[c]=Ae(u.text+l):""!==l&&p.push(Ae(l)):Nt(l)&&Nt(u)?p[c]=Ae(u.text+l.text):(o(t._isVList)&&i(l.tag)&&r(l.key)&&i(n)&&(l.key="__vlist"+n+"_"+s+"__"),p.push(l)));return p}(e):void 0}function Nt(e){return i(e)&&i(e.text)&&!1===e.isComment}function Et(e,t){if(e){for(var n=Object.create(null),r=ce?Reflect.ownKeys(e):Object.keys(e),i=0;i0,a=t?!!t.$stable:!o,s=t&&t.$key;if(t){if(t._normalized)return t._normalized;if(a&&r&&r!==e&&s===r.$key&&!o&&!r.$hasNormal)return r;for(var l in i={},t)t[l]&&"$"!==l[0]&&(i[l]=Bt(n,l,t[l]))}else i={};for(var c in n)c in i||(i[c]=Ft(n,c));return t&&Object.isExtensible(t)&&(t._normalized=i),U(i,"$stable",a),U(i,"$key",s),U(i,"$hasNormal",o),i}function Bt(e,t,n){var r=function(){var e=arguments.length?n.apply(null,arguments):n({});return(e=e&&"object"==typeof e&&!Array.isArray(e)?[e]:Rt(e))&&(0===e.length||1===e.length&&e[0].isComment)?void 0:e};return n.proxy&&Object.defineProperty(e,t,{get:r,enumerable:!0,configurable:!0}),r}function Ft(e,t){return function(){return e[t]}}function zt(e,t){var n,r,o,a,l;if(Array.isArray(e)||"string"==typeof e)for(n=new Array(e.length),r=0,o=e.length;r.",e),u=new we(F.parsePlatformTagName(t),n,l,void 0,void 0,e)):u=n&&n.pre||!i(d=Je(e.$options,"components",t))?new we(t,n,l,void 0,void 0,e):ln(d,n,e,l,t)):u=ln(t,n,e,l);return Array.isArray(u)?u:i(u)?(i(p)&&function e(t,n,a){if(t.ns=n,"foreignObject"===t.tag&&(n=void 0,a=!0),i(t.children))for(var s=0,l=t.children.length;sdocument.createEvent("Event").timeStamp&&(Nn=function(){return En.now()})}function jn(){var e,t;for(Rn=Nn(),Ln=!0,Tn.sort((function(e,t){return e.id-t.id})),In=0;In100)){ue("You may have an infinite update loop "+(e.user?'in watcher with expression "'+e.expression+'"':"in a component render function."),e.vm);break}var n=Cn.slice(),r=Tn.slice();In=Tn.length=Cn.length=0,Sn={},On={},Mn=Ln=!1,function(e){for(var t=0;tIn&&Tn[n].id>e.id;)n--;Tn.splice(n+1,0,e)}else Tn.push(e);if(!Mn){if(Mn=!0,!F.async)return void jn();mt(jn)}}}(this)},Dn.prototype.run=function(){if(this.active){var e=this.get();if(e!==this.value||s(e)||this.deep){var t=this.value;if(this.value=e,this.user)try{this.cb.call(this.vm,e,t)}catch(e){tt(e,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,e,t)}}},Dn.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},Dn.prototype.depend=function(){for(var e=this.deps.length;e--;)this.deps[e].depend()},Dn.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||b(this.vm._watchers,this);for(var e=this.deps.length;e--;)this.deps[e].removeSub(this);this.active=!1}};var Bn={enumerable:!0,configurable:!0,get:I,set:I};function Fn(e,t,n){Bn.get=function(){return this[t][n]},Bn.set=function(e){this[t][n]=e},Object.defineProperty(e,n,Bn)}function zn(e){e._watchers=[];var t=e.$options;t.props&&function(e,t){var n=e.$options.propsData||{},r=e._props={},i=e.$options._propKeys=[],o=!e.$parent;o||Me(!1);var a=function(a){i.push(a);var s=Xe(a,t,n,e),l=C(a);(y(l)||F.isReservedAttr(l))&&ue('"'+l+'" is a reserved attribute and cannot be used as component prop.',e),Re(r,a,s,(function(){o||wn||ue("Avoid mutating a prop directly since the value will be overwritten whenever the parent component re-renders. Instead, use a data or computed property based on the prop's value. Prop being mutated: \""+a+'"',e)})),a in e||Fn(e,"_props",a)};for(var s in t)a(s);Me(!0)}(e,t.props),t.methods&&function(e,t){var n=e.$options.props;for(var r in t)"function"!=typeof t[r]&&ue('Method "'+r+'" has type "'+typeof t[r]+'" in the component definition. Did you reference the function correctly?',e),n&&w(n,r)&&ue('Method "'+r+'" has already been defined as a prop.',e),r in e&&H(r)&&ue('Method "'+r+'" conflicts with an existing Vue instance method. Avoid defining component methods that start with _ or $.'),e[r]="function"!=typeof t[r]?I:S(t[r],e)}(e,t.methods),t.data?function(e){var t=e.$options.data;u(t=e._data="function"==typeof t?function(e,t){be();try{return e.call(t,t)}catch(e){return tt(e,t,"data()"),{}}finally{_e()}}(t,e):t||{})||(t={},ue("data functions should return an object:\nhttps://vuejs.org/v2/guide/components.html#data-Must-Be-a-Function",e));for(var n=Object.keys(t),r=e.$options.props,i=e.$options.methods,o=n.length;o--;){var a=n[o];i&&w(i,a)&&ue('Method "'+a+'" has already been defined as a data property.',e),r&&w(r,a)?ue('The data property "'+a+'" is already declared as a prop. Use prop default value instead.',e):H(a)||Fn(e,"_data",a)}Ie(t,!0)}(e):Ie(e._data={},!0),t.computed&&function(e,t){var n=e._computedWatchers=Object.create(null),r=oe();for(var i in t){var o=t[i],a="function"==typeof o?o:o.get;null==a&&ue('Getter is missing for computed property "'+i+'".',e),r||(n[i]=new Dn(e,a||I,I,Hn)),i in e?i in e.$data?ue('The computed property "'+i+'" is already defined in data.',e):e.$options.props&&i in e.$options.props&&ue('The computed property "'+i+'" is already defined as a prop.',e):Un(e,i,o)}}(e,t.computed),t.watch&&t.watch!==ne&&function(e,t){for(var n in t){var r=t[n];if(Array.isArray(r))for(var i=0;i-1:"string"==typeof e?e.split(",").indexOf(t)>-1:!!p(e)&&e.test(t)}function Qn(e,t){var n=e.cache,r=e.keys,i=e._vnode;for(var o in n){var a=n[o];if(a){var s=Gn(a.componentOptions);s&&!t(s)&&er(n,o,r,i)}}}function er(e,t,n,r){var i=e[t];!i||r&&i.tag===r.tag||i.componentInstance.$destroy(),e[t]=null,b(n,t)}!function(t){t.prototype._init=function(t){var n,r,i=this;i._uid=Xn++,F.performance&&at&&(n="vue-perf-start:"+i._uid,r="vue-perf-end:"+i._uid,at(n)),i._isVue=!0,t&&t._isComponent?function(e,t){var n=e.$options=Object.create(e.constructor.options),r=t._parentVnode;n.parent=t.parent,n._parentVnode=r;var i=r.componentOptions;n.propsData=i.propsData,n._parentListeners=i.listeners,n._renderChildren=i.children,n._componentTag=i.tag,t.render&&(n.render=t.render,n.staticRenderFns=t.staticRenderFns)}(i,t):i.$options=Ve(Kn(i.constructor),t||{},i),gt(i),i._self=i,function(e){var t=e.$options,n=t.parent;if(n&&!t.abstract){for(;n.$options.abstract&&n.$parent;)n=n.$parent;n.$children.push(e)}e.$parent=n,e.$root=n?n.$root:e,e.$children=[],e.$refs={},e._watcher=null,e._inactive=null,e._directInactive=!1,e._isMounted=!1,e._isDestroyed=!1,e._isBeingDestroyed=!1}(i),function(e){e._events=Object.create(null),e._hasHookEvent=!1;var t=e.$options._parentListeners;t&&bn(e,t)}(i),function(t){t._vnode=null,t._staticTrees=null;var n=t.$options,r=t.$vnode=n._parentVnode,i=r&&r.context;t.$slots=jt(n._renderChildren,i),t.$scopedSlots=e,t._c=function(e,n,r,i){return un(t,e,n,r,i,!1)},t.$createElement=function(e,n,r,i){return un(t,e,n,r,i,!0)};var o=r&&r.data;Re(t,"$attrs",o&&o.attrs||e,(function(){!wn&&ue("$attrs is readonly.",t)}),!0),Re(t,"$listeners",n._parentListeners||e,(function(){!wn&&ue("$listeners is readonly.",t)}),!0)}(i),$n(i,"beforeCreate"),function(e){var t=Et(e.$options.inject,e);t&&(Me(!1),Object.keys(t).forEach((function(n){Re(e,n,t[n],(function(){ue('Avoid mutating an injected value directly since the changes will be overwritten whenever the provided component re-renders. injection being mutated: "'+n+'"',e)}))})),Me(!0))}(i),zn(i),function(e){var t=e.$options.provide;t&&(e._provided="function"==typeof t?t.call(e):t)}(i),$n(i,"created"),F.performance&&at&&(i._name=de(i,!1),at(r),st("vue "+i._name+" init",n,r)),i.$options.el&&i.$mount(i.$options.el)}}(Yn),function(e){var t={get:function(){return this._data}},n={get:function(){return this._props}};t.set=function(){ue("Avoid replacing instance root $data. Use nested data properties instead.",this)},n.set=function(){ue("$props is readonly.",this)},Object.defineProperty(e.prototype,"$data",t),Object.defineProperty(e.prototype,"$props",n),e.prototype.$set=Ne,e.prototype.$delete=Ee,e.prototype.$watch=function(e,t,n){if(u(t))return Jn(this,e,t,n);(n=n||{}).user=!0;var r=new Dn(this,e,t,n);if(n.immediate)try{t.call(this,r.value)}catch(e){tt(e,this,'callback for immediate watcher "'+r.expression+'"')}return function(){r.teardown()}}}(Yn),function(e){var t=/^hook:/;e.prototype.$on=function(e,n){var r=this;if(Array.isArray(e))for(var i=0,o=e.length;i1?O(r):r;for(var i=O(arguments,1),o='event handler for "'+e+'"',a=0,s=r.length;aparseInt(this.max)&&er(a,s[0],s,this._vnode)),t.data.keepAlive=!0}return t||e&&e[0]}}};!function(e){var t={get:function(){return F},set:function(){ue("Do not replace the Vue.config object, set individual fields instead.")}};Object.defineProperty(e,"config",t),e.util={warn:ue,extend:M,mergeOptions:Ve,defineReactive:Re},e.set=Ne,e.delete=Ee,e.nextTick=mt,e.observable=function(e){return Ie(e),e},e.options=Object.create(null),D.forEach((function(t){e.options[t+"s"]=Object.create(null)})),e.options._base=e,M(e.options.components,nr),function(e){e.use=function(e){var t=this._installedPlugins||(this._installedPlugins=[]);if(t.indexOf(e)>-1)return this;var n=O(arguments,1);return n.unshift(this),"function"==typeof e.install?e.install.apply(e,n):"function"==typeof e&&e.apply(null,n),t.push(e),this}}(e),function(e){e.mixin=function(e){return this.options=Ve(this.options,e),this}}(e),Wn(e),function(e){D.forEach((function(t){e[t]=function(e,n){return n?("component"===t&&Ue(e),"component"===t&&u(n)&&(n.name=n.name||e,n=this.options._base.extend(n)),"directive"===t&&"function"==typeof n&&(n={bind:n,update:n}),this.options[t+"s"][e]=n,n):this.options[t+"s"][e]}}))}(e)}(Yn),Object.defineProperty(Yn.prototype,"$isServer",{get:oe}),Object.defineProperty(Yn.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(Yn,"FunctionalRenderContext",{value:nn}),Yn.version="2.6.11";var rr=m("style,class"),ir=m("input,textarea,option,select,progress"),or=function(e,t,n){return"value"===n&&ir(e)&&"button"!==t||"selected"===n&&"option"===e||"checked"===n&&"input"===e||"muted"===n&&"video"===e},ar=m("contenteditable,draggable,spellcheck"),sr=m("events,caret,typing,plaintext-only"),lr=m("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible"),cr="http://www.w3.org/1999/xlink",ur=function(e){return":"===e.charAt(5)&&"xlink"===e.slice(0,5)},pr=function(e){return ur(e)?e.slice(6,e.length):""},dr=function(e){return null==e||!1===e};function fr(e){for(var t=e.data,n=e,r=e;i(r.componentInstance);)(r=r.componentInstance._vnode)&&r.data&&(t=hr(r.data,t));for(;i(n=n.parent);)n&&n.data&&(t=hr(t,n.data));return o=t.staticClass,a=t.class,i(o)||i(a)?vr(o,mr(a)):"";var o,a}function hr(e,t){return{staticClass:vr(e.staticClass,t.staticClass),class:i(e.class)?[e.class,t.class]:t.class}}function vr(e,t){return e?t?e+" "+t:e:t||""}function mr(e){return Array.isArray(e)?function(e){for(var t,n="",r=0,o=e.length;r-1?zr(e,t,n):lr(t)?dr(n)?e.removeAttribute(t):(n="allowfullscreen"===t&&"EMBED"===e.tagName?"true":t,e.setAttribute(t,n)):ar(t)?e.setAttribute(t,function(e,t){return dr(t)||"false"===t?"false":"contenteditable"===e&&sr(t)?t:"true"}(t,n)):ur(t)?dr(n)?e.removeAttributeNS(cr,pr(t)):e.setAttributeNS(cr,t,n):zr(e,t,n)}function zr(e,t,n){if(dr(n))e.removeAttribute(t);else{if(G&&!Z&&"TEXTAREA"===e.tagName&&"placeholder"===t&&""!==n&&!e.__ieph){var r=function(t){t.stopImmediatePropagation(),e.removeEventListener("input",r)};e.addEventListener("input",r),e.__ieph=!0}e.setAttribute(t,n)}}var Hr={create:Br,update:Br};function Ur(e,t){var n=t.elm,o=t.data,a=e.data;if(!(r(o.staticClass)&&r(o.class)&&(r(a)||r(a.staticClass)&&r(a.class)))){var s=fr(t),l=n._transitionClasses;i(l)&&(s=vr(s,mr(l))),s!==n._prevClass&&(n.setAttribute("class",s),n._prevClass=s)}}var qr,Vr,Jr,Xr,Kr,Yr,Wr,Gr,Zr={create:Ur,update:Ur},Qr=/[\w).+\-_$\]]/;function ei(e){var t,n,r,i,o,a=!1,s=!1,l=!1,c=!1,u=0,p=0,d=0,f=0;for(r=0;r=0&&" "===(v=e.charAt(h));h--);v&&Qr.test(v)||(c=!0)}}else void 0===i?(f=r+1,i=e.slice(0,r).trim()):m();function m(){(o||(o=[])).push(e.slice(f,r).trim()),f=r+1}if(void 0===i?i=e.slice(0,r).trim():0!==f&&m(),o)for(r=0;r-1?{exp:e.slice(0,Xr),key:'"'+e.slice(Xr+1)+'"'}:{exp:e,key:null};for(Vr=e,Xr=Kr=Yr=0;!yi();)bi(Jr=gi())?wi(Jr):91===Jr&&_i(Jr);return{exp:e.slice(0,Kr),key:e.slice(Kr+1,Yr)}}(e);return null===n.key?e+"="+t:"$set("+n.exp+", "+n.key+", "+t+")"}function gi(){return Vr.charCodeAt(++Xr)}function yi(){return Xr>=qr}function bi(e){return 34===e||39===e}function _i(e){var t=1;for(Kr=Xr;!yi();)if(bi(e=gi()))wi(e);else if(91===e&&t++,93===e&&t--,0===t){Yr=Xr;break}}function wi(e){for(var t=e;!yi()&&(e=gi())!==t;);}function xi(e,t,n){var r=Gr;return function i(){var o=t.apply(null,arguments);null!==o&&$i(e,i,n,r)}}var ki=lt&&!(te&&Number(te[1])<=53);function Ai(e,t,n,r){if(ki){var i=Rn,o=t;t=o._wrapper=function(e){if(e.target===e.currentTarget||e.timeStamp>=i||e.timeStamp<=0||e.target.ownerDocument!==document)return o.apply(this,arguments)}}Gr.addEventListener(e,t,re?{capture:n,passive:r}:n)}function $i(e,t,n,r){(r||Gr).removeEventListener(e,t._wrapper||t,n)}function Ti(e,t){if(!r(e.data.on)||!r(t.data.on)){var n=t.data.on||{},o=e.data.on||{};Gr=t.elm,function(e){if(i(e.__r)){var t=G?"change":"input";e[t]=[].concat(e.__r,e[t]||[]),delete e.__r}i(e.__c)&&(e.change=[].concat(e.__c,e.change||[]),delete e.__c)}(n),Mt(n,o,Ai,$i,xi,t.context),Gr=void 0}}var Ci,Si={create:Ti,update:Ti};function Oi(e,t){if(!r(e.data.domProps)||!r(t.data.domProps)){var n,o,a=t.elm,s=e.data.domProps||{},l=t.data.domProps||{};for(n in i(l.__ob__)&&(l=t.data.domProps=M({},l)),s)n in l||(a[n]="");for(n in l){if(o=l[n],"textContent"===n||"innerHTML"===n){if(t.children&&(t.children.length=0),o===s[n])continue;1===a.childNodes.length&&a.removeChild(a.childNodes[0])}if("value"===n&&"PROGRESS"!==a.tagName){a._value=o;var c=r(o)?"":String(o);Mi(a,c)&&(a.value=c)}else if("innerHTML"===n&&br(a.tagName)&&r(a.innerHTML)){(Ci=Ci||document.createElement("div")).innerHTML=""+o+"";for(var u=Ci.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;u.firstChild;)a.appendChild(u.firstChild)}else if(o!==s[n])try{a[n]=o}catch(e){}}}}function Mi(e,t){return!e.composing&&("OPTION"===e.tagName||function(e,t){var n=!0;try{n=document.activeElement!==e}catch(e){}return n&&e.value!==t}(e,t)||function(e,t){var n=e.value,r=e._vModifiers;if(i(r)){if(r.number)return v(n)!==v(t);if(r.trim)return n.trim()!==t.trim()}return n!==t}(e,t))}var Li={create:Oi,update:Oi},Ii=x((function(e){var t={},n=/:(.+)/;return e.split(/;(?![^(]*\))/g).forEach((function(e){if(e){var r=e.split(n);r.length>1&&(t[r[0].trim()]=r[1].trim())}})),t}));function Ri(e){var t=Ni(e.style);return e.staticStyle?M(e.staticStyle,t):t}function Ni(e){return Array.isArray(e)?L(e):"string"==typeof e?Ii(e):e}var Ei,ji=/^--/,Pi=/\s*!important$/,Di=function(e,t,n){if(ji.test(t))e.style.setProperty(t,n);else if(Pi.test(n))e.style.setProperty(C(t),n.replace(Pi,""),"important");else{var r=Fi(t);if(Array.isArray(n))for(var i=0,o=n.length;i-1?t.split(Ui).forEach((function(t){return e.classList.add(t)})):e.classList.add(t);else{var n=" "+(e.getAttribute("class")||"")+" ";n.indexOf(" "+t+" ")<0&&e.setAttribute("class",(n+t).trim())}}function Vi(e,t){if(t&&(t=t.trim()))if(e.classList)t.indexOf(" ")>-1?t.split(Ui).forEach((function(t){return e.classList.remove(t)})):e.classList.remove(t),e.classList.length||e.removeAttribute("class");else{for(var n=" "+(e.getAttribute("class")||"")+" ",r=" "+t+" ";n.indexOf(r)>=0;)n=n.replace(r," ");(n=n.trim())?e.setAttribute("class",n):e.removeAttribute("class")}}function Ji(e){if(e){if("object"==typeof e){var t={};return!1!==e.css&&M(t,Xi(e.name||"v")),M(t,e),t}return"string"==typeof e?Xi(e):void 0}}var Xi=x((function(e){return{enterClass:e+"-enter",enterToClass:e+"-enter-to",enterActiveClass:e+"-enter-active",leaveClass:e+"-leave",leaveToClass:e+"-leave-to",leaveActiveClass:e+"-leave-active"}})),Ki=X&&!Z,Yi="transition",Wi="transitionend",Gi="animation",Zi="animationend";Ki&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(Yi="WebkitTransition",Wi="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(Gi="WebkitAnimation",Zi="webkitAnimationEnd"));var Qi=X?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(e){return e()};function eo(e){Qi((function(){Qi(e)}))}function to(e,t){var n=e._transitionClasses||(e._transitionClasses=[]);n.indexOf(t)<0&&(n.push(t),qi(e,t))}function no(e,t){e._transitionClasses&&b(e._transitionClasses,t),Vi(e,t)}function ro(e,t,n){var r=oo(e,t),i=r.type,o=r.timeout,a=r.propCount;if(!i)return n();var s="transition"===i?Wi:Zi,l=0,c=function(){e.removeEventListener(s,u),n()},u=function(t){t.target===e&&++l>=a&&c()};setTimeout((function(){l0&&(n="transition",u=a,p=o.length):"animation"===t?c>0&&(n="animation",u=c,p=l.length):p=(n=(u=Math.max(a,c))>0?a>c?"transition":"animation":null)?"transition"===n?o.length:l.length:0,{type:n,timeout:u,propCount:p,hasTransform:"transition"===n&&io.test(r[Yi+"Property"])}}function ao(e,t){for(;e.length explicit "+t+" duration is not a valid number - got "+JSON.stringify(e)+".",n.context):isNaN(e)&&ue(" explicit "+t+" duration is NaN - the duration expression might be incorrect.",n.context)}function po(e){return"number"==typeof e&&!isNaN(e)}function fo(e){if(r(e))return!1;var t=e.fns;return i(t)?fo(Array.isArray(t)?t[0]:t):(e._length||e.length)>1}function ho(e,t){!0!==t.data.show&&lo(t)}var vo=function(e){var t,n,s={},l=e.modules,c=e.nodeOps;for(t=0;t - did you register the component correctly? For recursive components, make sure to provide the "name" option.',e.context),e.elm=e.ns?c.createElementNS(e.ns,m):c.createElement(m,e),w(e),y(e,h,t),i(p)&&_(e,t),g(n,e.elm,r),p&&p.pre&&f--):o(e.isComment)?(e.elm=c.createComment(e.text),g(n,e.elm,r)):(e.elm=c.createTextNode(e.text),g(n,e.elm,r))}}function v(e,t){i(e.data.pendingInsert)&&(t.push.apply(t,e.data.pendingInsert),e.data.pendingInsert=null),e.elm=e.componentInstance.$el,b(e)?(_(e,t),w(e)):(Cr(e),t.push(e))}function g(e,t,n){i(e)&&(i(n)?c.parentNode(n)===e&&c.insertBefore(e,t,n):c.appendChild(e,t))}function y(e,t,n){if(Array.isArray(t)){T(t);for(var r=0;rf?x(e,r(n[g+1])?null:n[g+1].elm,n,d,g,o):d>g&&A(t,p,f)}(p,v,m,n,u):i(m)?(T(m),i(e.text)&&c.setTextContent(p,""),x(p,null,m,0,m.length-1,n)):i(v)?A(v,0,v.length-1):i(e.text)&&c.setTextContent(p,""):e.text!==t.text&&c.setTextContent(p,t.text),i(f)&&i(d=f.hook)&&i(d=d.postpatch)&&d(e,t)}}}function O(e,t,n){if(o(n)&&i(e.parent))e.parent.data.pendingInsert=t;else for(var r=0;r, or missing . Bailing hydration and performing full client-side render.")}l=e,e=new we(c.tagName(l).toLowerCase(),{},[],void 0,l)}var f=e.elm,v=c.parentNode(f);if(h(t,p,f._leaveCb?null:v,c.nextSibling(f)),i(t.parent))for(var m=t.parent,g=b(t);m;){for(var y=0;y-1,a.selected!==o&&(a.selected=o);else if(E(_o(a),r))return void(e.selectedIndex!==s&&(e.selectedIndex=s));i||(e.selectedIndex=-1)}else ue('