master 88f60164f0f2 cached
19 files
123.5 KB
42.7k tokens
254 symbols
1 requests
Download .txt
Repository: Jeffreyrn/vue-simple-flowchart
Branch: master
Commit: 88f60164f0f2
Files: 19
Total size: 123.5 KB

Directory structure:
gitextract_syknygiv/

├── .gitignore
├── .npmrc
├── LICENSE
├── README.md
├── babel.config.js
├── demo/
│   ├── css/
│   │   └── app.34b94fa0.css
│   ├── index.html
│   └── js/
│       ├── app.ea39b09e.js
│       └── chunk-vendors.063ae98f.js
├── package.json
├── public/
│   └── index.html
├── src/
│   ├── App.vue
│   ├── assets/
│   │   └── utilty/
│   │       └── position.js
│   ├── components/
│   │   ├── FlowchartLink.vue
│   │   ├── FlowchartNode.vue
│   │   └── SimpleFlowchart.vue
│   ├── index.js
│   └── main.js
└── vue.config.js

================================================
FILE CONTENTS
================================================

================================================
FILE: .gitignore
================================================
.DS_Store
node_modules
dist

# local env files
.env.local
.env.*.local

# Log files
npm-debug.log*
yarn-debug.log*
yarn-error.log*

# Editor directories and files
.idea
.vscode
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw*


================================================
FILE: .npmrc
================================================

sass_binary_site=https://npm.taobao.org/mirrors/node-sass/
phantomjs_cdnurl=https://npm.taobao.org/mirrors/phantomjs/
electron_mirror=https://npm.taobao.org/mirrors/electron/

================================================
FILE: LICENSE
================================================
MIT License

Copyright (c) 2019 jeffrey

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

================================================
FILE: README.md
================================================
# vue-simple-flowchart

## Introduction

a lightweight flowchart editor for Vue.js, code with vanillaJS, 
### Note
This repository is not being actively maintained due to lack of time and interest. 

My sincerest apologies to the open source community for allowing this project to stagnate. I hope it was useful for some of you as a jumping-off point.

## Demo

[https://jeffreyrn.github.io/vue-simple-flowchart/demo/](https://jeffreyrn.github.io/vue-simple-flowchart/demo/)

### Feature

- drag to connent two node, click to delete link
- support add, delete, save node
- reactive flowchart data
  
### Usage

install via npm/yarn

```
yarn add vue-simple-flowchart
```

import in script

```js
import SimpleFlowchart from 'vue-simple-flowchart';
import 'vue-simple-flowchart/dist/vue-flowchart.css';
```
register the component, and add below to html:
```html
<simple-flowchart :scene.sync="data"></simple-flowchart>
```
then set data for flowchart component, for example:
```js
data() {
    return {
        data: {
            centerX: 1024,
                centerY: 140,
                scale: 1,
                nodes: [
                    {
                        id: 2,
                        x: -700,
                        y: -69,
                        type: 'Action',
                        label: 'test1',
                    },
                    {
                        id: 4,
                        x: -357,
                        y: 80,
                        type: 'Script',
                        label: 'test2',
                    },
                    {
                        id: 6,
                        x: -557,
                        y: 80,
                        type: 'Rule',
                        label: 'test3',
                    }
                    ],
                    links: [
                    {
                        id: 3,
                        from: 2, // node id the link start
                        to: 4,  // node id the link end
                    }
                ]
        },
    };
}
```

### Component

#### Attributes

- height, type: Number, default: 400

#### Events

- nodeClick, emit when node click, event = nodeID
- nodeDelete: emit when node deleted, event = nodeID
- linkBreak: emit when the selected link deleted, event = {id, from, to} (deleted link Object)
- linkAdded: emit when new link added, event = {id, from, to} (new link Object)
- canvasClick: emit when canvas click, event = { (Event Object) }

## Project setup

```
yarn install
```

### Compiles and hot-reloads for development
```
yarn run serve
```

### Compiles and minifies for production
```
yarn run build
```

### Lints and fixes files
```
yarn run lint
```

## TODO

- Add horizontal mode
- Optimizition for large node array
- Theme color configurable
- Remove Console.log in build mode


================================================
FILE: babel.config.js
================================================
module.exports = {
  presets: [
    '@vue/app'
  ]
}


================================================
FILE: demo/css/app.34b94fa0.css
================================================
g[data-v-295297bd]{cursor:pointer}.flowchart-node[data-v-67208d28]{-webkit-box-sizing:border-box;-webkit-transform-origin:top left;background:#fff;border:none;box-sizing:border-box;cursor:move;height:80px;margin:0;opacity:.9;position:absolute;transform-origin:top left;width:80px;z-index:1}.flowchart-node .node-main[data-v-67208d28]{text-align:center}.flowchart-node .node-main .node-type[data-v-67208d28]{background:#f85;color:#fff;font-size:13px;padding:6px}.flowchart-node .node-main .node-label[data-v-67208d28]{font-size:13px}.flowchart-node .node-port[data-v-67208d28]{-webkit-transform:translate(-50%);background:#fff;border:1px solid #ccc;border-radius:100px;height:12px;left:50%;position:absolute;transform:translate(-50%);width:12px}.flowchart-node .node-port[data-v-67208d28]:hover{background:#f85;border:1px solid #f85}.flowchart-node .node-input[data-v-67208d28]{top:-8px}.flowchart-node .node-output[data-v-67208d28]{bottom:-8px}.flowchart-node .node-delete[data-v-67208d28]{background:#fff;border:1px solid #f85;border-radius:100px;color:#f85;cursor:pointer;font-size:12px;height:12px;position:absolute;right:-6px;text-align:center;top:-6px;width:12px}.flowchart-node .node-delete[data-v-67208d28]:hover{background:#f85;color:#fff}.selected[data-v-67208d28]{-webkit-box-shadow:0 0 0 2px #f85;box-shadow:0 0 0 2px #f85}.flowchart-container[data-v-8730bea4]{background:#ddd;margin:0;overflow:hidden;position:relative}.flowchart-container svg[data-v-8730bea4]{cursor:-webkit-grab;cursor:grab}#app{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;color:#2c3e50;font-family:Avenir,Helvetica,Arial,sans-serif;height:800px;margin:0;overflow:hidden;text-align:center}#app .tool-wrapper{position:relative}

================================================
FILE: demo/index.html
================================================
<!DOCTYPE html><html lang=en><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1"><link rel=icon href=favicon.ico><title>vue-simple-flowchart</title><link href=css/app.34b94fa0.css rel=preload as=style><link href=js/app.ea39b09e.js rel=preload as=script><link href=js/chunk-vendors.063ae98f.js rel=preload as=script><link href=css/app.34b94fa0.css rel=stylesheet></head><body><noscript><strong>We're sorry but vue-simple-flowchart doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id=app></div><script src=js/chunk-vendors.063ae98f.js></script><script src=js/app.ea39b09e.js></script></body></html>

================================================
FILE: demo/js/app.ea39b09e.js
================================================
(function(e){function t(t){for(var o,r,a=t[0],c=t[1],l=t[2],d=0,h=[];d<a.length;d++)r=a[d],i[r]&&h.push(i[r][0]),i[r]=0;for(o in c)Object.prototype.hasOwnProperty.call(c,o)&&(e[o]=c[o]);u&&u(t);while(h.length)h.shift()();return s.push.apply(s,l||[]),n()}function n(){for(var e,t=0;t<s.length;t++){for(var n=s[t],o=!0,a=1;a<n.length;a++){var c=n[a];0!==i[c]&&(o=!1)}o&&(s.splice(t--,1),e=r(r.s=n[0]))}return e}var o={},i={app:0},s=[];function r(t){if(o[t])return o[t].exports;var n=o[t]={i:t,l:!1,exports:{}};return e[t].call(n.exports,n,n.exports,r),n.l=!0,n.exports}r.m=e,r.c=o,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="";var a=window["webpackJsonp"]=window["webpackJsonp"]||[],c=a.push.bind(a);a.push=t,a=a.slice();for(var l=0;l<a.length;l++)t(a[l]);var u=c;s.push([0,"chunk-vendors"]),n()})({0:function(e,t,n){e.exports=n("56d7")},2856:function(e,t,n){},"50b0":function(e,t,n){"use strict";var o=n("a617"),i=n.n(o);i.a},"524d":function(e,t,n){},"56d7":function(e,t,n){"use strict";n.r(t);n("cadf"),n("551c"),n("097d");var o=n("2b0e"),i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{attrs:{id:"app"}},[n("h1",[e._v(" simple flowchart")]),n("div",{staticClass:"tool-wrapper"},[n("select",{directives:[{name:"model",rawName:"v-model",value:e.newNodeType,expression:"newNodeType"}],on:{change:function(t){var n=Array.prototype.filter.call(t.target.options,function(e){return e.selected}).map(function(e){var t="_value"in e?e._value:e.value;return t});e.newNodeType=t.target.multiple?n:n[0]}}},e._l(e.nodeCategory,function(t,o){return n("option",{key:o,domProps:{value:o}},[e._v(e._s(t))])})),n("input",{directives:[{name:"model",rawName:"v-model",value:e.newNodeLabel,expression:"newNodeLabel"}],attrs:{type:"text",placeholder:"Input node label"},domProps:{value:e.newNodeLabel},on:{input:function(t){t.target.composing||(e.newNodeLabel=t.target.value)}}}),n("button",{on:{click:e.addNode}},[e._v("ADD")])]),n("simple-flowchart",{attrs:{scene:e.scene,height:800},on:{"update:scene":function(t){e.scene=t},nodeClick:e.nodeClick,nodeDelete:e.nodeDelete,linkBreak:e.linkBreak,linkAdded:e.linkAdded,canvasClick:e.canvasClick}})],1)},s=[],r=n("8afe"),a=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"flowchart-container",on:{mousemove:e.handleMove,mouseup:e.handleUp,mousedown:e.handleDown}},[n("svg",{attrs:{width:"100%",height:e.height+"px"}},e._l(e.lines,function(t,o){return n("flowchart-link",e._b({key:"link"+o,on:{deleteLink:function(n){e.linkDelete(t.id)}}},"flowchart-link",t,!1,!0))})),e._l(e.scene.nodes,function(t,o){return n("flowchart-node",e._b({key:"node"+o,attrs:{options:e.nodeOptions},on:{linkingStart:function(n){e.linkingStart(t.id)},linkingStop:function(n){e.linkingStop(t.id)},nodeSelected:function(n){e.nodeSelected(t.id,n)}}},"flowchart-node",t,!1,!0))})],2)},c=[],l=(n("f751"),n("20d6"),n("7514"),n("9393")),u=(n("c5f6"),function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("g",{on:{mouseover:e.handleMouseOver,mouseleave:e.handleMouseLeave}},[n("path",{style:e.pathStyle,attrs:{d:e.dAttr}}),e.show.delete?n("a",{on:{click:e.deleteLink}},[n("text",{attrs:{"text-anchor":"middle",transform:e.arrowTransform,"font-size":"22"}},[e._v("×")])]):n("path",{style:e.arrowStyle,attrs:{d:"M -1 -1 L 0 1 L 1 -1 z",transform:e.arrowTransform}})])}),d=[],h={name:"FlowchartLink",props:{start:{type:Array,default:function(){return[0,0]}},end:{type:Array,default:function(){return[0,0]}},id:Number},data:function(){return{show:{delete:!1}}},methods:{handleMouseOver:function(){this.id&&(this.show.delete=!0)},handleMouseLeave:function(){this.show.delete=!1},caculateCenterPoint:function(){var e=(this.end[0]-this.start[0])/2,t=(this.end[1]-this.start[1])/2;return[this.start[0]+e,this.start[1]+t]},caculateRotation:function(){var e=-Math.atan2(this.end[0]-this.start[0],this.end[1]-this.start[1]),t=180*e/Math.PI;return t<0?t+360:t},deleteLink:function(){this.$emit("deleteLink")}},computed:{pathStyle:function(){return{stroke:"rgb(255, 136, 85)",strokeWidth:2.73205,fill:"none"}},arrowStyle:function(){return{stroke:"rgb(255, 136, 85)",strokeWidth:5.73205,fill:"none"}},arrowTransform:function(){var e=this.caculateCenterPoint(),t=Object(l["a"])(e,2),n=t[0],o=t[1],i=this.caculateRotation();return"translate(".concat(n,", ").concat(o,") rotate(").concat(i,")")},dAttr:function(){var e=this.start[0],t=this.start[1],n=this.end[0],o=this.end[1],i=e,s=t+50,r=n,a=o-50;return"M ".concat(e,", ").concat(t," C ").concat(i,", ").concat(s,", ").concat(r,", ").concat(a,", ").concat(n,", ").concat(o)}}},f=h,p=(n("6dc7"),n("2877")),m=Object(p["a"])(f,u,d,!1,null,"295297bd",null);m.options.__file="FlowchartLink.vue";var g=m.exports,v=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"flowchart-node",class:{selected:e.options.selected===e.id},style:e.nodeStyle,on:{mousedown:e.handleMousedown,mouseover:e.handleMouseOver,mouseleave:e.handleMouseLeave}},[n("div",{staticClass:"node-port node-input",on:{mousedown:e.inputMouseDown,mouseup:e.inputMouseUp}}),n("div",{staticClass:"node-main"},[n("div",{staticClass:"node-type",domProps:{textContent:e._s(e.type)}}),n("div",{staticClass:"node-label",domProps:{textContent:e._s(e.label)}})]),n("div",{staticClass:"node-port node-output",on:{mousedown:e.outputMouseDown}}),n("div",{directives:[{name:"show",rawName:"v-show",value:e.show.delete,expression:"show.delete"}],staticClass:"node-delete"},[e._v("×")])])},k=[],y={name:"FlowchartNode",props:{id:{type:Number,default:1e3,validator:function(e){return"number"===typeof e}},x:{type:Number,default:0,validator:function(e){return"number"===typeof e}},y:{type:Number,default:0,validator:function(e){return"number"===typeof e}},type:{type:String,default:"Default"},label:{type:String,default:"input name"},options:{type:Object,default:function(){return{centerX:1024,scale:1,centerY:140}}}},data:function(){return{show:{delete:!1}}},mounted:function(){},computed:{nodeStyle:function(){return{top:this.options.centerY+this.y*this.options.scale+"px",left:this.options.centerX+this.x*this.options.scale+"px",transform:"scale(".concat(this.options.scale,")")}}},methods:{handleMousedown:function(e){var t=e.target||e.srcElement;t.className.indexOf("node-input")<0&&t.className.indexOf("node-output")<0&&this.$emit("nodeSelected",e),e.preventDefault()},handleMouseOver:function(){this.show.delete=!0},handleMouseLeave:function(){this.show.delete=!1},outputMouseDown:function(e){this.$emit("linkingStart"),e.preventDefault()},inputMouseDown:function(e){e.preventDefault()},inputMouseUp:function(e){this.$emit("linkingStop"),e.preventDefault()}}},w=y,b=(n("ba3f"),Object(p["a"])(w,v,k,!1,null,"67208d28",null));b.options.__file="FlowchartNode.vue";var x=b.exports;function O(e){var t=e.getBoundingClientRect(),n=window.pageYOffset,o=window.pageXOffset,i=t.top+n,s=t.left+o;return{top:Math.round(i),left:Math.round(s)}}function L(e,t){var n=t.pageX||t.clientX+document.documentElement.scrollLeft,o=t.pageY||t.clientY+document.documentElement.scrollTop,i=O(e),s=n-i.left,r=o-i.top;return[s,r]}var N={name:"VueFlowchart",props:{scene:{type:Object,default:function(){return{centerX:1024,scale:1,centerY:140,nodes:[],links:[]}}},height:{type:Number,default:400}},data:function(){return{action:{linking:!1,dragging:!1,scrolling:!1,selected:0},mouse:{x:0,y:0,lastX:0,lastY:0},draggingLink:null,rootDivOffset:{top:0,left:0}}},components:{FlowchartLink:g,FlowchartNode:x},computed:{nodeOptions:function(){return{centerY:this.scene.centerY,centerX:this.scene.centerX,scale:this.scene.scale,offsetTop:this.rootDivOffset.top,offsetLeft:this.rootDivOffset.left,selected:this.action.selected}},lines:function(){var e=this,t=this.scene.links.map(function(t){var n,o,i,s,r,a,c=e.findNodeWithID(t.from),u=e.findNodeWithID(t.to);n=e.scene.centerX+c.x,o=e.scene.centerY+c.y;var d=e.getPortPosition("bottom",n,o),h=Object(l["a"])(d,2);s=h[0],i=h[1],n=e.scene.centerX+u.x,o=e.scene.centerY+u.y;var f=e.getPortPosition("top",n,o),p=Object(l["a"])(f,2);return r=p[0],a=p[1],{start:[s,i],end:[r,a],id:t.id}});if(this.draggingLink){var n,o,i,s,r=this.findNodeWithID(this.draggingLink.from);n=this.scene.centerX+r.x,o=this.scene.centerY+r.y;var a=this.getPortPosition("bottom",n,o),c=Object(l["a"])(a,2);s=c[0],i=c[1],t.push({start:[s,i],end:[this.draggingLink.mx,this.draggingLink.my]})}return t}},mounted:function(){this.rootDivOffset.top=this.$el?this.$el.offsetTop:0,this.rootDivOffset.left=this.$el?this.$el.offsetLeft:0},methods:{findNodeWithID:function(e){return this.scene.nodes.find(function(t){return e===t.id})},getPortPosition:function(e,t,n){return"top"===e?[t+40,n]:"bottom"===e?[t+40,n+80]:void 0},linkingStart:function(e){this.action.linking=!0,this.draggingLink={from:e,mx:0,my:0}},linkingStop:function(e){var t=this;if(this.draggingLink&&this.draggingLink.from!==e){var n=this.scene.links.find(function(n){return n.from===t.draggingLink.from&&n.to===e});if(!n){var o=Math.max.apply(Math,[0].concat(Object(r["a"])(this.scene.links.map(function(e){return e.id})))),i={id:o+1,from:this.draggingLink.from,to:e};this.scene.links.push(i),this.$emit("linkAdded",i)}}this.draggingLink=null},linkDelete:function(e){var t=this.scene.links.find(function(t){return t.id===e});t&&(this.scene.links=this.scene.links.filter(function(t){return t.id!==e}),this.$emit("linkBreak",t))},nodeSelected:function(e,t){this.action.dragging=e,this.action.selected=e,this.$emit("nodeClick",e),this.mouse.lastX=t.pageX||t.clientX+document.documentElement.scrollLeft,this.mouse.lastY=t.pageY||t.clientY+document.documentElement.scrollTop},handleMove:function(e){if(this.action.linking){var t=L(this.$el,e),n=Object(l["a"])(t,2);this.mouse.x=n[0],this.mouse.y=n[1];var o=[this.mouse.x,this.mouse.y];this.draggingLink.mx=o[0],this.draggingLink.my=o[1]}if(this.action.dragging){this.mouse.x=e.pageX||e.clientX+document.documentElement.scrollLeft,this.mouse.y=e.pageY||e.clientY+document.documentElement.scrollTop;var i=this.mouse.x-this.mouse.lastX,s=this.mouse.y-this.mouse.lastY;this.mouse.lastX=this.mouse.x,this.mouse.lastY=this.mouse.y,this.moveSelectedNode(i,s)}if(this.action.scrolling){var r=L(this.$el,e),a=Object(l["a"])(r,2);this.mouse.x=a[0],this.mouse.y=a[1];var c=this.mouse.x-this.mouse.lastX,u=this.mouse.y-this.mouse.lastY;this.mouse.lastX=this.mouse.x,this.mouse.lastY=this.mouse.y,this.scene.centerX+=c,this.scene.centerY+=u}},handleUp:function(e){var t=e.target||e.srcElement;this.$el.contains(t)&&(("string"!==typeof t.className||t.className.indexOf("node-input")<0)&&(this.draggingLink=null),"string"===typeof t.className&&t.className.indexOf("node-delete")>-1&&this.nodeDelete(this.action.dragging)),this.action.linking=!1,this.action.dragging=null,this.action.scrolling=!1},handleDown:function(e){var t=e.target||e.srcElement;if((t===this.$el||t.matches("svg, svg *"))&&1===e.which){this.action.scrolling=!0;var n=L(this.$el,e),o=Object(l["a"])(n,2);this.mouse.lastX=o[0],this.mouse.lastY=o[1],this.action.selected=null}this.$emit("canvasClick",e)},moveSelectedNode:function(e,t){var n=this,o=this.scene.nodes.findIndex(function(e){return e.id===n.action.dragging}),i=this.scene.nodes[o].x+e/this.scene.scale,s=this.scene.nodes[o].y+t/this.scene.scale;this.$set(this.scene.nodes,o,Object.assign(this.scene.nodes[o],{x:i,y:s}))},nodeDelete:function(e){this.scene.nodes=this.scene.nodes.filter(function(t){return t.id!==e}),this.scene.links=this.scene.links.filter(function(t){return t.from!==e&&t.to!==e}),this.$emit("nodeDelete",e)}}},_=N,M=(n("50b0"),Object(p["a"])(_,a,c,!1,null,"8730bea4",null));M.options.__file="SimpleFlowchart.vue";var D=M.exports,S={name:"app",components:{SimpleFlowchart:D},data:function(){return{scene:{centerX:1024,centerY:140,scale:1,nodes:[{id:2,x:-700,y:-69,type:"Action",label:"test1"},{id:4,x:-357,y:80,type:"Script",label:"test2"},{id:6,x:-557,y:80,type:"Rule",label:"test3"}],links:[{id:3,from:2,to:4}]},newNodeType:0,newNodeLabel:"",nodeCategory:["rule","action","script","decision","fork","join"]}},methods:{canvasClick:function(e){console.log("canvas Click, event:",e)},addNode:function(){var e=Math.max.apply(Math,[0].concat(Object(r["a"])(this.scene.nodes.map(function(e){return e.id}))));this.scene.nodes.push({id:e+1,x:-400,y:50,type:this.nodeCategory[this.newNodeType],label:this.newNodeLabel?this.newNodeLabel:"test".concat(e+1)})},nodeClick:function(e){console.log("node click",e)},nodeDelete:function(e){console.log("node delete",e)},linkBreak:function(e){console.log("link break",e)},linkAdded:function(e){console.log("new link added:",e)}}},C=S,j=(n("5c0b"),Object(p["a"])(C,i,s,!1,null,null,null));j.options.__file="App.vue";var X=j.exports;o["a"].config.productionTip=!1,new o["a"]({render:function(e){return e(X)}}).$mount("#app")},"5c0b":function(e,t,n){"use strict";var o=n("2856"),i=n.n(o);i.a},"6dc7":function(e,t,n){"use strict";var o=n("ec2e"),i=n.n(o);i.a},a617:function(e,t,n){},ba3f:function(e,t,n){"use strict";var o=n("524d"),i=n.n(o);i.a},ec2e:function(e,t,n){}});
//# sourceMappingURL=app.ea39b09e.js.map

================================================
FILE: demo/js/chunk-vendors.063ae98f.js
================================================
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-vendors"],{"01f9":function(t,e,n){"use strict";var r=n("2d00"),o=n("5ca1"),i=n("2aba"),a=n("32e9"),s=n("84f2"),c=n("41a0"),u=n("7f20"),f=n("38fd"),l=n("2b4c")("iterator"),p=!([].keys&&"next"in[].keys()),d="@@iterator",v="keys",h="values",y=function(){return this};t.exports=function(t,e,n,m,_,g,b){c(n,e,m);var w,x,A,C=function(t){if(!p&&t in S)return S[t];switch(t){case v:return function(){return new n(this,t)};case h:return function(){return new n(this,t)}}return function(){return new n(this,t)}},O=e+" Iterator",$=_==h,k=!1,S=t.prototype,E=S[l]||S[d]||_&&S[_],j=E||C(_),I=_?$?C("entries"):j:void 0,T="Array"==e&&S.entries||E;if(T&&(A=f(T.call(new t)),A!==Object.prototype&&A.next&&(u(A,O,!0),r||"function"==typeof A[l]||a(A,l,y))),$&&E&&E.name!==h&&(k=!0,j=function(){return E.call(this)}),r&&!b||!p&&!k&&S[l]||a(S,l,j),s[e]=j,s[O]=y,_)if(w={values:$?j:C(h),keys:g?j:C(v),entries:I},b)for(x in w)x in S||i(S,x,w[x]);else o(o.P+o.F*(p||k),e,w);return w}},"097d":function(t,e,n){"use strict";var r=n("5ca1"),o=n("8378"),i=n("7726"),a=n("ebd6"),s=n("bcaa");r(r.P+r.R,"Promise",{finally:function(t){var e=a(this,o.Promise||i.Promise),n="function"==typeof t;return this.then(n?function(n){return s(e,t()).then(function(){return n})}:t,n?function(n){return s(e,t()).then(function(){throw n})}:t)}})},"0a49":function(t,e,n){var r=n("9b43"),o=n("626a"),i=n("4bf8"),a=n("9def"),s=n("cd1c");t.exports=function(t,e){var n=1==t,c=2==t,u=3==t,f=4==t,l=6==t,p=5==t||l,d=e||s;return function(e,s,v){for(var h,y,m=i(e),_=o(m),g=r(s,v,3),b=a(_.length),w=0,x=n?d(e,b):c?d(e,0):void 0;b>w;w++)if((p||w in _)&&(h=_[w],y=g(h,w,m),t))if(n)x[w]=y;else if(y)switch(t){case 3:return!0;case 5:return h;case 6:return w;case 2:x.push(h)}else if(f)return!1;return l?-1:u||f?f:x}}},"0d58":function(t,e,n){var r=n("ce10"),o=n("e11e");t.exports=Object.keys||function(t){return r(t,o)}},1169:function(t,e,n){var r=n("2d95");t.exports=Array.isArray||function(t){return"Array"==r(t)}},"11e9":function(t,e,n){var r=n("52a7"),o=n("4630"),i=n("6821"),a=n("6a99"),s=n("69a8"),c=n("c69a"),u=Object.getOwnPropertyDescriptor;e.f=n("9e1e")?u:function(t,e){if(t=i(t),e=a(e,!0),c)try{return u(t,e)}catch(t){}if(s(t,e))return o(!r.f.call(t,e),t[e])}},1495:function(t,e,n){var r=n("86cc"),o=n("cb7c"),i=n("0d58");t.exports=n("9e1e")?Object.defineProperties:function(t,e){o(t);var n,a=i(e),s=a.length,c=0;while(s>c)r.f(t,n=a[c++],e[n]);return t}},1991:function(t,e,n){var r,o,i,a=n("9b43"),s=n("31f4"),c=n("fab2"),u=n("230e"),f=n("7726"),l=f.process,p=f.setImmediate,d=f.clearImmediate,v=f.MessageChannel,h=f.Dispatch,y=0,m={},_="onreadystatechange",g=function(){var t=+this;if(m.hasOwnProperty(t)){var e=m[t];delete m[t],e()}},b=function(t){g.call(t.data)};p&&d||(p=function(t){var e=[],n=1;while(arguments.length>n)e.push(arguments[n++]);return m[++y]=function(){s("function"==typeof t?t:Function(t),e)},r(y),y},d=function(t){delete m[t]},"process"==n("2d95")(l)?r=function(t){l.nextTick(a(g,t,1))}:h&&h.now?r=function(t){h.now(a(g,t,1))}:v?(o=new v,i=o.port2,o.port1.onmessage=b,r=a(i.postMessage,i,1)):f.addEventListener&&"function"==typeof postMessage&&!f.importScripts?(r=function(t){f.postMessage(t+"","*")},f.addEventListener("message",b,!1)):r=_ in u("script")?function(t){c.appendChild(u("script"))[_]=function(){c.removeChild(this),g.call(t)}}:function(t){setTimeout(a(g,t,1),0)}),t.exports={set:p,clear:d}},"1fa8":function(t,e,n){var r=n("cb7c");t.exports=function(t,e,n,o){try{return o?e(r(n)[0],n[1]):e(n)}catch(e){var i=t["return"];throw void 0!==i&&r(i.call(t)),e}}},"20d6":function(t,e,n){"use strict";var r=n("5ca1"),o=n("0a49")(6),i="findIndex",a=!0;i in[]&&Array(1)[i](function(){a=!1}),r(r.P+r.F*a,"Array",{findIndex:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),n("9c6c")(i)},"230e":function(t,e,n){var r=n("d3f4"),o=n("7726").document,i=r(o)&&r(o.createElement);t.exports=function(t){return i?o.createElement(t):{}}},"23c6":function(t,e,n){var r=n("2d95"),o=n("2b4c")("toStringTag"),i="Arguments"==r(function(){return arguments}()),a=function(t,e){try{return t[e]}catch(t){}};t.exports=function(t){var e,n,s;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=a(e=Object(t),o))?n:i?r(e):"Object"==(s=r(e))&&"function"==typeof e.callee?"Arguments":s}},2621:function(t,e){e.f=Object.getOwnPropertySymbols},"27ee":function(t,e,n){var r=n("23c6"),o=n("2b4c")("iterator"),i=n("84f2");t.exports=n("8378").getIteratorMethod=function(t){if(void 0!=t)return t[o]||t["@@iterator"]||i[r(t)]}},2877:function(t,e,n){"use strict";function r(t,e,n,r,o,i,a,s){var c,u="function"===typeof t?t.options:t;if(e&&(u.render=e,u.staticRenderFns=n,u._compiled=!0),r&&(u.functional=!0),i&&(u._scopeId="data-v-"+i),a?(c=function(t){t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,t||"undefined"===typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),o&&o.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(a)},u._ssrRegister=c):o&&(c=s?function(){o.call(this,this.$root.$options.shadowRoot)}:o),c)if(u.functional){u._injectStyles=c;var f=u.render;u.render=function(t,e){return c.call(e),f(t,e)}}else{var l=u.beforeCreate;u.beforeCreate=l?[].concat(l,c):[c]}return{exports:t,options:u}}n.d(e,"a",function(){return r})},"2aba":function(t,e,n){var r=n("7726"),o=n("32e9"),i=n("69a8"),a=n("ca5a")("src"),s="toString",c=Function[s],u=(""+c).split(s);n("8378").inspectSource=function(t){return c.call(t)},(t.exports=function(t,e,n,s){var c="function"==typeof n;c&&(i(n,"name")||o(n,"name",e)),t[e]!==n&&(c&&(i(n,a)||o(n,a,t[e]?""+t[e]:u.join(String(e)))),t===r?t[e]=n:s?t[e]?t[e]=n:o(t,e,n):(delete t[e],o(t,e,n)))})(Function.prototype,s,function(){return"function"==typeof this&&this[a]||c.call(this)})},"2aeb":function(t,e,n){var r=n("cb7c"),o=n("1495"),i=n("e11e"),a=n("613b")("IE_PROTO"),s=function(){},c="prototype",u=function(){var t,e=n("230e")("iframe"),r=i.length,o="<",a=">";e.style.display="none",n("fab2").appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write(o+"script"+a+"document.F=Object"+o+"/script"+a),t.close(),u=t.F;while(r--)delete u[c][i[r]];return u()};t.exports=Object.create||function(t,e){var n;return null!==t?(s[c]=r(t),n=new s,s[c]=null,n[a]=t):n=u(),void 0===e?n:o(n,e)}},"2b0e":function(t,e,n){"use strict";(function(t){
/*!
 * Vue.js v2.5.17
 * (c) 2014-2018 Evan You
 * Released under the MIT License.
 */
var n=Object.freeze({});function r(t){return void 0===t||null===t}function o(t){return void 0!==t&&null!==t}function i(t){return!0===t}function a(t){return!1===t}function s(t){return"string"===typeof t||"number"===typeof t||"symbol"===typeof t||"boolean"===typeof t}function c(t){return null!==t&&"object"===typeof t}var u=Object.prototype.toString;function f(t){return"[object Object]"===u.call(t)}function l(t){return"[object RegExp]"===u.call(t)}function p(t){var e=parseFloat(String(t));return e>=0&&Math.floor(e)===e&&isFinite(t)}function d(t){return null==t?"":"object"===typeof t?JSON.stringify(t,null,2):String(t)}function v(t){var e=parseFloat(t);return isNaN(e)?t:e}function h(t,e){for(var n=Object.create(null),r=t.split(","),o=0;o<r.length;o++)n[r[o]]=!0;return e?function(t){return n[t.toLowerCase()]}:function(t){return n[t]}}h("slot,component",!0);var y=h("key,ref,slot,slot-scope,is");function m(t,e){if(t.length){var n=t.indexOf(e);if(n>-1)return t.splice(n,1)}}var _=Object.prototype.hasOwnProperty;function g(t,e){return _.call(t,e)}function b(t){var e=Object.create(null);return function(n){var r=e[n];return r||(e[n]=t(n))}}var w=/-(\w)/g,x=b(function(t){return t.replace(w,function(t,e){return e?e.toUpperCase():""})}),A=b(function(t){return t.charAt(0).toUpperCase()+t.slice(1)}),C=/\B([A-Z])/g,O=b(function(t){return t.replace(C,"-$1").toLowerCase()});function $(t,e){function n(n){var r=arguments.length;return r?r>1?t.apply(e,arguments):t.call(e,n):t.call(e)}return n._length=t.length,n}function k(t,e){return t.bind(e)}var S=Function.prototype.bind?k:$;function E(t,e){e=e||0;var n=t.length-e,r=new Array(n);while(n--)r[n]=t[n+e];return r}function j(t,e){for(var n in e)t[n]=e[n];return t}function I(t){for(var e={},n=0;n<t.length;n++)t[n]&&j(e,t[n]);return e}function T(t,e,n){}var P=function(t,e,n){return!1},N=function(t){return t};function M(t,e){if(t===e)return!0;var n=c(t),r=c(e);if(!n||!r)return!n&&!r&&String(t)===String(e);try{var o=Array.isArray(t),i=Array.isArray(e);if(o&&i)return t.length===e.length&&t.every(function(t,n){return M(t,e[n])});if(o||i)return!1;var a=Object.keys(t),s=Object.keys(e);return a.length===s.length&&a.every(function(n){return M(t[n],e[n])})}catch(t){return!1}}function L(t,e){for(var n=0;n<t.length;n++)if(M(t[n],e))return n;return-1}function D(t){var e=!1;return function(){e||(e=!0,t.apply(this,arguments))}}var F="data-server-rendered",R=["component","directive","filter"],U=["beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeDestroy","destroyed","activated","deactivated","errorCaptured"],V={optionMergeStrategies:Object.create(null),silent:!1,productionTip:!1,devtools:!1,performance:!1,errorHandler:null,warnHandler:null,ignoredElements:[],keyCodes:Object.create(null),isReservedTag:P,isReservedAttr:P,isUnknownElement:P,getTagNamespace:T,parsePlatformTagName:N,mustUseProp:P,_lifecycleHooks:U};function B(t){var e=(t+"").charCodeAt(0);return 36===e||95===e}function H(t,e,n,r){Object.defineProperty(t,e,{value:n,enumerable:!!r,writable:!0,configurable:!0})}var z=/[^\w.$]/;function W(t){if(!z.test(t)){var e=t.split(".");return function(t){for(var n=0;n<e.length;n++){if(!t)return;t=t[e[n]]}return t}}}var q,G="__proto__"in{},K="undefined"!==typeof window,X="undefined"!==typeof WXEnvironment&&!!WXEnvironment.platform,J=X&&WXEnvironment.platform.toLowerCase(),Y=K&&window.navigator.userAgent.toLowerCase(),Z=Y&&/msie|trident/.test(Y),Q=Y&&Y.indexOf("msie 9.0")>0,tt=Y&&Y.indexOf("edge/")>0,et=(Y&&Y.indexOf("android"),Y&&/iphone|ipad|ipod|ios/.test(Y)||"ios"===J),nt=(Y&&/chrome\/\d+/.test(Y),{}.watch),rt=!1;if(K)try{var ot={};Object.defineProperty(ot,"passive",{get:function(){rt=!0}}),window.addEventListener("test-passive",null,ot)}catch(t){}var it=function(){return void 0===q&&(q=!K&&!X&&"undefined"!==typeof t&&"server"===t["process"].env.VUE_ENV),q},at=K&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function st(t){return"function"===typeof t&&/native code/.test(t.toString())}var ct,ut="undefined"!==typeof Symbol&&st(Symbol)&&"undefined"!==typeof Reflect&&st(Reflect.ownKeys);ct="undefined"!==typeof Set&&st(Set)?Set:function(){function t(){this.set=Object.create(null)}return t.prototype.has=function(t){return!0===this.set[t]},t.prototype.add=function(t){this.set[t]=!0},t.prototype.clear=function(){this.set=Object.create(null)},t}();var ft=T,lt=0,pt=function(){this.id=lt++,this.subs=[]};pt.prototype.addSub=function(t){this.subs.push(t)},pt.prototype.removeSub=function(t){m(this.subs,t)},pt.prototype.depend=function(){pt.target&&pt.target.addDep(this)},pt.prototype.notify=function(){for(var t=this.subs.slice(),e=0,n=t.length;e<n;e++)t[e].update()},pt.target=null;var dt=[];function vt(t){pt.target&&dt.push(pt.target),pt.target=t}function ht(){pt.target=dt.pop()}var yt=function(t,e,n,r,o,i,a,s){this.tag=t,this.data=e,this.children=n,this.text=r,this.elm=o,this.ns=void 0,this.context=i,this.fnContext=void 0,this.fnOptions=void 0,this.fnScopeId=void 0,this.key=e&&e.key,this.componentOptions=a,this.componentInstance=void 0,this.parent=void 0,this.raw=!1,this.isStatic=!1,this.isRootInsert=!0,this.isComment=!1,this.isCloned=!1,this.isOnce=!1,this.asyncFactory=s,this.asyncMeta=void 0,this.isAsyncPlaceholder=!1},mt={child:{configurable:!0}};mt.child.get=function(){return this.componentInstance},Object.defineProperties(yt.prototype,mt);var _t=function(t){void 0===t&&(t="");var e=new yt;return e.text=t,e.isComment=!0,e};function gt(t){return new yt(void 0,void 0,void 0,String(t))}function bt(t){var e=new yt(t.tag,t.data,t.children,t.text,t.elm,t.context,t.componentOptions,t.asyncFactory);return e.ns=t.ns,e.isStatic=t.isStatic,e.key=t.key,e.isComment=t.isComment,e.fnContext=t.fnContext,e.fnOptions=t.fnOptions,e.fnScopeId=t.fnScopeId,e.isCloned=!0,e}var wt=Array.prototype,xt=Object.create(wt),At=["push","pop","shift","unshift","splice","sort","reverse"];At.forEach(function(t){var e=wt[t];H(xt,t,function(){var n=[],r=arguments.length;while(r--)n[r]=arguments[r];var o,i=e.apply(this,n),a=this.__ob__;switch(t){case"push":case"unshift":o=n;break;case"splice":o=n.slice(2);break}return o&&a.observeArray(o),a.dep.notify(),i})});var Ct=Object.getOwnPropertyNames(xt),Ot=!0;function $t(t){Ot=t}var kt=function(t){if(this.value=t,this.dep=new pt,this.vmCount=0,H(t,"__ob__",this),Array.isArray(t)){var e=G?St:Et;e(t,xt,Ct),this.observeArray(t)}else this.walk(t)};function St(t,e,n){t.__proto__=e}function Et(t,e,n){for(var r=0,o=n.length;r<o;r++){var i=n[r];H(t,i,e[i])}}function jt(t,e){var n;if(c(t)&&!(t instanceof yt))return g(t,"__ob__")&&t.__ob__ instanceof kt?n=t.__ob__:Ot&&!it()&&(Array.isArray(t)||f(t))&&Object.isExtensible(t)&&!t._isVue&&(n=new kt(t)),e&&n&&n.vmCount++,n}function It(t,e,n,r,o){var i=new pt,a=Object.getOwnPropertyDescriptor(t,e);if(!a||!1!==a.configurable){var s=a&&a.get;s||2!==arguments.length||(n=t[e]);var c=a&&a.set,u=!o&&jt(n);Object.defineProperty(t,e,{enumerable:!0,configurable:!0,get:function(){var e=s?s.call(t):n;return pt.target&&(i.depend(),u&&(u.dep.depend(),Array.isArray(e)&&Nt(e))),e},set:function(e){var r=s?s.call(t):n;e===r||e!==e&&r!==r||(c?c.call(t,e):n=e,u=!o&&jt(e),i.notify())}})}}function Tt(t,e,n){if(Array.isArray(t)&&p(e))return t.length=Math.max(t.length,e),t.splice(e,1,n),n;if(e in t&&!(e in Object.prototype))return t[e]=n,n;var r=t.__ob__;return t._isVue||r&&r.vmCount?n:r?(It(r.value,e,n),r.dep.notify(),n):(t[e]=n,n)}function Pt(t,e){if(Array.isArray(t)&&p(e))t.splice(e,1);else{var n=t.__ob__;t._isVue||n&&n.vmCount||g(t,e)&&(delete t[e],n&&n.dep.notify())}}function Nt(t){for(var e=void 0,n=0,r=t.length;n<r;n++)e=t[n],e&&e.__ob__&&e.__ob__.dep.depend(),Array.isArray(e)&&Nt(e)}kt.prototype.walk=function(t){for(var e=Object.keys(t),n=0;n<e.length;n++)It(t,e[n])},kt.prototype.observeArray=function(t){for(var e=0,n=t.length;e<n;e++)jt(t[e])};var Mt=V.optionMergeStrategies;function Lt(t,e){if(!e)return t;for(var n,r,o,i=Object.keys(e),a=0;a<i.length;a++)n=i[a],r=t[n],o=e[n],g(t,n)?f(r)&&f(o)&&Lt(r,o):Tt(t,n,o);return t}function Dt(t,e,n){return n?function(){var r="function"===typeof e?e.call(n,n):e,o="function"===typeof t?t.call(n,n):t;return r?Lt(r,o):o}:e?t?function(){return Lt("function"===typeof e?e.call(this,this):e,"function"===typeof t?t.call(this,this):t)}:e:t}function Ft(t,e){return e?t?t.concat(e):Array.isArray(e)?e:[e]:t}function Rt(t,e,n,r){var o=Object.create(t||null);return e?j(o,e):o}Mt.data=function(t,e,n){return n?Dt(t,e,n):e&&"function"!==typeof e?t:Dt(t,e)},U.forEach(function(t){Mt[t]=Ft}),R.forEach(function(t){Mt[t+"s"]=Rt}),Mt.watch=function(t,e,n,r){if(t===nt&&(t=void 0),e===nt&&(e=void 0),!e)return Object.create(t||null);if(!t)return e;var o={};for(var i in j(o,t),e){var a=o[i],s=e[i];a&&!Array.isArray(a)&&(a=[a]),o[i]=a?a.concat(s):Array.isArray(s)?s:[s]}return o},Mt.props=Mt.methods=Mt.inject=Mt.computed=function(t,e,n,r){if(!t)return e;var o=Object.create(null);return j(o,t),e&&j(o,e),o},Mt.provide=Dt;var Ut=function(t,e){return void 0===e?t:e};function Vt(t,e){var n=t.props;if(n){var r,o,i,a={};if(Array.isArray(n)){r=n.length;while(r--)o=n[r],"string"===typeof o&&(i=x(o),a[i]={type:null})}else if(f(n))for(var s in n)o=n[s],i=x(s),a[i]=f(o)?o:{type:o};else 0;t.props=a}}function Bt(t,e){var n=t.inject;if(n){var r=t.inject={};if(Array.isArray(n))for(var o=0;o<n.length;o++)r[n[o]]={from:n[o]};else if(f(n))for(var i in n){var a=n[i];r[i]=f(a)?j({from:i},a):{from:a}}else 0}}function Ht(t){var e=t.directives;if(e)for(var n in e){var r=e[n];"function"===typeof r&&(e[n]={bind:r,update:r})}}function zt(t,e,n){"function"===typeof e&&(e=e.options),Vt(e,n),Bt(e,n),Ht(e);var r=e.extends;if(r&&(t=zt(t,r,n)),e.mixins)for(var o=0,i=e.mixins.length;o<i;o++)t=zt(t,e.mixins[o],n);var a,s={};for(a in t)c(a);for(a in e)g(t,a)||c(a);function c(r){var o=Mt[r]||Ut;s[r]=o(t[r],e[r],n,r)}return s}function Wt(t,e,n,r){if("string"===typeof n){var o=t[e];if(g(o,n))return o[n];var i=x(n);if(g(o,i))return o[i];var a=A(i);if(g(o,a))return o[a];var s=o[n]||o[i]||o[a];return s}}function qt(t,e,n,r){var o=e[t],i=!g(n,t),a=n[t],s=Jt(Boolean,o.type);if(s>-1)if(i&&!g(o,"default"))a=!1;else if(""===a||a===O(t)){var c=Jt(String,o.type);(c<0||s<c)&&(a=!0)}if(void 0===a){a=Gt(r,o,t);var u=Ot;$t(!0),jt(a),$t(u)}return a}function Gt(t,e,n){if(g(e,"default")){var r=e.default;return t&&t.$options.propsData&&void 0===t.$options.propsData[n]&&void 0!==t._props[n]?t._props[n]:"function"===typeof r&&"Function"!==Kt(e.type)?r.call(t):r}}function Kt(t){var e=t&&t.toString().match(/^\s*function (\w+)/);return e?e[1]:""}function Xt(t,e){return Kt(t)===Kt(e)}function Jt(t,e){if(!Array.isArray(e))return Xt(e,t)?0:-1;for(var n=0,r=e.length;n<r;n++)if(Xt(e[n],t))return n;return-1}function Yt(t,e,n){if(e){var r=e;while(r=r.$parent){var o=r.$options.errorCaptured;if(o)for(var i=0;i<o.length;i++)try{var a=!1===o[i].call(r,t,e,n);if(a)return}catch(t){Zt(t,r,"errorCaptured hook")}}}Zt(t,e,n)}function Zt(t,e,n){if(V.errorHandler)try{return V.errorHandler.call(null,t,e,n)}catch(t){Qt(t,null,"config.errorHandler")}Qt(t,e,n)}function Qt(t,e,n){if(!K&&!X||"undefined"===typeof console)throw t;console.error(t)}var te,ee,ne=[],re=!1;function oe(){re=!1;var t=ne.slice(0);ne.length=0;for(var e=0;e<t.length;e++)t[e]()}var ie=!1;if("undefined"!==typeof setImmediate&&st(setImmediate))ee=function(){setImmediate(oe)};else if("undefined"===typeof MessageChannel||!st(MessageChannel)&&"[object MessageChannelConstructor]"!==MessageChannel.toString())ee=function(){setTimeout(oe,0)};else{var ae=new MessageChannel,se=ae.port2;ae.port1.onmessage=oe,ee=function(){se.postMessage(1)}}if("undefined"!==typeof Promise&&st(Promise)){var ce=Promise.resolve();te=function(){ce.then(oe),et&&setTimeout(T)}}else te=ee;function ue(t){return t._withTask||(t._withTask=function(){ie=!0;var e=t.apply(null,arguments);return ie=!1,e})}function fe(t,e){var n;if(ne.push(function(){if(t)try{t.call(e)}catch(t){Yt(t,e,"nextTick")}else n&&n(e)}),re||(re=!0,ie?ee():te()),!t&&"undefined"!==typeof Promise)return new Promise(function(t){n=t})}var le=new ct;function pe(t){de(t,le),le.clear()}function de(t,e){var n,r,o=Array.isArray(t);if(!(!o&&!c(t)||Object.isFrozen(t)||t instanceof yt)){if(t.__ob__){var i=t.__ob__.dep.id;if(e.has(i))return;e.add(i)}if(o){n=t.length;while(n--)de(t[n],e)}else{r=Object.keys(t),n=r.length;while(n--)de(t[r[n]],e)}}}var ve,he=b(function(t){var e="&"===t.charAt(0);t=e?t.slice(1):t;var n="~"===t.charAt(0);t=n?t.slice(1):t;var r="!"===t.charAt(0);return t=r?t.slice(1):t,{name:t,once:n,capture:r,passive:e}});function ye(t){function e(){var t=arguments,n=e.fns;if(!Array.isArray(n))return n.apply(null,arguments);for(var r=n.slice(),o=0;o<r.length;o++)r[o].apply(null,t)}return e.fns=t,e}function me(t,e,n,o,i){var a,s,c,u;for(a in t)s=t[a],c=e[a],u=he(a),r(s)||(r(c)?(r(s.fns)&&(s=t[a]=ye(s)),n(u.name,s,u.once,u.capture,u.passive,u.params)):s!==c&&(c.fns=s,t[a]=c));for(a in e)r(t[a])&&(u=he(a),o(u.name,e[a],u.capture))}function _e(t,e,n){var a;t instanceof yt&&(t=t.data.hook||(t.data.hook={}));var s=t[e];function c(){n.apply(this,arguments),m(a.fns,c)}r(s)?a=ye([c]):o(s.fns)&&i(s.merged)?(a=s,a.fns.push(c)):a=ye([s,c]),a.merged=!0,t[e]=a}function ge(t,e,n){var i=e.options.props;if(!r(i)){var a={},s=t.attrs,c=t.props;if(o(s)||o(c))for(var u in i){var f=O(u);be(a,c,u,f,!0)||be(a,s,u,f,!1)}return a}}function be(t,e,n,r,i){if(o(e)){if(g(e,n))return t[n]=e[n],i||delete e[n],!0;if(g(e,r))return t[n]=e[r],i||delete e[r],!0}return!1}function we(t){for(var e=0;e<t.length;e++)if(Array.isArray(t[e]))return Array.prototype.concat.apply([],t);return t}function xe(t){return s(t)?[gt(t)]:Array.isArray(t)?Ce(t):void 0}function Ae(t){return o(t)&&o(t.text)&&a(t.isComment)}function Ce(t,e){var n,a,c,u,f=[];for(n=0;n<t.length;n++)a=t[n],r(a)||"boolean"===typeof a||(c=f.length-1,u=f[c],Array.isArray(a)?a.length>0&&(a=Ce(a,(e||"")+"_"+n),Ae(a[0])&&Ae(u)&&(f[c]=gt(u.text+a[0].text),a.shift()),f.push.apply(f,a)):s(a)?Ae(u)?f[c]=gt(u.text+a):""!==a&&f.push(gt(a)):Ae(a)&&Ae(u)?f[c]=gt(u.text+a.text):(i(t._isVList)&&o(a.tag)&&r(a.key)&&o(e)&&(a.key="__vlist"+e+"_"+n+"__"),f.push(a)));return f}function Oe(t,e){return(t.__esModule||ut&&"Module"===t[Symbol.toStringTag])&&(t=t.default),c(t)?e.extend(t):t}function $e(t,e,n,r,o){var i=_t();return i.asyncFactory=t,i.asyncMeta={data:e,context:n,children:r,tag:o},i}function ke(t,e,n){if(i(t.error)&&o(t.errorComp))return t.errorComp;if(o(t.resolved))return t.resolved;if(i(t.loading)&&o(t.loadingComp))return t.loadingComp;if(!o(t.contexts)){var a=t.contexts=[n],s=!0,u=function(){for(var t=0,e=a.length;t<e;t++)a[t].$forceUpdate()},f=D(function(n){t.resolved=Oe(n,e),s||u()}),l=D(function(e){o(t.errorComp)&&(t.error=!0,u())}),p=t(f,l);return c(p)&&("function"===typeof p.then?r(t.resolved)&&p.then(f,l):o(p.component)&&"function"===typeof p.component.then&&(p.component.then(f,l),o(p.error)&&(t.errorComp=Oe(p.error,e)),o(p.loading)&&(t.loadingComp=Oe(p.loading,e),0===p.delay?t.loading=!0:setTimeout(function(){r(t.resolved)&&r(t.error)&&(t.loading=!0,u())},p.delay||200)),o(p.timeout)&&setTimeout(function(){r(t.resolved)&&l(null)},p.timeout))),s=!1,t.loading?t.loadingComp:t.resolved}t.contexts.push(n)}function Se(t){return t.isComment&&t.asyncFactory}function Ee(t){if(Array.isArray(t))for(var e=0;e<t.length;e++){var n=t[e];if(o(n)&&(o(n.componentOptions)||Se(n)))return n}}function je(t){t._events=Object.create(null),t._hasHookEvent=!1;var e=t.$options._parentListeners;e&&Pe(t,e)}function Ie(t,e,n){n?ve.$once(t,e):ve.$on(t,e)}function Te(t,e){ve.$off(t,e)}function Pe(t,e,n){ve=t,me(e,n||{},Ie,Te,t),ve=void 0}function Ne(t){var e=/^hook:/;t.prototype.$on=function(t,n){var r=this,o=this;if(Array.isArray(t))for(var i=0,a=t.length;i<a;i++)r.$on(t[i],n);else(o._events[t]||(o._events[t]=[])).push(n),e.test(t)&&(o._hasHookEvent=!0);return o},t.prototype.$once=function(t,e){var n=this;function r(){n.$off(t,r),e.apply(n,arguments)}return r.fn=e,n.$on(t,r),n},t.prototype.$off=function(t,e){var n=this,r=this;if(!arguments.length)return r._events=Object.create(null),r;if(Array.isArray(t)){for(var o=0,i=t.length;o<i;o++)n.$off(t[o],e);return r}var a=r._events[t];if(!a)return r;if(!e)return r._events[t]=null,r;if(e){var s,c=a.length;while(c--)if(s=a[c],s===e||s.fn===e){a.splice(c,1);break}}return r},t.prototype.$emit=function(t){var e=this,n=e._events[t];if(n){n=n.length>1?E(n):n;for(var r=E(arguments,1),o=0,i=n.length;o<i;o++)try{n[o].apply(e,r)}catch(n){Yt(n,e,'event handler for "'+t+'"')}}return e}}function Me(t,e){var n={};if(!t)return n;for(var r=0,o=t.length;r<o;r++){var i=t[r],a=i.data;if(a&&a.attrs&&a.attrs.slot&&delete a.attrs.slot,i.context!==e&&i.fnContext!==e||!a||null==a.slot)(n.default||(n.default=[])).push(i);else{var s=a.slot,c=n[s]||(n[s]=[]);"template"===i.tag?c.push.apply(c,i.children||[]):c.push(i)}}for(var u in n)n[u].every(Le)&&delete n[u];return n}function Le(t){return t.isComment&&!t.asyncFactory||" "===t.text}function De(t,e){e=e||{};for(var n=0;n<t.length;n++)Array.isArray(t[n])?De(t[n],e):e[t[n].key]=t[n].fn;return e}var Fe=null;function Re(t){var e=t.$options,n=e.parent;if(n&&!e.abstract){while(n.$options.abstract&&n.$parent)n=n.$parent;n.$children.push(t)}t.$parent=n,t.$root=n?n.$root:t,t.$children=[],t.$refs={},t._watcher=null,t._inactive=null,t._directInactive=!1,t._isMounted=!1,t._isDestroyed=!1,t._isBeingDestroyed=!1}function Ue(t){t.prototype._update=function(t,e){var n=this;n._isMounted&&qe(n,"beforeUpdate");var r=n.$el,o=n._vnode,i=Fe;Fe=n,n._vnode=t,o?n.$el=n.__patch__(o,t):(n.$el=n.__patch__(n.$el,t,e,!1,n.$options._parentElm,n.$options._refElm),n.$options._parentElm=n.$options._refElm=null),Fe=i,r&&(r.__vue__=null),n.$el&&(n.$el.__vue__=n),n.$vnode&&n.$parent&&n.$vnode===n.$parent._vnode&&(n.$parent.$el=n.$el)},t.prototype.$forceUpdate=function(){var t=this;t._watcher&&t._watcher.update()},t.prototype.$destroy=function(){var t=this;if(!t._isBeingDestroyed){qe(t,"beforeDestroy"),t._isBeingDestroyed=!0;var e=t.$parent;!e||e._isBeingDestroyed||t.$options.abstract||m(e.$children,t),t._watcher&&t._watcher.teardown();var n=t._watchers.length;while(n--)t._watchers[n].teardown();t._data.__ob__&&t._data.__ob__.vmCount--,t._isDestroyed=!0,t.__patch__(t._vnode,null),qe(t,"destroyed"),t.$off(),t.$el&&(t.$el.__vue__=null),t.$vnode&&(t.$vnode.parent=null)}}}function Ve(t,e,n){var r;return t.$el=e,t.$options.render||(t.$options.render=_t),qe(t,"beforeMount"),r=function(){t._update(t._render(),n)},new sn(t,r,T,null,!0),n=!1,null==t.$vnode&&(t._isMounted=!0,qe(t,"mounted")),t}function Be(t,e,r,o,i){var a=!!(i||t.$options._renderChildren||o.data.scopedSlots||t.$scopedSlots!==n);if(t.$options._parentVnode=o,t.$vnode=o,t._vnode&&(t._vnode.parent=o),t.$options._renderChildren=i,t.$attrs=o.data.attrs||n,t.$listeners=r||n,e&&t.$options.props){$t(!1);for(var s=t._props,c=t.$options._propKeys||[],u=0;u<c.length;u++){var f=c[u],l=t.$options.props;s[f]=qt(f,l,e,t)}$t(!0),t.$options.propsData=e}r=r||n;var p=t.$options._parentListeners;t.$options._parentListeners=r,Pe(t,r,p),a&&(t.$slots=Me(i,o.context),t.$forceUpdate())}function He(t){while(t&&(t=t.$parent))if(t._inactive)return!0;return!1}function ze(t,e){if(e){if(t._directInactive=!1,He(t))return}else if(t._directInactive)return;if(t._inactive||null===t._inactive){t._inactive=!1;for(var n=0;n<t.$children.length;n++)ze(t.$children[n]);qe(t,"activated")}}function We(t,e){if((!e||(t._directInactive=!0,!He(t)))&&!t._inactive){t._inactive=!0;for(var n=0;n<t.$children.length;n++)We(t.$children[n]);qe(t,"deactivated")}}function qe(t,e){vt();var n=t.$options[e];if(n)for(var r=0,o=n.length;r<o;r++)try{n[r].call(t)}catch(n){Yt(n,t,e+" hook")}t._hasHookEvent&&t.$emit("hook:"+e),ht()}var Ge=[],Ke=[],Xe={},Je=!1,Ye=!1,Ze=0;function Qe(){Ze=Ge.length=Ke.length=0,Xe={},Je=Ye=!1}function tn(){var t,e;for(Ye=!0,Ge.sort(function(t,e){return t.id-e.id}),Ze=0;Ze<Ge.length;Ze++)t=Ge[Ze],e=t.id,Xe[e]=null,t.run();var n=Ke.slice(),r=Ge.slice();Qe(),rn(n),en(r),at&&V.devtools&&at.emit("flush")}function en(t){var e=t.length;while(e--){var n=t[e],r=n.vm;r._watcher===n&&r._isMounted&&qe(r,"updated")}}function nn(t){t._inactive=!1,Ke.push(t)}function rn(t){for(var e=0;e<t.length;e++)t[e]._inactive=!0,ze(t[e],!0)}function on(t){var e=t.id;if(null==Xe[e]){if(Xe[e]=!0,Ye){var n=Ge.length-1;while(n>Ze&&Ge[n].id>t.id)n--;Ge.splice(n+1,0,t)}else Ge.push(t);Je||(Je=!0,fe(tn))}}var an=0,sn=function(t,e,n,r,o){this.vm=t,o&&(t._watcher=this),t._watchers.push(this),r?(this.deep=!!r.deep,this.user=!!r.user,this.lazy=!!r.lazy,this.sync=!!r.sync):this.deep=this.user=this.lazy=this.sync=!1,this.cb=n,this.id=++an,this.active=!0,this.dirty=this.lazy,this.deps=[],this.newDeps=[],this.depIds=new ct,this.newDepIds=new ct,this.expression="","function"===typeof e?this.getter=e:(this.getter=W(e),this.getter||(this.getter=function(){})),this.value=this.lazy?void 0:this.get()};sn.prototype.get=function(){var t;vt(this);var e=this.vm;try{t=this.getter.call(e,e)}catch(t){if(!this.user)throw t;Yt(t,e,'getter for watcher "'+this.expression+'"')}finally{this.deep&&pe(t),ht(),this.cleanupDeps()}return t},sn.prototype.addDep=function(t){var e=t.id;this.newDepIds.has(e)||(this.newDepIds.add(e),this.newDeps.push(t),this.depIds.has(e)||t.addSub(this))},sn.prototype.cleanupDeps=function(){var t=this,e=this.deps.length;while(e--){var n=t.deps[e];t.newDepIds.has(n.id)||n.removeSub(t)}var r=this.depIds;this.depIds=this.newDepIds,this.newDepIds=r,this.newDepIds.clear(),r=this.deps,this.deps=this.newDeps,this.newDeps=r,this.newDeps.length=0},sn.prototype.update=function(){this.lazy?this.dirty=!0:this.sync?this.run():on(this)},sn.prototype.run=function(){if(this.active){var t=this.get();if(t!==this.value||c(t)||this.deep){var e=this.value;if(this.value=t,this.user)try{this.cb.call(this.vm,t,e)}catch(t){Yt(t,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,t,e)}}},sn.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},sn.prototype.depend=function(){var t=this,e=this.deps.length;while(e--)t.deps[e].depend()},sn.prototype.teardown=function(){var t=this;if(this.active){this.vm._isBeingDestroyed||m(this.vm._watchers,this);var e=this.deps.length;while(e--)t.deps[e].removeSub(t);this.active=!1}};var cn={enumerable:!0,configurable:!0,get:T,set:T};function un(t,e,n){cn.get=function(){return this[e][n]},cn.set=function(t){this[e][n]=t},Object.defineProperty(t,n,cn)}function fn(t){t._watchers=[];var e=t.$options;e.props&&ln(t,e.props),e.methods&&_n(t,e.methods),e.data?pn(t):jt(t._data={},!0),e.computed&&hn(t,e.computed),e.watch&&e.watch!==nt&&gn(t,e.watch)}function ln(t,e){var n=t.$options.propsData||{},r=t._props={},o=t.$options._propKeys=[],i=!t.$parent;i||$t(!1);var a=function(i){o.push(i);var a=qt(i,e,n,t);It(r,i,a),i in t||un(t,"_props",i)};for(var s in e)a(s);$t(!0)}function pn(t){var e=t.$options.data;e=t._data="function"===typeof e?dn(e,t):e||{},f(e)||(e={});var n=Object.keys(e),r=t.$options.props,o=(t.$options.methods,n.length);while(o--){var i=n[o];0,r&&g(r,i)||B(i)||un(t,"_data",i)}jt(e,!0)}function dn(t,e){vt();try{return t.call(e,e)}catch(t){return Yt(t,e,"data()"),{}}finally{ht()}}var vn={lazy:!0};function hn(t,e){var n=t._computedWatchers=Object.create(null),r=it();for(var o in e){var i=e[o],a="function"===typeof i?i:i.get;0,r||(n[o]=new sn(t,a||T,T,vn)),o in t||yn(t,o,i)}}function yn(t,e,n){var r=!it();"function"===typeof n?(cn.get=r?mn(e):n,cn.set=T):(cn.get=n.get?r&&!1!==n.cache?mn(e):n.get:T,cn.set=n.set?n.set:T),Object.defineProperty(t,e,cn)}function mn(t){return function(){var e=this._computedWatchers&&this._computedWatchers[t];if(e)return e.dirty&&e.evaluate(),pt.target&&e.depend(),e.value}}function _n(t,e){t.$options.props;for(var n in e)t[n]=null==e[n]?T:S(e[n],t)}function gn(t,e){for(var n in e){var r=e[n];if(Array.isArray(r))for(var o=0;o<r.length;o++)bn(t,n,r[o]);else bn(t,n,r)}}function bn(t,e,n,r){return f(n)&&(r=n,n=n.handler),"string"===typeof n&&(n=t[n]),t.$watch(e,n,r)}function wn(t){var e={get:function(){return this._data}},n={get:function(){return this._props}};Object.defineProperty(t.prototype,"$data",e),Object.defineProperty(t.prototype,"$props",n),t.prototype.$set=Tt,t.prototype.$delete=Pt,t.prototype.$watch=function(t,e,n){var r=this;if(f(e))return bn(r,t,e,n);n=n||{},n.user=!0;var o=new sn(r,t,e,n);return n.immediate&&e.call(r,o.value),function(){o.teardown()}}}function xn(t){var e=t.$options.provide;e&&(t._provided="function"===typeof e?e.call(t):e)}function An(t){var e=Cn(t.$options.inject,t);e&&($t(!1),Object.keys(e).forEach(function(n){It(t,n,e[n])}),$t(!0))}function Cn(t,e){if(t){for(var n=Object.create(null),r=ut?Reflect.ownKeys(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}):Object.keys(t),o=0;o<r.length;o++){var i=r[o],a=t[i].from,s=e;while(s){if(s._provided&&g(s._provided,a)){n[i]=s._provided[a];break}s=s.$parent}if(!s)if("default"in t[i]){var c=t[i].default;n[i]="function"===typeof c?c.call(e):c}else 0}return n}}function On(t,e){var n,r,i,a,s;if(Array.isArray(t)||"string"===typeof t)for(n=new Array(t.length),r=0,i=t.length;r<i;r++)n[r]=e(t[r],r);else if("number"===typeof t)for(n=new Array(t),r=0;r<t;r++)n[r]=e(r+1,r);else if(c(t))for(a=Object.keys(t),n=new Array(a.length),r=0,i=a.length;r<i;r++)s=a[r],n[r]=e(t[s],s,r);return o(n)&&(n._isVList=!0),n}function $n(t,e,n,r){var o,i=this.$scopedSlots[t];if(i)n=n||{},r&&(n=j(j({},r),n)),o=i(n)||e;else{var a=this.$slots[t];a&&(a._rendered=!0),o=a||e}var s=n&&n.slot;return s?this.$createElement("template",{slot:s},o):o}function kn(t){return Wt(this.$options,"filters",t,!0)||N}function Sn(t,e){return Array.isArray(t)?-1===t.indexOf(e):t!==e}function En(t,e,n,r,o){var i=V.keyCodes[e]||n;return o&&r&&!V.keyCodes[e]?Sn(o,r):i?Sn(i,t):r?O(r)!==e:void 0}function jn(t,e,n,r,o){if(n)if(c(n)){var i;Array.isArray(n)&&(n=I(n));var a=function(a){if("class"===a||"style"===a||y(a))i=t;else{var s=t.attrs&&t.attrs.type;i=r||V.mustUseProp(e,s,a)?t.domProps||(t.domProps={}):t.attrs||(t.attrs={})}if(!(a in i)&&(i[a]=n[a],o)){var c=t.on||(t.on={});c["update:"+a]=function(t){n[a]=t}}};for(var s in n)a(s)}else;return t}function In(t,e){var n=this._staticTrees||(this._staticTrees=[]),r=n[t];return r&&!e?r:(r=n[t]=this.$options.staticRenderFns[t].call(this._renderProxy,null,this),Pn(r,"__static__"+t,!1),r)}function Tn(t,e,n){return Pn(t,"__once__"+e+(n?"_"+n:""),!0),t}function Pn(t,e,n){if(Array.isArray(t))for(var r=0;r<t.length;r++)t[r]&&"string"!==typeof t[r]&&Nn(t[r],e+"_"+r,n);else Nn(t,e,n)}function Nn(t,e,n){t.isStatic=!0,t.key=e,t.isOnce=n}function Mn(t,e){if(e)if(f(e)){var n=t.on=t.on?j({},t.on):{};for(var r in e){var o=n[r],i=e[r];n[r]=o?[].concat(o,i):i}}else;return t}function Ln(t){t._o=Tn,t._n=v,t._s=d,t._l=On,t._t=$n,t._q=M,t._i=L,t._m=In,t._f=kn,t._k=En,t._b=jn,t._v=gt,t._e=_t,t._u=De,t._g=Mn}function Dn(t,e,r,o,a){var s,c=a.options;g(o,"_uid")?(s=Object.create(o),s._original=o):(s=o,o=o._original);var u=i(c._compiled),f=!u;this.data=t,this.props=e,this.children=r,this.parent=o,this.listeners=t.on||n,this.injections=Cn(c.inject,o),this.slots=function(){return Me(r,o)},u&&(this.$options=c,this.$slots=this.slots(),this.$scopedSlots=t.scopedSlots||n),c._scopeId?this._c=function(t,e,n,r){var i=Xn(s,t,e,n,r,f);return i&&!Array.isArray(i)&&(i.fnScopeId=c._scopeId,i.fnContext=o),i}:this._c=function(t,e,n,r){return Xn(s,t,e,n,r,f)}}function Fn(t,e,r,i,a){var s=t.options,c={},u=s.props;if(o(u))for(var f in u)c[f]=qt(f,u,e||n);else o(r.attrs)&&Un(c,r.attrs),o(r.props)&&Un(c,r.props);var l=new Dn(r,c,a,i,t),p=s.render.call(null,l._c,l);if(p instanceof yt)return Rn(p,r,l.parent,s);if(Array.isArray(p)){for(var d=xe(p)||[],v=new Array(d.length),h=0;h<d.length;h++)v[h]=Rn(d[h],r,l.parent,s);return v}}function Rn(t,e,n,r){var o=bt(t);return o.fnContext=n,o.fnOptions=r,e.slot&&((o.data||(o.data={})).slot=e.slot),o}function Un(t,e){for(var n in e)t[x(n)]=e[n]}Ln(Dn.prototype);var Vn={init:function(t,e,n,r){if(t.componentInstance&&!t.componentInstance._isDestroyed&&t.data.keepAlive){var o=t;Vn.prepatch(o,o)}else{var i=t.componentInstance=zn(t,Fe,n,r);i.$mount(e?t.elm:void 0,e)}},prepatch:function(t,e){var n=e.componentOptions,r=e.componentInstance=t.componentInstance;Be(r,n.propsData,n.listeners,e,n.children)},insert:function(t){var e=t.context,n=t.componentInstance;n._isMounted||(n._isMounted=!0,qe(n,"mounted")),t.data.keepAlive&&(e._isMounted?nn(n):ze(n,!0))},destroy:function(t){var e=t.componentInstance;e._isDestroyed||(t.data.keepAlive?We(e,!0):e.$destroy())}},Bn=Object.keys(Vn);function Hn(t,e,n,a,s){if(!r(t)){var u=n.$options._base;if(c(t)&&(t=u.extend(t)),"function"===typeof t){var f;if(r(t.cid)&&(f=t,t=ke(f,u,n),void 0===t))return $e(f,e,n,a,s);e=e||{},or(t),o(e.model)&&qn(t.options,e);var l=ge(e,t,s);if(i(t.options.functional))return Fn(t,l,e,n,a);var p=e.on;if(e.on=e.nativeOn,i(t.options.abstract)){var d=e.slot;e={},d&&(e.slot=d)}Wn(e);var v=t.options.name||s,h=new yt("vue-component-"+t.cid+(v?"-"+v:""),e,void 0,void 0,void 0,n,{Ctor:t,propsData:l,listeners:p,tag:s,children:a},f);return h}}}function zn(t,e,n,r){var i={_isComponent:!0,parent:e,_parentVnode:t,_parentElm:n||null,_refElm:r||null},a=t.data.inlineTemplate;return o(a)&&(i.render=a.render,i.staticRenderFns=a.staticRenderFns),new t.componentOptions.Ctor(i)}function Wn(t){for(var e=t.hook||(t.hook={}),n=0;n<Bn.length;n++){var r=Bn[n];e[r]=Vn[r]}}function qn(t,e){var n=t.model&&t.model.prop||"value",r=t.model&&t.model.event||"input";(e.props||(e.props={}))[n]=e.model.value;var i=e.on||(e.on={});o(i[r])?i[r]=[e.model.callback].concat(i[r]):i[r]=e.model.callback}var Gn=1,Kn=2;function Xn(t,e,n,r,o,a){return(Array.isArray(n)||s(n))&&(o=r,r=n,n=void 0),i(a)&&(o=Kn),Jn(t,e,n,r,o)}function Jn(t,e,n,r,i){if(o(n)&&o(n.__ob__))return _t();if(o(n)&&o(n.is)&&(e=n.is),!e)return _t();var a,s,c;(Array.isArray(r)&&"function"===typeof r[0]&&(n=n||{},n.scopedSlots={default:r[0]},r.length=0),i===Kn?r=xe(r):i===Gn&&(r=we(r)),"string"===typeof e)?(s=t.$vnode&&t.$vnode.ns||V.getTagNamespace(e),a=V.isReservedTag(e)?new yt(V.parsePlatformTagName(e),n,r,void 0,void 0,t):o(c=Wt(t.$options,"components",e))?Hn(c,n,t,r,e):new yt(e,n,r,void 0,void 0,t)):a=Hn(e,n,t,r);return Array.isArray(a)?a:o(a)?(o(s)&&Yn(a,s),o(n)&&Zn(n),a):_t()}function Yn(t,e,n){if(t.ns=e,"foreignObject"===t.tag&&(e=void 0,n=!0),o(t.children))for(var a=0,s=t.children.length;a<s;a++){var c=t.children[a];o(c.tag)&&(r(c.ns)||i(n)&&"svg"!==c.tag)&&Yn(c,e,n)}}function Zn(t){c(t.style)&&pe(t.style),c(t.class)&&pe(t.class)}function Qn(t){t._vnode=null,t._staticTrees=null;var e=t.$options,r=t.$vnode=e._parentVnode,o=r&&r.context;t.$slots=Me(e._renderChildren,o),t.$scopedSlots=n,t._c=function(e,n,r,o){return Xn(t,e,n,r,o,!1)},t.$createElement=function(e,n,r,o){return Xn(t,e,n,r,o,!0)};var i=r&&r.data;It(t,"$attrs",i&&i.attrs||n,null,!0),It(t,"$listeners",e._parentListeners||n,null,!0)}function tr(t){Ln(t.prototype),t.prototype.$nextTick=function(t){return fe(t,this)},t.prototype._render=function(){var t,e=this,r=e.$options,o=r.render,i=r._parentVnode;i&&(e.$scopedSlots=i.data.scopedSlots||n),e.$vnode=i;try{t=o.call(e._renderProxy,e.$createElement)}catch(n){Yt(n,e,"render"),t=e._vnode}return t instanceof yt||(t=_t()),t.parent=i,t}}var er=0;function nr(t){t.prototype._init=function(t){var e=this;e._uid=er++,e._isVue=!0,t&&t._isComponent?rr(e,t):e.$options=zt(or(e.constructor),t||{},e),e._renderProxy=e,e._self=e,Re(e),je(e),Qn(e),qe(e,"beforeCreate"),An(e),fn(e),xn(e),qe(e,"created"),e.$options.el&&e.$mount(e.$options.el)}}function rr(t,e){var n=t.$options=Object.create(t.constructor.options),r=e._parentVnode;n.parent=e.parent,n._parentVnode=r,n._parentElm=e._parentElm,n._refElm=e._refElm;var o=r.componentOptions;n.propsData=o.propsData,n._parentListeners=o.listeners,n._renderChildren=o.children,n._componentTag=o.tag,e.render&&(n.render=e.render,n.staticRenderFns=e.staticRenderFns)}function or(t){var e=t.options;if(t.super){var n=or(t.super),r=t.superOptions;if(n!==r){t.superOptions=n;var o=ir(t);o&&j(t.extendOptions,o),e=t.options=zt(n,t.extendOptions),e.name&&(e.components[e.name]=t)}}return e}function ir(t){var e,n=t.options,r=t.extendOptions,o=t.sealedOptions;for(var i in n)n[i]!==o[i]&&(e||(e={}),e[i]=ar(n[i],r[i],o[i]));return e}function ar(t,e,n){if(Array.isArray(t)){var r=[];n=Array.isArray(n)?n:[n],e=Array.isArray(e)?e:[e];for(var o=0;o<t.length;o++)(e.indexOf(t[o])>=0||n.indexOf(t[o])<0)&&r.push(t[o]);return r}return t}function sr(t){this._init(t)}function cr(t){t.use=function(t){var e=this._installedPlugins||(this._installedPlugins=[]);if(e.indexOf(t)>-1)return this;var n=E(arguments,1);return n.unshift(this),"function"===typeof t.install?t.install.apply(t,n):"function"===typeof t&&t.apply(null,n),e.push(t),this}}function ur(t){t.mixin=function(t){return this.options=zt(this.options,t),this}}function fr(t){t.cid=0;var e=1;t.extend=function(t){t=t||{};var n=this,r=n.cid,o=t._Ctor||(t._Ctor={});if(o[r])return o[r];var i=t.name||n.options.name;var a=function(t){this._init(t)};return a.prototype=Object.create(n.prototype),a.prototype.constructor=a,a.cid=e++,a.options=zt(n.options,t),a["super"]=n,a.options.props&&lr(a),a.options.computed&&pr(a),a.extend=n.extend,a.mixin=n.mixin,a.use=n.use,R.forEach(function(t){a[t]=n[t]}),i&&(a.options.components[i]=a),a.superOptions=n.options,a.extendOptions=t,a.sealedOptions=j({},a.options),o[r]=a,a}}function lr(t){var e=t.options.props;for(var n in e)un(t.prototype,"_props",n)}function pr(t){var e=t.options.computed;for(var n in e)yn(t.prototype,n,e[n])}function dr(t){R.forEach(function(e){t[e]=function(t,n){return n?("component"===e&&f(n)&&(n.name=n.name||t,n=this.options._base.extend(n)),"directive"===e&&"function"===typeof n&&(n={bind:n,update:n}),this.options[e+"s"][t]=n,n):this.options[e+"s"][t]}})}function vr(t){return t&&(t.Ctor.options.name||t.tag)}function hr(t,e){return Array.isArray(t)?t.indexOf(e)>-1:"string"===typeof t?t.split(",").indexOf(e)>-1:!!l(t)&&t.test(e)}function yr(t,e){var n=t.cache,r=t.keys,o=t._vnode;for(var i in n){var a=n[i];if(a){var s=vr(a.componentOptions);s&&!e(s)&&mr(n,i,r,o)}}}function mr(t,e,n,r){var o=t[e];!o||r&&o.tag===r.tag||o.componentInstance.$destroy(),t[e]=null,m(n,e)}nr(sr),wn(sr),Ne(sr),Ue(sr),tr(sr);var _r=[String,RegExp,Array],gr={name:"keep-alive",abstract:!0,props:{include:_r,exclude:_r,max:[String,Number]},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){var t=this;for(var e in t.cache)mr(t.cache,e,t.keys)},mounted:function(){var t=this;this.$watch("include",function(e){yr(t,function(t){return hr(e,t)})}),this.$watch("exclude",function(e){yr(t,function(t){return!hr(e,t)})})},render:function(){var t=this.$slots.default,e=Ee(t),n=e&&e.componentOptions;if(n){var r=vr(n),o=this,i=o.include,a=o.exclude;if(i&&(!r||!hr(i,r))||a&&r&&hr(a,r))return e;var s=this,c=s.cache,u=s.keys,f=null==e.key?n.Ctor.cid+(n.tag?"::"+n.tag:""):e.key;c[f]?(e.componentInstance=c[f].componentInstance,m(u,f),u.push(f)):(c[f]=e,u.push(f),this.max&&u.length>parseInt(this.max)&&mr(c,u[0],u,this._vnode)),e.data.keepAlive=!0}return e||t&&t[0]}},br={KeepAlive:gr};function wr(t){var e={get:function(){return V}};Object.defineProperty(t,"config",e),t.util={warn:ft,extend:j,mergeOptions:zt,defineReactive:It},t.set=Tt,t.delete=Pt,t.nextTick=fe,t.options=Object.create(null),R.forEach(function(e){t.options[e+"s"]=Object.create(null)}),t.options._base=t,j(t.options.components,br),cr(t),ur(t),fr(t),dr(t)}wr(sr),Object.defineProperty(sr.prototype,"$isServer",{get:it}),Object.defineProperty(sr.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(sr,"FunctionalRenderContext",{value:Dn}),sr.version="2.5.17";var xr=h("style,class"),Ar=h("input,textarea,option,select,progress"),Cr=function(t,e,n){return"value"===n&&Ar(t)&&"button"!==e||"selected"===n&&"option"===t||"checked"===n&&"input"===t||"muted"===n&&"video"===t},Or=h("contenteditable,draggable,spellcheck"),$r=h("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"),kr="http://www.w3.org/1999/xlink",Sr=function(t){return":"===t.charAt(5)&&"xlink"===t.slice(0,5)},Er=function(t){return Sr(t)?t.slice(6,t.length):""},jr=function(t){return null==t||!1===t};function Ir(t){var e=t.data,n=t,r=t;while(o(r.componentInstance))r=r.componentInstance._vnode,r&&r.data&&(e=Tr(r.data,e));while(o(n=n.parent))n&&n.data&&(e=Tr(e,n.data));return Pr(e.staticClass,e.class)}function Tr(t,e){return{staticClass:Nr(t.staticClass,e.staticClass),class:o(t.class)?[t.class,e.class]:e.class}}function Pr(t,e){return o(t)||o(e)?Nr(t,Mr(e)):""}function Nr(t,e){return t?e?t+" "+e:t:e||""}function Mr(t){return Array.isArray(t)?Lr(t):c(t)?Dr(t):"string"===typeof t?t:""}function Lr(t){for(var e,n="",r=0,i=t.length;r<i;r++)o(e=Mr(t[r]))&&""!==e&&(n&&(n+=" "),n+=e);return n}function Dr(t){var e="";for(var n in t)t[n]&&(e&&(e+=" "),e+=n);return e}var Fr={svg:"http://www.w3.org/2000/svg",math:"http://www.w3.org/1998/Math/MathML"},Rr=h("html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,menuitem,summary,content,element,shadow,template,blockquote,iframe,tfoot"),Ur=h("svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,foreignObject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view",!0),Vr=function(t){return Rr(t)||Ur(t)};function Br(t){return Ur(t)?"svg":"math"===t?"math":void 0}var Hr=Object.create(null);function zr(t){if(!K)return!0;if(Vr(t))return!1;if(t=t.toLowerCase(),null!=Hr[t])return Hr[t];var e=document.createElement(t);return t.indexOf("-")>-1?Hr[t]=e.constructor===window.HTMLUnknownElement||e.constructor===window.HTMLElement:Hr[t]=/HTMLUnknownElement/.test(e.toString())}var Wr=h("text,number,password,search,email,tel,url");function qr(t){if("string"===typeof t){var e=document.querySelector(t);return e||document.createElement("div")}return t}function Gr(t,e){var n=document.createElement(t);return"select"!==t?n:(e.data&&e.data.attrs&&void 0!==e.data.attrs.multiple&&n.setAttribute("multiple","multiple"),n)}function Kr(t,e){return document.createElementNS(Fr[t],e)}function Xr(t){return document.createTextNode(t)}function Jr(t){return document.createComment(t)}function Yr(t,e,n){t.insertBefore(e,n)}function Zr(t,e){t.removeChild(e)}function Qr(t,e){t.appendChild(e)}function to(t){return t.parentNode}function eo(t){return t.nextSibling}function no(t){return t.tagName}function ro(t,e){t.textContent=e}function oo(t,e){t.setAttribute(e,"")}var io=Object.freeze({createElement:Gr,createElementNS:Kr,createTextNode:Xr,createComment:Jr,insertBefore:Yr,removeChild:Zr,appendChild:Qr,parentNode:to,nextSibling:eo,tagName:no,setTextContent:ro,setStyleScope:oo}),ao={create:function(t,e){so(e)},update:function(t,e){t.data.ref!==e.data.ref&&(so(t,!0),so(e))},destroy:function(t){so(t,!0)}};function so(t,e){var n=t.data.ref;if(o(n)){var r=t.context,i=t.componentInstance||t.elm,a=r.$refs;e?Array.isArray(a[n])?m(a[n],i):a[n]===i&&(a[n]=void 0):t.data.refInFor?Array.isArray(a[n])?a[n].indexOf(i)<0&&a[n].push(i):a[n]=[i]:a[n]=i}}var co=new yt("",{},[]),uo=["create","activate","update","remove","destroy"];function fo(t,e){return t.key===e.key&&(t.tag===e.tag&&t.isComment===e.isComment&&o(t.data)===o(e.data)&&lo(t,e)||i(t.isAsyncPlaceholder)&&t.asyncFactory===e.asyncFactory&&r(e.asyncFactory.error))}function lo(t,e){if("input"!==t.tag)return!0;var n,r=o(n=t.data)&&o(n=n.attrs)&&n.type,i=o(n=e.data)&&o(n=n.attrs)&&n.type;return r===i||Wr(r)&&Wr(i)}function po(t,e,n){var r,i,a={};for(r=e;r<=n;++r)i=t[r].key,o(i)&&(a[i]=r);return a}function vo(t){var e,n,a={},c=t.modules,u=t.nodeOps;for(e=0;e<uo.length;++e)for(a[uo[e]]=[],n=0;n<c.length;++n)o(c[n][uo[e]])&&a[uo[e]].push(c[n][uo[e]]);function f(t){return new yt(u.tagName(t).toLowerCase(),{},[],void 0,t)}function l(t,e){function n(){0===--n.listeners&&p(t)}return n.listeners=e,n}function p(t){var e=u.parentNode(t);o(e)&&u.removeChild(e,t)}function d(t,e,n,r,a,s,c){if(o(t.elm)&&o(s)&&(t=s[c]=bt(t)),t.isRootInsert=!a,!v(t,e,n,r)){var f=t.data,l=t.children,p=t.tag;o(p)?(t.elm=t.ns?u.createElementNS(t.ns,p):u.createElement(p,t),x(t),g(t,l,e),o(f)&&w(t,e),_(n,t.elm,r)):i(t.isComment)?(t.elm=u.createComment(t.text),_(n,t.elm,r)):(t.elm=u.createTextNode(t.text),_(n,t.elm,r))}}function v(t,e,n,r){var a=t.data;if(o(a)){var s=o(t.componentInstance)&&a.keepAlive;if(o(a=a.hook)&&o(a=a.init)&&a(t,!1,n,r),o(t.componentInstance))return y(t,e),i(s)&&m(t,e,n,r),!0}}function y(t,e){o(t.data.pendingInsert)&&(e.push.apply(e,t.data.pendingInsert),t.data.pendingInsert=null),t.elm=t.componentInstance.$el,b(t)?(w(t,e),x(t)):(so(t),e.push(t))}function m(t,e,n,r){var i,s=t;while(s.componentInstance)if(s=s.componentInstance._vnode,o(i=s.data)&&o(i=i.transition)){for(i=0;i<a.activate.length;++i)a.activate[i](co,s);e.push(s);break}_(n,t.elm,r)}function _(t,e,n){o(t)&&(o(n)?n.parentNode===t&&u.insertBefore(t,e,n):u.appendChild(t,e))}function g(t,e,n){if(Array.isArray(e)){0;for(var r=0;r<e.length;++r)d(e[r],n,t.elm,null,!0,e,r)}else s(t.text)&&u.appendChild(t.elm,u.createTextNode(String(t.text)))}function b(t){while(t.componentInstance)t=t.componentInstance._vnode;return o(t.tag)}function w(t,n){for(var r=0;r<a.create.length;++r)a.create[r](co,t);e=t.data.hook,o(e)&&(o(e.create)&&e.create(co,t),o(e.insert)&&n.push(t))}function x(t){var e;if(o(e=t.fnScopeId))u.setStyleScope(t.elm,e);else{var n=t;while(n)o(e=n.context)&&o(e=e.$options._scopeId)&&u.setStyleScope(t.elm,e),n=n.parent}o(e=Fe)&&e!==t.context&&e!==t.fnContext&&o(e=e.$options._scopeId)&&u.setStyleScope(t.elm,e)}function A(t,e,n,r,o,i){for(;r<=o;++r)d(n[r],i,t,e,!1,n,r)}function C(t){var e,n,r=t.data;if(o(r))for(o(e=r.hook)&&o(e=e.destroy)&&e(t),e=0;e<a.destroy.length;++e)a.destroy[e](t);if(o(e=t.children))for(n=0;n<t.children.length;++n)C(t.children[n])}function O(t,e,n,r){for(;n<=r;++n){var i=e[n];o(i)&&(o(i.tag)?($(i),C(i)):p(i.elm))}}function $(t,e){if(o(e)||o(t.data)){var n,r=a.remove.length+1;for(o(e)?e.listeners+=r:e=l(t.elm,r),o(n=t.componentInstance)&&o(n=n._vnode)&&o(n.data)&&$(n,e),n=0;n<a.remove.length;++n)a.remove[n](t,e);o(n=t.data.hook)&&o(n=n.remove)?n(t,e):e()}else p(t.elm)}function k(t,e,n,i,a){var s,c,f,l,p=0,v=0,h=e.length-1,y=e[0],m=e[h],_=n.length-1,g=n[0],b=n[_],w=!a;while(p<=h&&v<=_)r(y)?y=e[++p]:r(m)?m=e[--h]:fo(y,g)?(E(y,g,i),y=e[++p],g=n[++v]):fo(m,b)?(E(m,b,i),m=e[--h],b=n[--_]):fo(y,b)?(E(y,b,i),w&&u.insertBefore(t,y.elm,u.nextSibling(m.elm)),y=e[++p],b=n[--_]):fo(m,g)?(E(m,g,i),w&&u.insertBefore(t,m.elm,y.elm),m=e[--h],g=n[++v]):(r(s)&&(s=po(e,p,h)),c=o(g.key)?s[g.key]:S(g,e,p,h),r(c)?d(g,i,t,y.elm,!1,n,v):(f=e[c],fo(f,g)?(E(f,g,i),e[c]=void 0,w&&u.insertBefore(t,f.elm,y.elm)):d(g,i,t,y.elm,!1,n,v)),g=n[++v]);p>h?(l=r(n[_+1])?null:n[_+1].elm,A(t,l,n,v,_,i)):v>_&&O(t,e,p,h)}function S(t,e,n,r){for(var i=n;i<r;i++){var a=e[i];if(o(a)&&fo(t,a))return i}}function E(t,e,n,s){if(t!==e){var c=e.elm=t.elm;if(i(t.isAsyncPlaceholder))o(e.asyncFactory.resolved)?T(t.elm,e,n):e.isAsyncPlaceholder=!0;else if(i(e.isStatic)&&i(t.isStatic)&&e.key===t.key&&(i(e.isCloned)||i(e.isOnce)))e.componentInstance=t.componentInstance;else{var f,l=e.data;o(l)&&o(f=l.hook)&&o(f=f.prepatch)&&f(t,e);var p=t.children,d=e.children;if(o(l)&&b(e)){for(f=0;f<a.update.length;++f)a.update[f](t,e);o(f=l.hook)&&o(f=f.update)&&f(t,e)}r(e.text)?o(p)&&o(d)?p!==d&&k(c,p,d,n,s):o(d)?(o(t.text)&&u.setTextContent(c,""),A(c,null,d,0,d.length-1,n)):o(p)?O(c,p,0,p.length-1):o(t.text)&&u.setTextContent(c,""):t.text!==e.text&&u.setTextContent(c,e.text),o(l)&&o(f=l.hook)&&o(f=f.postpatch)&&f(t,e)}}}function j(t,e,n){if(i(n)&&o(t.parent))t.parent.data.pendingInsert=e;else for(var r=0;r<e.length;++r)e[r].data.hook.insert(e[r])}var I=h("attrs,class,staticClass,staticStyle,key");function T(t,e,n,r){var a,s=e.tag,c=e.data,u=e.children;if(r=r||c&&c.pre,e.elm=t,i(e.isComment)&&o(e.asyncFactory))return e.isAsyncPlaceholder=!0,!0;if(o(c)&&(o(a=c.hook)&&o(a=a.init)&&a(e,!0),o(a=e.componentInstance)))return y(e,n),!0;if(o(s)){if(o(u))if(t.hasChildNodes())if(o(a=c)&&o(a=a.domProps)&&o(a=a.innerHTML)){if(a!==t.innerHTML)return!1}else{for(var f=!0,l=t.firstChild,p=0;p<u.length;p++){if(!l||!T(l,u[p],n,r)){f=!1;break}l=l.nextSibling}if(!f||l)return!1}else g(e,u,n);if(o(c)){var d=!1;for(var v in c)if(!I(v)){d=!0,w(e,n);break}!d&&c["class"]&&pe(c["class"])}}else t.data!==e.text&&(t.data=e.text);return!0}return function(t,e,n,s,c,l){if(!r(e)){var p=!1,v=[];if(r(t))p=!0,d(e,v,c,l);else{var h=o(t.nodeType);if(!h&&fo(t,e))E(t,e,v,s);else{if(h){if(1===t.nodeType&&t.hasAttribute(F)&&(t.removeAttribute(F),n=!0),i(n)&&T(t,e,v))return j(e,v,!0),t;t=f(t)}var y=t.elm,m=u.parentNode(y);if(d(e,v,y._leaveCb?null:m,u.nextSibling(y)),o(e.parent)){var _=e.parent,g=b(e);while(_){for(var w=0;w<a.destroy.length;++w)a.destroy[w](_);if(_.elm=e.elm,g){for(var x=0;x<a.create.length;++x)a.create[x](co,_);var A=_.data.hook.insert;if(A.merged)for(var $=1;$<A.fns.length;$++)A.fns[$]()}else so(_);_=_.parent}}o(m)?O(m,[t],0,0):o(t.tag)&&C(t)}}return j(e,v,p),e.elm}o(t)&&C(t)}}var ho={create:yo,update:yo,destroy:function(t){yo(t,co)}};function yo(t,e){(t.data.directives||e.data.directives)&&mo(t,e)}function mo(t,e){var n,r,o,i=t===co,a=e===co,s=go(t.data.directives,t.context),c=go(e.data.directives,e.context),u=[],f=[];for(n in c)r=s[n],o=c[n],r?(o.oldValue=r.value,wo(o,"update",e,t),o.def&&o.def.componentUpdated&&f.push(o)):(wo(o,"bind",e,t),o.def&&o.def.inserted&&u.push(o));if(u.length){var l=function(){for(var n=0;n<u.length;n++)wo(u[n],"inserted",e,t)};i?_e(e,"insert",l):l()}if(f.length&&_e(e,"postpatch",function(){for(var n=0;n<f.length;n++)wo(f[n],"componentUpdated",e,t)}),!i)for(n in s)c[n]||wo(s[n],"unbind",t,t,a)}var _o=Object.create(null);function go(t,e){var n,r,o=Object.create(null);if(!t)return o;for(n=0;n<t.length;n++)r=t[n],r.modifiers||(r.modifiers=_o),o[bo(r)]=r,r.def=Wt(e.$options,"directives",r.name,!0);return o}function bo(t){return t.rawName||t.name+"."+Object.keys(t.modifiers||{}).join(".")}function wo(t,e,n,r,o){var i=t.def&&t.def[e];if(i)try{i(n.elm,t,n,r,o)}catch(r){Yt(r,n.context,"directive "+t.name+" "+e+" hook")}}var xo=[ao,ho];function Ao(t,e){var n=e.componentOptions;if((!o(n)||!1!==n.Ctor.options.inheritAttrs)&&(!r(t.data.attrs)||!r(e.data.attrs))){var i,a,s,c=e.elm,u=t.data.attrs||{},f=e.data.attrs||{};for(i in o(f.__ob__)&&(f=e.data.attrs=j({},f)),f)a=f[i],s=u[i],s!==a&&Co(c,i,a);for(i in(Z||tt)&&f.value!==u.value&&Co(c,"value",f.value),u)r(f[i])&&(Sr(i)?c.removeAttributeNS(kr,Er(i)):Or(i)||c.removeAttribute(i))}}function Co(t,e,n){t.tagName.indexOf("-")>-1?Oo(t,e,n):$r(e)?jr(n)?t.removeAttribute(e):(n="allowfullscreen"===e&&"EMBED"===t.tagName?"true":e,t.setAttribute(e,n)):Or(e)?t.setAttribute(e,jr(n)||"false"===n?"false":"true"):Sr(e)?jr(n)?t.removeAttributeNS(kr,Er(e)):t.setAttributeNS(kr,e,n):Oo(t,e,n)}function Oo(t,e,n){if(jr(n))t.removeAttribute(e);else{if(Z&&!Q&&"TEXTAREA"===t.tagName&&"placeholder"===e&&!t.__ieph){var r=function(e){e.stopImmediatePropagation(),t.removeEventListener("input",r)};t.addEventListener("input",r),t.__ieph=!0}t.setAttribute(e,n)}}var $o={create:Ao,update:Ao};function ko(t,e){var n=e.elm,i=e.data,a=t.data;if(!(r(i.staticClass)&&r(i.class)&&(r(a)||r(a.staticClass)&&r(a.class)))){var s=Ir(e),c=n._transitionClasses;o(c)&&(s=Nr(s,Mr(c))),s!==n._prevClass&&(n.setAttribute("class",s),n._prevClass=s)}}var So,Eo={create:ko,update:ko},jo="__r",Io="__c";function To(t){if(o(t[jo])){var e=Z?"change":"input";t[e]=[].concat(t[jo],t[e]||[]),delete t[jo]}o(t[Io])&&(t.change=[].concat(t[Io],t.change||[]),delete t[Io])}function Po(t,e,n){var r=So;return function o(){var i=t.apply(null,arguments);null!==i&&Mo(e,o,n,r)}}function No(t,e,n,r,o){e=ue(e),n&&(e=Po(e,t,r)),So.addEventListener(t,e,rt?{capture:r,passive:o}:r)}function Mo(t,e,n,r){(r||So).removeEventListener(t,e._withTask||e,n)}function Lo(t,e){if(!r(t.data.on)||!r(e.data.on)){var n=e.data.on||{},o=t.data.on||{};So=e.elm,To(n),me(n,o,No,Mo,e.context),So=void 0}}var Do={create:Lo,update:Lo};function Fo(t,e){if(!r(t.data.domProps)||!r(e.data.domProps)){var n,i,a=e.elm,s=t.data.domProps||{},c=e.data.domProps||{};for(n in o(c.__ob__)&&(c=e.data.domProps=j({},c)),s)r(c[n])&&(a[n]="");for(n in c){if(i=c[n],"textContent"===n||"innerHTML"===n){if(e.children&&(e.children.length=0),i===s[n])continue;1===a.childNodes.length&&a.removeChild(a.childNodes[0])}if("value"===n){a._value=i;var u=r(i)?"":String(i);Ro(a,u)&&(a.value=u)}else a[n]=i}}}function Ro(t,e){return!t.composing&&("OPTION"===t.tagName||Uo(t,e)||Vo(t,e))}function Uo(t,e){var n=!0;try{n=document.activeElement!==t}catch(t){}return n&&t.value!==e}function Vo(t,e){var n=t.value,r=t._vModifiers;if(o(r)){if(r.lazy)return!1;if(r.number)return v(n)!==v(e);if(r.trim)return n.trim()!==e.trim()}return n!==e}var Bo={create:Fo,update:Fo},Ho=b(function(t){var e={},n=/;(?![^(]*\))/g,r=/:(.+)/;return t.split(n).forEach(function(t){if(t){var n=t.split(r);n.length>1&&(e[n[0].trim()]=n[1].trim())}}),e});function zo(t){var e=Wo(t.style);return t.staticStyle?j(t.staticStyle,e):e}function Wo(t){return Array.isArray(t)?I(t):"string"===typeof t?Ho(t):t}function qo(t,e){var n,r={};if(e){var o=t;while(o.componentInstance)o=o.componentInstance._vnode,o&&o.data&&(n=zo(o.data))&&j(r,n)}(n=zo(t.data))&&j(r,n);var i=t;while(i=i.parent)i.data&&(n=zo(i.data))&&j(r,n);return r}var Go,Ko=/^--/,Xo=/\s*!important$/,Jo=function(t,e,n){if(Ko.test(e))t.style.setProperty(e,n);else if(Xo.test(n))t.style.setProperty(e,n.replace(Xo,""),"important");else{var r=Zo(e);if(Array.isArray(n))for(var o=0,i=n.length;o<i;o++)t.style[r]=n[o];else t.style[r]=n}},Yo=["Webkit","Moz","ms"],Zo=b(function(t){if(Go=Go||document.createElement("div").style,t=x(t),"filter"!==t&&t in Go)return t;for(var e=t.charAt(0).toUpperCase()+t.slice(1),n=0;n<Yo.length;n++){var r=Yo[n]+e;if(r in Go)return r}});function Qo(t,e){var n=e.data,i=t.data;if(!(r(n.staticStyle)&&r(n.style)&&r(i.staticStyle)&&r(i.style))){var a,s,c=e.elm,u=i.staticStyle,f=i.normalizedStyle||i.style||{},l=u||f,p=Wo(e.data.style)||{};e.data.normalizedStyle=o(p.__ob__)?j({},p):p;var d=qo(e,!0);for(s in l)r(d[s])&&Jo(c,s,"");for(s in d)a=d[s],a!==l[s]&&Jo(c,s,null==a?"":a)}}var ti={create:Qo,update:Qo};function ei(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.split(/\s+/).forEach(function(e){return t.classList.add(e)}):t.classList.add(e);else{var n=" "+(t.getAttribute("class")||"")+" ";n.indexOf(" "+e+" ")<0&&t.setAttribute("class",(n+e).trim())}}function ni(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.split(/\s+/).forEach(function(e){return t.classList.remove(e)}):t.classList.remove(e),t.classList.length||t.removeAttribute("class");else{var n=" "+(t.getAttribute("class")||"")+" ",r=" "+e+" ";while(n.indexOf(r)>=0)n=n.replace(r," ");n=n.trim(),n?t.setAttribute("class",n):t.removeAttribute("class")}}function ri(t){if(t){if("object"===typeof t){var e={};return!1!==t.css&&j(e,oi(t.name||"v")),j(e,t),e}return"string"===typeof t?oi(t):void 0}}var oi=b(function(t){return{enterClass:t+"-enter",enterToClass:t+"-enter-to",enterActiveClass:t+"-enter-active",leaveClass:t+"-leave",leaveToClass:t+"-leave-to",leaveActiveClass:t+"-leave-active"}}),ii=K&&!Q,ai="transition",si="animation",ci="transition",ui="transitionend",fi="animation",li="animationend";ii&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(ci="WebkitTransition",ui="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(fi="WebkitAnimation",li="webkitAnimationEnd"));var pi=K?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(t){return t()};function di(t){pi(function(){pi(t)})}function vi(t,e){var n=t._transitionClasses||(t._transitionClasses=[]);n.indexOf(e)<0&&(n.push(e),ei(t,e))}function hi(t,e){t._transitionClasses&&m(t._transitionClasses,e),ni(t,e)}function yi(t,e,n){var r=_i(t,e),o=r.type,i=r.timeout,a=r.propCount;if(!o)return n();var s=o===ai?ui:li,c=0,u=function(){t.removeEventListener(s,f),n()},f=function(e){e.target===t&&++c>=a&&u()};setTimeout(function(){c<a&&u()},i+1),t.addEventListener(s,f)}var mi=/\b(transform|all)(,|$)/;function _i(t,e){var n,r=window.getComputedStyle(t),o=r[ci+"Delay"].split(", "),i=r[ci+"Duration"].split(", "),a=gi(o,i),s=r[fi+"Delay"].split(", "),c=r[fi+"Duration"].split(", "),u=gi(s,c),f=0,l=0;e===ai?a>0&&(n=ai,f=a,l=i.length):e===si?u>0&&(n=si,f=u,l=c.length):(f=Math.max(a,u),n=f>0?a>u?ai:si:null,l=n?n===ai?i.length:c.length:0);var p=n===ai&&mi.test(r[ci+"Property"]);return{type:n,timeout:f,propCount:l,hasTransform:p}}function gi(t,e){while(t.length<e.length)t=t.concat(t);return Math.max.apply(null,e.map(function(e,n){return bi(e)+bi(t[n])}))}function bi(t){return 1e3*Number(t.slice(0,-1))}function wi(t,e){var n=t.elm;o(n._leaveCb)&&(n._leaveCb.cancelled=!0,n._leaveCb());var i=ri(t.data.transition);if(!r(i)&&!o(n._enterCb)&&1===n.nodeType){var a=i.css,s=i.type,u=i.enterClass,f=i.enterToClass,l=i.enterActiveClass,p=i.appearClass,d=i.appearToClass,h=i.appearActiveClass,y=i.beforeEnter,m=i.enter,_=i.afterEnter,g=i.enterCancelled,b=i.beforeAppear,w=i.appear,x=i.afterAppear,A=i.appearCancelled,C=i.duration,O=Fe,$=Fe.$vnode;while($&&$.parent)$=$.parent,O=$.context;var k=!O._isMounted||!t.isRootInsert;if(!k||w||""===w){var S=k&&p?p:u,E=k&&h?h:l,j=k&&d?d:f,I=k&&b||y,T=k&&"function"===typeof w?w:m,P=k&&x||_,N=k&&A||g,M=v(c(C)?C.enter:C);0;var L=!1!==a&&!Q,F=Ci(T),R=n._enterCb=D(function(){L&&(hi(n,j),hi(n,E)),R.cancelled?(L&&hi(n,S),N&&N(n)):P&&P(n),n._enterCb=null});t.data.show||_e(t,"insert",function(){var e=n.parentNode,r=e&&e._pending&&e._pending[t.key];r&&r.tag===t.tag&&r.elm._leaveCb&&r.elm._leaveCb(),T&&T(n,R)}),I&&I(n),L&&(vi(n,S),vi(n,E),di(function(){hi(n,S),R.cancelled||(vi(n,j),F||(Ai(M)?setTimeout(R,M):yi(n,s,R)))})),t.data.show&&(e&&e(),T&&T(n,R)),L||F||R()}}}function xi(t,e){var n=t.elm;o(n._enterCb)&&(n._enterCb.cancelled=!0,n._enterCb());var i=ri(t.data.transition);if(r(i)||1!==n.nodeType)return e();if(!o(n._leaveCb)){var a=i.css,s=i.type,u=i.leaveClass,f=i.leaveToClass,l=i.leaveActiveClass,p=i.beforeLeave,d=i.leave,h=i.afterLeave,y=i.leaveCancelled,m=i.delayLeave,_=i.duration,g=!1!==a&&!Q,b=Ci(d),w=v(c(_)?_.leave:_);0;var x=n._leaveCb=D(function(){n.parentNode&&n.parentNode._pending&&(n.parentNode._pending[t.key]=null),g&&(hi(n,f),hi(n,l)),x.cancelled?(g&&hi(n,u),y&&y(n)):(e(),h&&h(n)),n._leaveCb=null});m?m(A):A()}function A(){x.cancelled||(t.data.show||((n.parentNode._pending||(n.parentNode._pending={}))[t.key]=t),p&&p(n),g&&(vi(n,u),vi(n,l),di(function(){hi(n,u),x.cancelled||(vi(n,f),b||(Ai(w)?setTimeout(x,w):yi(n,s,x)))})),d&&d(n,x),g||b||x())}}function Ai(t){return"number"===typeof t&&!isNaN(t)}function Ci(t){if(r(t))return!1;var e=t.fns;return o(e)?Ci(Array.isArray(e)?e[0]:e):(t._length||t.length)>1}function Oi(t,e){!0!==e.data.show&&wi(e)}var $i=K?{create:Oi,activate:Oi,remove:function(t,e){!0!==t.data.show?xi(t,e):e()}}:{},ki=[$o,Eo,Do,Bo,ti,$i],Si=ki.concat(xo),Ei=vo({nodeOps:io,modules:Si});Q&&document.addEventListener("selectionchange",function(){var t=document.activeElement;t&&t.vmodel&&Di(t,"input")});var ji={inserted:function(t,e,n,r){"select"===n.tag?(r.elm&&!r.elm._vOptions?_e(n,"postpatch",function(){ji.componentUpdated(t,e,n)}):Ii(t,e,n.context),t._vOptions=[].map.call(t.options,Ni)):("textarea"===n.tag||Wr(t.type))&&(t._vModifiers=e.modifiers,e.modifiers.lazy||(t.addEventListener("compositionstart",Mi),t.addEventListener("compositionend",Li),t.addEventListener("change",Li),Q&&(t.vmodel=!0)))},componentUpdated:function(t,e,n){if("select"===n.tag){Ii(t,e,n.context);var r=t._vOptions,o=t._vOptions=[].map.call(t.options,Ni);if(o.some(function(t,e){return!M(t,r[e])})){var i=t.multiple?e.value.some(function(t){return Pi(t,o)}):e.value!==e.oldValue&&Pi(e.value,o);i&&Di(t,"change")}}}};function Ii(t,e,n){Ti(t,e,n),(Z||tt)&&setTimeout(function(){Ti(t,e,n)},0)}function Ti(t,e,n){var r=e.value,o=t.multiple;if(!o||Array.isArray(r)){for(var i,a,s=0,c=t.options.length;s<c;s++)if(a=t.options[s],o)i=L(r,Ni(a))>-1,a.selected!==i&&(a.selected=i);else if(M(Ni(a),r))return void(t.selectedIndex!==s&&(t.selectedIndex=s));o||(t.selectedIndex=-1)}}function Pi(t,e){return e.every(function(e){return!M(e,t)})}function Ni(t){return"_value"in t?t._value:t.value}function Mi(t){t.target.composing=!0}function Li(t){t.target.composing&&(t.target.composing=!1,Di(t.target,"input"))}function Di(t,e){var n=document.createEvent("HTMLEvents");n.initEvent(e,!0,!0),t.dispatchEvent(n)}function Fi(t){return!t.componentInstance||t.data&&t.data.transition?t:Fi(t.componentInstance._vnode)}var Ri={bind:function(t,e,n){var r=e.value;n=Fi(n);var o=n.data&&n.data.transition,i=t.__vOriginalDisplay="none"===t.style.display?"":t.style.display;r&&o?(n.data.show=!0,wi(n,function(){t.style.display=i})):t.style.display=r?i:"none"},update:function(t,e,n){var r=e.value,o=e.oldValue;if(!r!==!o){n=Fi(n);var i=n.data&&n.data.transition;i?(n.data.show=!0,r?wi(n,function(){t.style.display=t.__vOriginalDisplay}):xi(n,function(){t.style.display="none"})):t.style.display=r?t.__vOriginalDisplay:"none"}},unbind:function(t,e,n,r,o){o||(t.style.display=t.__vOriginalDisplay)}},Ui={model:ji,show:Ri},Vi={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function Bi(t){var e=t&&t.componentOptions;return e&&e.Ctor.options.abstract?Bi(Ee(e.children)):t}function Hi(t){var e={},n=t.$options;for(var r in n.propsData)e[r]=t[r];var o=n._parentListeners;for(var i in o)e[x(i)]=o[i];return e}function zi(t,e){if(/\d-keep-alive$/.test(e.tag))return t("keep-alive",{props:e.componentOptions.propsData})}function Wi(t){while(t=t.parent)if(t.data.transition)return!0}function qi(t,e){return e.key===t.key&&e.tag===t.tag}var Gi={name:"transition",props:Vi,abstract:!0,render:function(t){var e=this,n=this.$slots.default;if(n&&(n=n.filter(function(t){return t.tag||Se(t)}),n.length)){0;var r=this.mode;0;var o=n[0];if(Wi(this.$vnode))return o;var i=Bi(o);if(!i)return o;if(this._leaving)return zi(t,o);var a="__transition-"+this._uid+"-";i.key=null==i.key?i.isComment?a+"comment":a+i.tag:s(i.key)?0===String(i.key).indexOf(a)?i.key:a+i.key:i.key;var c=(i.data||(i.data={})).transition=Hi(this),u=this._vnode,f=Bi(u);if(i.data.directives&&i.data.directives.some(function(t){return"show"===t.name})&&(i.data.show=!0),f&&f.data&&!qi(i,f)&&!Se(f)&&(!f.componentInstance||!f.componentInstance._vnode.isComment)){var l=f.data.transition=j({},c);if("out-in"===r)return this._leaving=!0,_e(l,"afterLeave",function(){e._leaving=!1,e.$forceUpdate()}),zi(t,o);if("in-out"===r){if(Se(i))return u;var p,d=function(){p()};_e(c,"afterEnter",d),_e(c,"enterCancelled",d),_e(l,"delayLeave",function(t){p=t})}}return o}}},Ki=j({tag:String,moveClass:String},Vi);delete Ki.mode;var Xi={props:Ki,render:function(t){for(var e=this.tag||this.$vnode.data.tag||"span",n=Object.create(null),r=this.prevChildren=this.children,o=this.$slots.default||[],i=this.children=[],a=Hi(this),s=0;s<o.length;s++){var c=o[s];if(c.tag)if(null!=c.key&&0!==String(c.key).indexOf("__vlist"))i.push(c),n[c.key]=c,(c.data||(c.data={})).transition=a;else;}if(r){for(var u=[],f=[],l=0;l<r.length;l++){var p=r[l];p.data.transition=a,p.data.pos=p.elm.getBoundingClientRect(),n[p.key]?u.push(p):f.push(p)}this.kept=t(e,null,u),this.removed=f}return t(e,null,i)},beforeUpdate:function(){this.__patch__(this._vnode,this.kept,!1,!0),this._vnode=this.kept},updated:function(){var t=this.prevChildren,e=this.moveClass||(this.name||"v")+"-move";t.length&&this.hasMove(t[0].elm,e)&&(t.forEach(Ji),t.forEach(Yi),t.forEach(Zi),this._reflow=document.body.offsetHeight,t.forEach(function(t){if(t.data.moved){var n=t.elm,r=n.style;vi(n,e),r.transform=r.WebkitTransform=r.transitionDuration="",n.addEventListener(ui,n._moveCb=function t(r){r&&!/transform$/.test(r.propertyName)||(n.removeEventListener(ui,t),n._moveCb=null,hi(n,e))})}}))},methods:{hasMove:function(t,e){if(!ii)return!1;if(this._hasMove)return this._hasMove;var n=t.cloneNode();t._transitionClasses&&t._transitionClasses.forEach(function(t){ni(n,t)}),ei(n,e),n.style.display="none",this.$el.appendChild(n);var r=_i(n);return this.$el.removeChild(n),this._hasMove=r.hasTransform}}};function Ji(t){t.elm._moveCb&&t.elm._moveCb(),t.elm._enterCb&&t.elm._enterCb()}function Yi(t){t.data.newPos=t.elm.getBoundingClientRect()}function Zi(t){var e=t.data.pos,n=t.data.newPos,r=e.left-n.left,o=e.top-n.top;if(r||o){t.data.moved=!0;var i=t.elm.style;i.transform=i.WebkitTransform="translate("+r+"px,"+o+"px)",i.transitionDuration="0s"}}var Qi={Transition:Gi,TransitionGroup:Xi};sr.config.mustUseProp=Cr,sr.config.isReservedTag=Vr,sr.config.isReservedAttr=xr,sr.config.getTagNamespace=Br,sr.config.isUnknownElement=zr,j(sr.options.directives,Ui),j(sr.options.components,Qi),sr.prototype.__patch__=K?Ei:T,sr.prototype.$mount=function(t,e){return t=t&&K?qr(t):void 0,Ve(this,t,e)},K&&setTimeout(function(){V.devtools&&at&&at.emit("init",sr)},0),e["a"]=sr}).call(this,n("c8ba"))},"2b4c":function(t,e,n){var r=n("5537")("wks"),o=n("ca5a"),i=n("7726").Symbol,a="function"==typeof i,s=t.exports=function(t){return r[t]||(r[t]=a&&i[t]||(a?i:o)("Symbol."+t))};s.store=r},"2d00":function(t,e){t.exports=!1},"2d95":function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},"31f4":function(t,e){t.exports=function(t,e,n){var r=void 0===n;switch(e.length){case 0:return r?t():t.call(n);case 1:return r?t(e[0]):t.call(n,e[0]);case 2:return r?t(e[0],e[1]):t.call(n,e[0],e[1]);case 3:return r?t(e[0],e[1],e[2]):t.call(n,e[0],e[1],e[2]);case 4:return r?t(e[0],e[1],e[2],e[3]):t.call(n,e[0],e[1],e[2],e[3])}return t.apply(n,e)}},"32e9":function(t,e,n){var r=n("86cc"),o=n("4630");t.exports=n("9e1e")?function(t,e,n){return r.f(t,e,o(1,n))}:function(t,e,n){return t[e]=n,t}},"33a4":function(t,e,n){var r=n("84f2"),o=n("2b4c")("iterator"),i=Array.prototype;t.exports=function(t){return void 0!==t&&(r.Array===t||i[o]===t)}},"38fd":function(t,e,n){var r=n("69a8"),o=n("4bf8"),i=n("613b")("IE_PROTO"),a=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=o(t),r(t,i)?t[i]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?a:null}},"41a0":function(t,e,n){"use strict";var r=n("2aeb"),o=n("4630"),i=n("7f20"),a={};n("32e9")(a,n("2b4c")("iterator"),function(){return this}),t.exports=function(t,e,n){t.prototype=r(a,{next:o(1,n)}),i(t,e+" Iterator")}},4588:function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},4630:function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},"4a59":function(t,e,n){var r=n("9b43"),o=n("1fa8"),i=n("33a4"),a=n("cb7c"),s=n("9def"),c=n("27ee"),u={},f={};e=t.exports=function(t,e,n,l,p){var d,v,h,y,m=p?function(){return t}:c(t),_=r(n,l,e?2:1),g=0;if("function"!=typeof m)throw TypeError(t+" is not iterable!");if(i(m)){for(d=s(t.length);d>g;g++)if(y=e?_(a(v=t[g])[0],v[1]):_(t[g]),y===u||y===f)return y}else for(h=m.call(t);!(v=h.next()).done;)if(y=o(h,_,v.value,e),y===u||y===f)return y};e.BREAK=u,e.RETURN=f},"4bf8":function(t,e,n){var r=n("be13");t.exports=function(t){return Object(r(t))}},"52a7":function(t,e){e.f={}.propertyIsEnumerable},"551c":function(t,e,n){"use strict";var r,o,i,a,s=n("2d00"),c=n("7726"),u=n("9b43"),f=n("23c6"),l=n("5ca1"),p=n("d3f4"),d=n("d8e8"),v=n("f605"),h=n("4a59"),y=n("ebd6"),m=n("1991").set,_=n("8079")(),g=n("a5b8"),b=n("9c80"),w=n("a25f"),x=n("bcaa"),A="Promise",C=c.TypeError,O=c.process,$=O&&O.versions,k=$&&$.v8||"",S=c[A],E="process"==f(O),j=function(){},I=o=g.f,T=!!function(){try{var t=S.resolve(1),e=(t.constructor={})[n("2b4c")("species")]=function(t){t(j,j)};return(E||"function"==typeof PromiseRejectionEvent)&&t.then(j)instanceof e&&0!==k.indexOf("6.6")&&-1===w.indexOf("Chrome/66")}catch(t){}}(),P=function(t){var e;return!(!p(t)||"function"!=typeof(e=t.then))&&e},N=function(t,e){if(!t._n){t._n=!0;var n=t._c;_(function(){var r=t._v,o=1==t._s,i=0,a=function(e){var n,i,a,s=o?e.ok:e.fail,c=e.resolve,u=e.reject,f=e.domain;try{s?(o||(2==t._h&&D(t),t._h=1),!0===s?n=r:(f&&f.enter(),n=s(r),f&&(f.exit(),a=!0)),n===e.promise?u(C("Promise-chain cycle")):(i=P(n))?i.call(n,c,u):c(n)):u(r)}catch(t){f&&!a&&f.exit(),u(t)}};while(n.length>i)a(n[i++]);t._c=[],t._n=!1,e&&!t._h&&M(t)})}},M=function(t){m.call(c,function(){var e,n,r,o=t._v,i=L(t);if(i&&(e=b(function(){E?O.emit("unhandledRejection",o,t):(n=c.onunhandledrejection)?n({promise:t,reason:o}):(r=c.console)&&r.error&&r.error("Unhandled promise rejection",o)}),t._h=E||L(t)?2:1),t._a=void 0,i&&e.e)throw e.v})},L=function(t){return 1!==t._h&&0===(t._a||t._c).length},D=function(t){m.call(c,function(){var e;E?O.emit("rejectionHandled",t):(e=c.onrejectionhandled)&&e({promise:t,reason:t._v})})},F=function(t){var e=this;e._d||(e._d=!0,e=e._w||e,e._v=t,e._s=2,e._a||(e._a=e._c.slice()),N(e,!0))},R=function(t){var e,n=this;if(!n._d){n._d=!0,n=n._w||n;try{if(n===t)throw C("Promise can't be resolved itself");(e=P(t))?_(function(){var r={_w:n,_d:!1};try{e.call(t,u(R,r,1),u(F,r,1))}catch(t){F.call(r,t)}}):(n._v=t,n._s=1,N(n,!1))}catch(t){F.call({_w:n,_d:!1},t)}}};T||(S=function(t){v(this,S,A,"_h"),d(t),r.call(this);try{t(u(R,this,1),u(F,this,1))}catch(t){F.call(this,t)}},r=function(t){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1},r.prototype=n("dcbc")(S.prototype,{then:function(t,e){var n=I(y(this,S));return n.ok="function"!=typeof t||t,n.fail="function"==typeof e&&e,n.domain=E?O.domain:void 0,this._c.push(n),this._a&&this._a.push(n),this._s&&N(this,!1),n.promise},catch:function(t){return this.then(void 0,t)}}),i=function(){var t=new r;this.promise=t,this.resolve=u(R,t,1),this.reject=u(F,t,1)},g.f=I=function(t){return t===S||t===a?new i(t):o(t)}),l(l.G+l.W+l.F*!T,{Promise:S}),n("7f20")(S,A),n("7a56")(A),a=n("8378")[A],l(l.S+l.F*!T,A,{reject:function(t){var e=I(this),n=e.reject;return n(t),e.promise}}),l(l.S+l.F*(s||!T),A,{resolve:function(t){return x(s&&this===a?S:this,t)}}),l(l.S+l.F*!(T&&n("5cc5")(function(t){S.all(t)["catch"](j)})),A,{all:function(t){var e=this,n=I(e),r=n.resolve,o=n.reject,i=b(function(){var n=[],i=0,a=1;h(t,!1,function(t){var s=i++,c=!1;n.push(void 0),a++,e.resolve(t).then(function(t){c||(c=!0,n[s]=t,--a||r(n))},o)}),--a||r(n)});return i.e&&o(i.v),n.promise},race:function(t){var e=this,n=I(e),r=n.reject,o=b(function(){h(t,!1,function(t){e.resolve(t).then(n.resolve,r)})});return o.e&&r(o.v),n.promise}})},5537:function(t,e,n){var r=n("8378"),o=n("7726"),i="__core-js_shared__",a=o[i]||(o[i]={});(t.exports=function(t,e){return a[t]||(a[t]=void 0!==e?e:{})})("versions",[]).push({version:r.version,mode:n("2d00")?"pure":"global",copyright:"© 2018 Denis Pushkarev (zloirock.ru)"})},"5ca1":function(t,e,n){var r=n("7726"),o=n("8378"),i=n("32e9"),a=n("2aba"),s=n("9b43"),c="prototype",u=function(t,e,n){var f,l,p,d,v=t&u.F,h=t&u.G,y=t&u.S,m=t&u.P,_=t&u.B,g=h?r:y?r[e]||(r[e]={}):(r[e]||{})[c],b=h?o:o[e]||(o[e]={}),w=b[c]||(b[c]={});for(f in h&&(n=e),n)l=!v&&g&&void 0!==g[f],p=(l?g:n)[f],d=_&&l?s(p,r):m&&"function"==typeof p?s(Function.call,p):p,g&&a(g,f,p,t&u.U),b[f]!=p&&i(b,f,d),m&&w[f]!=p&&(w[f]=p)};r.core=o,u.F=1,u.G=2,u.S=4,u.P=8,u.B=16,u.W=32,u.U=64,u.R=128,t.exports=u},"5cc5":function(t,e,n){var r=n("2b4c")("iterator"),o=!1;try{var i=[7][r]();i["return"]=function(){o=!0},Array.from(i,function(){throw 2})}catch(t){}t.exports=function(t,e){if(!e&&!o)return!1;var n=!1;try{var i=[7],a=i[r]();a.next=function(){return{done:n=!0}},i[r]=function(){return a},t(i)}catch(t){}return n}},"5dbc":function(t,e,n){var r=n("d3f4"),o=n("8b97").set;t.exports=function(t,e,n){var i,a=e.constructor;return a!==n&&"function"==typeof a&&(i=a.prototype)!==n.prototype&&r(i)&&o&&o(t,i),t}},"613b":function(t,e,n){var r=n("5537")("keys"),o=n("ca5a");t.exports=function(t){return r[t]||(r[t]=o(t))}},"626a":function(t,e,n){var r=n("2d95");t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==r(t)?t.split(""):Object(t)}},6821:function(t,e,n){var r=n("626a"),o=n("be13");t.exports=function(t){return r(o(t))}},"69a8":function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},"6a99":function(t,e,n){var r=n("d3f4");t.exports=function(t,e){if(!r(t))return t;var n,o;if(e&&"function"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;if("function"==typeof(n=t.valueOf)&&!r(o=n.call(t)))return o;if(!e&&"function"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},7333:function(t,e,n){"use strict";var r=n("0d58"),o=n("2621"),i=n("52a7"),a=n("4bf8"),s=n("626a"),c=Object.assign;t.exports=!c||n("79e5")(function(){var t={},e={},n=Symbol(),r="abcdefghijklmnopqrst";return t[n]=7,r.split("").forEach(function(t){e[t]=t}),7!=c({},t)[n]||Object.keys(c({},e)).join("")!=r})?function(t,e){var n=a(t),c=arguments.length,u=1,f=o.f,l=i.f;while(c>u){var p,d=s(arguments[u++]),v=f?r(d).concat(f(d)):r(d),h=v.length,y=0;while(h>y)l.call(d,p=v[y++])&&(n[p]=d[p])}return n}:c},7514:function(t,e,n){"use strict";var r=n("5ca1"),o=n("0a49")(5),i="find",a=!0;i in[]&&Array(1)[i](function(){a=!1}),r(r.P+r.F*a,"Array",{find:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),n("9c6c")(i)},7726:function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},"77f1":function(t,e,n){var r=n("4588"),o=Math.max,i=Math.min;t.exports=function(t,e){return t=r(t),t<0?o(t+e,0):i(t,e)}},"79e5":function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},"7a56":function(t,e,n){"use strict";var r=n("7726"),o=n("86cc"),i=n("9e1e"),a=n("2b4c")("species");t.exports=function(t){var e=r[t];i&&e&&!e[a]&&o.f(e,a,{configurable:!0,get:function(){return this}})}},"7f20":function(t,e,n){var r=n("86cc").f,o=n("69a8"),i=n("2b4c")("toStringTag");t.exports=function(t,e,n){t&&!o(t=n?t:t.prototype,i)&&r(t,i,{configurable:!0,value:e})}},8079:function(t,e,n){var r=n("7726"),o=n("1991").set,i=r.MutationObserver||r.WebKitMutationObserver,a=r.process,s=r.Promise,c="process"==n("2d95")(a);t.exports=function(){var t,e,n,u=function(){var r,o;c&&(r=a.domain)&&r.exit();while(t){o=t.fn,t=t.next;try{o()}catch(r){throw t?n():e=void 0,r}}e=void 0,r&&r.enter()};if(c)n=function(){a.nextTick(u)};else if(!i||r.navigator&&r.navigator.standalone)if(s&&s.resolve){var f=s.resolve(void 0);n=function(){f.then(u)}}else n=function(){o.call(r,u)};else{var l=!0,p=document.createTextNode("");new i(u).observe(p,{characterData:!0}),n=function(){p.data=l=!l}}return function(r){var o={fn:r,next:void 0};e&&(e.next=o),t||(t=o,n()),e=o}}},8378:function(t,e){var n=t.exports={version:"2.5.7"};"number"==typeof __e&&(__e=n)},"84f2":function(t,e){t.exports={}},"86cc":function(t,e,n){var r=n("cb7c"),o=n("c69a"),i=n("6a99"),a=Object.defineProperty;e.f=n("9e1e")?Object.defineProperty:function(t,e,n){if(r(t),e=i(e,!0),r(n),o)try{return a(t,e,n)}catch(t){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},"8afe":function(t,e,n){"use strict";function r(t){if(Array.isArray(t)){for(var e=0,n=new Array(t.length);e<t.length;e++)n[e]=t[e];return n}}function o(t){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t))return Array.from(t)}function i(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function a(t){return r(t)||o(t)||i()}n.d(e,"a",function(){return a})},"8b97":function(t,e,n){var r=n("d3f4"),o=n("cb7c"),i=function(t,e){if(o(t),!r(e)&&null!==e)throw TypeError(e+": can't set as prototype!")};t.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(t,e,r){try{r=n("9b43")(Function.call,n("11e9").f(Object.prototype,"__proto__").set,2),r(t,[]),e=!(t instanceof Array)}catch(t){e=!0}return function(t,n){return i(t,n),e?t.__proto__=n:r(t,n),t}}({},!1):void 0),check:i}},9093:function(t,e,n){var r=n("ce10"),o=n("e11e").concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return r(t,o)}},9393:function(t,e,n){"use strict";function r(t){if(Array.isArray(t))return t}function o(t,e){var n=[],r=!0,o=!1,i=void 0;try{for(var a,s=t[Symbol.iterator]();!(r=(a=s.next()).done);r=!0)if(n.push(a.value),e&&n.length===e)break}catch(t){o=!0,i=t}finally{try{r||null==s["return"]||s["return"]()}finally{if(o)throw i}}return n}function i(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}function a(t,e){return r(t)||o(t,e)||i()}n.d(e,"a",function(){return a})},"9b43":function(t,e,n){var r=n("d8e8");t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,o){return t.call(e,n,r,o)}}return function(){return t.apply(e,arguments)}}},"9c6c":function(t,e,n){var r=n("2b4c")("unscopables"),o=Array.prototype;void 0==o[r]&&n("32e9")(o,r,{}),t.exports=function(t){o[r][t]=!0}},"9c80":function(t,e){t.exports=function(t){try{return{e:!1,v:t()}}catch(t){return{e:!0,v:t}}}},"9def":function(t,e,n){var r=n("4588"),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},"9e1e":function(t,e,n){t.exports=!n("79e5")(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},a25f:function(t,e,n){var r=n("7726"),o=r.navigator;t.exports=o&&o.userAgent||""},a5b8:function(t,e,n){"use strict";var r=n("d8e8");function o(t){var e,n;this.promise=new t(function(t,r){if(void 0!==e||void 0!==n)throw TypeError("Bad Promise constructor");e=t,n=r}),this.resolve=r(e),this.reject=r(n)}t.exports.f=function(t){return new o(t)}},aa77:function(t,e,n){var r=n("5ca1"),o=n("be13"),i=n("79e5"),a=n("fdef"),s="["+a+"]",c="​…",u=RegExp("^"+s+s+"*"),f=RegExp(s+s+"*$"),l=function(t,e,n){var o={},s=i(function(){return!!a[t]()||c[t]()!=c}),u=o[t]=s?e(p):a[t];n&&(o[n]=u),r(r.P+r.F*s,"String",o)},p=l.trim=function(t,e){return t=String(o(t)),1&e&&(t=t.replace(u,"")),2&e&&(t=t.replace(f,"")),t};t.exports=l},bcaa:function(t,e,n){var r=n("cb7c"),o=n("d3f4"),i=n("a5b8");t.exports=function(t,e){if(r(t),o(e)&&e.constructor===t)return e;var n=i.f(t),a=n.resolve;return a(e),n.promise}},be13:function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on  "+t);return t}},c366:function(t,e,n){var r=n("6821"),o=n("9def"),i=n("77f1");t.exports=function(t){return function(e,n,a){var s,c=r(e),u=o(c.length),f=i(a,u);if(t&&n!=n){while(u>f)if(s=c[f++],s!=s)return!0}else for(;u>f;f++)if((t||f in c)&&c[f]===n)return t||f||0;return!t&&-1}}},c5f6:function(t,e,n){"use strict";var r=n("7726"),o=n("69a8"),i=n("2d95"),a=n("5dbc"),s=n("6a99"),c=n("79e5"),u=n("9093").f,f=n("11e9").f,l=n("86cc").f,p=n("aa77").trim,d="Number",v=r[d],h=v,y=v.prototype,m=i(n("2aeb")(y))==d,_="trim"in String.prototype,g=function(t){var e=s(t,!1);if("string"==typeof e&&e.length>2){e=_?e.trim():p(e,3);var n,r,o,i=e.charCodeAt(0);if(43===i||45===i){if(n=e.charCodeAt(2),88===n||120===n)return NaN}else if(48===i){switch(e.charCodeAt(1)){case 66:case 98:r=2,o=49;break;case 79:case 111:r=8,o=55;break;default:return+e}for(var a,c=e.slice(2),u=0,f=c.length;u<f;u++)if(a=c.charCodeAt(u),a<48||a>o)return NaN;return parseInt(c,r)}}return+e};if(!v(" 0o1")||!v("0b1")||v("+0x1")){v=function(t){var e=arguments.length<1?0:t,n=this;return n instanceof v&&(m?c(function(){y.valueOf.call(n)}):i(n)!=d)?a(new h(g(e)),n,v):g(e)};for(var b,w=n("9e1e")?u(h):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),x=0;w.length>x;x++)o(h,b=w[x])&&!o(v,b)&&l(v,b,f(h,b));v.prototype=y,y.constructor=v,n("2aba")(r,d,v)}},c69a:function(t,e,n){t.exports=!n("9e1e")&&!n("79e5")(function(){return 7!=Object.defineProperty(n("230e")("div"),"a",{get:function(){return 7}}).a})},c8ba:function(t,e){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(t){"object"===typeof window&&(n=window)}t.exports=n},ca5a:function(t,e){var n=0,r=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++n+r).toString(36))}},cadf:function(t,e,n){"use strict";var r=n("9c6c"),o=n("d53b"),i=n("84f2"),a=n("6821");t.exports=n("01f9")(Array,"Array",function(t,e){this._t=a(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,o(1)):o(0,"keys"==e?n:"values"==e?t[n]:[n,t[n]])},"values"),i.Arguments=i.Array,r("keys"),r("values"),r("entries")},cb7c:function(t,e,n){var r=n("d3f4");t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},cd1c:function(t,e,n){var r=n("e853");t.exports=function(t,e){return new(r(t))(e)}},ce10:function(t,e,n){var r=n("69a8"),o=n("6821"),i=n("c366")(!1),a=n("613b")("IE_PROTO");t.exports=function(t,e){var n,s=o(t),c=0,u=[];for(n in s)n!=a&&r(s,n)&&u.push(n);while(e.length>c)r(s,n=e[c++])&&(~i(u,n)||u.push(n));return u}},d3f4:function(t,e){t.exports=function(t){return"object"===typeof t?null!==t:"function"===typeof t}},d53b:function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},d8e8:function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},dcbc:function(t,e,n){var r=n("2aba");t.exports=function(t,e,n){for(var o in e)r(t,o,e[o],n);return t}},e11e:function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},e853:function(t,e,n){var r=n("d3f4"),o=n("1169"),i=n("2b4c")("species");t.exports=function(t){var e;return o(t)&&(e=t.constructor,"function"!=typeof e||e!==Array&&!o(e.prototype)||(e=void 0),r(e)&&(e=e[i],null===e&&(e=void 0))),void 0===e?Array:e}},ebd6:function(t,e,n){var r=n("cb7c"),o=n("d8e8"),i=n("2b4c")("species");t.exports=function(t,e){var n,a=r(t).constructor;return void 0===a||void 0==(n=r(a)[i])?e:o(n)}},f605:function(t,e){t.exports=function(t,e,n,r){if(!(t instanceof e)||void 0!==r&&r in t)throw TypeError(n+": incorrect invocation!");return t}},f751:function(t,e,n){var r=n("5ca1");r(r.S+r.F,"Object",{assign:n("7333")})},fab2:function(t,e,n){var r=n("7726").document;t.exports=r&&r.documentElement},fdef:function(t,e){t.exports="\t\n\v\f\r   ᠎              \u2028\u2029\ufeff"}}]);
//# sourceMappingURL=chunk-vendors.063ae98f.js.map

================================================
FILE: package.json
================================================
{
  "name": "vue-simple-flowchart",
  "version": "0.1.8",
  "private": false,
  "main": "./dist/vue-flowchart.common.js",
  "files": [
    "dist"
  ],
  "scripts": {
    "serve": "vue-cli-service serve",
    "build": "vue-cli-service build --dest demo",
    "lint": "vue-cli-service lint",
    "build:bundle": "vue-cli-service build --target lib --name vue-flowchart ./src/index.js"
  },
  "license": "MIT",
  "dependencies": {
    "vue": "^2.5.17"
  },
  "devDependencies": {
    "@vue/cli-plugin-babel": "^3.0.0",
    "@vue/cli-plugin-eslint": "^3.0.0",
    "@vue/cli-service": "^3.0.0",
    "node-sass": "^4.9.3",
    "sass-loader": "^7.1.0",
    "vue-template-compiler": "^2.5.17"
  },
  "eslintConfig": {
    "root": true,
    "env": {
      "node": true
    },
    "extends": [
      "plugin:vue/essential",
      "eslint:recommended"
    ],
    "rules": {},
    "parserOptions": {
      "parser": "babel-eslint"
    }
  },
  "postcss": {
    "plugins": {
      "autoprefixer": {}
    }
  },
  "browserslist": [
    "> 1%",
    "last 2 versions",
    "not ie <= 8"
  ],
  "repository": {
    "type": "git",
    "url": "https://github.com/Jeffreyrn/vue-simple-flowchart"
  }
}


================================================
FILE: public/index.html
================================================
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width,initial-scale=1.0">
    <link rel="icon" href="<%= BASE_URL %>favicon.ico">
    <title>vue-simple-flowchart</title>
  </head>
  <body>
    <noscript>
      <strong>We're sorry but vue-simple-flowchart doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
    </noscript>
    <div id="app"></div>
    <!-- built files will be auto injected -->
  </body>
</html>


================================================
FILE: src/App.vue
================================================
<template>
  <div id="app">
    <h1> simple flowchart</h1>
    <div class="tool-wrapper">
      <select v-model="newNodeType">
        <option v-for="(item, index) in nodeCategory" :key="index" :value="index">{{item}}</option>
      </select>
      <input type="text" v-model="newNodeLabel" placeholder="Input node label">
      <button @click="addNode">ADD</button>
    </div>
    
    <simple-flowchart :scene.sync="scene" 
      @nodeClick="nodeClick"
      @nodeDelete="nodeDelete"
      @linkBreak="linkBreak"
      @linkAdded="linkAdded"
      @canvasClick="canvasClick"
      :height="800"/>
  </div>
</template>

<script>
import SimpleFlowchart from './components/SimpleFlowchart.vue'

export default {
  name: 'app',
  components: {
    SimpleFlowchart
  },
  data() {
    return {
      scene: {
        centerX: 1024,
        centerY: 140,
        scale: 1,
        nodes: [
          {
            id: 2,
            x: -700,
            y: -69,
            type: 'Action',
            label: 'test1',
          },
          {
            id: 4,
            x: -357,
            y: 80,
            type: 'Script',
            label: 'test2',
          },
          {
            id: 6,
            x: -557,
            y: 80,
            type: 'Rule',
            label: 'test3',
          }
        ],
        links: [
          {
            id: 3,
            from: 2, // node id the link start
            to: 4,  // node id the link end
          }
        ]
      },
      newNodeType: 0,
      newNodeLabel: '',
      nodeCategory:[
        'rule',
        'action',
        'script',
        'decision',
        'fork',
        'join',
      ],
    }
  },
  methods: {
    canvasClick(e) {
      console.log('canvas Click, event:', e)
    },
    addNode() {
      let maxID = Math.max(0, ...this.scene.nodes.map((link) => {
        return link.id
      }))
      this.scene.nodes.push({
        id: maxID + 1,
        x: -400,
        y: 50,
        type: this.nodeCategory[this.newNodeType],
        label: this.newNodeLabel ? this.newNodeLabel: `test${maxID + 1}`,
      })
    },
    nodeClick(id) {
      console.log('node click', id);
    },
    nodeDelete(id) {
      console.log('node delete', id);
    },
    linkBreak(id) {
      console.log('link break', id);
    },
    linkAdded(link) {
      console.log('new link added:', link);
    }
  }
}
</script>

<style lang="scss">
#app {
  font-family: 'Avenir', Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
  margin: 0;
  overflow: hidden;
  height: 800px;
  .tool-wrapper {
    position: relative;
  }
}
</style>


================================================
FILE: src/assets/utilty/position.js
================================================


/**
 * @param element {HTMLElement}
 * @return {{top: number, left: number}}
 */
function getOffsetRect (element) {
  let box = element.getBoundingClientRect()

  let scrollTop = window.pageYOffset
  let scrollLeft = window.pageXOffset

  let top = box.top + scrollTop
  let left = box.left + scrollLeft

  return {top: Math.round(top), left: Math.round(left)}
}
/**
 * @param event {MouseEvent}
 * @param element {HTMLElement}
 * @return {{x: number, y: number}}
 */
function getMousePosition (element, event) {
  let mouseX = event.pageX || event.clientX + document.documentElement.scrollLeft
  let mouseY = event.pageY || event.clientY + document.documentElement.scrollTop

  let offset = getOffsetRect(element)
  let x = mouseX - offset.left
  let y = mouseY - offset.top
 
  return [x, y];
}

export {
  getMousePosition, getOffsetRect
}


================================================
FILE: src/components/FlowchartLink.vue
================================================
<template>
  <g @mouseover="handleMouseOver"
    @mouseleave="handleMouseLeave">
    <path :d="dAttr" :style="pathStyle"></path>
    <a v-if="show.delete" @click="deleteLink">
      <text 
        text-anchor="middle" 
        :transform="arrowTransform"
        font-size="22">&times;</text>
    </a>
    <path v-else d="M -1 -1 L 0 1 L 1 -1 z"
      :style="arrowStyle"
      :transform="arrowTransform"></path>
  </g>
</template>

<script>
export default {
  name: 'FlowchartLink',
  props: {
    // start point position [x, y]
    start: {
      type: Array,
      default() {
        return [0, 0]
      }
    },
    // end point position [x, y]
    end: {
      type: Array,
      default() {
        return [0, 0]
      }
    },
    id: Number,
  },
  data() {
    return {
      show: {
        delete: false,
      }
    }
  },
  methods: {
    handleMouseOver() {
      if (this.id) {
        this.show.delete = true;
      }
    },
    handleMouseLeave() {
      this.show.delete = false;
    },
    caculateCenterPoint() {
      // caculate arrow position: the center point between start and end
      const dx = (this.end[0] - this.start[0]) / 2;
      const dy = (this.end[1] - this.start[1]) / 2;
      return [this.start[0] + dx, this.start[1] + dy];
    },
    caculateRotation() {
      // caculate arrow rotation
      const angle = -Math.atan2(this.end[0] - this.start[0], this.end[1] - this.start[1]);
      const degree = angle * 180 / Math.PI;
      return degree < 0 ? degree + 360 : degree;
    },
    deleteLink() {
      this.$emit('deleteLink')
    }
  },
  computed: {
    pathStyle() {
      return {
        stroke: 'rgb(255, 136, 85)',
        strokeWidth: 2.73205,
        fill: 'none',
      }
    },
    arrowStyle() {
      return {
        stroke: 'rgb(255, 136, 85)',
        strokeWidth: 5.73205,
        fill: 'none',
      }
    },
    arrowTransform() {
      const [arrowX, arrowY] = this.caculateCenterPoint();
      const degree = this.caculateRotation()
      return `translate(${arrowX}, ${arrowY}) rotate(${degree})`;
    },
    dAttr() {
      let cx = this.start[0], cy = this.start[1], ex = this.end[0], ey = this.end[1];
      let x1 = cx, y1 = cy + 50, x2 = ex, y2 = ey - 50;
      return `M ${cx}, ${cy} C ${x1}, ${y1}, ${x2}, ${y2}, ${ex}, ${ey}`;
    }
  }
}
</script>

<style scoped lang="scss">
g {
  cursor: pointer;
}
</style>

================================================
FILE: src/components/FlowchartNode.vue
================================================
<template>
  <div class="flowchart-node" :style="nodeStyle" 
    @mousedown="handleMousedown"
    @mouseover="handleMouseOver"
    @mouseleave="handleMouseLeave"
    v-bind:class="{selected: options.selected === id}">
    <div class="node-port node-input"
       @mousedown="inputMouseDown"
       @mouseup="inputMouseUp">
    </div>
    <div class="node-main">
      <div v-text="type" class="node-type"></div>
      <div v-text="label" class="node-label"></div>
    </div>
    <div class="node-port node-output" 
      @mousedown="outputMouseDown">
    </div>
    <div v-show="show.delete" class="node-delete">&times;</div>
  </div>
</template>

<script>
export default {
  name: 'FlowchartNode',
  props: {
    id: {
      type: Number,
      default: 1000,
      validator(val) {
        return typeof val === 'number'
      }
    },
    x: {
      type: Number,
      default: 0,
      validator(val) {
        return typeof val === 'number'
      }
    },    
    y: {
      type: Number,
      default: 0,
      validator(val) {
        return typeof val === 'number'
      }
    },
    type: {
      type: String,
      default: 'Default'
    },
    label: {
      type: String,
      default: 'input name'
    },
    options: {
      type: Object,
      default() {
        return {
          centerX: 1024,
          scale: 1,
          centerY: 140,
        }
      }
    }
  },
  data() {
    return {
      show: {
        delete: false,
      }
    }
  },
  mounted() {
  },
  computed: {
    nodeStyle() {
      return {
        top: this.options.centerY + this.y * this.options.scale + 'px', // remove: this.options.offsetTop + 
        left: this.options.centerX + this.x * this.options.scale + 'px', // remove: this.options.offsetLeft + 
        transform: `scale(${this.options.scale})`,
      }
    }
  },
  methods: {
    handleMousedown(e) {
      const target = e.target || e.srcElement;
      // console.log(target);
      if (target.className.indexOf('node-input') < 0 && target.className.indexOf('node-output') < 0) {
        this.$emit('nodeSelected', e);
      }
      e.preventDefault();
    },
    handleMouseOver() {
      this.show.delete = true;
    },
    handleMouseLeave() {
      this.show.delete = false;
    },
    outputMouseDown(e) {
      this.$emit('linkingStart')
      e.preventDefault();
    },
    inputMouseDown(e) {
      e.preventDefault();
    },
    inputMouseUp(e) {
      this.$emit('linkingStop')
      e.preventDefault();
    },
  }
}
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped lang="scss">
$themeColor: rgb(255, 136, 85);
$portSize: 12;

.flowchart-node {
  margin: 0;
  width: 80px;
  height: 80px;
  position: absolute;
  box-sizing: border-box;
  border: none;
  background: white;
  z-index: 1;
  opacity: .9;
  cursor: move;
  transform-origin: top left;
  .node-main {
    text-align: center;
    .node-type {
      background: $themeColor;
      color: white;
      font-size: 13px;
      padding: 6px;
    }
    .node-label {
      font-size: 13px;
    }
  }
  .node-port {
    position: absolute;
    width: #{$portSize}px;
    height: #{$portSize}px;
    left: 50%;
    transform: translate(-50%);
    border: 1px solid #ccc;
    border-radius: 100px;
    background: white;
    &:hover {
      background: $themeColor;
      border: 1px solid $themeColor;
    }
  }
  .node-input {
    top: #{-2+$portSize/-2}px;
  }
  .node-output {
    bottom: #{-2+$portSize/-2}px;
  }
  .node-delete {
    position: absolute;
    right: -6px;
    top: -6px;
    font-size: 12px;
    width: 12px;
    height: 12px;
    color: $themeColor;
    cursor: pointer;
    background: white;
    border: 1px solid $themeColor;
    border-radius: 100px;
    text-align: center;
    &:hover{
      background: $themeColor;
      color: white;
    }
  }
}
.selected {
  box-shadow: 0 0 0 2px $themeColor;
}
</style>


================================================
FILE: src/components/SimpleFlowchart.vue
================================================
<template>
  <div class="flowchart-container" 
    @mousemove="handleMove" 
    @mouseup="handleUp"
    @mousedown="handleDown">
    <svg width="100%" :height="`${height}px`">
      <flowchart-link v-bind.sync="link" 
        v-for="(link, index) in lines" 
        :key="`link${index}`"
        @deleteLink="linkDelete(link.id)">
      </flowchart-link>
    </svg>
    <flowchart-node v-bind.sync="node" 
      v-for="(node, index) in scene.nodes" 
      :key="`node${index}`"
      :options="nodeOptions"
      @linkingStart="linkingStart(node.id)"
      @linkingStop="linkingStop(node.id)"
      @nodeSelected="nodeSelected(node.id, $event)">
    </flowchart-node>
  </div>
</template>

<script>
import FlowchartLink from './FlowchartLink.vue';
import FlowchartNode from './FlowchartNode.vue';
import { getMousePosition } from '../assets/utilty/position';

export default {
  name: 'VueFlowchart',
  props: {
    scene: {
      type: Object,
      default() {
        return {
          centerX: 1024,
          scale: 1,
          centerY: 140,
          nodes: [],
          links: [],
        }
      }
    },
    height: {
      type: Number,
      default: 400,
    },
  },
  data() {
    return {
      action: {
        linking: false,
        dragging: false,
        scrolling: false,
        selected: 0,
      },
      mouse: {
        x: 0,
        y: 0,
        lastX: 0,
        lastY: 0,
      },
      draggingLink: null,
      rootDivOffset: {
        top: 0,
        left: 0
      },
    };
  },
  components: {
    FlowchartLink,
    FlowchartNode,
  },
  computed: {
    nodeOptions() {
      return {
        centerY: this.scene.centerY,
        centerX: this.scene.centerX,
        scale: this.scene.scale,
        offsetTop: this.rootDivOffset.top,
        offsetLeft: this.rootDivOffset.left,
        selected: this.action.selected,
      }
    },
    lines() {
      const lines = this.scene.links.map((link) => {
        const fromNode = this.findNodeWithID(link.from)
        const toNode = this.findNodeWithID(link.to)
        let x, y, cy, cx, ex, ey;
        x = this.scene.centerX + fromNode.x;
        y = this.scene.centerY + fromNode.y;
        [cx, cy] = this.getPortPosition('bottom', x, y);
        x = this.scene.centerX + toNode.x;
        y = this.scene.centerY + toNode.y;
        [ex, ey] = this.getPortPosition('top', x, y);
        return { 
          start: [cx, cy], 
          end: [ex, ey],
          id: link.id,
        };
      })
      if (this.draggingLink) {
        let x, y, cy, cx;
        const fromNode = this.findNodeWithID(this.draggingLink.from)
        x = this.scene.centerX + fromNode.x;
        y = this.scene.centerY + fromNode.y;
        [cx, cy] = this.getPortPosition('bottom', x, y);
        // push temp dragging link, mouse cursor postion = link end postion 
        lines.push({ 
          start: [cx, cy], 
          end: [this.draggingLink.mx, this.draggingLink.my],
        })
      }
      return lines;
    }
  },
  mounted() {
    this.rootDivOffset.top = this.$el ? this.$el.offsetTop : 0;
    this.rootDivOffset.left = this.$el ? this.$el.offsetLeft : 0;
    // console.log(22222, this.rootDivOffset);
  },
  methods: {
    findNodeWithID(id) {
      return this.scene.nodes.find((item) => {
          return id === item.id
      })
    },
    getPortPosition(type, x, y) {
      if (type === 'top') {
        return [x + 40, y];
      }
      else if (type === 'bottom') {
        return [x + 40, y + 80];
      }
    },
    linkingStart(index) {
      this.action.linking = true;
      this.draggingLink = {
        from: index,
        mx: 0,
        my: 0,
      };
    },
    linkingStop(index) {
      // add new Link
      if (this.draggingLink && this.draggingLink.from !== index) {
        // check link existence
        const existed = this.scene.links.find((link) => {
          return link.from === this.draggingLink.from && link.to === index;
        })
        if (!existed) {
          let maxID = Math.max(0, ...this.scene.links.map((link) => {
            return link.id
          }))
          const newLink = {
            id: maxID + 1,
            from: this.draggingLink.from,
            to: index,
          };
          this.scene.links.push(newLink)
          this.$emit('linkAdded', newLink)
        }
      }
      this.draggingLink = null
    },
    linkDelete(id) {
      const deletedLink = this.scene.links.find((item) => {
          return item.id === id;
      });
      if (deletedLink) {
        this.scene.links = this.scene.links.filter((item) => {
            return item.id !== id;
        });
        this.$emit('linkBreak', deletedLink);
      }
    },
    nodeSelected(id, e) {
      this.action.dragging = id;
      this.action.selected = id;
      this.$emit('nodeClick', id);
      this.mouse.lastX = e.pageX || e.clientX + document.documentElement.scrollLeft
      this.mouse.lastY = e.pageY || e.clientY + document.documentElement.scrollTop
    },
    handleMove(e) {
      if (this.action.linking) {
        [this.mouse.x, this.mouse.y] = getMousePosition(this.$el, e);
        [this.draggingLink.mx, this.draggingLink.my] = [this.mouse.x, this.mouse.y];
      }
      if (this.action.dragging) {
        this.mouse.x = e.pageX || e.clientX + document.documentElement.scrollLeft
        this.mouse.y = e.pageY || e.clientY + document.documentElement.scrollTop
        let diffX = this.mouse.x - this.mouse.lastX;
        let diffY = this.mouse.y - this.mouse.lastY;

        this.mouse.lastX = this.mouse.x;
        this.mouse.lastY = this.mouse.y;
        this.moveSelectedNode(diffX, diffY);
      }
      if (this.action.scrolling) {
        [this.mouse.x, this.mouse.y] = getMousePosition(this.$el, e);
        let diffX = this.mouse.x - this.mouse.lastX;
        let diffY = this.mouse.y - this.mouse.lastY;

        this.mouse.lastX = this.mouse.x;
        this.mouse.lastY = this.mouse.y;

        this.scene.centerX += diffX;
        this.scene.centerY += diffY;

        // this.hasDragged = true
      }
    },
    handleUp(e) {
      const target = e.target || e.srcElement;
      if (this.$el.contains(target)) {
        if (typeof target.className !== 'string' || target.className.indexOf('node-input') < 0) {
          this.draggingLink = null;
        }
        if (typeof target.className === 'string' && target.className.indexOf('node-delete') > -1) {
          // console.log('delete2', this.action.dragging);
          this.nodeDelete(this.action.dragging);
        }
      }
      this.action.linking = false;
      this.action.dragging = null;
      this.action.scrolling = false;
    },
    handleDown(e) {
      const target = e.target || e.srcElement;
      // console.log('for scroll', target, e.keyCode, e.which)
      if ((target === this.$el || target.matches('svg, svg *')) && e.which === 1) {
        this.action.scrolling = true;
        [this.mouse.lastX, this.mouse.lastY] = getMousePosition(this.$el, e);
        this.action.selected = null; // deselectAll
      }
      this.$emit('canvasClick', e);
    },
    moveSelectedNode(dx, dy) {
      let index = this.scene.nodes.findIndex((item) => {
        return item.id === this.action.dragging
      })
      let left = this.scene.nodes[index].x + dx / this.scene.scale;
      let top = this.scene.nodes[index].y + dy / this.scene.scale;
      this.$set(this.scene.nodes, index, Object.assign(this.scene.nodes[index], {
        x: left,
        y: top,
      }));
    },
    nodeDelete(id) {
      this.scene.nodes = this.scene.nodes.filter((node) => {
        return node.id !== id;
      })
      this.scene.links = this.scene.links.filter((link) => {
        return link.from !== id && link.to !== id
      })
      this.$emit('nodeDelete', id)
    }
  },
}
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped lang="scss">
.flowchart-container {
  margin: 0;
  background: #ddd;
  position: relative;
  overflow: hidden;
  svg {
    cursor: grab;
  }
}
</style>


================================================
FILE: src/index.js
================================================

import SimpleFlowchart from './components/SimpleFlowchart.vue'
export default SimpleFlowchart;

================================================
FILE: src/main.js
================================================
import Vue from 'vue'
import App from './App.vue'

Vue.config.productionTip = false

new Vue({
  render: h => h(App)
}).$mount('#app')


================================================
FILE: vue.config.js
================================================
module.exports = {
    baseUrl: './'
    // options...
}
Download .txt
gitextract_syknygiv/

├── .gitignore
├── .npmrc
├── LICENSE
├── README.md
├── babel.config.js
├── demo/
│   ├── css/
│   │   └── app.34b94fa0.css
│   ├── index.html
│   └── js/
│       ├── app.ea39b09e.js
│       └── chunk-vendors.063ae98f.js
├── package.json
├── public/
│   └── index.html
├── src/
│   ├── App.vue
│   ├── assets/
│   │   └── utilty/
│   │       └── position.js
│   ├── components/
│   │   ├── FlowchartLink.vue
│   │   ├── FlowchartNode.vue
│   │   └── SimpleFlowchart.vue
│   ├── index.js
│   └── main.js
└── vue.config.js
Download .txt
SYMBOL INDEX (254 symbols across 3 files)

FILE: demo/js/app.ea39b09e.js
  function t (line 1) | function t(t){for(var o,r,a=t[0],c=t[1],l=t[2],d=0,h=[];d<a.length;d++)r...
  function n (line 1) | function n(){for(var e,t=0;t<s.length;t++){for(var n=s[t],o=!0,a=1;a<n.l...
  function r (line 1) | function r(t){if(o[t])return o[t].exports;var n=o[t]={i:t,l:!1,exports:{...
  function O (line 1) | function O(e){var t=e.getBoundingClientRect(),n=window.pageYOffset,o=win...
  function L (line 1) | function L(e,t){var n=t.pageX||t.clientX+document.documentElement.scroll...

FILE: demo/js/chunk-vendors.063ae98f.js
  function r (line 1) | function r(t,e,n,r,o,i,a,s){var c,u="function"===typeof t?t.options:t;if...
  function r (line 7) | function r(t){return void 0===t||null===t}
  function o (line 7) | function o(t){return void 0!==t&&null!==t}
  function i (line 7) | function i(t){return!0===t}
  function a (line 7) | function a(t){return!1===t}
  function s (line 7) | function s(t){return"string"===typeof t||"number"===typeof t||"symbol"==...
  function c (line 7) | function c(t){return null!==t&&"object"===typeof t}
  function f (line 7) | function f(t){return"[object Object]"===u.call(t)}
  function l (line 7) | function l(t){return"[object RegExp]"===u.call(t)}
  function p (line 7) | function p(t){var e=parseFloat(String(t));return e>=0&&Math.floor(e)===e...
  function d (line 7) | function d(t){return null==t?"":"object"===typeof t?JSON.stringify(t,nul...
  function v (line 7) | function v(t){var e=parseFloat(t);return isNaN(e)?t:e}
  function h (line 7) | function h(t,e){for(var n=Object.create(null),r=t.split(","),o=0;o<r.len...
  function m (line 7) | function m(t,e){if(t.length){var n=t.indexOf(e);if(n>-1)return t.splice(...
  function g (line 7) | function g(t,e){return _.call(t,e)}
  function b (line 7) | function b(t){var e=Object.create(null);return function(n){var r=e[n];re...
  function $ (line 7) | function $(t,e){function n(n){var r=arguments.length;return r?r>1?t.appl...
  function k (line 7) | function k(t,e){return t.bind(e)}
  function E (line 7) | function E(t,e){e=e||0;var n=t.length-e,r=new Array(n);while(n--)r[n]=t[...
  function j (line 7) | function j(t,e){for(var n in e)t[n]=e[n];return t}
  function I (line 7) | function I(t){for(var e={},n=0;n<t.length;n++)t[n]&&j(e,t[n]);return e}
  function T (line 7) | function T(t,e,n){}
  function M (line 7) | function M(t,e){if(t===e)return!0;var n=c(t),r=c(e);if(!n||!r)return!n&&...
  function L (line 7) | function L(t,e){for(var n=0;n<t.length;n++)if(M(t[n],e))return n;return-1}
  function D (line 7) | function D(t){var e=!1;return function(){e||(e=!0,t.apply(this,arguments...
  function B (line 7) | function B(t){var e=(t+"").charCodeAt(0);return 36===e||95===e}
  function H (line 7) | function H(t,e,n,r){Object.defineProperty(t,e,{value:n,enumerable:!!r,wr...
  function W (line 7) | function W(t){if(!z.test(t)){var e=t.split(".");return function(t){for(v...
  function st (line 7) | function st(t){return"function"===typeof t&&/native code/.test(t.toStrin...
  function t (line 7) | function t(){this.set=Object.create(null)}
  function vt (line 7) | function vt(t){pt.target&&dt.push(pt.target),pt.target=t}
  function ht (line 7) | function ht(){pt.target=dt.pop()}
  function gt (line 7) | function gt(t){return new yt(void 0,void 0,void 0,String(t))}
  function bt (line 7) | function bt(t){var e=new yt(t.tag,t.data,t.children,t.text,t.elm,t.conte...
  function $t (line 7) | function $t(t){Ot=t}
  function St (line 7) | function St(t,e,n){t.__proto__=e}
  function Et (line 7) | function Et(t,e,n){for(var r=0,o=n.length;r<o;r++){var i=n[r];H(t,i,e[i])}}
  function jt (line 7) | function jt(t,e){var n;if(c(t)&&!(t instanceof yt))return g(t,"__ob__")&...
  function It (line 7) | function It(t,e,n,r,o){var i=new pt,a=Object.getOwnPropertyDescriptor(t,...
  function Tt (line 7) | function Tt(t,e,n){if(Array.isArray(t)&&p(e))return t.length=Math.max(t....
  function Pt (line 7) | function Pt(t,e){if(Array.isArray(t)&&p(e))t.splice(e,1);else{var n=t.__...
  function Nt (line 7) | function Nt(t){for(var e=void 0,n=0,r=t.length;n<r;n++)e=t[n],e&&e.__ob_...
  function Lt (line 7) | function Lt(t,e){if(!e)return t;for(var n,r,o,i=Object.keys(e),a=0;a<i.l...
  function Dt (line 7) | function Dt(t,e,n){return n?function(){var r="function"===typeof e?e.cal...
  function Ft (line 7) | function Ft(t,e){return e?t?t.concat(e):Array.isArray(e)?e:[e]:t}
  function Rt (line 7) | function Rt(t,e,n,r){var o=Object.create(t||null);return e?j(o,e):o}
  function Vt (line 7) | function Vt(t,e){var n=t.props;if(n){var r,o,i,a={};if(Array.isArray(n))...
  function Bt (line 7) | function Bt(t,e){var n=t.inject;if(n){var r=t.inject={};if(Array.isArray...
  function Ht (line 7) | function Ht(t){var e=t.directives;if(e)for(var n in e){var r=e[n];"funct...
  function zt (line 7) | function zt(t,e,n){"function"===typeof e&&(e=e.options),Vt(e,n),Bt(e,n),...
  function Wt (line 7) | function Wt(t,e,n,r){if("string"===typeof n){var o=t[e];if(g(o,n))return...
  function qt (line 7) | function qt(t,e,n,r){var o=e[t],i=!g(n,t),a=n[t],s=Jt(Boolean,o.type);if...
  function Gt (line 7) | function Gt(t,e,n){if(g(e,"default")){var r=e.default;return t&&t.$optio...
  function Kt (line 7) | function Kt(t){var e=t&&t.toString().match(/^\s*function (\w+)/);return ...
  function Xt (line 7) | function Xt(t,e){return Kt(t)===Kt(e)}
  function Jt (line 7) | function Jt(t,e){if(!Array.isArray(e))return Xt(e,t)?0:-1;for(var n=0,r=...
  function Yt (line 7) | function Yt(t,e,n){if(e){var r=e;while(r=r.$parent){var o=r.$options.err...
  function Zt (line 7) | function Zt(t,e,n){if(V.errorHandler)try{return V.errorHandler.call(null...
  function Qt (line 7) | function Qt(t,e,n){if(!K&&!X||"undefined"===typeof console)throw t;conso...
  function oe (line 7) | function oe(){re=!1;var t=ne.slice(0);ne.length=0;for(var e=0;e<t.length...
  function ue (line 7) | function ue(t){return t._withTask||(t._withTask=function(){ie=!0;var e=t...
  function fe (line 7) | function fe(t,e){var n;if(ne.push(function(){if(t)try{t.call(e)}catch(t)...
  function pe (line 7) | function pe(t){de(t,le),le.clear()}
  function de (line 7) | function de(t,e){var n,r,o=Array.isArray(t);if(!(!o&&!c(t)||Object.isFro...
  function ye (line 7) | function ye(t){function e(){var t=arguments,n=e.fns;if(!Array.isArray(n)...
  function me (line 7) | function me(t,e,n,o,i){var a,s,c,u;for(a in t)s=t[a],c=e[a],u=he(a),r(s)...
  function _e (line 7) | function _e(t,e,n){var a;t instanceof yt&&(t=t.data.hook||(t.data.hook={...
  function ge (line 7) | function ge(t,e,n){var i=e.options.props;if(!r(i)){var a={},s=t.attrs,c=...
  function be (line 7) | function be(t,e,n,r,i){if(o(e)){if(g(e,n))return t[n]=e[n],i||delete e[n...
  function we (line 7) | function we(t){for(var e=0;e<t.length;e++)if(Array.isArray(t[e]))return ...
  function xe (line 7) | function xe(t){return s(t)?[gt(t)]:Array.isArray(t)?Ce(t):void 0}
  function Ae (line 7) | function Ae(t){return o(t)&&o(t.text)&&a(t.isComment)}
  function Ce (line 7) | function Ce(t,e){var n,a,c,u,f=[];for(n=0;n<t.length;n++)a=t[n],r(a)||"b...
  function Oe (line 7) | function Oe(t,e){return(t.__esModule||ut&&"Module"===t[Symbol.toStringTa...
  function $e (line 7) | function $e(t,e,n,r,o){var i=_t();return i.asyncFactory=t,i.asyncMeta={d...
  function ke (line 7) | function ke(t,e,n){if(i(t.error)&&o(t.errorComp))return t.errorComp;if(o...
  function Se (line 7) | function Se(t){return t.isComment&&t.asyncFactory}
  function Ee (line 7) | function Ee(t){if(Array.isArray(t))for(var e=0;e<t.length;e++){var n=t[e...
  function je (line 7) | function je(t){t._events=Object.create(null),t._hasHookEvent=!1;var e=t....
  function Ie (line 7) | function Ie(t,e,n){n?ve.$once(t,e):ve.$on(t,e)}
  function Te (line 7) | function Te(t,e){ve.$off(t,e)}
  function Pe (line 7) | function Pe(t,e,n){ve=t,me(e,n||{},Ie,Te,t),ve=void 0}
  function Ne (line 7) | function Ne(t){var e=/^hook:/;t.prototype.$on=function(t,n){var r=this,o...
  function Me (line 7) | function Me(t,e){var n={};if(!t)return n;for(var r=0,o=t.length;r<o;r++)...
  function Le (line 7) | function Le(t){return t.isComment&&!t.asyncFactory||" "===t.text}
  function De (line 7) | function De(t,e){e=e||{};for(var n=0;n<t.length;n++)Array.isArray(t[n])?...
  function Re (line 7) | function Re(t){var e=t.$options,n=e.parent;if(n&&!e.abstract){while(n.$o...
  function Ue (line 7) | function Ue(t){t.prototype._update=function(t,e){var n=this;n._isMounted...
  function Ve (line 7) | function Ve(t,e,n){var r;return t.$el=e,t.$options.render||(t.$options.r...
  function Be (line 7) | function Be(t,e,r,o,i){var a=!!(i||t.$options._renderChildren||o.data.sc...
  function He (line 7) | function He(t){while(t&&(t=t.$parent))if(t._inactive)return!0;return!1}
  function ze (line 7) | function ze(t,e){if(e){if(t._directInactive=!1,He(t))return}else if(t._d...
  function We (line 7) | function We(t,e){if((!e||(t._directInactive=!0,!He(t)))&&!t._inactive){t...
  function qe (line 7) | function qe(t,e){vt();var n=t.$options[e];if(n)for(var r=0,o=n.length;r<...
  function Qe (line 7) | function Qe(){Ze=Ge.length=Ke.length=0,Xe={},Je=Ye=!1}
  function tn (line 7) | function tn(){var t,e;for(Ye=!0,Ge.sort(function(t,e){return t.id-e.id})...
  function en (line 7) | function en(t){var e=t.length;while(e--){var n=t[e],r=n.vm;r._watcher===...
  function nn (line 7) | function nn(t){t._inactive=!1,Ke.push(t)}
  function rn (line 7) | function rn(t){for(var e=0;e<t.length;e++)t[e]._inactive=!0,ze(t[e],!0)}
  function on (line 7) | function on(t){var e=t.id;if(null==Xe[e]){if(Xe[e]=!0,Ye){var n=Ge.lengt...
  function un (line 7) | function un(t,e,n){cn.get=function(){return this[e][n]},cn.set=function(...
  function fn (line 7) | function fn(t){t._watchers=[];var e=t.$options;e.props&&ln(t,e.props),e....
  function ln (line 7) | function ln(t,e){var n=t.$options.propsData||{},r=t._props={},o=t.$optio...
  function pn (line 7) | function pn(t){var e=t.$options.data;e=t._data="function"===typeof e?dn(...
  function dn (line 7) | function dn(t,e){vt();try{return t.call(e,e)}catch(t){return Yt(t,e,"dat...
  function hn (line 7) | function hn(t,e){var n=t._computedWatchers=Object.create(null),r=it();fo...
  function yn (line 7) | function yn(t,e,n){var r=!it();"function"===typeof n?(cn.get=r?mn(e):n,c...
  function mn (line 7) | function mn(t){return function(){var e=this._computedWatchers&&this._com...
  function _n (line 7) | function _n(t,e){t.$options.props;for(var n in e)t[n]=null==e[n]?T:S(e[n...
  function gn (line 7) | function gn(t,e){for(var n in e){var r=e[n];if(Array.isArray(r))for(var ...
  function bn (line 7) | function bn(t,e,n,r){return f(n)&&(r=n,n=n.handler),"string"===typeof n&...
  function wn (line 7) | function wn(t){var e={get:function(){return this._data}},n={get:function...
  function xn (line 7) | function xn(t){var e=t.$options.provide;e&&(t._provided="function"===typ...
  function An (line 7) | function An(t){var e=Cn(t.$options.inject,t);e&&($t(!1),Object.keys(e).f...
  function Cn (line 7) | function Cn(t,e){if(t){for(var n=Object.create(null),r=ut?Reflect.ownKey...
  function On (line 7) | function On(t,e){var n,r,i,a,s;if(Array.isArray(t)||"string"===typeof t)...
  function $n (line 7) | function $n(t,e,n,r){var o,i=this.$scopedSlots[t];if(i)n=n||{},r&&(n=j(j...
  function kn (line 7) | function kn(t){return Wt(this.$options,"filters",t,!0)||N}
  function Sn (line 7) | function Sn(t,e){return Array.isArray(t)?-1===t.indexOf(e):t!==e}
  function En (line 7) | function En(t,e,n,r,o){var i=V.keyCodes[e]||n;return o&&r&&!V.keyCodes[e...
  function jn (line 7) | function jn(t,e,n,r,o){if(n)if(c(n)){var i;Array.isArray(n)&&(n=I(n));va...
  function In (line 7) | function In(t,e){var n=this._staticTrees||(this._staticTrees=[]),r=n[t];...
  function Tn (line 7) | function Tn(t,e,n){return Pn(t,"__once__"+e+(n?"_"+n:""),!0),t}
  function Pn (line 7) | function Pn(t,e,n){if(Array.isArray(t))for(var r=0;r<t.length;r++)t[r]&&...
  function Nn (line 7) | function Nn(t,e,n){t.isStatic=!0,t.key=e,t.isOnce=n}
  function Mn (line 7) | function Mn(t,e){if(e)if(f(e)){var n=t.on=t.on?j({},t.on):{};for(var r i...
  function Ln (line 7) | function Ln(t){t._o=Tn,t._n=v,t._s=d,t._l=On,t._t=$n,t._q=M,t._i=L,t._m=...
  function Dn (line 7) | function Dn(t,e,r,o,a){var s,c=a.options;g(o,"_uid")?(s=Object.create(o)...
  function Fn (line 7) | function Fn(t,e,r,i,a){var s=t.options,c={},u=s.props;if(o(u))for(var f ...
  function Rn (line 7) | function Rn(t,e,n,r){var o=bt(t);return o.fnContext=n,o.fnOptions=r,e.sl...
  function Un (line 7) | function Un(t,e){for(var n in e)t[x(n)]=e[n]}
  function Hn (line 7) | function Hn(t,e,n,a,s){if(!r(t)){var u=n.$options._base;if(c(t)&&(t=u.ex...
  function zn (line 7) | function zn(t,e,n,r){var i={_isComponent:!0,parent:e,_parentVnode:t,_par...
  function Wn (line 7) | function Wn(t){for(var e=t.hook||(t.hook={}),n=0;n<Bn.length;n++){var r=...
  function qn (line 7) | function qn(t,e){var n=t.model&&t.model.prop||"value",r=t.model&&t.model...
  function Xn (line 7) | function Xn(t,e,n,r,o,a){return(Array.isArray(n)||s(n))&&(o=r,r=n,n=void...
  function Jn (line 7) | function Jn(t,e,n,r,i){if(o(n)&&o(n.__ob__))return _t();if(o(n)&&o(n.is)...
  function Yn (line 7) | function Yn(t,e,n){if(t.ns=e,"foreignObject"===t.tag&&(e=void 0,n=!0),o(...
  function Zn (line 7) | function Zn(t){c(t.style)&&pe(t.style),c(t.class)&&pe(t.class)}
  function Qn (line 7) | function Qn(t){t._vnode=null,t._staticTrees=null;var e=t.$options,r=t.$v...
  function tr (line 7) | function tr(t){Ln(t.prototype),t.prototype.$nextTick=function(t){return ...
  function nr (line 7) | function nr(t){t.prototype._init=function(t){var e=this;e._uid=er++,e._i...
  function rr (line 7) | function rr(t,e){var n=t.$options=Object.create(t.constructor.options),r...
  function or (line 7) | function or(t){var e=t.options;if(t.super){var n=or(t.super),r=t.superOp...
  function ir (line 7) | function ir(t){var e,n=t.options,r=t.extendOptions,o=t.sealedOptions;for...
  function ar (line 7) | function ar(t,e,n){if(Array.isArray(t)){var r=[];n=Array.isArray(n)?n:[n...
  function sr (line 7) | function sr(t){this._init(t)}
  function cr (line 7) | function cr(t){t.use=function(t){var e=this._installedPlugins||(this._in...
  function ur (line 7) | function ur(t){t.mixin=function(t){return this.options=zt(this.options,t...
  function fr (line 7) | function fr(t){t.cid=0;var e=1;t.extend=function(t){t=t||{};var n=this,r...
  function lr (line 7) | function lr(t){var e=t.options.props;for(var n in e)un(t.prototype,"_pro...
  function pr (line 7) | function pr(t){var e=t.options.computed;for(var n in e)yn(t.prototype,n,...
  function dr (line 7) | function dr(t){R.forEach(function(e){t[e]=function(t,n){return n?("compo...
  function vr (line 7) | function vr(t){return t&&(t.Ctor.options.name||t.tag)}
  function hr (line 7) | function hr(t,e){return Array.isArray(t)?t.indexOf(e)>-1:"string"===type...
  function yr (line 7) | function yr(t,e){var n=t.cache,r=t.keys,o=t._vnode;for(var i in n){var a...
  function mr (line 7) | function mr(t,e,n,r){var o=t[e];!o||r&&o.tag===r.tag||o.componentInstanc...
  function wr (line 7) | function wr(t){var e={get:function(){return V}};Object.defineProperty(t,...
  function Ir (line 7) | function Ir(t){var e=t.data,n=t,r=t;while(o(r.componentInstance))r=r.com...
  function Tr (line 7) | function Tr(t,e){return{staticClass:Nr(t.staticClass,e.staticClass),clas...
  function Pr (line 7) | function Pr(t,e){return o(t)||o(e)?Nr(t,Mr(e)):""}
  function Nr (line 7) | function Nr(t,e){return t?e?t+" "+e:t:e||""}
  function Mr (line 7) | function Mr(t){return Array.isArray(t)?Lr(t):c(t)?Dr(t):"string"===typeo...
  function Lr (line 7) | function Lr(t){for(var e,n="",r=0,i=t.length;r<i;r++)o(e=Mr(t[r]))&&""!=...
  function Dr (line 7) | function Dr(t){var e="";for(var n in t)t[n]&&(e&&(e+=" "),e+=n);return e}
  function Br (line 7) | function Br(t){return Ur(t)?"svg":"math"===t?"math":void 0}
  function zr (line 7) | function zr(t){if(!K)return!0;if(Vr(t))return!1;if(t=t.toLowerCase(),nul...
  function qr (line 7) | function qr(t){if("string"===typeof t){var e=document.querySelector(t);r...
  function Gr (line 7) | function Gr(t,e){var n=document.createElement(t);return"select"!==t?n:(e...
  function Kr (line 7) | function Kr(t,e){return document.createElementNS(Fr[t],e)}
  function Xr (line 7) | function Xr(t){return document.createTextNode(t)}
  function Jr (line 7) | function Jr(t){return document.createComment(t)}
  function Yr (line 7) | function Yr(t,e,n){t.insertBefore(e,n)}
  function Zr (line 7) | function Zr(t,e){t.removeChild(e)}
  function Qr (line 7) | function Qr(t,e){t.appendChild(e)}
  function to (line 7) | function to(t){return t.parentNode}
  function eo (line 7) | function eo(t){return t.nextSibling}
  function no (line 7) | function no(t){return t.tagName}
  function ro (line 7) | function ro(t,e){t.textContent=e}
  function oo (line 7) | function oo(t,e){t.setAttribute(e,"")}
  function so (line 7) | function so(t,e){var n=t.data.ref;if(o(n)){var r=t.context,i=t.component...
  function fo (line 7) | function fo(t,e){return t.key===e.key&&(t.tag===e.tag&&t.isComment===e.i...
  function lo (line 7) | function lo(t,e){if("input"!==t.tag)return!0;var n,r=o(n=t.data)&&o(n=n....
  function po (line 7) | function po(t,e,n){var r,i,a={};for(r=e;r<=n;++r)i=t[r].key,o(i)&&(a[i]=...
  function vo (line 7) | function vo(t){var e,n,a={},c=t.modules,u=t.nodeOps;for(e=0;e<uo.length;...
  function yo (line 7) | function yo(t,e){(t.data.directives||e.data.directives)&&mo(t,e)}
  function mo (line 7) | function mo(t,e){var n,r,o,i=t===co,a=e===co,s=go(t.data.directives,t.co...
  function go (line 7) | function go(t,e){var n,r,o=Object.create(null);if(!t)return o;for(n=0;n<...
  function bo (line 7) | function bo(t){return t.rawName||t.name+"."+Object.keys(t.modifiers||{})...
  function wo (line 7) | function wo(t,e,n,r,o){var i=t.def&&t.def[e];if(i)try{i(n.elm,t,n,r,o)}c...
  function Ao (line 7) | function Ao(t,e){var n=e.componentOptions;if((!o(n)||!1!==n.Ctor.options...
  function Co (line 7) | function Co(t,e,n){t.tagName.indexOf("-")>-1?Oo(t,e,n):$r(e)?jr(n)?t.rem...
  function Oo (line 7) | function Oo(t,e,n){if(jr(n))t.removeAttribute(e);else{if(Z&&!Q&&"TEXTARE...
  function ko (line 7) | function ko(t,e){var n=e.elm,i=e.data,a=t.data;if(!(r(i.staticClass)&&r(...
  function To (line 7) | function To(t){if(o(t[jo])){var e=Z?"change":"input";t[e]=[].concat(t[jo...
  function Po (line 7) | function Po(t,e,n){var r=So;return function o(){var i=t.apply(null,argum...
  function No (line 7) | function No(t,e,n,r,o){e=ue(e),n&&(e=Po(e,t,r)),So.addEventListener(t,e,...
  function Mo (line 7) | function Mo(t,e,n,r){(r||So).removeEventListener(t,e._withTask||e,n)}
  function Lo (line 7) | function Lo(t,e){if(!r(t.data.on)||!r(e.data.on)){var n=e.data.on||{},o=...
  function Fo (line 7) | function Fo(t,e){if(!r(t.data.domProps)||!r(e.data.domProps)){var n,i,a=...
  function Ro (line 7) | function Ro(t,e){return!t.composing&&("OPTION"===t.tagName||Uo(t,e)||Vo(...
  function Uo (line 7) | function Uo(t,e){var n=!0;try{n=document.activeElement!==t}catch(t){}ret...
  function Vo (line 7) | function Vo(t,e){var n=t.value,r=t._vModifiers;if(o(r)){if(r.lazy)return...
  function zo (line 7) | function zo(t){var e=Wo(t.style);return t.staticStyle?j(t.staticStyle,e):e}
  function Wo (line 7) | function Wo(t){return Array.isArray(t)?I(t):"string"===typeof t?Ho(t):t}
  function qo (line 7) | function qo(t,e){var n,r={};if(e){var o=t;while(o.componentInstance)o=o....
  function Qo (line 7) | function Qo(t,e){var n=e.data,i=t.data;if(!(r(n.staticStyle)&&r(n.style)...
  function ei (line 7) | function ei(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.s...
  function ni (line 7) | function ni(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.s...
  function ri (line 7) | function ri(t){if(t){if("object"===typeof t){var e={};return!1!==t.css&&...
  function di (line 7) | function di(t){pi(function(){pi(t)})}
  function vi (line 7) | function vi(t,e){var n=t._transitionClasses||(t._transitionClasses=[]);n...
  function hi (line 7) | function hi(t,e){t._transitionClasses&&m(t._transitionClasses,e),ni(t,e)}
  function yi (line 7) | function yi(t,e,n){var r=_i(t,e),o=r.type,i=r.timeout,a=r.propCount;if(!...
  function _i (line 7) | function _i(t,e){var n,r=window.getComputedStyle(t),o=r[ci+"Delay"].spli...
  function gi (line 7) | function gi(t,e){while(t.length<e.length)t=t.concat(t);return Math.max.a...
  function bi (line 7) | function bi(t){return 1e3*Number(t.slice(0,-1))}
  function wi (line 7) | function wi(t,e){var n=t.elm;o(n._leaveCb)&&(n._leaveCb.cancelled=!0,n._...
  function xi (line 7) | function xi(t,e){var n=t.elm;o(n._enterCb)&&(n._enterCb.cancelled=!0,n._...
  function Ai (line 7) | function Ai(t){return"number"===typeof t&&!isNaN(t)}
  function Ci (line 7) | function Ci(t){if(r(t))return!1;var e=t.fns;return o(e)?Ci(Array.isArray...
  function Oi (line 7) | function Oi(t,e){!0!==e.data.show&&wi(e)}
  function Ii (line 7) | function Ii(t,e,n){Ti(t,e,n),(Z||tt)&&setTimeout(function(){Ti(t,e,n)},0)}
  function Ti (line 7) | function Ti(t,e,n){var r=e.value,o=t.multiple;if(!o||Array.isArray(r)){f...
  function Pi (line 7) | function Pi(t,e){return e.every(function(e){return!M(e,t)})}
  function Ni (line 7) | function Ni(t){return"_value"in t?t._value:t.value}
  function Mi (line 7) | function Mi(t){t.target.composing=!0}
  function Li (line 7) | function Li(t){t.target.composing&&(t.target.composing=!1,Di(t.target,"i...
  function Di (line 7) | function Di(t,e){var n=document.createEvent("HTMLEvents");n.initEvent(e,...
  function Fi (line 7) | function Fi(t){return!t.componentInstance||t.data&&t.data.transition?t:F...
  function Bi (line 7) | function Bi(t){var e=t&&t.componentOptions;return e&&e.Ctor.options.abst...
  function Hi (line 7) | function Hi(t){var e={},n=t.$options;for(var r in n.propsData)e[r]=t[r];...
  function zi (line 7) | function zi(t,e){if(/\d-keep-alive$/.test(e.tag))return t("keep-alive",{...
  function Wi (line 7) | function Wi(t){while(t=t.parent)if(t.data.transition)return!0}
  function qi (line 7) | function qi(t,e){return e.key===t.key&&e.tag===t.tag}
  function Ji (line 7) | function Ji(t){t.elm._moveCb&&t.elm._moveCb(),t.elm._enterCb&&t.elm._ent...
  function Yi (line 7) | function Yi(t){t.data.newPos=t.elm.getBoundingClientRect()}
  function Zi (line 7) | function Zi(t){var e=t.data.pos,n=t.data.newPos,r=e.left-n.left,o=e.top-...
  function r (line 7) | function r(t){if(Array.isArray(t)){for(var e=0,n=new Array(t.length);e<t...
  function o (line 7) | function o(t){if(Symbol.iterator in Object(t)||"[object Arguments]"===Ob...
  function i (line 7) | function i(){throw new TypeError("Invalid attempt to spread non-iterable...
  function a (line 7) | function a(t){return r(t)||o(t)||i()}
  function r (line 7) | function r(t){if(Array.isArray(t))return t}
  function o (line 7) | function o(t,e){var n=[],r=!0,o=!1,i=void 0;try{for(var a,s=t[Symbol.ite...
  function i (line 7) | function i(){throw new TypeError("Invalid attempt to destructure non-ite...
  function a (line 7) | function a(t,e){return r(t)||o(t,e)||i()}
  function o (line 7) | function o(t){var e,n;this.promise=new t(function(t,r){if(void 0!==e||vo...

FILE: src/assets/utilty/position.js
  function getOffsetRect (line 7) | function getOffsetRect (element) {
  function getMousePosition (line 23) | function getMousePosition (element, event) {
Condensed preview — 19 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (131K chars).
[
  {
    "path": ".gitignore",
    "chars": 213,
    "preview": ".DS_Store\nnode_modules\ndist\n\n# local env files\n.env.local\n.env.*.local\n\n# Log files\nnpm-debug.log*\nyarn-debug.log*\nyarn-"
  },
  {
    "path": ".npmrc",
    "chars": 175,
    "preview": "\nsass_binary_site=https://npm.taobao.org/mirrors/node-sass/\nphantomjs_cdnurl=https://npm.taobao.org/mirrors/phantomjs/\ne"
  },
  {
    "path": "LICENSE",
    "chars": 1063,
    "preview": "MIT License\n\nCopyright (c) 2019 jeffrey\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof"
  },
  {
    "path": "README.md",
    "chars": 2849,
    "preview": "# vue-simple-flowchart\n\n## Introduction\n\na lightweight flowchart editor for Vue.js, code with vanillaJS, \n### Note\nThis "
  },
  {
    "path": "babel.config.js",
    "chars": 53,
    "preview": "module.exports = {\n  presets: [\n    '@vue/app'\n  ]\n}\n"
  },
  {
    "path": "demo/css/app.34b94fa0.css",
    "chars": 1732,
    "preview": "g[data-v-295297bd]{cursor:pointer}.flowchart-node[data-v-67208d28]{-webkit-box-sizing:border-box;-webkit-transform-origi"
  },
  {
    "path": "demo/index.html",
    "chars": 741,
    "preview": "<!DOCTYPE html><html lang=en><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content=\"IE=edge\"><meta name=vie"
  },
  {
    "path": "demo/js/app.ea39b09e.js",
    "chars": 13743,
    "preview": "(function(e){function t(t){for(var o,r,a=t[0],c=t[1],l=t[2],d=0,h=[];d<a.length;d++)r=a[d],i[r]&&h.push(i[r][0]),i[r]=0;"
  },
  {
    "path": "demo/js/chunk-vendors.063ae98f.js",
    "chars": 86005,
    "preview": "(window[\"webpackJsonp\"]=window[\"webpackJsonp\"]||[]).push([[\"chunk-vendors\"],{\"01f9\":function(t,e,n){\"use strict\";var r=n"
  },
  {
    "path": "package.json",
    "chars": 1182,
    "preview": "{\n  \"name\": \"vue-simple-flowchart\",\n  \"version\": \"0.1.8\",\n  \"private\": false,\n  \"main\": \"./dist/vue-flowchart.common.js\""
  },
  {
    "path": "public/index.html",
    "chars": 577,
    "preview": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE="
  },
  {
    "path": "src/App.vue",
    "chars": 2692,
    "preview": "<template>\n  <div id=\"app\">\n    <h1> simple flowchart</h1>\n    <div class=\"tool-wrapper\">\n      <select v-model=\"newNode"
  },
  {
    "path": "src/assets/utilty/position.js",
    "chars": 845,
    "preview": "\n\n/**\n * @param element {HTMLElement}\n * @return {{top: number, left: number}}\n */\nfunction getOffsetRect (element) {\n  "
  },
  {
    "path": "src/components/FlowchartLink.vue",
    "chars": 2386,
    "preview": "<template>\n  <g @mouseover=\"handleMouseOver\"\n    @mouseleave=\"handleMouseLeave\">\n    <path :d=\"dAttr\" :style=\"pathStyle\""
  },
  {
    "path": "src/components/FlowchartNode.vue",
    "chars": 3908,
    "preview": "<template>\n  <div class=\"flowchart-node\" :style=\"nodeStyle\" \n    @mousedown=\"handleMousedown\"\n    @mouseover=\"handleMous"
  },
  {
    "path": "src/components/SimpleFlowchart.vue",
    "chars": 8025,
    "preview": "<template>\n  <div class=\"flowchart-container\" \n    @mousemove=\"handleMove\" \n    @mouseup=\"handleUp\"\n    @mousedown=\"hand"
  },
  {
    "path": "src/index.js",
    "chars": 95,
    "preview": "\nimport SimpleFlowchart from './components/SimpleFlowchart.vue'\nexport default SimpleFlowchart;"
  },
  {
    "path": "src/main.js",
    "chars": 135,
    "preview": "import Vue from 'vue'\nimport App from './App.vue'\n\nVue.config.productionTip = false\n\nnew Vue({\n  render: h => h(App)\n})."
  },
  {
    "path": "vue.config.js",
    "chars": 56,
    "preview": "module.exports = {\n    baseUrl: './'\n    // options...\n}"
  }
]

About this extraction

This page contains the full source code of the Jeffreyrn/vue-simple-flowchart GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 19 files (123.5 KB), approximately 42.7k tokens, and a symbol index with 254 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!