From 7a00c4090c05f7c5f9d9b1b49bcf749b90f95c06 Mon Sep 17 00:00:00 2001 From: Benjamin Auder Date: Thu, 28 Dec 2017 14:47:04 +0100 Subject: [PATCH 1/1] First commit --- .gitignore | 3 + README | 25 ++ css/index.css | 230 ++++++++++++++++++ index.html | 32 +++ joueurs.csv.dist | 1 + js/index.js | 243 +++++++++++++++++++ scripts/rw_players.php | 35 +++ vendor/Ubuntu_googlefont.css | 6 + vendor/Ubuntu_googlefont.ttf | Bin 0 -> 76684 bytes vendor/normalize.css | 447 +++++++++++++++++++++++++++++++++++ vendor/underscore-min.js | 6 + vendor/underscore-min.map | 1 + vendor/vue.min.js | 6 + westcastle.sh | 2 + 14 files changed, 1037 insertions(+) create mode 100644 .gitignore create mode 100644 README create mode 100644 css/index.css create mode 100644 index.html create mode 100644 joueurs.csv.dist create mode 100644 js/index.js create mode 100644 scripts/rw_players.php create mode 100644 vendor/Ubuntu_googlefont.css create mode 100644 vendor/Ubuntu_googlefont.ttf create mode 100644 vendor/normalize.css create mode 100644 vendor/underscore-min.js create mode 100644 vendor/underscore-min.map create mode 100644 vendor/vue.min.js create mode 100755 westcastle.sh diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ab6b7ea --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +*.swp +*.csv +.~lock* diff --git a/README b/README new file mode 100644 index 0000000..9b88ac9 --- /dev/null +++ b/README @@ -0,0 +1,25 @@ +## Prérequis + +php (assez récent) + +## Ajustement du fichier de données + +Renommer joueurs.csv.dist en joueurs.csv +Éditer joueurs.csv (ajout de joueurs, édition, suppression...) +Format en lignes : prénom,nom[,score,pdt,présent] + pdt = points de table +score,pdt,présent : optionnels (défaut 0, 0, 1) + +## Lancement de l'aplication + +[Linux] Double click sur "westcastle.sh", ou lancement depuis un terminal +[Windows,MacOS] `php -S localhost:8000` puis naviguer vers index.html + +## Utilisation + +1) Cliquer sur les joueurs absents dans l'onglet "joueurs" +2) Aller dans la section "appariements" et cliquer sur le bouton en haut +3) À la fin d'une ronde, cliquer sur chaque table pour indiquer les points + Pour lancer la ronde suivante, revenir en 1) + +Le classement est mis à jour dans la rubrique correspondante et dans joueurs.csv diff --git a/css/index.css b/css/index.css new file mode 100644 index 0000000..015c6f8 --- /dev/null +++ b/css/index.css @@ -0,0 +1,230 @@ +/* General */ + +@import '../vendor/Ubuntu_googlefont.css'; + +body { + font-family: Ubuntu, Verdana, sans-serif; + margin: 0; + width: 800px; + margin: 0 auto; + font-size: 1.1rem; +} + +.sidenav { + height: 100%; + width: 200px; + position: fixed; + z-index: 1; + top: 0; + left: 0; + background-color: #111; + overflow-x: hidden; + padding: 20px 0 0 0; + margin: 0; +} + +@media screen and (max-height: 450px) { + .sidenav {padding-top: 15px;} +} + +.sidenav li { + padding: 6px 8px 6px 16px; + font-size: 25px; + color: #818181; + display: block; + cursor: pointer; +} + +.sidenav li:hover { + color: #f1f1f1; +} + +.main { + margin-left: 200px; /* Same as the width of the sidenav */ + padding: 0px 10px; +} + +.btn { + background-color: #3498db; + background-image: linear-gradient(to bottom, #3498db, #2980b9); + box-shadow: 0px 2px 3px #666666; + font-family: Arial; + color: #ffffff; + font-size: 20px; + padding: 10px 20px 10px 20px; + text-decoration: none; +} + +.btn:hover { + background-color: #3cb0fd; + background-image: linear-gradient(to bottom, #3cb0fd, #3498db); + text-decoration: none; +} + +table th { + font-weight: bold; +} + +/* players div */ + +#players { + overflow: auto; +} + +#players p { + font-weight: bold; + text-align: center; +} + +#active, #inactive { + float: left; + width: 50%; +} + +#inactive table { + opacity: 0.6; +} + +table.list { + border-collapse: collapse; + width: 400px; + margin: 0 auto; + table-layout: fixed; + font-size: 1.1rem; + cursor: pointer; +} + +table.list td +{ + border: 1px solid #ddd; + padding: 10px; +} +table.list th { + padding: 1em 10px; + text-align: left; +} + +table.list tr:not(.title) { + background-color: #aaa; +} +table.list tr:not(.title):nth-child(even){ + background-color: #ccc; +} +table.list tr:not(.title):hover, table.ranking tr:not(.title):nth-child(even):hover { + background-color: lightyellow; +} + +/* ranking div */ + +table.ranking { + border-collapse: collapse; + width: 500px; + margin: 0 auto; + font-size: 1.1rem; +} + +table.ranking td +{ + border: 1px solid #ddd; + padding: 10px; +} +table.ranking th { + padding: 1em 10px; + text-align: left; +} + +table.ranking tr:not(.title) { + background-color: #aaa; +} +table.ranking tr:not(.title):nth-child(even){ + background-color: #ccc; +} +table.ranking tr:not(.title):hover, table.ranking tr:not(.title):nth-child(even):hover { + background-color: lightyellow; +} + +table.ranking th.scoring { + cursor: pointer; +} + +.active { + background-color: yellow; +} + +/* pairings div */ + +button.block { + display: block; + margin: 30px auto; +} + +.button-container { + margin-top: 30px; + text-align: center; +} + +button.cancel { + margin-left: 30px; + background-image: linear-gradient(to bottom, #d93470, #b82b47); +} +button.cancel:hover { + background-image: linear-gradient(to bottom, #fc433c, #d93434); +} + +.scored { + background-color: lightgreen; +} + +#pairings p { + font-weight: bold; +} + +td.score { + padding-left: 30px; +} + +.pairing { + float: left; + width: 47%; + padding-left: 3%; + padding-bottom: 10px; + cursor: pointer; +} +.unpaired { + cursor: default; +} +.scored { + cursor: default; +} + +.pairing > table { + font-size: 1.1rem; +} + +.pairing:hover:not(.scored) { + background-color: yellow; +} + +#scoreInput { + margin: 30px 0; +} + +#scoreInput table { + width: 500px; + margin: 0 auto; + table-layout: fixed; + font-size: 1.1rem; +} + +#scoreInput table td {overflow:hidden;} + +#scoreInput table td:nth-of-type(2) {padding:0 10px;} +#scoreInput table td:nth-of-type(3) {padding: 0 10px;} + +#scoreInput table td > input { + padding: 0 3px; +} + +#scoreInput table th { + padding-bottom: 10px; +} diff --git a/index.html b/index.html new file mode 100644 index 0000000..1392bfe --- /dev/null +++ b/index.html @@ -0,0 +1,32 @@ + + + + + + Mahjong pairings + + + + + +
+
+
    +
  • Joueurs
  • +
  • Classement
  • +
  • Appariements
  • +
+
+
+ + + +
+
+ + + + + + + diff --git a/joueurs.csv.dist b/joueurs.csv.dist new file mode 100644 index 0000000..1a694b3 --- /dev/null +++ b/joueurs.csv.dist @@ -0,0 +1 @@ +prenom,nom,score,pdt,present diff --git a/js/index.js b/js/index.js new file mode 100644 index 0000000..944a51b --- /dev/null +++ b/js/index.js @@ -0,0 +1,243 @@ +new Vue({ + el: "#mahjong", + data: { + players: [], //array of objects, filled later + display: "players", + }, + components: { + 'my-players': { + props: ['players'], + template: ` +
+
+

Présents

+ + + + + +
{{ p.prenom }}{{ p.nom }}
+
+
+

Absents

+ + + + + +
{{ p.prenom }}{{ p.nom }}
+
+
+ `, + computed: { + sortedPlayers: function() { + return this.players + .map( (p,i) => { return Object.assign({}, p, {index: i}); }) + .sort( (a,b) => { + return a.nom.localeCompare(b.nom); + }); + }, + }, + methods: { + toggleAvailability: function(i) { + this.players[i].available = 1 - this.players[i].available; + this.$forceUpdate(); //TODO (Vue.set... ?!) + }, + }, + }, + 'my-ranking': { + props: ['players'], + data: function() { + return { + sortMethod: "score", + }; + }, + template: ` +
+ + + + + + + + + + + + + +
RangJoueurScorePdT
{{ i+1 }}{{ p.prenom }} {{ p.nom }}{{ p.score }}{{ p.pdt }}
+
+ `, + computed: { + sortedPlayers: function() { + let sortFunc = this.sortMethod == "score" + ? this.sortByScore + : this.sortByPdt; + return this.players + .map( p => { return p; }) //to not alter original array + .sort(sortFunc); + }, + }, + methods: { + sortByScore: function(a,b) { + return b.score - a.score; + }, + sortByPdt: function(a,b) { + return b.pdt - a.pdt; + }, + }, + }, + 'my-pairings': { + props: ['players'], + data: function() { + return { + unpaired: [], + tables: [], //array of arrays of players indices + scores: [], //scores for each table (3 or 4 players) + pdts: [], //"points de table" for each table (3 or 4 players) + currentIndex: -1, //table index for scoring + }; + }, + template: ` +
+
+ +
+

Table {{ index+1 }}

+ + + + + + + + + +
{{ players[i].prenom }} {{ players[i].nom }}{{ pdts[index][j] }}
  
+
+
+

Exempts

+
+ {{ players[i].prenom }} {{ players[i].nom }} +
+
+
+
+ + + + + +
{{ players[tables[currentIndex][i]].prenom }} {{ players[tables[currentIndex][i]].nom }}
+
+ + +
+
+
+ `, + methods: { + doPairings: function() { + // Simple case first: 4 by 4 + let tables = []; + let currentTable = []; + let ordering = _.shuffle(_.range(this.players.length)); //TODO: take scores into account? + for (let i=0; i= 4) + { + tables.push(currentTable); + currentTable = []; + } + currentTable.push(ordering[i]); + } + // Analyse remainder + this.unpaired = []; + if (currentTable.length != 0) + { + if (currentTable.length < 3) + { + let missingPlayers = 3 - currentTable.length; + // Pick players from 'missingPlayers' random different tables, if possible + if (tables.length >= missingPlayers) + { + let tblNums = _.sample(_.range(tables.length), missingPlayers); + tblNums.forEach( num => { + currentTable.push(tables[num].pop()); + }); + } + } + if (currentTable.length >= 3) + tables.push(currentTable); + else + this.unpaired = currentTable; + } + this.tables = tables; + this.scores = tables.map( t => { return []; }); //empty scores + this.pdts = tables.map( t => { return []; }); //empty pdts + }, + shuffle: function() { + this.doPairings(); + }, + showScoreForm: function(table,index) { + if (this.scores[index].length > 0) + return; //already scored + this.scores[index] = _.times(table.length, _.constant(0)); + this.pdts[index] = _.times(table.length, _.constant(0)); + this.currentIndex = index; + }, + setScore: function() { + let sortedPdts = this.pdts[this.currentIndex] + .map( (s,i) => { return {value:s, index:i}; }) + .sort( (a,b) => { return parseInt(b.value) - parseInt(a.value); }); + let scores = [4, 2, 1, 0]; //TODO: biased for 3-players tables. TODO: ex-aequos ?! + for (let i=0; i { return Object.assign({}, p); }) //deep (enough) copy + .sort( (a,b) => { return b.score - a.score; }); + xhr.send("players="+encodeURIComponent(JSON.stringify(orderedPlayers))); + }, + }, + }, + }, + created: function() { + let xhr = new XMLHttpRequest(); + let self = this; + xhr.onreadystatechange = function() { + if (this.readyState == 4 && this.status == 200) + { + let players = JSON.parse(xhr.responseText); + players.forEach( p => { + p.score = !!p.score ? parseInt(p.score) : 0; + p.pdt = !!p.pdt ? parseInt(p.pdt) : 0; + p.available = !!p.available ? p.available : 1; //use integer for fputcsv PHP func + }); + self.players = players; + } + }; + xhr.open("GET", "scripts/rw_players.php", true); + xhr.send(null); + }, +}); diff --git a/scripts/rw_players.php b/scripts/rw_players.php new file mode 100644 index 0000000..3f641c2 --- /dev/null +++ b/scripts/rw_players.php @@ -0,0 +1,35 @@ + $data[0], + "nom" => $data[1], + "score" => count($data)>=3 ? $data[2] : 0, + "pdt" => count($data)>=4 ? $data[3] : 0, + "available" => count($data)>=5 ? $data[4] : 1, + ); + $row++; + } + fclose($handle); + echo json_encode($players); +} +else +{ + // Write header + all players + $handle = fopen("../joueurs.csv", "w"); + fputcsv($handle, ["prenom","nom","score","pdt","present"]); + $players = json_decode($_POST["players"]); + foreach ($players as $p) + fputcsv($handle, (array)$p); + fclose($handle); +} + +?> diff --git a/vendor/Ubuntu_googlefont.css b/vendor/Ubuntu_googlefont.css new file mode 100644 index 0000000..b0f080d --- /dev/null +++ b/vendor/Ubuntu_googlefont.css @@ -0,0 +1,6 @@ +@font-face { + font-family: 'Ubuntu'; + font-style: normal; + font-weight: 400; + src: local('Ubuntu Regular'), local('Ubuntu-Regular'), url(Ubuntu_googlefont.ttf) format('truetype'); +} diff --git a/vendor/Ubuntu_googlefont.ttf b/vendor/Ubuntu_googlefont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..bf4073e433e82be32bd98c5f1307eec99a706ec4 GIT binary patch literal 76684 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 E0ee2Hc>n+a literal 0 HcmV?d00001 diff --git a/vendor/normalize.css b/vendor/normalize.css new file mode 100644 index 0000000..fa4e73d --- /dev/null +++ b/vendor/normalize.css @@ -0,0 +1,447 @@ +/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */ + +/* Document + ========================================================================== */ + +/** + * 1. Correct the line height in all browsers. + * 2. Prevent adjustments of font size after orientation changes in + * IE on Windows Phone and in iOS. + */ + +html { + line-height: 1.15; /* 1 */ + -ms-text-size-adjust: 100%; /* 2 */ + -webkit-text-size-adjust: 100%; /* 2 */ +} + +/* Sections + ========================================================================== */ + +/** + * Remove the margin in all browsers (opinionated). + */ + +body { + margin: 0; +} + +/** + * Add the correct display in IE 9-. + */ + +article, +aside, +footer, +header, +nav, +section { + display: block; +} + +/** + * Correct the font size and margin on `h1` elements within `section` and + * `article` contexts in Chrome, Firefox, and Safari. + */ + +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +/* Grouping content + ========================================================================== */ + +/** + * Add the correct display in IE 9-. + * 1. Add the correct display in IE. + */ + +figcaption, +figure, +main { /* 1 */ + display: block; +} + +/** + * Add the correct margin in IE 8. + */ + +figure { + margin: 1em 40px; +} + +/** + * 1. Add the correct box sizing in Firefox. + * 2. Show the overflow in Edge and IE. + */ + +hr { + box-sizing: content-box; /* 1 */ + height: 0; /* 1 */ + overflow: visible; /* 2 */ +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + +pre { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ +} + +/* Text-level semantics + ========================================================================== */ + +/** + * 1. Remove the gray background on active links in IE 10. + * 2. Remove gaps in links underline in iOS 8+ and Safari 8+. + */ + +a { + background-color: transparent; /* 1 */ + -webkit-text-decoration-skip: objects; /* 2 */ +} + +/** + * 1. Remove the bottom border in Chrome 57- and Firefox 39-. + * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. + */ + +abbr[title] { + border-bottom: none; /* 1 */ + text-decoration: underline; /* 2 */ + text-decoration: underline dotted; /* 2 */ +} + +/** + * Prevent the duplicate application of `bolder` by the next rule in Safari 6. + */ + +b, +strong { + font-weight: inherit; +} + +/** + * Add the correct font weight in Chrome, Edge, and Safari. + */ + +b, +strong { + font-weight: bolder; +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + +code, +kbd, +samp { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ +} + +/** + * Add the correct font style in Android 4.3-. + */ + +dfn { + font-style: italic; +} + +/** + * Add the correct background and color in IE 9-. + */ + +mark { + background-color: #ff0; + color: #000; +} + +/** + * Add the correct font size in all browsers. + */ + +small { + font-size: 80%; +} + +/** + * Prevent `sub` and `sup` elements from affecting the line height in + * all browsers. + */ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +/* Embedded content + ========================================================================== */ + +/** + * Add the correct display in IE 9-. + */ + +audio, +video { + display: inline-block; +} + +/** + * Add the correct display in iOS 4-7. + */ + +audio:not([controls]) { + display: none; + height: 0; +} + +/** + * Remove the border on images inside links in IE 10-. + */ + +img { + border-style: none; +} + +/** + * Hide the overflow in IE. + */ + +svg:not(:root) { + overflow: hidden; +} + +/* Forms + ========================================================================== */ + +/** + * 1. Change the font styles in all browsers (opinionated). + * 2. Remove the margin in Firefox and Safari. + */ + +button, +input, +optgroup, +select, +textarea { + font-family: sans-serif; /* 1 */ + font-size: 100%; /* 1 */ + line-height: 1.15; /* 1 */ + margin: 0; /* 2 */ +} + +/** + * Show the overflow in IE. + * 1. Show the overflow in Edge. + */ + +button, +input { /* 1 */ + overflow: visible; +} + +/** + * Remove the inheritance of text transform in Edge, Firefox, and IE. + * 1. Remove the inheritance of text transform in Firefox. + */ + +button, +select { /* 1 */ + text-transform: none; +} + +/** + * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video` + * controls in Android 4. + * 2. Correct the inability to style clickable types in iOS and Safari. + */ + +button, +html [type="button"], /* 1 */ +[type="reset"], +[type="submit"] { + -webkit-appearance: button; /* 2 */ +} + +/** + * Remove the inner border and padding in Firefox. + */ + +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + border-style: none; + padding: 0; +} + +/** + * Restore the focus styles unset by the previous rule. + */ + +button:-moz-focusring, +[type="button"]:-moz-focusring, +[type="reset"]:-moz-focusring, +[type="submit"]:-moz-focusring { + outline: 1px dotted ButtonText; +} + +/** + * Correct the padding in Firefox. + */ + +fieldset { + padding: 0.35em 0.75em 0.625em; +} + +/** + * 1. Correct the text wrapping in Edge and IE. + * 2. Correct the color inheritance from `fieldset` elements in IE. + * 3. Remove the padding so developers are not caught out when they zero out + * `fieldset` elements in all browsers. + */ + +legend { + box-sizing: border-box; /* 1 */ + color: inherit; /* 2 */ + display: table; /* 1 */ + max-width: 100%; /* 1 */ + padding: 0; /* 3 */ + white-space: normal; /* 1 */ +} + +/** + * 1. Add the correct display in IE 9-. + * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera. + */ + +progress { + display: inline-block; /* 1 */ + vertical-align: baseline; /* 2 */ +} + +/** + * Remove the default vertical scrollbar in IE. + */ + +textarea { + overflow: auto; +} + +/** + * 1. Add the correct box sizing in IE 10-. + * 2. Remove the padding in IE 10-. + */ + +[type="checkbox"], +[type="radio"] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ +} + +/** + * Correct the cursor style of increment and decrement buttons in Chrome. + */ + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +/** + * 1. Correct the odd appearance in Chrome and Safari. + * 2. Correct the outline style in Safari. + */ + +[type="search"] { + -webkit-appearance: textfield; /* 1 */ + outline-offset: -2px; /* 2 */ +} + +/** + * Remove the inner padding and cancel buttons in Chrome and Safari on macOS. + */ + +[type="search"]::-webkit-search-cancel-button, +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * 1. Correct the inability to style clickable types in iOS and Safari. + * 2. Change font properties to `inherit` in Safari. + */ + +::-webkit-file-upload-button { + -webkit-appearance: button; /* 1 */ + font: inherit; /* 2 */ +} + +/* Interactive + ========================================================================== */ + +/* + * Add the correct display in IE 9-. + * 1. Add the correct display in Edge, IE, and Firefox. + */ + +details, /* 1 */ +menu { + display: block; +} + +/* + * Add the correct display in all browsers. + */ + +summary { + display: list-item; +} + +/* Scripting + ========================================================================== */ + +/** + * Add the correct display in IE 9-. + */ + +canvas { + display: inline-block; +} + +/** + * Add the correct display in IE. + */ + +template { + display: none; +} + +/* Hidden + ========================================================================== */ + +/** + * Add the correct display in IE 10-. + */ + +[hidden] { + display: none; +} diff --git a/vendor/underscore-min.js b/vendor/underscore-min.js new file mode 100644 index 0000000..f01025b --- /dev/null +++ b/vendor/underscore-min.js @@ -0,0 +1,6 @@ +// Underscore.js 1.8.3 +// http://underscorejs.org +// (c) 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors +// Underscore may be freely distributed under the MIT license. +(function(){function n(n){function t(t,r,e,u,i,o){for(;i>=0&&o>i;i+=n){var a=u?u[i]:i;e=r(e,t[a],a,t)}return e}return function(r,e,u,i){e=b(e,i,4);var o=!k(r)&&m.keys(r),a=(o||r).length,c=n>0?0:a-1;return arguments.length<3&&(u=r[o?o[c]:c],c+=n),t(r,e,u,o,c,a)}}function t(n){return function(t,r,e){r=x(r,e);for(var u=O(t),i=n>0?0:u-1;i>=0&&u>i;i+=n)if(r(t[i],i,t))return i;return-1}}function r(n,t,r){return function(e,u,i){var o=0,a=O(e);if("number"==typeof i)n>0?o=i>=0?i:Math.max(i+a,o):a=i>=0?Math.min(i+1,a):i+a+1;else if(r&&i&&a)return i=r(e,u),e[i]===u?i:-1;if(u!==u)return i=t(l.call(e,o,a),m.isNaN),i>=0?i+o:-1;for(i=n>0?o:a-1;i>=0&&a>i;i+=n)if(e[i]===u)return i;return-1}}function e(n,t){var r=I.length,e=n.constructor,u=m.isFunction(e)&&e.prototype||a,i="constructor";for(m.has(n,i)&&!m.contains(t,i)&&t.push(i);r--;)i=I[r],i in n&&n[i]!==u[i]&&!m.contains(t,i)&&t.push(i)}var u=this,i=u._,o=Array.prototype,a=Object.prototype,c=Function.prototype,f=o.push,l=o.slice,s=a.toString,p=a.hasOwnProperty,h=Array.isArray,v=Object.keys,g=c.bind,y=Object.create,d=function(){},m=function(n){return n instanceof m?n:this instanceof m?void(this._wrapped=n):new m(n)};"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=m),exports._=m):u._=m,m.VERSION="1.8.3";var b=function(n,t,r){if(t===void 0)return n;switch(null==r?3:r){case 1:return function(r){return n.call(t,r)};case 2:return function(r,e){return n.call(t,r,e)};case 3:return function(r,e,u){return n.call(t,r,e,u)};case 4:return function(r,e,u,i){return n.call(t,r,e,u,i)}}return function(){return n.apply(t,arguments)}},x=function(n,t,r){return null==n?m.identity:m.isFunction(n)?b(n,t,r):m.isObject(n)?m.matcher(n):m.property(n)};m.iteratee=function(n,t){return x(n,t,1/0)};var _=function(n,t){return function(r){var e=arguments.length;if(2>e||null==r)return r;for(var u=1;e>u;u++)for(var i=arguments[u],o=n(i),a=o.length,c=0;a>c;c++){var f=o[c];t&&r[f]!==void 0||(r[f]=i[f])}return r}},j=function(n){if(!m.isObject(n))return{};if(y)return y(n);d.prototype=n;var t=new d;return d.prototype=null,t},w=function(n){return function(t){return null==t?void 0:t[n]}},A=Math.pow(2,53)-1,O=w("length"),k=function(n){var t=O(n);return"number"==typeof t&&t>=0&&A>=t};m.each=m.forEach=function(n,t,r){t=b(t,r);var e,u;if(k(n))for(e=0,u=n.length;u>e;e++)t(n[e],e,n);else{var i=m.keys(n);for(e=0,u=i.length;u>e;e++)t(n[i[e]],i[e],n)}return n},m.map=m.collect=function(n,t,r){t=x(t,r);for(var e=!k(n)&&m.keys(n),u=(e||n).length,i=Array(u),o=0;u>o;o++){var a=e?e[o]:o;i[o]=t(n[a],a,n)}return i},m.reduce=m.foldl=m.inject=n(1),m.reduceRight=m.foldr=n(-1),m.find=m.detect=function(n,t,r){var e;return e=k(n)?m.findIndex(n,t,r):m.findKey(n,t,r),e!==void 0&&e!==-1?n[e]:void 0},m.filter=m.select=function(n,t,r){var e=[];return t=x(t,r),m.each(n,function(n,r,u){t(n,r,u)&&e.push(n)}),e},m.reject=function(n,t,r){return m.filter(n,m.negate(x(t)),r)},m.every=m.all=function(n,t,r){t=x(t,r);for(var e=!k(n)&&m.keys(n),u=(e||n).length,i=0;u>i;i++){var o=e?e[i]:i;if(!t(n[o],o,n))return!1}return!0},m.some=m.any=function(n,t,r){t=x(t,r);for(var e=!k(n)&&m.keys(n),u=(e||n).length,i=0;u>i;i++){var o=e?e[i]:i;if(t(n[o],o,n))return!0}return!1},m.contains=m.includes=m.include=function(n,t,r,e){return k(n)||(n=m.values(n)),("number"!=typeof r||e)&&(r=0),m.indexOf(n,t,r)>=0},m.invoke=function(n,t){var r=l.call(arguments,2),e=m.isFunction(t);return m.map(n,function(n){var u=e?t:n[t];return null==u?u:u.apply(n,r)})},m.pluck=function(n,t){return m.map(n,m.property(t))},m.where=function(n,t){return m.filter(n,m.matcher(t))},m.findWhere=function(n,t){return m.find(n,m.matcher(t))},m.max=function(n,t,r){var e,u,i=-1/0,o=-1/0;if(null==t&&null!=n){n=k(n)?n:m.values(n);for(var a=0,c=n.length;c>a;a++)e=n[a],e>i&&(i=e)}else t=x(t,r),m.each(n,function(n,r,e){u=t(n,r,e),(u>o||u===-1/0&&i===-1/0)&&(i=n,o=u)});return i},m.min=function(n,t,r){var e,u,i=1/0,o=1/0;if(null==t&&null!=n){n=k(n)?n:m.values(n);for(var a=0,c=n.length;c>a;a++)e=n[a],i>e&&(i=e)}else t=x(t,r),m.each(n,function(n,r,e){u=t(n,r,e),(o>u||1/0===u&&1/0===i)&&(i=n,o=u)});return i},m.shuffle=function(n){for(var t,r=k(n)?n:m.values(n),e=r.length,u=Array(e),i=0;e>i;i++)t=m.random(0,i),t!==i&&(u[i]=u[t]),u[t]=r[i];return u},m.sample=function(n,t,r){return null==t||r?(k(n)||(n=m.values(n)),n[m.random(n.length-1)]):m.shuffle(n).slice(0,Math.max(0,t))},m.sortBy=function(n,t,r){return t=x(t,r),m.pluck(m.map(n,function(n,r,e){return{value:n,index:r,criteria:t(n,r,e)}}).sort(function(n,t){var r=n.criteria,e=t.criteria;if(r!==e){if(r>e||r===void 0)return 1;if(e>r||e===void 0)return-1}return n.index-t.index}),"value")};var F=function(n){return function(t,r,e){var u={};return r=x(r,e),m.each(t,function(e,i){var o=r(e,i,t);n(u,e,o)}),u}};m.groupBy=F(function(n,t,r){m.has(n,r)?n[r].push(t):n[r]=[t]}),m.indexBy=F(function(n,t,r){n[r]=t}),m.countBy=F(function(n,t,r){m.has(n,r)?n[r]++:n[r]=1}),m.toArray=function(n){return n?m.isArray(n)?l.call(n):k(n)?m.map(n,m.identity):m.values(n):[]},m.size=function(n){return null==n?0:k(n)?n.length:m.keys(n).length},m.partition=function(n,t,r){t=x(t,r);var e=[],u=[];return m.each(n,function(n,r,i){(t(n,r,i)?e:u).push(n)}),[e,u]},m.first=m.head=m.take=function(n,t,r){return null==n?void 0:null==t||r?n[0]:m.initial(n,n.length-t)},m.initial=function(n,t,r){return l.call(n,0,Math.max(0,n.length-(null==t||r?1:t)))},m.last=function(n,t,r){return null==n?void 0:null==t||r?n[n.length-1]:m.rest(n,Math.max(0,n.length-t))},m.rest=m.tail=m.drop=function(n,t,r){return l.call(n,null==t||r?1:t)},m.compact=function(n){return m.filter(n,m.identity)};var S=function(n,t,r,e){for(var u=[],i=0,o=e||0,a=O(n);a>o;o++){var c=n[o];if(k(c)&&(m.isArray(c)||m.isArguments(c))){t||(c=S(c,t,r));var f=0,l=c.length;for(u.length+=l;l>f;)u[i++]=c[f++]}else r||(u[i++]=c)}return u};m.flatten=function(n,t){return S(n,t,!1)},m.without=function(n){return m.difference(n,l.call(arguments,1))},m.uniq=m.unique=function(n,t,r,e){m.isBoolean(t)||(e=r,r=t,t=!1),null!=r&&(r=x(r,e));for(var u=[],i=[],o=0,a=O(n);a>o;o++){var c=n[o],f=r?r(c,o,n):c;t?(o&&i===f||u.push(c),i=f):r?m.contains(i,f)||(i.push(f),u.push(c)):m.contains(u,c)||u.push(c)}return u},m.union=function(){return m.uniq(S(arguments,!0,!0))},m.intersection=function(n){for(var t=[],r=arguments.length,e=0,u=O(n);u>e;e++){var i=n[e];if(!m.contains(t,i)){for(var o=1;r>o&&m.contains(arguments[o],i);o++);o===r&&t.push(i)}}return t},m.difference=function(n){var t=S(arguments,!0,!0,1);return m.filter(n,function(n){return!m.contains(t,n)})},m.zip=function(){return m.unzip(arguments)},m.unzip=function(n){for(var t=n&&m.max(n,O).length||0,r=Array(t),e=0;t>e;e++)r[e]=m.pluck(n,e);return r},m.object=function(n,t){for(var r={},e=0,u=O(n);u>e;e++)t?r[n[e]]=t[e]:r[n[e][0]]=n[e][1];return r},m.findIndex=t(1),m.findLastIndex=t(-1),m.sortedIndex=function(n,t,r,e){r=x(r,e,1);for(var u=r(t),i=0,o=O(n);o>i;){var a=Math.floor((i+o)/2);r(n[a])i;i++,n+=r)u[i]=n;return u};var E=function(n,t,r,e,u){if(!(e instanceof t))return n.apply(r,u);var i=j(n.prototype),o=n.apply(i,u);return m.isObject(o)?o:i};m.bind=function(n,t){if(g&&n.bind===g)return g.apply(n,l.call(arguments,1));if(!m.isFunction(n))throw new TypeError("Bind must be called on a function");var r=l.call(arguments,2),e=function(){return E(n,e,t,this,r.concat(l.call(arguments)))};return e},m.partial=function(n){var t=l.call(arguments,1),r=function(){for(var e=0,u=t.length,i=Array(u),o=0;u>o;o++)i[o]=t[o]===m?arguments[e++]:t[o];for(;e=e)throw new Error("bindAll must be passed function names");for(t=1;e>t;t++)r=arguments[t],n[r]=m.bind(n[r],n);return n},m.memoize=function(n,t){var r=function(e){var u=r.cache,i=""+(t?t.apply(this,arguments):e);return m.has(u,i)||(u[i]=n.apply(this,arguments)),u[i]};return r.cache={},r},m.delay=function(n,t){var r=l.call(arguments,2);return setTimeout(function(){return n.apply(null,r)},t)},m.defer=m.partial(m.delay,m,1),m.throttle=function(n,t,r){var e,u,i,o=null,a=0;r||(r={});var c=function(){a=r.leading===!1?0:m.now(),o=null,i=n.apply(e,u),o||(e=u=null)};return function(){var f=m.now();a||r.leading!==!1||(a=f);var l=t-(f-a);return e=this,u=arguments,0>=l||l>t?(o&&(clearTimeout(o),o=null),a=f,i=n.apply(e,u),o||(e=u=null)):o||r.trailing===!1||(o=setTimeout(c,l)),i}},m.debounce=function(n,t,r){var e,u,i,o,a,c=function(){var f=m.now()-o;t>f&&f>=0?e=setTimeout(c,t-f):(e=null,r||(a=n.apply(i,u),e||(i=u=null)))};return function(){i=this,u=arguments,o=m.now();var f=r&&!e;return e||(e=setTimeout(c,t)),f&&(a=n.apply(i,u),i=u=null),a}},m.wrap=function(n,t){return m.partial(t,n)},m.negate=function(n){return function(){return!n.apply(this,arguments)}},m.compose=function(){var n=arguments,t=n.length-1;return function(){for(var r=t,e=n[t].apply(this,arguments);r--;)e=n[r].call(this,e);return e}},m.after=function(n,t){return function(){return--n<1?t.apply(this,arguments):void 0}},m.before=function(n,t){var r;return function(){return--n>0&&(r=t.apply(this,arguments)),1>=n&&(t=null),r}},m.once=m.partial(m.before,2);var M=!{toString:null}.propertyIsEnumerable("toString"),I=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"];m.keys=function(n){if(!m.isObject(n))return[];if(v)return v(n);var t=[];for(var r in n)m.has(n,r)&&t.push(r);return M&&e(n,t),t},m.allKeys=function(n){if(!m.isObject(n))return[];var t=[];for(var r in n)t.push(r);return M&&e(n,t),t},m.values=function(n){for(var t=m.keys(n),r=t.length,e=Array(r),u=0;r>u;u++)e[u]=n[t[u]];return e},m.mapObject=function(n,t,r){t=x(t,r);for(var e,u=m.keys(n),i=u.length,o={},a=0;i>a;a++)e=u[a],o[e]=t(n[e],e,n);return o},m.pairs=function(n){for(var t=m.keys(n),r=t.length,e=Array(r),u=0;r>u;u++)e[u]=[t[u],n[t[u]]];return e},m.invert=function(n){for(var t={},r=m.keys(n),e=0,u=r.length;u>e;e++)t[n[r[e]]]=r[e];return t},m.functions=m.methods=function(n){var t=[];for(var r in n)m.isFunction(n[r])&&t.push(r);return t.sort()},m.extend=_(m.allKeys),m.extendOwn=m.assign=_(m.keys),m.findKey=function(n,t,r){t=x(t,r);for(var e,u=m.keys(n),i=0,o=u.length;o>i;i++)if(e=u[i],t(n[e],e,n))return e},m.pick=function(n,t,r){var e,u,i={},o=n;if(null==o)return i;m.isFunction(t)?(u=m.allKeys(o),e=b(t,r)):(u=S(arguments,!1,!1,1),e=function(n,t,r){return t in r},o=Object(o));for(var a=0,c=u.length;c>a;a++){var f=u[a],l=o[f];e(l,f,o)&&(i[f]=l)}return i},m.omit=function(n,t,r){if(m.isFunction(t))t=m.negate(t);else{var e=m.map(S(arguments,!1,!1,1),String);t=function(n,t){return!m.contains(e,t)}}return m.pick(n,t,r)},m.defaults=_(m.allKeys,!0),m.create=function(n,t){var r=j(n);return t&&m.extendOwn(r,t),r},m.clone=function(n){return m.isObject(n)?m.isArray(n)?n.slice():m.extend({},n):n},m.tap=function(n,t){return t(n),n},m.isMatch=function(n,t){var r=m.keys(t),e=r.length;if(null==n)return!e;for(var u=Object(n),i=0;e>i;i++){var o=r[i];if(t[o]!==u[o]||!(o in u))return!1}return!0};var N=function(n,t,r,e){if(n===t)return 0!==n||1/n===1/t;if(null==n||null==t)return n===t;n instanceof m&&(n=n._wrapped),t instanceof m&&(t=t._wrapped);var u=s.call(n);if(u!==s.call(t))return!1;switch(u){case"[object RegExp]":case"[object String]":return""+n==""+t;case"[object Number]":return+n!==+n?+t!==+t:0===+n?1/+n===1/t:+n===+t;case"[object Date]":case"[object Boolean]":return+n===+t}var i="[object Array]"===u;if(!i){if("object"!=typeof n||"object"!=typeof t)return!1;var o=n.constructor,a=t.constructor;if(o!==a&&!(m.isFunction(o)&&o instanceof o&&m.isFunction(a)&&a instanceof a)&&"constructor"in n&&"constructor"in t)return!1}r=r||[],e=e||[];for(var c=r.length;c--;)if(r[c]===n)return e[c]===t;if(r.push(n),e.push(t),i){if(c=n.length,c!==t.length)return!1;for(;c--;)if(!N(n[c],t[c],r,e))return!1}else{var f,l=m.keys(n);if(c=l.length,m.keys(t).length!==c)return!1;for(;c--;)if(f=l[c],!m.has(t,f)||!N(n[f],t[f],r,e))return!1}return r.pop(),e.pop(),!0};m.isEqual=function(n,t){return N(n,t)},m.isEmpty=function(n){return null==n?!0:k(n)&&(m.isArray(n)||m.isString(n)||m.isArguments(n))?0===n.length:0===m.keys(n).length},m.isElement=function(n){return!(!n||1!==n.nodeType)},m.isArray=h||function(n){return"[object Array]"===s.call(n)},m.isObject=function(n){var t=typeof n;return"function"===t||"object"===t&&!!n},m.each(["Arguments","Function","String","Number","Date","RegExp","Error"],function(n){m["is"+n]=function(t){return s.call(t)==="[object "+n+"]"}}),m.isArguments(arguments)||(m.isArguments=function(n){return m.has(n,"callee")}),"function"!=typeof/./&&"object"!=typeof Int8Array&&(m.isFunction=function(n){return"function"==typeof n||!1}),m.isFinite=function(n){return isFinite(n)&&!isNaN(parseFloat(n))},m.isNaN=function(n){return m.isNumber(n)&&n!==+n},m.isBoolean=function(n){return n===!0||n===!1||"[object Boolean]"===s.call(n)},m.isNull=function(n){return null===n},m.isUndefined=function(n){return n===void 0},m.has=function(n,t){return null!=n&&p.call(n,t)},m.noConflict=function(){return u._=i,this},m.identity=function(n){return n},m.constant=function(n){return function(){return n}},m.noop=function(){},m.property=w,m.propertyOf=function(n){return null==n?function(){}:function(t){return n[t]}},m.matcher=m.matches=function(n){return n=m.extendOwn({},n),function(t){return m.isMatch(t,n)}},m.times=function(n,t,r){var e=Array(Math.max(0,n));t=b(t,r,1);for(var u=0;n>u;u++)e[u]=t(u);return e},m.random=function(n,t){return null==t&&(t=n,n=0),n+Math.floor(Math.random()*(t-n+1))},m.now=Date.now||function(){return(new Date).getTime()};var B={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},T=m.invert(B),R=function(n){var t=function(t){return n[t]},r="(?:"+m.keys(n).join("|")+")",e=RegExp(r),u=RegExp(r,"g");return function(n){return n=null==n?"":""+n,e.test(n)?n.replace(u,t):n}};m.escape=R(B),m.unescape=R(T),m.result=function(n,t,r){var e=null==n?void 0:n[t];return e===void 0&&(e=r),m.isFunction(e)?e.call(n):e};var q=0;m.uniqueId=function(n){var t=++q+"";return n?n+t:t},m.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var K=/(.)^/,z={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},D=/\\|'|\r|\n|\u2028|\u2029/g,L=function(n){return"\\"+z[n]};m.template=function(n,t,r){!t&&r&&(t=r),t=m.defaults({},t,m.templateSettings);var e=RegExp([(t.escape||K).source,(t.interpolate||K).source,(t.evaluate||K).source].join("|")+"|$","g"),u=0,i="__p+='";n.replace(e,function(t,r,e,o,a){return i+=n.slice(u,a).replace(D,L),u=a+t.length,r?i+="'+\n((__t=("+r+"))==null?'':_.escape(__t))+\n'":e?i+="'+\n((__t=("+e+"))==null?'':__t)+\n'":o&&(i+="';\n"+o+"\n__p+='"),t}),i+="';\n",t.variable||(i="with(obj||{}){\n"+i+"}\n"),i="var __t,__p='',__j=Array.prototype.join,"+"print=function(){__p+=__j.call(arguments,'');};\n"+i+"return __p;\n";try{var o=new Function(t.variable||"obj","_",i)}catch(a){throw a.source=i,a}var c=function(n){return o.call(this,n,m)},f=t.variable||"obj";return c.source="function("+f+"){\n"+i+"}",c},m.chain=function(n){var t=m(n);return t._chain=!0,t};var P=function(n,t){return n._chain?m(t).chain():t};m.mixin=function(n){m.each(m.functions(n),function(t){var r=m[t]=n[t];m.prototype[t]=function(){var n=[this._wrapped];return f.apply(n,arguments),P(this,r.apply(m,n))}})},m.mixin(m),m.each(["pop","push","reverse","shift","sort","splice","unshift"],function(n){var t=o[n];m.prototype[n]=function(){var r=this._wrapped;return t.apply(r,arguments),"shift"!==n&&"splice"!==n||0!==r.length||delete r[0],P(this,r)}}),m.each(["concat","join","slice"],function(n){var t=o[n];m.prototype[n]=function(){return P(this,t.apply(this._wrapped,arguments))}}),m.prototype.value=function(){return this._wrapped},m.prototype.valueOf=m.prototype.toJSON=m.prototype.value,m.prototype.toString=function(){return""+this._wrapped},"function"==typeof define&&define.amd&&define("underscore",[],function(){return m})}).call(this); +//# sourceMappingURL=underscore-min.map \ No newline at end of file diff --git a/vendor/underscore-min.map b/vendor/underscore-min.map new file mode 100644 index 0000000..cf356bf --- /dev/null +++ b/vendor/underscore-min.map @@ -0,0 +1 @@ +{"version":3,"file":"underscore-min.js","sources":["underscore.js"],"names":["createReduce","dir","iterator","obj","iteratee","memo","keys","index","length","currentKey","context","optimizeCb","isArrayLike","_","arguments","createPredicateIndexFinder","array","predicate","cb","getLength","createIndexFinder","predicateFind","sortedIndex","item","idx","i","Math","max","min","slice","call","isNaN","collectNonEnumProps","nonEnumIdx","nonEnumerableProps","constructor","proto","isFunction","prototype","ObjProto","prop","has","contains","push","root","this","previousUnderscore","ArrayProto","Array","Object","FuncProto","Function","toString","hasOwnProperty","nativeIsArray","isArray","nativeKeys","nativeBind","bind","nativeCreate","create","Ctor","_wrapped","exports","module","VERSION","func","argCount","value","other","collection","accumulator","apply","identity","isObject","matcher","property","Infinity","createAssigner","keysFunc","undefinedOnly","source","l","key","baseCreate","result","MAX_ARRAY_INDEX","pow","each","forEach","map","collect","results","reduce","foldl","inject","reduceRight","foldr","find","detect","findIndex","findKey","filter","select","list","reject","negate","every","all","some","any","includes","include","fromIndex","guard","values","indexOf","invoke","method","args","isFunc","pluck","where","attrs","findWhere","computed","lastComputed","shuffle","rand","set","shuffled","random","sample","n","sortBy","criteria","sort","left","right","a","b","group","behavior","groupBy","indexBy","countBy","toArray","size","partition","pass","fail","first","head","take","initial","last","rest","tail","drop","compact","flatten","input","shallow","strict","startIndex","output","isArguments","j","len","without","difference","uniq","unique","isSorted","isBoolean","seen","union","intersection","argsLength","zip","unzip","object","findLastIndex","low","high","mid","floor","lastIndexOf","range","start","stop","step","ceil","executeBound","sourceFunc","boundFunc","callingContext","self","TypeError","bound","concat","partial","boundArgs","position","bindAll","Error","memoize","hasher","cache","address","delay","wait","setTimeout","defer","throttle","options","timeout","previous","later","leading","now","remaining","clearTimeout","trailing","debounce","immediate","timestamp","callNow","wrap","wrapper","compose","after","times","before","once","hasEnumBug","propertyIsEnumerable","allKeys","mapObject","pairs","invert","functions","methods","names","extend","extendOwn","assign","pick","oiteratee","omit","String","defaults","props","clone","tap","interceptor","isMatch","eq","aStack","bStack","className","areArrays","aCtor","bCtor","pop","isEqual","isEmpty","isString","isElement","nodeType","type","name","Int8Array","isFinite","parseFloat","isNumber","isNull","isUndefined","noConflict","constant","noop","propertyOf","matches","accum","Date","getTime","escapeMap","&","<",">","\"","'","`","unescapeMap","createEscaper","escaper","match","join","testRegexp","RegExp","replaceRegexp","string","test","replace","escape","unescape","fallback","idCounter","uniqueId","prefix","id","templateSettings","evaluate","interpolate","noMatch","escapes","\\","\r","\n","
","
","escapeChar","template","text","settings","oldSettings","offset","variable","render","e","data","argument","chain","instance","_chain","mixin","valueOf","toJSON","define","amd"],"mappings":"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"} \ No newline at end of file diff --git a/vendor/vue.min.js b/vendor/vue.min.js new file mode 100644 index 0000000..836793b --- /dev/null +++ b/vendor/vue.min.js @@ -0,0 +1,6 @@ +/*! + * Vue.js v2.5.13 + * (c) 2014-2017 Evan You + * Released under the MIT License. + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):t.Vue=e()}(this,function(){"use strict";function t(t){return void 0===t||null===t}function e(t){return void 0!==t&&null!==t}function n(t){return!0===t}function r(t){return"string"==typeof t||"number"==typeof t||"symbol"==typeof t||"boolean"==typeof t}function i(t){return null!==t&&"object"==typeof t}function o(t){return"[object Object]"===Nn.call(t)}function a(t){var e=parseFloat(String(t));return e>=0&&Math.floor(e)===e&&isFinite(t)}function s(t){return null==t?"":"object"==typeof t?JSON.stringify(t,null,2):String(t)}function c(t){var e=parseFloat(t);return isNaN(e)?t:e}function u(t,e){for(var n=Object.create(null),r=t.split(","),i=0;i-1)return t.splice(n,1)}}function f(t,e){return Mn.call(t,e)}function p(t){var e=Object.create(null);return function(n){return e[n]||(e[n]=t(n))}}function d(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 v(t,e){e=e||0;for(var n=t.length-e,r=new Array(n);n--;)r[n]=t[n+e];return r}function h(t,e){for(var n in e)t[n]=e[n];return t}function m(t){for(var e={},n=0;n0&&(tt((s=et(s,(o||"")+"_"+a))[0])&&tt(u)&&(l[c]=x(u.text+s[0].text),s.shift()),l.push.apply(l,s)):r(s)?tt(u)?l[c]=x(u.text+s):""!==s&&l.push(x(s)):tt(s)&&tt(u)?l[c]=x(u.text+s.text):(n(i._isVList)&&e(s.tag)&&t(s.key)&&e(o)&&(s.key="__vlist"+o+"_"+a+"__"),l.push(s)));return l}function nt(t,e){return(t.__esModule||fr&&"Module"===t[Symbol.toStringTag])&&(t=t.default),i(t)?e.extend(t):t}function rt(t){return t.isComment&&t.asyncFactory}function it(t){if(Array.isArray(t))for(var n=0;n=0||n.indexOf(t[i])<0)&&r.push(t[i]);return r}return t}}(n[o],r[o],i[o]));return e}(t);r&&h(t.extendOptions,r),(e=t.options=F(n,t.extendOptions)).name&&(e.components[e.name]=t)}}return e}function Rt(t){this._init(t)}function Ht(t){t.cid=0;var e=1;t.extend=function(t){t=t||{};var n=this,r=n.cid,i=t._Ctor||(t._Ctor={});if(i[r])return i[r];var o=t.name||n.options.name,a=function(t){this._init(t)};return a.prototype=Object.create(n.prototype),a.prototype.constructor=a,a.cid=e++,a.options=F(n.options,t),a.super=n,a.options.props&&function(t){var e=t.options.props;for(var n in e)mt(t.prototype,"_props",n)}(a),a.options.computed&&function(t){var e=t.options.computed;for(var n in e)gt(t.prototype,n,e[n])}(a),a.extend=n.extend,a.mixin=n.mixin,a.use=n.use,zn.forEach(function(t){a[t]=n[t]}),o&&(a.options.components[o]=a),a.superOptions=n.options,a.extendOptions=t,a.sealedOptions=h({},a.options),i[r]=a,a}}function Bt(t){return t&&(t.Ctor.options.name||t.tag)}function Ut(t,e){return Array.isArray(t)?t.indexOf(e)>-1:"string"==typeof t?t.split(",").indexOf(e)>-1:!!function(t){return"[object RegExp]"===Nn.call(t)}(t)&&t.test(e)}function Vt(t,e){var n=t.cache,r=t.keys,i=t._vnode;for(var o in n){var a=n[o];if(a){var s=Bt(a.componentOptions);s&&!e(s)&&zt(n,o,r,i)}}}function zt(t,e,n,r){var i=t[e];!i||r&&i.tag===r.tag||i.componentInstance.$destroy(),t[e]=null,l(n,e)}function Kt(t){for(var n=t.data,r=t,i=t;e(i.componentInstance);)(i=i.componentInstance._vnode)&&i.data&&(n=Jt(i.data,n));for(;e(r=r.parent);)r&&r.data&&(n=Jt(n,r.data));return function(t,n){if(e(t)||e(n))return qt(t,Wt(n));return""}(n.staticClass,n.class)}function Jt(t,n){return{staticClass:qt(t.staticClass,n.staticClass),class:e(t.class)?[t.class,n.class]:n.class}}function qt(t,e){return t?e?t+" "+e:t:e||""}function Wt(t){return Array.isArray(t)?function(t){for(var n,r="",i=0,o=t.length;i=0&&" "===(m=t.charAt(h));h--);m&&Ii.test(m)||(l=!0)}}else void 0===o?(v=i+1,o=t.slice(0,i).trim()):e();if(void 0===o?o=t.slice(0,i).trim():0!==v&&e(),a)for(i=0;i-1?{exp:t.slice(0,ii),key:'"'+t.slice(ii+1)+'"'}:{exp:t,key:null};ni=t,ii=oi=ai=0;for(;!_e();)be(ri=ge())?$e(ri):91===ri&&function(t){var e=1;oi=ii;for(;!_e();)if(t=ge(),be(t))$e(t);else if(91===t&&e++,93===t&&e--,0===e){ai=ii;break}}(ri);return{exp:t.slice(0,oi),key:t.slice(oi+1,ai)}}(t);return null===n.key?t+"="+e:"$set("+n.exp+", "+n.key+", "+e+")"}function ge(){return ni.charCodeAt(++ii)}function _e(){return ii>=ei}function be(t){return 34===t||39===t}function $e(t){for(var e=t;!_e()&&(t=ge())!==e;);}function Ce(t,e,n,r,i){e=function(t){return t._withTask||(t._withTask=function(){Er=!0;var e=t.apply(null,arguments);return Er=!1,e})}(e),n&&(e=function(t,e,n){var r=si;return function i(){null!==t.apply(null,arguments)&&we(e,i,n,r)}}(e,t,r)),si.addEventListener(t,e,or?{capture:r,passive:i}:r)}function we(t,e,n,r){(r||si).removeEventListener(t,e._withTask||e,n)}function xe(n,r){if(!t(n.data.on)||!t(r.data.on)){var i=r.data.on||{},o=n.data.on||{};si=r.elm,function(t){if(e(t[Li])){var n=Qn?"change":"input";t[n]=[].concat(t[Li],t[n]||[]),delete t[Li]}e(t[Mi])&&(t.change=[].concat(t[Mi],t.change||[]),delete t[Mi])}(i),X(i,o,Ce,we,r.context),si=void 0}}function ke(n,r){if(!t(n.data.domProps)||!t(r.data.domProps)){var i,o,a=r.elm,s=n.data.domProps||{},u=r.data.domProps||{};e(u.__ob__)&&(u=r.data.domProps=h({},u));for(i in s)t(u[i])&&(a[i]="");for(i in u){if(o=u[i],"textContent"===i||"innerHTML"===i){if(r.children&&(r.children.length=0),o===s[i])continue;1===a.childNodes.length&&a.removeChild(a.childNodes[0])}if("value"===i){a._value=o;var l=t(o)?"":String(o);(function(t,n){return!t.composing&&("OPTION"===t.tagName||function(t,e){var n=!0;try{n=document.activeElement!==t}catch(t){}return n&&t.value!==e}(t,n)||function(t,n){var r=t.value,i=t._vModifiers;if(e(i)){if(i.lazy)return!1;if(i.number)return c(r)!==c(n);if(i.trim)return r.trim()!==n.trim()}return r!==n}(t,n))})(a,l)&&(a.value=l)}else a[i]=o}}}function Ae(t){var e=Oe(t.style);return t.staticStyle?h(t.staticStyle,e):e}function Oe(t){return Array.isArray(t)?m(t):"string"==typeof t?Fi(t):t}function Se(n,r){var i=r.data,o=n.data;if(!(t(i.staticStyle)&&t(i.style)&&t(o.staticStyle)&&t(o.style))){var a,s,c=r.elm,u=o.staticStyle,l=o.normalizedStyle||o.style||{},f=u||l,p=Oe(r.data.style)||{};r.data.normalizedStyle=e(p.__ob__)?h({},p):p;var d=function(t,e){var n,r={};if(e)for(var i=t;i.componentInstance;)(i=i.componentInstance._vnode)&&i.data&&(n=Ae(i.data))&&h(r,n);(n=Ae(t.data))&&h(r,n);for(var o=t;o=o.parent;)o.data&&(n=Ae(o.data))&&h(r,n);return r}(r,!0);for(s in f)t(d[s])&&Bi(c,s,"");for(s in d)(a=d[s])!==f[s]&&Bi(c,s,null==a?"":a)}}function Te(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 Ee(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{for(var n=" "+(t.getAttribute("class")||"")+" ",r=" "+e+" ";n.indexOf(r)>=0;)n=n.replace(r," ");(n=n.trim())?t.setAttribute("class",n):t.removeAttribute("class")}}function je(t){if(t){if("object"==typeof t){var e={};return!1!==t.css&&h(e,Ki(t.name||"v")),h(e,t),e}return"string"==typeof t?Ki(t):void 0}}function Ne(t){Qi(function(){Qi(t)})}function Ie(t,e){var n=t._transitionClasses||(t._transitionClasses=[]);n.indexOf(e)<0&&(n.push(e),Te(t,e))}function Le(t,e){t._transitionClasses&&l(t._transitionClasses,e),Ee(t,e)}function Me(t,e,n){var r=De(t,e),i=r.type,o=r.timeout,a=r.propCount;if(!i)return n();var s=i===qi?Zi:Yi,c=0,u=function(){t.removeEventListener(s,l),n()},l=function(e){e.target===t&&++c>=a&&u()};setTimeout(function(){c0&&(n=qi,l=a,f=o.length):e===Wi?u>0&&(n=Wi,l=u,f=c.length):f=(n=(l=Math.max(a,u))>0?a>u?qi:Wi:null)?n===qi?o.length:c.length:0;return{type:n,timeout:l,propCount:f,hasTransform:n===qi&&to.test(r[Gi+"Property"])}}function Pe(t,e){for(;t.length1}function Ve(t,e){!0!==e.data.show&&Re(e)}function ze(t,e,n){Ke(t,e,n),(Qn||er)&&setTimeout(function(){Ke(t,e,n)},0)}function Ke(t,e,n){var r=e.value,i=t.multiple;if(!i||Array.isArray(r)){for(var o,a,s=0,c=t.options.length;s-1,a.selected!==o&&(a.selected=o);else if(g(qe(a),r))return void(t.selectedIndex!==s&&(t.selectedIndex=s));i||(t.selectedIndex=-1)}}function Je(t,e){return e.every(function(e){return!g(e,t)})}function qe(t){return"_value"in t?t._value:t.value}function We(t){t.target.composing=!0}function Ge(t){t.target.composing&&(t.target.composing=!1,Ze(t.target,"input"))}function Ze(t,e){var n=document.createEvent("HTMLEvents");n.initEvent(e,!0,!0),t.dispatchEvent(n)}function Xe(t){return!t.componentInstance||t.data&&t.data.transition?t:Xe(t.componentInstance._vnode)}function Ye(t){var e=t&&t.componentOptions;return e&&e.Ctor.options.abstract?Ye(it(e.children)):t}function Qe(t){var e={},n=t.$options;for(var r in n.propsData)e[r]=t[r];var i=n._parentListeners;for(var o in i)e[Pn(o)]=i[o];return e}function tn(t,e){if(/\d-keep-alive$/.test(e.tag))return t("keep-alive",{props:e.componentOptions.propsData})}function en(t){t.elm._moveCb&&t.elm._moveCb(),t.elm._enterCb&&t.elm._enterCb()}function nn(t){t.data.newPos=t.elm.getBoundingClientRect()}function rn(t){var e=t.data.pos,n=t.data.newPos,r=e.left-n.left,i=e.top-n.top;if(r||i){t.data.moved=!0;var o=t.elm.style;o.transform=o.WebkitTransform="translate("+r+"px,"+i+"px)",o.transitionDuration="0s"}}function on(t,e){var n=e?zo:Vo;return t.replace(n,function(t){return Uo[t]})}function an(t,e,n){return{type:1,tag:t,attrsList:e,attrsMap:function(t){for(var e={},n=0,r=t.length;n=0&&a[i].lowerCasedTag!==s;i--);else i=0;if(i>=0){for(var c=a.length-1;c>=i;c--)e.end&&e.end(a[c].tag,n,r);a.length=i,o=i&&a[i-1].tag}else"br"===s?e.start&&e.start(t,[],!0,n,r):"p"===s&&(e.start&&e.start(t,[],!1,n,r),e.end&&e.end(t,n,r))}for(var i,o,a=[],s=e.expectHTML,c=e.isUnaryTag||Bn,u=e.canBeLeftOpenTag||Bn,l=0;t;){if(i=t,o&&Ho(o)){var f=0,p=o.toLowerCase(),d=Bo[p]||(Bo[p]=new RegExp("([\\s\\S]*?)(]*>)","i")),v=t.replace(d,function(t,n,r){return f=r.length,Ho(p)||"noscript"===p||(n=n.replace(//g,"$1").replace(//g,"$1")),Jo(p,n)&&(n=n.slice(1)),e.chars&&e.chars(n),""});l+=t.length-v.length,t=v,r(p,l-f,l)}else{var h=t.indexOf("<");if(0===h){if(Ao.test(t)){var m=t.indexOf("--\x3e");if(m>=0){e.shouldKeepComment&&e.comment(t.substring(4,m)),n(m+3);continue}}if(Oo.test(t)){var y=t.indexOf("]>");if(y>=0){n(y+2);continue}}var g=t.match(ko);if(g){n(g[0].length);continue}var _=t.match(xo);if(_){var b=l;n(_[0].length),r(_[1],b,l);continue}var $=function(){var e=t.match(Co);if(e){var r={tagName:e[1],attrs:[],start:l};n(e[0].length);for(var i,o;!(i=t.match(wo))&&(o=t.match(_o));)n(o[0].length),r.attrs.push(o);if(i)return r.unarySlash=i[1],n(i[0].length),r.end=l,r}}();if($){!function(t){var n=t.tagName,i=t.unarySlash;s&&("p"===o&&go(n)&&r(o),u(n)&&o===n&&r(n));for(var l=c(n)||!!i,f=t.attrs.length,p=new Array(f),d=0;d=0){for(w=t.slice(h);!(xo.test(w)||Co.test(w)||Ao.test(w)||Oo.test(w)||(x=w.indexOf("<",1))<0);)h+=x,w=t.slice(h);C=t.substring(0,h),n(h)}h<0&&(C=t,t=""),e.chars&&C&&e.chars(C)}if(t===i){e.chars&&e.chars(t);break}}r()}(t,{warn:To,expectHTML:e.expectHTML,isUnaryTag:e.isUnaryTag,canBeLeftOpenTag:e.canBeLeftOpenTag,shouldDecodeNewlines:e.shouldDecodeNewlines,shouldDecodeNewlinesForHref:e.shouldDecodeNewlinesForHref,shouldKeepComment:e.comments,start:function(t,a,u){var l=i&&i.ns||Do(t);Qn&&"svg"===l&&(a=function(t){for(var e=[],n=0;nc&&(s.push(o=t.slice(c,i)),a.push(JSON.stringify(o)));var u=ae(r[1].trim());a.push("_s("+u+")"),s.push({"@binding":u}),c=i+r[0].length}return c':'
',Ro.innerHTML.indexOf(" ")>0}var jn=Object.freeze({}),Nn=Object.prototype.toString,In=u("slot,component",!0),Ln=u("key,ref,slot,slot-scope,is"),Mn=Object.prototype.hasOwnProperty,Dn=/-(\w)/g,Pn=p(function(t){return t.replace(Dn,function(t,e){return e?e.toUpperCase():""})}),Fn=p(function(t){return t.charAt(0).toUpperCase()+t.slice(1)}),Rn=/\B([A-Z])/g,Hn=p(function(t){return t.replace(Rn,"-$1").toLowerCase()}),Bn=function(t,e,n){return!1},Un=function(t){return t},Vn="data-server-rendered",zn=["component","directive","filter"],Kn=["beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeDestroy","destroyed","activated","deactivated","errorCaptured"],Jn={optionMergeStrategies:Object.create(null),silent:!1,productionTip:!1,devtools:!1,performance:!1,errorHandler:null,warnHandler:null,ignoredElements:[],keyCodes:Object.create(null),isReservedTag:Bn,isReservedAttr:Bn,isUnknownElement:Bn,getTagNamespace:y,parsePlatformTagName:Un,mustUseProp:Bn,_lifecycleHooks:Kn},qn=/[^\w.$]/,Wn="__proto__"in{},Gn="undefined"!=typeof window,Zn="undefined"!=typeof WXEnvironment&&!!WXEnvironment.platform,Xn=Zn&&WXEnvironment.platform.toLowerCase(),Yn=Gn&&window.navigator.userAgent.toLowerCase(),Qn=Yn&&/msie|trident/.test(Yn),tr=Yn&&Yn.indexOf("msie 9.0")>0,er=Yn&&Yn.indexOf("edge/")>0,nr=Yn&&Yn.indexOf("android")>0||"android"===Xn,rr=Yn&&/iphone|ipad|ipod|ios/.test(Yn)||"ios"===Xn,ir=(Yn&&/chrome\/\d+/.test(Yn),{}.watch),or=!1;if(Gn)try{var ar={};Object.defineProperty(ar,"passive",{get:function(){or=!0}}),window.addEventListener("test-passive",null,ar)}catch(t){}var sr,cr,ur=function(){return void 0===sr&&(sr=!Gn&&"undefined"!=typeof global&&"server"===global.process.env.VUE_ENV),sr},lr=Gn&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__,fr="undefined"!=typeof Symbol&&w(Symbol)&&"undefined"!=typeof Reflect&&w(Reflect.ownKeys);cr="undefined"!=typeof Set&&w(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 pr=y,dr=0,vr=function(){this.id=dr++,this.subs=[]};vr.prototype.addSub=function(t){this.subs.push(t)},vr.prototype.removeSub=function(t){l(this.subs,t)},vr.prototype.depend=function(){vr.target&&vr.target.addDep(this)},vr.prototype.notify=function(){for(var t=this.subs.slice(),e=0,n=t.length;eVr&&Fr[n].id>t.id;)n--;Fr.splice(n+1,0,t)}else Fr.push(t);Br||(Br=!0,q(ht))}}(this)},Kr.prototype.run=function(){if(this.active){var t=this.get();if(t!==this.value||i(t)||this.deep){var e=this.value;if(this.value=t,this.user)try{this.cb.call(this.vm,t,e)}catch(t){V(t,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,t,e)}}},Kr.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},Kr.prototype.depend=function(){for(var t=this.deps.length;t--;)this.deps[t].depend()},Kr.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||l(this.vm._watchers,this);for(var t=this.deps.length;t--;)this.deps[t].removeSub(this);this.active=!1}};var Jr={enumerable:!0,configurable:!0,get:y,set:y},qr={lazy:!0};Nt(It.prototype);var Wr={init:function(t,n,r,i){if(!t.componentInstance||t.componentInstance._isDestroyed){(t.componentInstance=function(t,n,r,i){var o={_isComponent:!0,parent:n,_parentVnode:t,_parentElm:r||null,_refElm:i||null},a=t.data.inlineTemplate;return e(a)&&(o.render=a.render,o.staticRenderFns=a.staticRenderFns),new t.componentOptions.Ctor(o)}(t,Pr,r,i)).$mount(n?t.elm:void 0,n)}else if(t.data.keepAlive){var o=t;Wr.prepatch(o,o)}},prepatch:function(t,e){var n=e.componentOptions;!function(t,e,n,r,i){var o=!!(i||t.$options._renderChildren||r.data.scopedSlots||t.$scopedSlots!==jn);if(t.$options._parentVnode=r,t.$vnode=r,t._vnode&&(t._vnode.parent=r),t.$options._renderChildren=i,t.$attrs=r.data&&r.data.attrs||jn,t.$listeners=n||jn,e&&t.$options.props){Cr.shouldConvert=!1;for(var a=t._props,s=t.$options._propKeys||[],c=0;c1?v(n):n;for(var r=v(arguments,1),i=0,o=n.length;iparseInt(this.max)&&zt(a,s[0],s,this._vnode)),e.data.keepAlive=!0}return e||t&&t[0]}}};!function(t){var e={};e.get=function(){return Jn},Object.defineProperty(t,"config",e),t.util={warn:pr,extend:h,mergeOptions:F,defineReactive:E},t.set=j,t.delete=N,t.nextTick=q,t.options=Object.create(null),zn.forEach(function(e){t.options[e+"s"]=Object.create(null)}),t.options._base=t,h(t.options.components,ti),function(t){t.use=function(t){var e=this._installedPlugins||(this._installedPlugins=[]);if(e.indexOf(t)>-1)return this;var n=v(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}}(t),function(t){t.mixin=function(t){return this.options=F(this.options,t),this}}(t),Ht(t),function(t){zn.forEach(function(e){t[e]=function(t,n){return n?("component"===e&&o(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]}})}(t)}(Rt),Object.defineProperty(Rt.prototype,"$isServer",{get:ur}),Object.defineProperty(Rt.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Rt.version="2.5.13";var ei,ni,ri,ii,oi,ai,si,ci,ui=u("style,class"),li=u("input,textarea,option,select,progress"),fi=function(t,e,n){return"value"===n&&li(t)&&"button"!==e||"selected"===n&&"option"===t||"checked"===n&&"input"===t||"muted"===n&&"video"===t},pi=u("contenteditable,draggable,spellcheck"),di=u("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"),vi="http://www.w3.org/1999/xlink",hi=function(t){return":"===t.charAt(5)&&"xlink"===t.slice(0,5)},mi=function(t){return hi(t)?t.slice(6,t.length):""},yi=function(t){return null==t||!1===t},gi={svg:"http://www.w3.org/2000/svg",math:"http://www.w3.org/1998/Math/MathML"},_i=u("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"),bi=u("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),$i=function(t){return _i(t)||bi(t)},Ci=Object.create(null),wi=u("text,number,password,search,email,tel,url"),xi=Object.freeze({createElement:function(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)},createElementNS:function(t,e){return document.createElementNS(gi[t],e)},createTextNode:function(t){return document.createTextNode(t)},createComment:function(t){return document.createComment(t)},insertBefore:function(t,e,n){t.insertBefore(e,n)},removeChild:function(t,e){t.removeChild(e)},appendChild:function(t,e){t.appendChild(e)},parentNode:function(t){return t.parentNode},nextSibling:function(t){return t.nextSibling},tagName:function(t){return t.tagName},setTextContent:function(t,e){t.textContent=e},setAttribute:function(t,e,n){t.setAttribute(e,n)}}),ki={create:function(t,e){Xt(e)},update:function(t,e){t.data.ref!==e.data.ref&&(Xt(t,!0),Xt(e))},destroy:function(t){Xt(t,!0)}},Ai=new mr("",{},[]),Oi=["create","activate","update","remove","destroy"],Si={create:te,update:te,destroy:function(t){te(t,Ai)}},Ti=Object.create(null),Ei=[ki,Si],ji={create:re,update:re},Ni={create:oe,update:oe},Ii=/[\w).+\-_$\]]/,Li="__r",Mi="__c",Di={create:xe,update:xe},Pi={create:ke,update:ke},Fi=p(function(t){var e={},n=/:(.+)/;return t.split(/;(?![^(]*\))/g).forEach(function(t){if(t){var r=t.split(n);r.length>1&&(e[r[0].trim()]=r[1].trim())}}),e}),Ri=/^--/,Hi=/\s*!important$/,Bi=function(t,e,n){if(Ri.test(e))t.style.setProperty(e,n);else if(Hi.test(n))t.style.setProperty(e,n.replace(Hi,""),"important");else{var r=Vi(e);if(Array.isArray(n))for(var i=0,o=n.length;id?v(n,t(i[g+1])?null:i[g+1].elm,i,p,g,o):p>g&&m(0,r,f,d)}function _(r,i,o,a){if(r!==i){var s=i.elm=r.elm;if(n(r.isAsyncPlaceholder))e(i.asyncFactory.resolved)?$(r.elm,i,o):i.isAsyncPlaceholder=!0;else if(n(i.isStatic)&&n(r.isStatic)&&i.key===r.key&&(n(i.isCloned)||n(i.isOnce)))i.componentInstance=r.componentInstance;else{var c,u=i.data;e(u)&&e(c=u.hook)&&e(c=c.prepatch)&&c(r,i);var l=r.children,p=i.children;if(e(u)&&f(i)){for(c=0;c-1?Ci[t]=e.constructor===window.HTMLUnknownElement||e.constructor===window.HTMLElement:Ci[t]=/HTMLUnknownElement/.test(e.toString())},h(Rt.options.directives,ro),h(Rt.options.components,so),Rt.prototype.__patch__=Gn?eo:y,Rt.prototype.$mount=function(t,e){return t=t&&Gn?Zt(t):void 0,function(t,e,n){t.$el=e,t.$options.render||(t.$options.render=gr),vt(t,"beforeMount");var r;return r=function(){t._update(t._render(),n)},new Kr(t,r,y,null,!0),n=!1,null==t.$vnode&&(t._isMounted=!0,vt(t,"mounted")),t}(this,t,e)},Rt.nextTick(function(){Jn.devtools&&lr&&lr.emit("init",Rt)},0);var co,uo=/\{\{((?:.|\n)+?)\}\}/g,lo=/[-.*+?^${}()|[\]\/\\]/g,fo=p(function(t){var e=t[0].replace(lo,"\\$&"),n=t[1].replace(lo,"\\$&");return new RegExp(e+"((?:.|\\n)+?)"+n,"g")}),po={staticKeys:["staticClass"],transformNode:function(t,e){e.warn;var n=he(t,"class");n&&(t.staticClass=JSON.stringify(n));var r=ve(t,"class",!1);r&&(t.classBinding=r)},genData:function(t){var e="";return t.staticClass&&(e+="staticClass:"+t.staticClass+","),t.classBinding&&(e+="class:"+t.classBinding+","),e}},vo={staticKeys:["staticStyle"],transformNode:function(t,e){e.warn;var n=he(t,"style");n&&(t.staticStyle=JSON.stringify(Fi(n)));var r=ve(t,"style",!1);r&&(t.styleBinding=r)},genData:function(t){var e="";return t.staticStyle&&(e+="staticStyle:"+t.staticStyle+","),t.styleBinding&&(e+="style:("+t.styleBinding+"),"),e}},ho=function(t){return co=co||document.createElement("div"),co.innerHTML=t,co.textContent},mo=u("area,base,br,col,embed,frame,hr,img,input,isindex,keygen,link,meta,param,source,track,wbr"),yo=u("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source"),go=u("address,article,aside,base,blockquote,body,caption,col,colgroup,dd,details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,title,tr,track"),_o=/^\s*([^\s"'<>\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,bo="[a-zA-Z_][\\w\\-\\.]*",$o="((?:"+bo+"\\:)?"+bo+")",Co=new RegExp("^<"+$o),wo=/^\s*(\/?)>/,xo=new RegExp("^<\\/"+$o+"[^>]*>"),ko=/^]+>/i,Ao=/^