Updating grails/grails-forge-ui gh-pages branch for Github Actions run:18856742364
diff --git a/asset-manifest.json b/asset-manifest.json
index 193e850..ceb5dab 100644
--- a/asset-manifest.json
+++ b/asset-manifest.json
@@ -1,23 +1,23 @@
{
"files": {
- "main.css": "/static/css/main.6de2ca8c.chunk.css",
- "main.js": "/static/js/main.ec19343c.chunk.js",
- "main.js.map": "/static/js/main.ec19343c.chunk.js.map",
- "runtime-main.js": "/static/js/runtime-main.be265e1d.js",
- "runtime-main.js.map": "/static/js/runtime-main.be265e1d.js.map",
- "static/js/2.5700831d.chunk.js": "/static/js/2.5700831d.chunk.js",
- "static/js/2.5700831d.chunk.js.map": "/static/js/2.5700831d.chunk.js.map",
- "index.html": "/index.html",
- "static/css/main.6de2ca8c.chunk.css.map": "/static/css/main.6de2ca8c.chunk.css.map",
- "static/js/2.5700831d.chunk.js.LICENSE.txt": "/static/js/2.5700831d.chunk.js.LICENSE.txt",
- "static/media/grails-forge-logo.1bcb5fcd.svg": "/static/media/grails-forge-logo.1bcb5fcd.svg",
- "static/media/grails-forge.4609c6fa.svg": "/static/media/grails-forge.4609c6fa.svg",
- "static/media/grails-white-icon.1c3164ce.png": "/static/media/grails-white-icon.1c3164ce.png"
+ "main.css": "./static/css/main.6de2ca8c.chunk.css",
+ "main.js": "./static/js/main.98fe9a30.chunk.js",
+ "main.js.map": "./static/js/main.98fe9a30.chunk.js.map",
+ "runtime-main.js": "./static/js/runtime-main.03c37b46.js",
+ "runtime-main.js.map": "./static/js/runtime-main.03c37b46.js.map",
+ "static/js/2.5700831d.chunk.js": "./static/js/2.5700831d.chunk.js",
+ "static/js/2.5700831d.chunk.js.map": "./static/js/2.5700831d.chunk.js.map",
+ "index.html": "./index.html",
+ "static/css/main.6de2ca8c.chunk.css.map": "./static/css/main.6de2ca8c.chunk.css.map",
+ "static/js/2.5700831d.chunk.js.LICENSE.txt": "./static/js/2.5700831d.chunk.js.LICENSE.txt",
+ "static/media/grails-forge-logo.1bcb5fcd.svg": "./static/media/grails-forge-logo.1bcb5fcd.svg",
+ "static/media/grails-forge.4609c6fa.svg": "./static/media/grails-forge.4609c6fa.svg",
+ "static/media/grails-white-icon.1c3164ce.png": "./static/media/grails-white-icon.1c3164ce.png"
},
"entrypoints": [
- "static/js/runtime-main.be265e1d.js",
+ "static/js/runtime-main.03c37b46.js",
"static/js/2.5700831d.chunk.js",
"static/css/main.6de2ca8c.chunk.css",
- "static/js/main.ec19343c.chunk.js"
+ "static/js/main.98fe9a30.chunk.js"
]
}
\ No newline at end of file
diff --git a/css/material-icons.css b/css/material-icons.css
new file mode 100644
index 0000000..07c8b7c
--- /dev/null
+++ b/css/material-icons.css
@@ -0,0 +1,25 @@
+/* Material Icons Font */
+@font-face {
+ font-family: 'Material Icons';
+ font-style: normal;
+ font-weight: 400;
+ src: url('../fonts/MaterialIcons-Regular.woff2') format('woff2'),
+ url('../fonts/MaterialIcons-Regular.woff') format('woff');
+}
+
+.material-icons {
+ font-family: 'Material Icons';
+ font-weight: normal;
+ font-style: normal;
+ font-size: 24px;
+ line-height: 1;
+ letter-spacing: normal;
+ text-transform: none;
+ display: inline-block;
+ white-space: nowrap;
+ word-wrap: normal;
+ direction: ltr;
+ -webkit-font-feature-settings: 'liga';
+ -webkit-font-smoothing: antialiased;
+}
+
diff --git a/css/materialize.min.css b/css/materialize.min.css
new file mode 100644
index 0000000..74b1741
--- /dev/null
+++ b/css/materialize.min.css
Binary files differ
diff --git a/fonts/MaterialIcons-Regular.woff b/fonts/MaterialIcons-Regular.woff
new file mode 100644
index 0000000..88fdf4d
--- /dev/null
+++ b/fonts/MaterialIcons-Regular.woff
Binary files differ
diff --git a/fonts/MaterialIcons-Regular.woff2 b/fonts/MaterialIcons-Regular.woff2
new file mode 100644
index 0000000..5492a6e
--- /dev/null
+++ b/fonts/MaterialIcons-Regular.woff2
Binary files differ
diff --git a/index.html b/index.html
index 63f8428..e82a958 100644
--- a/index.html
+++ b/index.html
@@ -1 +1 @@
-<!doctype html><html lang="en"><head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1"/><link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet"><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.css"><link rel="icon" type="image/png" href="/favicon-96x96.png" sizes="96x96"/><link rel="icon" type="image/svg+xml" href="/favicon.svg"/><link rel="shortcut icon" href="/favicon.ico"/><link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"/><link rel="manifest" href="/site.webmanifest"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:site" content="@grailsframework"/><meta name="twitter:creator" content="@grailsframework"/><meta property="og:image" content="https://grails.apache.org/images/grails.png"/><meta property="og:image:width" content="300"/><meta property="og:image:height" content="300"/><meta property="og:url" content="https://start.grails.org"/><meta property="og:title" content="Apache Grails® Forge"/><meta property="og:description" content="A modern, JVM-based, full-stack framework for building modular, easily testable microservice and serverless applications."/><meta property="og:type" content="website"/><link rel="manifest" href="/manifest.json"/><title>Apache Grails® Application Forge</title><script>var _paq=window._paq=window._paq||[];_paq.push(["setDoNotTrack",!0]),_paq.push(["disableCookies"]),_paq.push(["trackPageView"]),_paq.push(["enableLinkTracking"]),function(){var a="https://analytics.apache.org/";_paq.push(["setTrackerUrl",a+"matomo.php"]),_paq.push(["setSiteId","79"]);var e=document,p=e.createElement("script"),t=e.getElementsByTagName("script")[0];p.async=!0,p.src=a+"matomo.js",t.parentNode.insertBefore(p,t)}()</script><link href="/static/css/main.6de2ca8c.chunk.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.js"></script><script>!function(e){function r(r){for(var n,p,l=r[0],a=r[1],f=r[2],c=0,s=[];c<l.length;c++)p=l[c],Object.prototype.hasOwnProperty.call(o,p)&&o[p]&&s.push(o[p][0]),o[p]=0;for(n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n]);for(i&&i(r);s.length;)s.shift()();return u.push.apply(u,f||[]),t()}function t(){for(var e,r=0;r<u.length;r++){for(var t=u[r],n=!0,l=1;l<t.length;l++){var a=t[l];0!==o[a]&&(n=!1)}n&&(u.splice(r--,1),e=p(p.s=t[0]))}return e}var n={},o={1:0},u=[];function p(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,p),t.l=!0,t.exports}p.m=e,p.c=n,p.d=function(e,r,t){p.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},p.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},p.t=function(e,r){if(1&r&&(e=p(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(p.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)p.d(t,n,function(r){return e[r]}.bind(null,n));return t},p.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return p.d(r,"a",r),r},p.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},p.p="/";var l=this.webpackJsonpapp=this.webpackJsonpapp||[],a=l.push.bind(l);l.push=r,l=l.slice();for(var f=0;f<l.length;f++)r(l[f]);var i=a;t()}([])</script><script src="/static/js/2.5700831d.chunk.js"></script><script src="/static/js/main.ec19343c.chunk.js"></script></body></html>
\ No newline at end of file
+<!doctype html><html lang="en"><head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1"/><link rel="stylesheet" href="./css/material-icons.css"><link rel="stylesheet" href="./css/materialize.min.css"><link rel="icon" type="image/png" href="./favicon-96x96.png" sizes="96x96"/><link rel="icon" type="image/svg+xml" href="./favicon.svg"/><link rel="shortcut icon" href="./favicon.ico"/><link rel="apple-touch-icon" sizes="180x180" href="./apple-touch-icon.png"/><link rel="manifest" href="./site.webmanifest"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:site" content="@grailsframework"/><meta name="twitter:creator" content="@grailsframework"/><meta property="og:image" content="https://grails.apache.org/images/grails.png"/><meta property="og:image:width" content="300"/><meta property="og:image:height" content="300"/><meta property="og:url" content="https://start.grails.org"/><meta property="og:title" content="Apache Grails® Forge"/><meta property="og:description" content="A modern, JVM-based, full-stack framework for building modular, easily testable microservice and serverless applications."/><meta property="og:type" content="website"/><link rel="manifest" href="./manifest.json"/><title>Apache Grails® Application Forge</title><script>var _paq=window._paq=window._paq||[];_paq.push(["setDoNotTrack",!0]),_paq.push(["disableCookies"]),_paq.push(["trackPageView"]),_paq.push(["enableLinkTracking"]),function(){var a="https://analytics.apache.org/";_paq.push(["setTrackerUrl",a+"matomo.php"]),_paq.push(["setSiteId","79"]);var e=document,p=e.createElement("script"),t=e.getElementsByTagName("script")[0];p.async=!0,p.src=a+"matomo.js",t.parentNode.insertBefore(p,t)}()</script><link href="./static/css/main.6de2ca8c.chunk.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script src="./js/materialize.min.js"></script><script>!function(e){function r(r){for(var n,p,l=r[0],a=r[1],f=r[2],c=0,s=[];c<l.length;c++)p=l[c],Object.prototype.hasOwnProperty.call(o,p)&&o[p]&&s.push(o[p][0]),o[p]=0;for(n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n]);for(i&&i(r);s.length;)s.shift()();return u.push.apply(u,f||[]),t()}function t(){for(var e,r=0;r<u.length;r++){for(var t=u[r],n=!0,l=1;l<t.length;l++){var a=t[l];0!==o[a]&&(n=!1)}n&&(u.splice(r--,1),e=p(p.s=t[0]))}return e}var n={},o={1:0},u=[];function p(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,p),t.l=!0,t.exports}p.m=e,p.c=n,p.d=function(e,r,t){p.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},p.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},p.t=function(e,r){if(1&r&&(e=p(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(p.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)p.d(t,n,function(r){return e[r]}.bind(null,n));return t},p.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return p.d(r,"a",r),r},p.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},p.p="./";var l=this.webpackJsonpapp=this.webpackJsonpapp||[],a=l.push.bind(l);l.push=r,l=l.slice();for(var f=0;f<l.length;f++)r(l[f]);var i=a;t()}([])</script><script src="./static/js/2.5700831d.chunk.js"></script><script src="./static/js/main.98fe9a30.chunk.js"></script></body></html>
\ No newline at end of file
diff --git a/js/materialize.min.js b/js/materialize.min.js
new file mode 100644
index 0000000..7d80c93
--- /dev/null
+++ b/js/materialize.min.js
@@ -0,0 +1,6 @@
+/*!
+ * Materialize v1.0.0 (http://materializecss.com)
+ * Copyright 2014-2017 Materialize
+ * MIT License (https://raw.githubusercontent.com/Dogfalo/materialize/master/LICENSE)
+ */
+var _get=function t(e,i,n){null===e&&(e=Function.prototype);var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var o=Object.getPrototypeOf(e);return null===o?void 0:t(o,i,n)}if("value"in s)return s.value;var a=s.get;return void 0!==a?a.call(n):void 0},_createClass=function(){function n(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(t,e,i){return e&&n(t.prototype,e),i&&n(t,i),t}}();function _possibleConstructorReturn(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function _inherits(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}window.cash=function(){var i,o=document,a=window,t=Array.prototype,r=t.slice,n=t.filter,s=t.push,e=function(){},h=function(t){return typeof t==typeof e&&t.call},d=function(t){return"string"==typeof t},l=/^#[\w-]*$/,u=/^\.[\w-]*$/,c=/<.+>/,p=/^\w+$/;function v(t,e){e=e||o;var i=u.test(t)?e.getElementsByClassName(t.slice(1)):p.test(t)?e.getElementsByTagName(t):e.querySelectorAll(t);return i}function f(t){if(!i){var e=(i=o.implementation.createHTMLDocument(null)).createElement("base");e.href=o.location.href,i.head.appendChild(e)}return i.body.innerHTML=t,i.body.childNodes}function m(t){"loading"!==o.readyState?t():o.addEventListener("DOMContentLoaded",t)}function g(t,e){if(!t)return this;if(t.cash&&t!==a)return t;var i,n=t,s=0;if(d(t))n=l.test(t)?o.getElementById(t.slice(1)):c.test(t)?f(t):v(t,e);else if(h(t))return m(t),this;if(!n)return this;if(n.nodeType||n===a)this[0]=n,this.length=1;else for(i=this.length=n.length;s<i;s++)this[s]=n[s];return this}function _(t,e){return new g(t,e)}var y=_.fn=_.prototype=g.prototype={cash:!0,length:0,push:s,splice:t.splice,map:t.map,init:g};function k(t,e){for(var i=t.length,n=0;n<i&&!1!==e.call(t[n],t[n],n,t);n++);}function b(t,e){var i=t&&(t.matches||t.webkitMatchesSelector||t.mozMatchesSelector||t.msMatchesSelector||t.oMatchesSelector);return!!i&&i.call(t,e)}function w(e){return d(e)?b:e.cash?function(t){return e.is(t)}:function(t,e){return t===e}}function C(t){return _(r.call(t).filter(function(t,e,i){return i.indexOf(t)===e}))}Object.defineProperty(y,"constructor",{value:_}),_.parseHTML=f,_.noop=e,_.isFunction=h,_.isString=d,_.extend=y.extend=function(t){t=t||{};var e=r.call(arguments),i=e.length,n=1;for(1===e.length&&(t=this,n=0);n<i;n++)if(e[n])for(var s in e[n])e[n].hasOwnProperty(s)&&(t[s]=e[n][s]);return t},_.extend({merge:function(t,e){for(var i=+e.length,n=t.length,s=0;s<i;n++,s++)t[n]=e[s];return t.length=n,t},each:k,matches:b,unique:C,isArray:Array.isArray,isNumeric:function(t){return!isNaN(parseFloat(t))&&isFinite(t)}});var E=_.uid="_cash"+Date.now();function M(t){return t[E]=t[E]||{}}function O(t,e,i){return M(t)[e]=i}function x(t,e){var i=M(t);return void 0===i[e]&&(i[e]=t.dataset?t.dataset[e]:_(t).attr("data-"+e)),i[e]}y.extend({data:function(e,i){if(d(e))return void 0===i?x(this[0],e):this.each(function(t){return O(t,e,i)});for(var t in e)this.data(t,e[t]);return this},removeData:function(s){return this.each(function(t){return i=s,void((n=M(e=t))?delete n[i]:e.dataset?delete e.dataset[i]:_(e).removeAttr("data-"+name));var e,i,n})}});var L=/\S+/g;function T(t){return d(t)&&t.match(L)}function $(t,e){return t.classList?t.classList.contains(e):new RegExp("(^| )"+e+"( |$)","gi").test(t.className)}function B(t,e,i){t.classList?t.classList.add(e):i.indexOf(" "+e+" ")&&(t.className+=" "+e)}function D(t,e){t.classList?t.classList.remove(e):t.className=t.className.replace(e,"")}y.extend({addClass:function(t){var n=T(t);return n?this.each(function(e){var i=" "+e.className+" ";k(n,function(t){B(e,t,i)})}):this},attr:function(e,i){if(e){if(d(e))return void 0===i?this[0]?this[0].getAttribute?this[0].getAttribute(e):this[0][e]:void 0:this.each(function(t){t.setAttribute?t.setAttribute(e,i):t[e]=i});for(var t in e)this.attr(t,e[t]);return this}},hasClass:function(t){var e=!1,i=T(t);return i&&i.length&&this.each(function(t){return!(e=$(t,i[0]))}),e},prop:function(e,i){if(d(e))return void 0===i?this[0][e]:this.each(function(t){t[e]=i});for(var t in e)this.prop(t,e[t]);return this},removeAttr:function(e){return this.each(function(t){t.removeAttribute?t.removeAttribute(e):delete t[e]})},removeClass:function(t){if(!arguments.length)return this.attr("class","");var i=T(t);return i?this.each(function(e){k(i,function(t){D(e,t)})}):this},removeProp:function(e){return this.each(function(t){delete t[e]})},toggleClass:function(t,e){if(void 0!==e)return this[e?"addClass":"removeClass"](t);var n=T(t);return n?this.each(function(e){var i=" "+e.className+" ";k(n,function(t){$(e,t)?D(e,t):B(e,t,i)})}):this}}),y.extend({add:function(t,e){return C(_.merge(this,_(t,e)))},each:function(t){return k(this,t),this},eq:function(t){return _(this.get(t))},filter:function(e){if(!e)return this;var i=h(e)?e:w(e);return _(n.call(this,function(t){return i(t,e)}))},first:function(){return this.eq(0)},get:function(t){return void 0===t?r.call(this):t<0?this[t+this.length]:this[t]},index:function(t){var e=t?_(t)[0]:this[0],i=t?this:_(e).parent().children();return r.call(i).indexOf(e)},last:function(){return this.eq(-1)}});var S,I,A,R,H,P,W=(H=/(?:^\w|[A-Z]|\b\w)/g,P=/[\s-_]+/g,function(t){return t.replace(H,function(t,e){return t[0===e?"toLowerCase":"toUpperCase"]()}).replace(P,"")}),j=(S={},I=document,A=I.createElement("div"),R=A.style,function(e){if(e=W(e),S[e])return S[e];var t=e.charAt(0).toUpperCase()+e.slice(1),i=(e+" "+["webkit","moz","ms","o"].join(t+" ")+t).split(" ");return k(i,function(t){if(t in R)return S[t]=e=S[e]=t,!1}),S[e]});function F(t,e){return parseInt(a.getComputedStyle(t[0],null)[e],10)||0}function q(e,i,t){var n,s=x(e,"_cashEvents"),o=s&&s[i];o&&(t?(e.removeEventListener(i,t),0<=(n=o.indexOf(t))&&o.splice(n,1)):(k(o,function(t){e.removeEventListener(i,t)}),o=[]))}function N(t,e){return"&"+encodeURIComponent(t)+"="+encodeURIComponent(e).replace(/%20/g,"+")}function z(t){var e,i,n,s=t.type;if(!s)return null;switch(s.toLowerCase()){case"select-one":return 0<=(n=(i=t).selectedIndex)?i.options[n].value:null;case"select-multiple":return e=[],k(t.options,function(t){t.selected&&e.push(t.value)}),e.length?e:null;case"radio":case"checkbox":return t.checked?t.value:null;default:return t.value?t.value:null}}function V(e,i,n){var t=d(i);t||!i.length?k(e,t?function(t){return t.insertAdjacentHTML(n?"afterbegin":"beforeend",i)}:function(t,e){return function(t,e,i){if(i){var n=t.childNodes[0];t.insertBefore(e,n)}else t.appendChild(e)}(t,0===e?i:i.cloneNode(!0),n)}):k(i,function(t){return V(e,t,n)})}_.prefixedProp=j,_.camelCase=W,y.extend({css:function(e,i){if(d(e))return e=j(e),1<arguments.length?this.each(function(t){return t.style[e]=i}):a.getComputedStyle(this[0])[e];for(var t in e)this.css(t,e[t]);return this}}),k(["Width","Height"],function(e){var t=e.toLowerCase();y[t]=function(){return this[0].getBoundingClientRect()[t]},y["inner"+e]=function(){return this[0]["client"+e]},y["outer"+e]=function(t){return this[0]["offset"+e]+(t?F(this,"margin"+("Width"===e?"Left":"Top"))+F(this,"margin"+("Width"===e?"Right":"Bottom")):0)}}),y.extend({off:function(e,i){return this.each(function(t){return q(t,e,i)})},on:function(a,i,r,l){var n;if(!d(a)){for(var t in a)this.on(t,i,a[t]);return this}return h(i)&&(r=i,i=null),"ready"===a?(m(r),this):(i&&(n=r,r=function(t){for(var e=t.target;!b(e,i);){if(e===this||null===e)return e=!1;e=e.parentNode}e&&n.call(e,t)}),this.each(function(t){var e,i,n,s,o=r;l&&(o=function(){r.apply(this,arguments),q(t,a,o)}),i=a,n=o,(s=x(e=t,"_cashEvents")||O(e,"_cashEvents",{}))[i]=s[i]||[],s[i].push(n),e.addEventListener(i,n)}))},one:function(t,e,i){return this.on(t,e,i,!0)},ready:m,trigger:function(t,e){if(document.createEvent){var i=document.createEvent("HTMLEvents");return i.initEvent(t,!0,!1),i=this.extend(i,e),this.each(function(t){return t.dispatchEvent(i)})}}}),y.extend({serialize:function(){var s="";return k(this[0].elements||this,function(t){if(!t.disabled&&"FIELDSET"!==t.tagName){var e=t.name;switch(t.type.toLowerCase()){case"file":case"reset":case"submit":case"button":break;case"select-multiple":var i=z(t);null!==i&&k(i,function(t){s+=N(e,t)});break;default:var n=z(t);null!==n&&(s+=N(e,n))}}}),s.substr(1)},val:function(e){return void 0===e?z(this[0]):this.each(function(t){return t.value=e})}}),y.extend({after:function(t){return _(t).insertAfter(this),this},append:function(t){return V(this,t),this},appendTo:function(t){return V(_(t),this),this},before:function(t){return _(t).insertBefore(this),this},clone:function(){return _(this.map(function(t){return t.cloneNode(!0)}))},empty:function(){return this.html(""),this},html:function(t){if(void 0===t)return this[0].innerHTML;var e=t.nodeType?t[0].outerHTML:t;return this.each(function(t){return t.innerHTML=e})},insertAfter:function(t){var s=this;return _(t).each(function(t,e){var i=t.parentNode,n=t.nextSibling;s.each(function(t){i.insertBefore(0===e?t:t.cloneNode(!0),n)})}),this},insertBefore:function(t){var s=this;return _(t).each(function(e,i){var n=e.parentNode;s.each(function(t){n.insertBefore(0===i?t:t.cloneNode(!0),e)})}),this},prepend:function(t){return V(this,t,!0),this},prependTo:function(t){return V(_(t),this,!0),this},remove:function(){return this.each(function(t){if(t.parentNode)return t.parentNode.removeChild(t)})},text:function(e){return void 0===e?this[0].textContent:this.each(function(t){return t.textContent=e})}});var X=o.documentElement;return y.extend({position:function(){var t=this[0];return{left:t.offsetLeft,top:t.offsetTop}},offset:function(){var t=this[0].getBoundingClientRect();return{top:t.top+a.pageYOffset-X.clientTop,left:t.left+a.pageXOffset-X.clientLeft}},offsetParent:function(){return _(this[0].offsetParent)}}),y.extend({children:function(e){var i=[];return this.each(function(t){s.apply(i,t.children)}),i=C(i),e?i.filter(function(t){return b(t,e)}):i},closest:function(t){return!t||this.length<1?_():this.is(t)?this.filter(t):this.parent().closest(t)},is:function(e){if(!e)return!1;var i=!1,n=w(e);return this.each(function(t){return!(i=n(t,e))}),i},find:function(e){if(!e||e.nodeType)return _(e&&this.has(e).length?e:null);var i=[];return this.each(function(t){s.apply(i,v(e,t))}),C(i)},has:function(e){var t=d(e)?function(t){return 0!==v(e,t).length}:function(t){return t.contains(e)};return this.filter(t)},next:function(){return _(this[0].nextElementSibling)},not:function(e){if(!e)return this;var i=w(e);return this.filter(function(t){return!i(t,e)})},parent:function(){var e=[];return this.each(function(t){t&&t.parentNode&&e.push(t.parentNode)}),C(e)},parents:function(e){var i,n=[];return this.each(function(t){for(i=t;i&&i.parentNode&&i!==o.body.parentNode;)i=i.parentNode,(!e||e&&b(i,e))&&n.push(i)}),C(n)},prev:function(){return _(this[0].previousElementSibling)},siblings:function(t){var e=this.parent().children(t),i=this[0];return e.filter(function(t){return t!==i})}}),_}();var Component=function(){function s(t,e,i){_classCallCheck(this,s),e instanceof Element||console.error(Error(e+" is not an HTML Element"));var n=t.getInstance(e);n&&n.destroy(),this.el=e,this.$el=cash(e)}return _createClass(s,null,[{key:"init",value:function(t,e,i){var n=null;if(e instanceof Element)n=new t(e,i);else if(e&&(e.jquery||e.cash||e instanceof NodeList)){for(var s=[],o=0;o<e.length;o++)s.push(new t(e[o],i));n=s}return n}}]),s}();!function(t){t.Package?M={}:t.M={},M.jQueryLoaded=!!t.jQuery}(window),"function"==typeof define&&define.amd?define("M",[],function(){return M}):"undefined"==typeof exports||exports.nodeType||("undefined"!=typeof module&&!module.nodeType&&module.exports&&(exports=module.exports=M),exports.default=M),M.version="1.0.0",M.keys={TAB:9,ENTER:13,ESC:27,ARROW_UP:38,ARROW_DOWN:40},M.tabPressed=!1,M.keyDown=!1;var docHandleKeydown=function(t){M.keyDown=!0,t.which!==M.keys.TAB&&t.which!==M.keys.ARROW_DOWN&&t.which!==M.keys.ARROW_UP||(M.tabPressed=!0)},docHandleKeyup=function(t){M.keyDown=!1,t.which!==M.keys.TAB&&t.which!==M.keys.ARROW_DOWN&&t.which!==M.keys.ARROW_UP||(M.tabPressed=!1)},docHandleFocus=function(t){M.keyDown&&document.body.classList.add("keyboard-focused")},docHandleBlur=function(t){document.body.classList.remove("keyboard-focused")};document.addEventListener("keydown",docHandleKeydown,!0),document.addEventListener("keyup",docHandleKeyup,!0),document.addEventListener("focus",docHandleFocus,!0),document.addEventListener("blur",docHandleBlur,!0),M.initializeJqueryWrapper=function(n,s,o){jQuery.fn[s]=function(e){if(n.prototype[e]){var i=Array.prototype.slice.call(arguments,1);if("get"===e.slice(0,3)){var t=this.first()[0][o];return t[e].apply(t,i)}return this.each(function(){var t=this[o];t[e].apply(t,i)})}if("object"==typeof e||!e)return n.init(this,e),this;jQuery.error("Method "+e+" does not exist on jQuery."+s)}},M.AutoInit=function(t){var e=t||document.body,i={Autocomplete:e.querySelectorAll(".autocomplete:not(.no-autoinit)"),Carousel:e.querySelectorAll(".carousel:not(.no-autoinit)"),Chips:e.querySelectorAll(".chips:not(.no-autoinit)"),Collapsible:e.querySelectorAll(".collapsible:not(.no-autoinit)"),Datepicker:e.querySelectorAll(".datepicker:not(.no-autoinit)"),Dropdown:e.querySelectorAll(".dropdown-trigger:not(.no-autoinit)"),Materialbox:e.querySelectorAll(".materialboxed:not(.no-autoinit)"),Modal:e.querySelectorAll(".modal:not(.no-autoinit)"),Parallax:e.querySelectorAll(".parallax:not(.no-autoinit)"),Pushpin:e.querySelectorAll(".pushpin:not(.no-autoinit)"),ScrollSpy:e.querySelectorAll(".scrollspy:not(.no-autoinit)"),FormSelect:e.querySelectorAll("select:not(.no-autoinit)"),Sidenav:e.querySelectorAll(".sidenav:not(.no-autoinit)"),Tabs:e.querySelectorAll(".tabs:not(.no-autoinit)"),TapTarget:e.querySelectorAll(".tap-target:not(.no-autoinit)"),Timepicker:e.querySelectorAll(".timepicker:not(.no-autoinit)"),Tooltip:e.querySelectorAll(".tooltipped:not(.no-autoinit)"),FloatingActionButton:e.querySelectorAll(".fixed-action-btn:not(.no-autoinit)")};for(var n in i){M[n].init(i[n])}},M.objectSelectorString=function(t){return((t.prop("tagName")||"")+(t.attr("id")||"")+(t.attr("class")||"")).replace(/\s/g,"")},M.guid=function(){function t(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}return function(){return t()+t()+"-"+t()+"-"+t()+"-"+t()+"-"+t()+t()+t()}}(),M.escapeHash=function(t){return t.replace(/(:|\.|\[|\]|,|=|\/)/g,"\\$1")},M.elementOrParentIsFixed=function(t){var e=$(t),i=e.add(e.parents()),n=!1;return i.each(function(){if("fixed"===$(this).css("position"))return!(n=!0)}),n},M.checkWithinContainer=function(t,e,i){var n={top:!1,right:!1,bottom:!1,left:!1},s=t.getBoundingClientRect(),o=t===document.body?Math.max(s.bottom,window.innerHeight):s.bottom,a=t.scrollLeft,r=t.scrollTop,l=e.left-a,h=e.top-r;return(l<s.left+i||l<i)&&(n.left=!0),(l+e.width>s.right-i||l+e.width>window.innerWidth-i)&&(n.right=!0),(h<s.top+i||h<i)&&(n.top=!0),(h+e.height>o-i||h+e.height>window.innerHeight-i)&&(n.bottom=!0),n},M.checkPossibleAlignments=function(t,e,i,n){var s={top:!0,right:!0,bottom:!0,left:!0,spaceOnTop:null,spaceOnRight:null,spaceOnBottom:null,spaceOnLeft:null},o="visible"===getComputedStyle(e).overflow,a=e.getBoundingClientRect(),r=Math.min(a.height,window.innerHeight),l=Math.min(a.width,window.innerWidth),h=t.getBoundingClientRect(),d=e.scrollLeft,u=e.scrollTop,c=i.left-d,p=i.top-u,v=i.top+h.height-u;return s.spaceOnRight=o?window.innerWidth-(h.left+i.width):l-(c+i.width),s.spaceOnRight<0&&(s.left=!1),s.spaceOnLeft=o?h.right-i.width:c-i.width+h.width,s.spaceOnLeft<0&&(s.right=!1),s.spaceOnBottom=o?window.innerHeight-(h.top+i.height+n):r-(p+i.height+n),s.spaceOnBottom<0&&(s.top=!1),s.spaceOnTop=o?h.bottom-(i.height+n):v-(i.height-n),s.spaceOnTop<0&&(s.bottom=!1),s},M.getOverflowParent=function(t){return null==t?null:t===document.body||"visible"!==getComputedStyle(t).overflow?t:M.getOverflowParent(t.parentElement)},M.getIdFromTrigger=function(t){var e=t.getAttribute("data-target");return e||(e=(e=t.getAttribute("href"))?e.slice(1):""),e},M.getDocumentScrollTop=function(){return window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0},M.getDocumentScrollLeft=function(){return window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0};var getTime=Date.now||function(){return(new Date).getTime()};M.throttle=function(i,n,s){var o=void 0,a=void 0,r=void 0,l=null,h=0;s||(s={});var d=function(){h=!1===s.leading?0:getTime(),l=null,r=i.apply(o,a),o=a=null};return function(){var t=getTime();h||!1!==s.leading||(h=t);var e=n-(t-h);return o=this,a=arguments,e<=0?(clearTimeout(l),l=null,h=t,r=i.apply(o,a),o=a=null):l||!1===s.trailing||(l=setTimeout(d,e)),r}};var $jscomp={scope:{}};$jscomp.defineProperty="function"==typeof Object.defineProperties?Object.defineProperty:function(t,e,i){if(i.get||i.set)throw new TypeError("ES3 does not support getters and setters.");t!=Array.prototype&&t!=Object.prototype&&(t[e]=i.value)},$jscomp.getGlobal=function(t){return"undefined"!=typeof window&&window===t?t:"undefined"!=typeof global&&null!=global?global:t},$jscomp.global=$jscomp.getGlobal(this),$jscomp.SYMBOL_PREFIX="jscomp_symbol_",$jscomp.initSymbol=function(){$jscomp.initSymbol=function(){},$jscomp.global.Symbol||($jscomp.global.Symbol=$jscomp.Symbol)},$jscomp.symbolCounter_=0,$jscomp.Symbol=function(t){return $jscomp.SYMBOL_PREFIX+(t||"")+$jscomp.symbolCounter_++},$jscomp.initSymbolIterator=function(){$jscomp.initSymbol();var t=$jscomp.global.Symbol.iterator;t||(t=$jscomp.global.Symbol.iterator=$jscomp.global.Symbol("iterator")),"function"!=typeof Array.prototype[t]&&$jscomp.defineProperty(Array.prototype,t,{configurable:!0,writable:!0,value:function(){return $jscomp.arrayIterator(this)}}),$jscomp.initSymbolIterator=function(){}},$jscomp.arrayIterator=function(t){var e=0;return $jscomp.iteratorPrototype(function(){return e<t.length?{done:!1,value:t[e++]}:{done:!0}})},$jscomp.iteratorPrototype=function(t){return $jscomp.initSymbolIterator(),(t={next:t})[$jscomp.global.Symbol.iterator]=function(){return this},t},$jscomp.array=$jscomp.array||{},$jscomp.iteratorFromArray=function(e,i){$jscomp.initSymbolIterator(),e instanceof String&&(e+="");var n=0,s={next:function(){if(n<e.length){var t=n++;return{value:i(t,e[t]),done:!1}}return s.next=function(){return{done:!0,value:void 0}},s.next()}};return s[Symbol.iterator]=function(){return s},s},$jscomp.polyfill=function(t,e,i,n){if(e){for(i=$jscomp.global,t=t.split("."),n=0;n<t.length-1;n++){var s=t[n];s in i||(i[s]={}),i=i[s]}(e=e(n=i[t=t[t.length-1]]))!=n&&null!=e&&$jscomp.defineProperty(i,t,{configurable:!0,writable:!0,value:e})}},$jscomp.polyfill("Array.prototype.keys",function(t){return t||function(){return $jscomp.iteratorFromArray(this,function(t){return t})}},"es6-impl","es3");var $jscomp$this=this;M.anime=function(){function s(t){if(!B.col(t))try{return document.querySelectorAll(t)}catch(t){}}function b(t,e){for(var i=t.length,n=2<=arguments.length?e:void 0,s=[],o=0;o<i;o++)if(o in t){var a=t[o];e.call(n,a,o,t)&&s.push(a)}return s}function d(t){return t.reduce(function(t,e){return t.concat(B.arr(e)?d(e):e)},[])}function o(t){return B.arr(t)?t:(B.str(t)&&(t=s(t)||t),t instanceof NodeList||t instanceof HTMLCollection?[].slice.call(t):[t])}function a(t,e){return t.some(function(t){return t===e})}function r(t){var e,i={};for(e in t)i[e]=t[e];return i}function u(t,e){var i,n=r(t);for(i in t)n[i]=e.hasOwnProperty(i)?e[i]:t[i];return n}function c(t,e){var i,n=r(t);for(i in e)n[i]=B.und(t[i])?e[i]:t[i];return n}function l(t){if(t=/([\+\-]?[0-9#\.]+)(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/.exec(t))return t[2]}function h(t,e){return B.fnc(t)?t(e.target,e.id,e.total):t}function w(t,e){if(e in t.style)return getComputedStyle(t).getPropertyValue(e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase())||"0"}function p(t,e){return B.dom(t)&&a($,e)?"transform":B.dom(t)&&(t.getAttribute(e)||B.svg(t)&&t[e])?"attribute":B.dom(t)&&"transform"!==e&&w(t,e)?"css":null!=t[e]?"object":void 0}function v(t,e){switch(p(t,e)){case"transform":return function(t,i){var e,n=-1<(e=i).indexOf("translate")||"perspective"===e?"px":-1<e.indexOf("rotate")||-1<e.indexOf("skew")?"deg":void 0,n=-1<i.indexOf("scale")?1:0+n;if(!(t=t.style.transform))return n;for(var s=[],o=[],a=[],r=/(\w+)\((.+?)\)/g;s=r.exec(t);)o.push(s[1]),a.push(s[2]);return(t=b(a,function(t,e){return o[e]===i})).length?t[0]:n}(t,e);case"css":return w(t,e);case"attribute":return t.getAttribute(e)}return t[e]||0}function f(t,e){var i=/^(\*=|\+=|-=)/.exec(t);if(!i)return t;var n=l(t)||0;switch(e=parseFloat(e),t=parseFloat(t.replace(i[0],"")),i[0][0]){case"+":return e+t+n;case"-":return e-t+n;case"*":return e*t+n}}function m(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function i(t){t=t.points;for(var e,i=0,n=0;n<t.numberOfItems;n++){var s=t.getItem(n);0<n&&(i+=m(e,s)),e=s}return i}function g(t){if(t.getTotalLength)return t.getTotalLength();switch(t.tagName.toLowerCase()){case"circle":return 2*Math.PI*t.getAttribute("r");case"rect":return 2*t.getAttribute("width")+2*t.getAttribute("height");case"line":return m({x:t.getAttribute("x1"),y:t.getAttribute("y1")},{x:t.getAttribute("x2"),y:t.getAttribute("y2")});case"polyline":return i(t);case"polygon":var e=t.points;return i(t)+m(e.getItem(e.numberOfItems-1),e.getItem(0))}}function C(e,i){function t(t){return t=void 0===t?0:t,e.el.getPointAtLength(1<=i+t?i+t:0)}var n=t(),s=t(-1),o=t(1);switch(e.property){case"x":return n.x;case"y":return n.y;case"angle":return 180*Math.atan2(o.y-s.y,o.x-s.x)/Math.PI}}function _(t,e){var i,n=/-?\d*\.?\d+/g;if(i=B.pth(t)?t.totalLength:t,B.col(i))if(B.rgb(i)){var s=/rgb\((\d+,\s*[\d]+,\s*[\d]+)\)/g.exec(i);i=s?"rgba("+s[1]+",1)":i}else i=B.hex(i)?function(t){t=t.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,n){return e+e+i+i+n+n});var e=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);t=parseInt(e[1],16);var i=parseInt(e[2],16),e=parseInt(e[3],16);return"rgba("+t+","+i+","+e+",1)"}(i):B.hsl(i)?function(t){function e(t,e,i){return i<0&&(i+=1),1<i&&--i,i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t}var i=/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(t)||/hsla\((\d+),\s*([\d.]+)%,\s*([\d.]+)%,\s*([\d.]+)\)/g.exec(t);t=parseInt(i[1])/360;var n=parseInt(i[2])/100,s=parseInt(i[3])/100,i=i[4]||1;if(0==n)s=n=t=s;else{var o=s<.5?s*(1+n):s+n-s*n,a=2*s-o,s=e(a,o,t+1/3),n=e(a,o,t);t=e(a,o,t-1/3)}return"rgba("+255*s+","+255*n+","+255*t+","+i+")"}(i):void 0;else s=(s=l(i))?i.substr(0,i.length-s.length):i,i=e&&!/\s/g.test(i)?s+e:s;return{original:i+="",numbers:i.match(n)?i.match(n).map(Number):[0],strings:B.str(t)||e?i.split(n):[]}}function y(t){return b(t=t?d(B.arr(t)?t.map(o):o(t)):[],function(t,e,i){return i.indexOf(t)===e})}function k(t,i){var e=r(i);if(B.arr(t)){var n=t.length;2!==n||B.obj(t[0])?B.fnc(i.duration)||(e.duration=i.duration/n):t={value:t}}return o(t).map(function(t,e){return e=e?0:i.delay,t=B.obj(t)&&!B.pth(t)?t:{value:t},B.und(t.delay)&&(t.delay=e),t}).map(function(t){return c(t,e)})}function E(o,a){var r;return o.tweens.map(function(t){var e=(t=function(t,e){var i,n={};for(i in t){var s=h(t[i],e);B.arr(s)&&1===(s=s.map(function(t){return h(t,e)})).length&&(s=s[0]),n[i]=s}return n.duration=parseFloat(n.duration),n.delay=parseFloat(n.delay),n}(t,a)).value,i=v(a.target,o.name),n=r?r.to.original:i,n=B.arr(e)?e[0]:n,s=f(B.arr(e)?e[1]:e,n),i=l(s)||l(n)||l(i);return t.from=_(n,i),t.to=_(s,i),t.start=r?r.end:o.offset,t.end=t.start+t.delay+t.duration,t.easing=function(t){return B.arr(t)?D.apply(this,t):S[t]}(t.easing),t.elasticity=(1e3-Math.min(Math.max(t.elasticity,1),999))/1e3,t.isPath=B.pth(e),t.isColor=B.col(t.from.original),t.isColor&&(t.round=1),r=t})}function M(e,t,i,n){var s="delay"===e;return t.length?(s?Math.min:Math.max).apply(Math,t.map(function(t){return t[e]})):s?n.delay:i.offset+n.delay+n.duration}function n(t){var e,i,n,s,o=u(L,t),a=u(T,t),r=(i=t.targets,(n=y(i)).map(function(t,e){return{target:t,id:e,total:n.length}})),l=[],h=c(o,a);for(e in t)h.hasOwnProperty(e)||"targets"===e||l.push({name:e,offset:h.offset,tweens:k(t[e],a)});return s=l,t=b(d(r.map(function(n){return s.map(function(t){var e=p(n.target,t.name);if(e){var i=E(t,n);t={type:e,property:t.name,animatable:n,tweens:i,duration:i[i.length-1].end,delay:i[0].delay}}else t=void 0;return t})})),function(t){return!B.und(t)}),c(o,{children:[],animatables:r,animations:t,duration:M("duration",t,o,a),delay:M("delay",t,o,a)})}function O(t){function d(){return window.Promise&&new Promise(function(t){return _=t})}function u(t){return k.reversed?k.duration-t:t}function c(e){for(var t=0,i={},n=k.animations,s=n.length;t<s;){var o=n[t],a=o.animatable,r=o.tweens,l=r.length-1,h=r[l];l&&(h=b(r,function(t){return e<t.end})[0]||h);for(var r=Math.min(Math.max(e-h.start-h.delay,0),h.duration)/h.duration,d=isNaN(r)?1:h.easing(r,h.elasticity),r=h.to.strings,u=h.round,l=[],c=void 0,c=h.to.numbers.length,p=0;p<c;p++){var v=void 0,v=h.to.numbers[p],f=h.from.numbers[p],v=h.isPath?C(h.value,d*v):f+d*(v-f);u&&(h.isColor&&2<p||(v=Math.round(v*u)/u)),l.push(v)}if(h=r.length)for(c=r[0],d=0;d<h;d++)u=r[d+1],p=l[d],isNaN(p)||(c=u?c+(p+u):c+(p+" "));else c=l[0];I[o.type](a.target,o.property,c,i,a.id),o.currentValue=c,t++}if(t=Object.keys(i).length)for(n=0;n<t;n++)x||(x=w(document.body,"transform")?"transform":"-webkit-transform"),k.animatables[n].target.style[x]=i[n].join(" ");k.currentTime=e,k.progress=e/k.duration*100}function p(t){k[t]&&k[t](k)}function v(){k.remaining&&!0!==k.remaining&&k.remaining--}function e(t){var e=k.duration,i=k.offset,n=i+k.delay,s=k.currentTime,o=k.reversed,a=u(t);if(k.children.length){var r=k.children,l=r.length;if(a>=k.currentTime)for(var h=0;h<l;h++)r[h].seek(a);else for(;l--;)r[l].seek(a)}(n<=a||!e)&&(k.began||(k.began=!0,p("begin")),p("run")),i<a&&a<e?c(a):(a<=i&&0!==s&&(c(0),o&&v()),(e<=a&&s!==e||!e)&&(c(e),o||v())),p("update"),e<=t&&(k.remaining?(m=f,"alternate"===k.direction&&(k.reversed=!k.reversed)):(k.pause(),k.completed||(k.completed=!0,p("complete"),"Promise"in window&&(_(),y=d()))),g=0)}t=void 0===t?{}:t;var f,m,g=0,_=null,y=d(),k=n(t);return k.reset=function(){var t=k.direction,e=k.loop;for(k.currentTime=0,k.progress=0,k.paused=!0,k.began=!1,k.completed=!1,k.reversed="reverse"===t,k.remaining="alternate"===t&&1===e?2:e,c(0),t=k.children.length;t--;)k.children[t].reset()},k.tick=function(t){f=t,m||(m=f),e((g+f-m)*O.speed)},k.seek=function(t){e(u(t))},k.pause=function(){var t=A.indexOf(k);-1<t&&A.splice(t,1),k.paused=!0},k.play=function(){k.paused&&(k.paused=!1,m=0,g=u(k.currentTime),A.push(k),R||H())},k.reverse=function(){k.reversed=!k.reversed,m=0,g=u(k.currentTime)},k.restart=function(){k.pause(),k.reset(),k.play()},k.finished=y,k.reset(),k.autoplay&&k.play(),k}var x,L={update:void 0,begin:void 0,run:void 0,complete:void 0,loop:1,direction:"normal",autoplay:!0,offset:0},T={duration:1e3,delay:0,easing:"easeOutElastic",elasticity:500,round:0},$="translateX translateY translateZ rotate rotateX rotateY rotateZ scale scaleX scaleY scaleZ skewX skewY perspective".split(" "),B={arr:function(t){return Array.isArray(t)},obj:function(t){return-1<Object.prototype.toString.call(t).indexOf("Object")},pth:function(t){return B.obj(t)&&t.hasOwnProperty("totalLength")},svg:function(t){return t instanceof SVGElement},dom:function(t){return t.nodeType||B.svg(t)},str:function(t){return"string"==typeof t},fnc:function(t){return"function"==typeof t},und:function(t){return void 0===t},hex:function(t){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t)},rgb:function(t){return/^rgb/.test(t)},hsl:function(t){return/^hsl/.test(t)},col:function(t){return B.hex(t)||B.rgb(t)||B.hsl(t)}},D=function(){function u(t,e,i){return(((1-3*i+3*e)*t+(3*i-6*e))*t+3*e)*t}return function(a,r,l,h){if(0<=a&&a<=1&&0<=l&&l<=1){var d=new Float32Array(11);if(a!==r||l!==h)for(var t=0;t<11;++t)d[t]=u(.1*t,a,l);return function(t){if(a===r&&l===h)return t;if(0===t)return 0;if(1===t)return 1;for(var e=0,i=1;10!==i&&d[i]<=t;++i)e+=.1;var i=e+(t-d[--i])/(d[i+1]-d[i])*.1,n=3*(1-3*l+3*a)*i*i+2*(3*l-6*a)*i+3*a;if(.001<=n){for(e=0;e<4&&0!=(n=3*(1-3*l+3*a)*i*i+2*(3*l-6*a)*i+3*a);++e)var s=u(i,a,l)-t,i=i-s/n;t=i}else if(0===n)t=i;else{for(var i=e,e=e+.1,o=0;0<(n=u(s=i+(e-i)/2,a,l)-t)?e=s:i=s,1e-7<Math.abs(n)&&++o<10;);t=s}return u(t,r,h)}}}}(),S=function(){function i(t,e){return 0===t||1===t?t:-Math.pow(2,10*(t-1))*Math.sin(2*(t-1-e/(2*Math.PI)*Math.asin(1))*Math.PI/e)}var t,n="Quad Cubic Quart Quint Sine Expo Circ Back Elastic".split(" "),e={In:[[.55,.085,.68,.53],[.55,.055,.675,.19],[.895,.03,.685,.22],[.755,.05,.855,.06],[.47,0,.745,.715],[.95,.05,.795,.035],[.6,.04,.98,.335],[.6,-.28,.735,.045],i],Out:[[.25,.46,.45,.94],[.215,.61,.355,1],[.165,.84,.44,1],[.23,1,.32,1],[.39,.575,.565,1],[.19,1,.22,1],[.075,.82,.165,1],[.175,.885,.32,1.275],function(t,e){return 1-i(1-t,e)}],InOut:[[.455,.03,.515,.955],[.645,.045,.355,1],[.77,0,.175,1],[.86,0,.07,1],[.445,.05,.55,.95],[1,0,0,1],[.785,.135,.15,.86],[.68,-.55,.265,1.55],function(t,e){return t<.5?i(2*t,e)/2:1-i(-2*t+2,e)/2}]},s={linear:D(.25,.25,.75,.75)},o={};for(t in e)o.type=t,e[o.type].forEach(function(i){return function(t,e){s["ease"+i.type+n[e]]=B.fnc(t)?t:D.apply($jscomp$this,t)}}(o)),o={type:o.type};return s}(),I={css:function(t,e,i){return t.style[e]=i},attribute:function(t,e,i){return t.setAttribute(e,i)},object:function(t,e,i){return t[e]=i},transform:function(t,e,i,n,s){n[s]||(n[s]=[]),n[s].push(e+"("+i+")")}},A=[],R=0,H=function(){function n(){R=requestAnimationFrame(t)}function t(t){var e=A.length;if(e){for(var i=0;i<e;)A[i]&&A[i].tick(t),i++;n()}else cancelAnimationFrame(R),R=0}return n}();return O.version="2.2.0",O.speed=1,O.running=A,O.remove=function(t){t=y(t);for(var e=A.length;e--;)for(var i=A[e],n=i.animations,s=n.length;s--;)a(t,n[s].animatable.target)&&(n.splice(s,1),n.length||i.pause())},O.getValue=v,O.path=function(t,e){var i=B.str(t)?s(t)[0]:t,n=e||100;return function(t){return{el:i,property:t,totalLength:g(i)*(n/100)}}},O.setDashoffset=function(t){var e=g(t);return t.setAttribute("stroke-dasharray",e),e},O.bezier=D,O.easings=S,O.timeline=function(n){var s=O(n);return s.pause(),s.duration=0,s.add=function(t){return s.children.forEach(function(t){t.began=!0,t.completed=!0}),o(t).forEach(function(t){var e=c(t,u(T,n||{}));e.targets=e.targets||n.targets,t=s.duration;var i=e.offset;e.autoplay=!1,e.direction=s.direction,e.offset=B.und(i)?t:f(i,t),s.began=!0,s.completed=!0,s.seek(e.offset),(e=O(e)).began=!0,e.completed=!0,e.duration>t&&(s.duration=e.duration),s.children.push(e)}),s.seek(0),s.reset(),s.autoplay&&s.restart(),s},s},O.random=function(t,e){return Math.floor(Math.random()*(e-t+1))+t},O}(),function(r,l){"use strict";var e={accordion:!0,onOpenStart:void 0,onOpenEnd:void 0,onCloseStart:void 0,onCloseEnd:void 0,inDuration:300,outDuration:300},t=function(t){function s(t,e){_classCallCheck(this,s);var i=_possibleConstructorReturn(this,(s.__proto__||Object.getPrototypeOf(s)).call(this,s,t,e));(i.el.M_Collapsible=i).options=r.extend({},s.defaults,e),i.$headers=i.$el.children("li").children(".collapsible-header"),i.$headers.attr("tabindex",0),i._setupEventHandlers();var n=i.$el.children("li.active").children(".collapsible-body");return i.options.accordion?n.first().css("display","block"):n.css("display","block"),i}return _inherits(s,Component),_createClass(s,[{key:"destroy",value:function(){this._removeEventHandlers(),this.el.M_Collapsible=void 0}},{key:"_setupEventHandlers",value:function(){var e=this;this._handleCollapsibleClickBound=this._handleCollapsibleClick.bind(this),this._handleCollapsibleKeydownBound=this._handleCollapsibleKeydown.bind(this),this.el.addEventListener("click",this._handleCollapsibleClickBound),this.$headers.each(function(t){t.addEventListener("keydown",e._handleCollapsibleKeydownBound)})}},{key:"_removeEventHandlers",value:function(){var e=this;this.el.removeEventListener("click",this._handleCollapsibleClickBound),this.$headers.each(function(t){t.removeEventListener("keydown",e._handleCollapsibleKeydownBound)})}},{key:"_handleCollapsibleClick",value:function(t){var e=r(t.target).closest(".collapsible-header");if(t.target&&e.length){var i=e.closest(".collapsible");if(i[0]===this.el){var n=e.closest("li"),s=i.children("li"),o=n[0].classList.contains("active"),a=s.index(n);o?this.close(a):this.open(a)}}}},{key:"_handleCollapsibleKeydown",value:function(t){13===t.keyCode&&this._handleCollapsibleClickBound(t)}},{key:"_animateIn",value:function(t){var e=this,i=this.$el.children("li").eq(t);if(i.length){var n=i.children(".collapsible-body");l.remove(n[0]),n.css({display:"block",overflow:"hidden",height:0,paddingTop:"",paddingBottom:""});var s=n.css("padding-top"),o=n.css("padding-bottom"),a=n[0].scrollHeight;n.css({paddingTop:0,paddingBottom:0}),l({targets:n[0],height:a,paddingTop:s,paddingBottom:o,duration:this.options.inDuration,easing:"easeInOutCubic",complete:function(t){n.css({overflow:"",paddingTop:"",paddingBottom:"",height:""}),"function"==typeof e.options.onOpenEnd&&e.options.onOpenEnd.call(e,i[0])}})}}},{key:"_animateOut",value:function(t){var e=this,i=this.$el.children("li").eq(t);if(i.length){var n=i.children(".collapsible-body");l.remove(n[0]),n.css("overflow","hidden"),l({targets:n[0],height:0,paddingTop:0,paddingBottom:0,duration:this.options.outDuration,easing:"easeInOutCubic",complete:function(){n.css({height:"",overflow:"",padding:"",display:""}),"function"==typeof e.options.onCloseEnd&&e.options.onCloseEnd.call(e,i[0])}})}}},{key:"open",value:function(t){var i=this,e=this.$el.children("li").eq(t);if(e.length&&!e[0].classList.contains("active")){if("function"==typeof this.options.onOpenStart&&this.options.onOpenStart.call(this,e[0]),this.options.accordion){var n=this.$el.children("li");this.$el.children("li.active").each(function(t){var e=n.index(r(t));i.close(e)})}e[0].classList.add("active"),this._animateIn(t)}}},{key:"close",value:function(t){var e=this.$el.children("li").eq(t);e.length&&e[0].classList.contains("active")&&("function"==typeof this.options.onCloseStart&&this.options.onCloseStart.call(this,e[0]),e[0].classList.remove("active"),this._animateOut(t))}}],[{key:"init",value:function(t,e){return _get(s.__proto__||Object.getPrototypeOf(s),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Collapsible}},{key:"defaults",get:function(){return e}}]),s}();M.Collapsible=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"collapsible","M_Collapsible")}(cash,M.anime),function(h,i){"use strict";var e={alignment:"left",autoFocus:!0,constrainWidth:!0,container:null,coverTrigger:!0,closeOnClick:!0,hover:!1,inDuration:150,outDuration:250,onOpenStart:null,onOpenEnd:null,onCloseStart:null,onCloseEnd:null,onItemClick:null},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return i.el.M_Dropdown=i,n._dropdowns.push(i),i.id=M.getIdFromTrigger(t),i.dropdownEl=document.getElementById(i.id),i.$dropdownEl=h(i.dropdownEl),i.options=h.extend({},n.defaults,e),i.isOpen=!1,i.isScrollable=!1,i.isTouchMoving=!1,i.focusedIndex=-1,i.filterQuery=[],i.options.container?h(i.options.container).append(i.dropdownEl):i.$el.after(i.dropdownEl),i._makeDropdownFocusable(),i._resetFilterQueryBound=i._resetFilterQuery.bind(i),i._handleDocumentClickBound=i._handleDocumentClick.bind(i),i._handleDocumentTouchmoveBound=i._handleDocumentTouchmove.bind(i),i._handleDropdownClickBound=i._handleDropdownClick.bind(i),i._handleDropdownKeydownBound=i._handleDropdownKeydown.bind(i),i._handleTriggerKeydownBound=i._handleTriggerKeydown.bind(i),i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){this._resetDropdownStyles(),this._removeEventHandlers(),n._dropdowns.splice(n._dropdowns.indexOf(this),1),this.el.M_Dropdown=void 0}},{key:"_setupEventHandlers",value:function(){this.el.addEventListener("keydown",this._handleTriggerKeydownBound),this.dropdownEl.addEventListener("click",this._handleDropdownClickBound),this.options.hover?(this._handleMouseEnterBound=this._handleMouseEnter.bind(this),this.el.addEventListener("mouseenter",this._handleMouseEnterBound),this._handleMouseLeaveBound=this._handleMouseLeave.bind(this),this.el.addEventListener("mouseleave",this._handleMouseLeaveBound),this.dropdownEl.addEventListener("mouseleave",this._handleMouseLeaveBound)):(this._handleClickBound=this._handleClick.bind(this),this.el.addEventListener("click",this._handleClickBound))}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("keydown",this._handleTriggerKeydownBound),this.dropdownEl.removeEventListener("click",this._handleDropdownClickBound),this.options.hover?(this.el.removeEventListener("mouseenter",this._handleMouseEnterBound),this.el.removeEventListener("mouseleave",this._handleMouseLeaveBound),this.dropdownEl.removeEventListener("mouseleave",this._handleMouseLeaveBound)):this.el.removeEventListener("click",this._handleClickBound)}},{key:"_setupTemporaryEventHandlers",value:function(){document.body.addEventListener("click",this._handleDocumentClickBound,!0),document.body.addEventListener("touchend",this._handleDocumentClickBound),document.body.addEventListener("touchmove",this._handleDocumentTouchmoveBound),this.dropdownEl.addEventListener("keydown",this._handleDropdownKeydownBound)}},{key:"_removeTemporaryEventHandlers",value:function(){document.body.removeEventListener("click",this._handleDocumentClickBound,!0),document.body.removeEventListener("touchend",this._handleDocumentClickBound),document.body.removeEventListener("touchmove",this._handleDocumentTouchmoveBound),this.dropdownEl.removeEventListener("keydown",this._handleDropdownKeydownBound)}},{key:"_handleClick",value:function(t){t.preventDefault(),this.open()}},{key:"_handleMouseEnter",value:function(){this.open()}},{key:"_handleMouseLeave",value:function(t){var e=t.toElement||t.relatedTarget,i=!!h(e).closest(".dropdown-content").length,n=!1,s=h(e).closest(".dropdown-trigger");s.length&&s[0].M_Dropdown&&s[0].M_Dropdown.isOpen&&(n=!0),n||i||this.close()}},{key:"_handleDocumentClick",value:function(t){var e=this,i=h(t.target);this.options.closeOnClick&&i.closest(".dropdown-content").length&&!this.isTouchMoving?setTimeout(function(){e.close()},0):!i.closest(".dropdown-trigger").length&&i.closest(".dropdown-content").length||setTimeout(function(){e.close()},0),this.isTouchMoving=!1}},{key:"_handleTriggerKeydown",value:function(t){t.which!==M.keys.ARROW_DOWN&&t.which!==M.keys.ENTER||this.isOpen||(t.preventDefault(),this.open())}},{key:"_handleDocumentTouchmove",value:function(t){h(t.target).closest(".dropdown-content").length&&(this.isTouchMoving=!0)}},{key:"_handleDropdownClick",value:function(t){if("function"==typeof this.options.onItemClick){var e=h(t.target).closest("li")[0];this.options.onItemClick.call(this,e)}}},{key:"_handleDropdownKeydown",value:function(t){if(t.which===M.keys.TAB)t.preventDefault(),this.close();else if(t.which!==M.keys.ARROW_DOWN&&t.which!==M.keys.ARROW_UP||!this.isOpen)if(t.which===M.keys.ENTER&&this.isOpen){var e=this.dropdownEl.children[this.focusedIndex],i=h(e).find("a, button").first();i.length?i[0].click():e&&e.click()}else t.which===M.keys.ESC&&this.isOpen&&(t.preventDefault(),this.close());else{t.preventDefault();var n=t.which===M.keys.ARROW_DOWN?1:-1,s=this.focusedIndex,o=!1;do{if(s+=n,this.dropdownEl.children[s]&&-1!==this.dropdownEl.children[s].tabIndex){o=!0;break}}while(s<this.dropdownEl.children.length&&0<=s);o&&(this.focusedIndex=s,this._focusFocusedItem())}var a=String.fromCharCode(t.which).toLowerCase();if(a&&-1===[9,13,27,38,40].indexOf(t.which)){this.filterQuery.push(a);var r=this.filterQuery.join(""),l=h(this.dropdownEl).find("li").filter(function(t){return 0===h(t).text().toLowerCase().indexOf(r)})[0];l&&(this.focusedIndex=h(l).index(),this._focusFocusedItem())}this.filterTimeout=setTimeout(this._resetFilterQueryBound,1e3)}},{key:"_resetFilterQuery",value:function(){this.filterQuery=[]}},{key:"_resetDropdownStyles",value:function(){this.$dropdownEl.css({display:"",width:"",height:"",left:"",top:"","transform-origin":"",transform:"",opacity:""})}},{key:"_makeDropdownFocusable",value:function(){this.dropdownEl.tabIndex=0,h(this.dropdownEl).children().each(function(t){t.getAttribute("tabindex")||t.setAttribute("tabindex",0)})}},{key:"_focusFocusedItem",value:function(){0<=this.focusedIndex&&this.focusedIndex<this.dropdownEl.children.length&&this.options.autoFocus&&this.dropdownEl.children[this.focusedIndex].focus()}},{key:"_getDropdownPosition",value:function(){this.el.offsetParent.getBoundingClientRect();var t=this.el.getBoundingClientRect(),e=this.dropdownEl.getBoundingClientRect(),i=e.height,n=e.width,s=t.left-e.left,o=t.top-e.top,a={left:s,top:o,height:i,width:n},r=this.dropdownEl.offsetParent?this.dropdownEl.offsetParent:this.dropdownEl.parentNode,l=M.checkPossibleAlignments(this.el,r,a,this.options.coverTrigger?0:t.height),h="top",d=this.options.alignment;if(o+=this.options.coverTrigger?0:t.height,this.isScrollable=!1,l.top||(l.bottom?h="bottom":(this.isScrollable=!0,l.spaceOnTop>l.spaceOnBottom?(h="bottom",i+=l.spaceOnTop,o-=l.spaceOnTop):i+=l.spaceOnBottom)),!l[d]){var u="left"===d?"right":"left";l[u]?d=u:l.spaceOnLeft>l.spaceOnRight?(d="right",n+=l.spaceOnLeft,s-=l.spaceOnLeft):(d="left",n+=l.spaceOnRight)}return"bottom"===h&&(o=o-e.height+(this.options.coverTrigger?t.height:0)),"right"===d&&(s=s-e.width+t.width),{x:s,y:o,verticalAlignment:h,horizontalAlignment:d,height:i,width:n}}},{key:"_animateIn",value:function(){var e=this;i.remove(this.dropdownEl),i({targets:this.dropdownEl,opacity:{value:[0,1],easing:"easeOutQuad"},scaleX:[.3,1],scaleY:[.3,1],duration:this.options.inDuration,easing:"easeOutQuint",complete:function(t){e.options.autoFocus&&e.dropdownEl.focus(),"function"==typeof e.options.onOpenEnd&&e.options.onOpenEnd.call(e,e.el)}})}},{key:"_animateOut",value:function(){var e=this;i.remove(this.dropdownEl),i({targets:this.dropdownEl,opacity:{value:0,easing:"easeOutQuint"},scaleX:.3,scaleY:.3,duration:this.options.outDuration,easing:"easeOutQuint",complete:function(t){e._resetDropdownStyles(),"function"==typeof e.options.onCloseEnd&&e.options.onCloseEnd.call(e,e.el)}})}},{key:"_placeDropdown",value:function(){var t=this.options.constrainWidth?this.el.getBoundingClientRect().width:this.dropdownEl.getBoundingClientRect().width;this.dropdownEl.style.width=t+"px";var e=this._getDropdownPosition();this.dropdownEl.style.left=e.x+"px",this.dropdownEl.style.top=e.y+"px",this.dropdownEl.style.height=e.height+"px",this.dropdownEl.style.width=e.width+"px",this.dropdownEl.style.transformOrigin=("left"===e.horizontalAlignment?"0":"100%")+" "+("top"===e.verticalAlignment?"0":"100%")}},{key:"open",value:function(){this.isOpen||(this.isOpen=!0,"function"==typeof this.options.onOpenStart&&this.options.onOpenStart.call(this,this.el),this._resetDropdownStyles(),this.dropdownEl.style.display="block",this._placeDropdown(),this._animateIn(),this._setupTemporaryEventHandlers())}},{key:"close",value:function(){this.isOpen&&(this.isOpen=!1,this.focusedIndex=-1,"function"==typeof this.options.onCloseStart&&this.options.onCloseStart.call(this,this.el),this._animateOut(),this._removeTemporaryEventHandlers(),this.options.autoFocus&&this.el.focus())}},{key:"recalculateDimensions",value:function(){this.isOpen&&(this.$dropdownEl.css({width:"",height:"",left:"",top:"","transform-origin":""}),this._placeDropdown())}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Dropdown}},{key:"defaults",get:function(){return e}}]),n}();t._dropdowns=[],M.Dropdown=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"dropdown","M_Dropdown")}(cash,M.anime),function(s,i){"use strict";var e={opacity:.5,inDuration:250,outDuration:250,onOpenStart:null,onOpenEnd:null,onCloseStart:null,onCloseEnd:null,preventScrolling:!0,dismissible:!0,startingTop:"4%",endingTop:"10%"},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Modal=i).options=s.extend({},n.defaults,e),i.isOpen=!1,i.id=i.$el.attr("id"),i._openingTrigger=void 0,i.$overlay=s('<div class="modal-overlay"></div>'),i.el.tabIndex=0,i._nthModalOpened=0,n._count++,i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){n._count--,this._removeEventHandlers(),this.el.removeAttribute("style"),this.$overlay.remove(),this.el.M_Modal=void 0}},{key:"_setupEventHandlers",value:function(){this._handleOverlayClickBound=this._handleOverlayClick.bind(this),this._handleModalCloseClickBound=this._handleModalCloseClick.bind(this),1===n._count&&document.body.addEventListener("click",this._handleTriggerClick),this.$overlay[0].addEventListener("click",this._handleOverlayClickBound),this.el.addEventListener("click",this._handleModalCloseClickBound)}},{key:"_removeEventHandlers",value:function(){0===n._count&&document.body.removeEventListener("click",this._handleTriggerClick),this.$overlay[0].removeEventListener("click",this._handleOverlayClickBound),this.el.removeEventListener("click",this._handleModalCloseClickBound)}},{key:"_handleTriggerClick",value:function(t){var e=s(t.target).closest(".modal-trigger");if(e.length){var i=M.getIdFromTrigger(e[0]),n=document.getElementById(i).M_Modal;n&&n.open(e),t.preventDefault()}}},{key:"_handleOverlayClick",value:function(){this.options.dismissible&&this.close()}},{key:"_handleModalCloseClick",value:function(t){s(t.target).closest(".modal-close").length&&this.close()}},{key:"_handleKeydown",value:function(t){27===t.keyCode&&this.options.dismissible&&this.close()}},{key:"_handleFocus",value:function(t){this.el.contains(t.target)||this._nthModalOpened!==n._modalsOpen||this.el.focus()}},{key:"_animateIn",value:function(){var t=this;s.extend(this.el.style,{display:"block",opacity:0}),s.extend(this.$overlay[0].style,{display:"block",opacity:0}),i({targets:this.$overlay[0],opacity:this.options.opacity,duration:this.options.inDuration,easing:"easeOutQuad"});var e={targets:this.el,duration:this.options.inDuration,easing:"easeOutCubic",complete:function(){"function"==typeof t.options.onOpenEnd&&t.options.onOpenEnd.call(t,t.el,t._openingTrigger)}};this.el.classList.contains("bottom-sheet")?s.extend(e,{bottom:0,opacity:1}):s.extend(e,{top:[this.options.startingTop,this.options.endingTop],opacity:1,scaleX:[.8,1],scaleY:[.8,1]}),i(e)}},{key:"_animateOut",value:function(){var t=this;i({targets:this.$overlay[0],opacity:0,duration:this.options.outDuration,easing:"easeOutQuart"});var e={targets:this.el,duration:this.options.outDuration,easing:"easeOutCubic",complete:function(){t.el.style.display="none",t.$overlay.remove(),"function"==typeof t.options.onCloseEnd&&t.options.onCloseEnd.call(t,t.el)}};this.el.classList.contains("bottom-sheet")?s.extend(e,{bottom:"-100%",opacity:0}):s.extend(e,{top:[this.options.endingTop,this.options.startingTop],opacity:0,scaleX:.8,scaleY:.8}),i(e)}},{key:"open",value:function(t){if(!this.isOpen)return this.isOpen=!0,n._modalsOpen++,this._nthModalOpened=n._modalsOpen,this.$overlay[0].style.zIndex=1e3+2*n._modalsOpen,this.el.style.zIndex=1e3+2*n._modalsOpen+1,this._openingTrigger=t?t[0]:void 0,"function"==typeof this.options.onOpenStart&&this.options.onOpenStart.call(this,this.el,this._openingTrigger),this.options.preventScrolling&&(document.body.style.overflow="hidden"),this.el.classList.add("open"),this.el.insertAdjacentElement("afterend",this.$overlay[0]),this.options.dismissible&&(this._handleKeydownBound=this._handleKeydown.bind(this),this._handleFocusBound=this._handleFocus.bind(this),document.addEventListener("keydown",this._handleKeydownBound),document.addEventListener("focus",this._handleFocusBound,!0)),i.remove(this.el),i.remove(this.$overlay[0]),this._animateIn(),this.el.focus(),this}},{key:"close",value:function(){if(this.isOpen)return this.isOpen=!1,n._modalsOpen--,this._nthModalOpened=0,"function"==typeof this.options.onCloseStart&&this.options.onCloseStart.call(this,this.el),this.el.classList.remove("open"),0===n._modalsOpen&&(document.body.style.overflow=""),this.options.dismissible&&(document.removeEventListener("keydown",this._handleKeydownBound),document.removeEventListener("focus",this._handleFocusBound,!0)),i.remove(this.el),i.remove(this.$overlay[0]),this._animateOut(),this}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Modal}},{key:"defaults",get:function(){return e}}]),n}();t._modalsOpen=0,t._count=0,M.Modal=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"modal","M_Modal")}(cash,M.anime),function(o,a){"use strict";var e={inDuration:275,outDuration:200,onOpenStart:null,onOpenEnd:null,onCloseStart:null,onCloseEnd:null},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Materialbox=i).options=o.extend({},n.defaults,e),i.overlayActive=!1,i.doneAnimating=!0,i.placeholder=o("<div></div>").addClass("material-placeholder"),i.originalWidth=0,i.originalHeight=0,i.originInlineStyles=i.$el.attr("style"),i.caption=i.el.getAttribute("data-caption")||"",i.$el.before(i.placeholder),i.placeholder.append(i.$el),i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){this._removeEventHandlers(),this.el.M_Materialbox=void 0,o(this.placeholder).after(this.el).remove(),this.$el.removeAttr("style")}},{key:"_setupEventHandlers",value:function(){this._handleMaterialboxClickBound=this._handleMaterialboxClick.bind(this),this.el.addEventListener("click",this._handleMaterialboxClickBound)}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("click",this._handleMaterialboxClickBound)}},{key:"_handleMaterialboxClick",value:function(t){!1===this.doneAnimating||this.overlayActive&&this.doneAnimating?this.close():this.open()}},{key:"_handleWindowScroll",value:function(){this.overlayActive&&this.close()}},{key:"_handleWindowResize",value:function(){this.overlayActive&&this.close()}},{key:"_handleWindowEscape",value:function(t){27===t.keyCode&&this.doneAnimating&&this.overlayActive&&this.close()}},{key:"_makeAncestorsOverflowVisible",value:function(){this.ancestorsChanged=o();for(var t=this.placeholder[0].parentNode;null!==t&&!o(t).is(document);){var e=o(t);"visible"!==e.css("overflow")&&(e.css("overflow","visible"),void 0===this.ancestorsChanged?this.ancestorsChanged=e:this.ancestorsChanged=this.ancestorsChanged.add(e)),t=t.parentNode}}},{key:"_animateImageIn",value:function(){var t=this,e={targets:this.el,height:[this.originalHeight,this.newHeight],width:[this.originalWidth,this.newWidth],left:M.getDocumentScrollLeft()+this.windowWidth/2-this.placeholder.offset().left-this.newWidth/2,top:M.getDocumentScrollTop()+this.windowHeight/2-this.placeholder.offset().top-this.newHeight/2,duration:this.options.inDuration,easing:"easeOutQuad",complete:function(){t.doneAnimating=!0,"function"==typeof t.options.onOpenEnd&&t.options.onOpenEnd.call(t,t.el)}};this.maxWidth=this.$el.css("max-width"),this.maxHeight=this.$el.css("max-height"),"none"!==this.maxWidth&&(e.maxWidth=this.newWidth),"none"!==this.maxHeight&&(e.maxHeight=this.newHeight),a(e)}},{key:"_animateImageOut",value:function(){var t=this,e={targets:this.el,width:this.originalWidth,height:this.originalHeight,left:0,top:0,duration:this.options.outDuration,easing:"easeOutQuad",complete:function(){t.placeholder.css({height:"",width:"",position:"",top:"",left:""}),t.attrWidth&&t.$el.attr("width",t.attrWidth),t.attrHeight&&t.$el.attr("height",t.attrHeight),t.$el.removeAttr("style"),t.originInlineStyles&&t.$el.attr("style",t.originInlineStyles),t.$el.removeClass("active"),t.doneAnimating=!0,t.ancestorsChanged.length&&t.ancestorsChanged.css("overflow",""),"function"==typeof t.options.onCloseEnd&&t.options.onCloseEnd.call(t,t.el)}};a(e)}},{key:"_updateVars",value:function(){this.windowWidth=window.innerWidth,this.windowHeight=window.innerHeight,this.caption=this.el.getAttribute("data-caption")||""}},{key:"open",value:function(){var t=this;this._updateVars(),this.originalWidth=this.el.getBoundingClientRect().width,this.originalHeight=this.el.getBoundingClientRect().height,this.doneAnimating=!1,this.$el.addClass("active"),this.overlayActive=!0,"function"==typeof this.options.onOpenStart&&this.options.onOpenStart.call(this,this.el),this.placeholder.css({width:this.placeholder[0].getBoundingClientRect().width+"px",height:this.placeholder[0].getBoundingClientRect().height+"px",position:"relative",top:0,left:0}),this._makeAncestorsOverflowVisible(),this.$el.css({position:"absolute","z-index":1e3,"will-change":"left, top, width, height"}),this.attrWidth=this.$el.attr("width"),this.attrHeight=this.$el.attr("height"),this.attrWidth&&(this.$el.css("width",this.attrWidth+"px"),this.$el.removeAttr("width")),this.attrHeight&&(this.$el.css("width",this.attrHeight+"px"),this.$el.removeAttr("height")),this.$overlay=o('<div id="materialbox-overlay"></div>').css({opacity:0}).one("click",function(){t.doneAnimating&&t.close()}),this.$el.before(this.$overlay);var e=this.$overlay[0].getBoundingClientRect();this.$overlay.css({width:this.windowWidth+"px",height:this.windowHeight+"px",left:-1*e.left+"px",top:-1*e.top+"px"}),a.remove(this.el),a.remove(this.$overlay[0]),a({targets:this.$overlay[0],opacity:1,duration:this.options.inDuration,easing:"easeOutQuad"}),""!==this.caption&&(this.$photocaption&&a.remove(this.$photoCaption[0]),this.$photoCaption=o('<div class="materialbox-caption"></div>'),this.$photoCaption.text(this.caption),o("body").append(this.$photoCaption),this.$photoCaption.css({display:"inline"}),a({targets:this.$photoCaption[0],opacity:1,duration:this.options.inDuration,easing:"easeOutQuad"}));var i=0,n=this.originalWidth/this.windowWidth,s=this.originalHeight/this.windowHeight;this.newWidth=0,this.newHeight=0,s<n?(i=this.originalHeight/this.originalWidth,this.newWidth=.9*this.windowWidth,this.newHeight=.9*this.windowWidth*i):(i=this.originalWidth/this.originalHeight,this.newWidth=.9*this.windowHeight*i,this.newHeight=.9*this.windowHeight),this._animateImageIn(),this._handleWindowScrollBound=this._handleWindowScroll.bind(this),this._handleWindowResizeBound=this._handleWindowResize.bind(this),this._handleWindowEscapeBound=this._handleWindowEscape.bind(this),window.addEventListener("scroll",this._handleWindowScrollBound),window.addEventListener("resize",this._handleWindowResizeBound),window.addEventListener("keyup",this._handleWindowEscapeBound)}},{key:"close",value:function(){var t=this;this._updateVars(),this.doneAnimating=!1,"function"==typeof this.options.onCloseStart&&this.options.onCloseStart.call(this,this.el),a.remove(this.el),a.remove(this.$overlay[0]),""!==this.caption&&a.remove(this.$photoCaption[0]),window.removeEventListener("scroll",this._handleWindowScrollBound),window.removeEventListener("resize",this._handleWindowResizeBound),window.removeEventListener("keyup",this._handleWindowEscapeBound),a({targets:this.$overlay[0],opacity:0,duration:this.options.outDuration,easing:"easeOutQuad",complete:function(){t.overlayActive=!1,t.$overlay.remove()}}),this._animateImageOut(),""!==this.caption&&a({targets:this.$photoCaption[0],opacity:0,duration:this.options.outDuration,easing:"easeOutQuad",complete:function(){t.$photoCaption.remove()}})}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Materialbox}},{key:"defaults",get:function(){return e}}]),n}();M.Materialbox=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"materialbox","M_Materialbox")}(cash,M.anime),function(s){"use strict";var e={responsiveThreshold:0},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Parallax=i).options=s.extend({},n.defaults,e),i._enabled=window.innerWidth>i.options.responsiveThreshold,i.$img=i.$el.find("img").first(),i.$img.each(function(){this.complete&&s(this).trigger("load")}),i._updateParallax(),i._setupEventHandlers(),i._setupStyles(),n._parallaxes.push(i),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){n._parallaxes.splice(n._parallaxes.indexOf(this),1),this.$img[0].style.transform="",this._removeEventHandlers(),this.$el[0].M_Parallax=void 0}},{key:"_setupEventHandlers",value:function(){this._handleImageLoadBound=this._handleImageLoad.bind(this),this.$img[0].addEventListener("load",this._handleImageLoadBound),0===n._parallaxes.length&&(n._handleScrollThrottled=M.throttle(n._handleScroll,5),window.addEventListener("scroll",n._handleScrollThrottled),n._handleWindowResizeThrottled=M.throttle(n._handleWindowResize,5),window.addEventListener("resize",n._handleWindowResizeThrottled))}},{key:"_removeEventHandlers",value:function(){this.$img[0].removeEventListener("load",this._handleImageLoadBound),0===n._parallaxes.length&&(window.removeEventListener("scroll",n._handleScrollThrottled),window.removeEventListener("resize",n._handleWindowResizeThrottled))}},{key:"_setupStyles",value:function(){this.$img[0].style.opacity=1}},{key:"_handleImageLoad",value:function(){this._updateParallax()}},{key:"_updateParallax",value:function(){var t=0<this.$el.height()?this.el.parentNode.offsetHeight:500,e=this.$img[0].offsetHeight-t,i=this.$el.offset().top+t,n=this.$el.offset().top,s=M.getDocumentScrollTop(),o=window.innerHeight,a=e*((s+o-n)/(t+o));this._enabled?s<i&&n<s+o&&(this.$img[0].style.transform="translate3D(-50%, "+a+"px, 0)"):this.$img[0].style.transform=""}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Parallax}},{key:"_handleScroll",value:function(){for(var t=0;t<n._parallaxes.length;t++){var e=n._parallaxes[t];e._updateParallax.call(e)}}},{key:"_handleWindowResize",value:function(){for(var t=0;t<n._parallaxes.length;t++){var e=n._parallaxes[t];e._enabled=window.innerWidth>e.options.responsiveThreshold}}},{key:"defaults",get:function(){return e}}]),n}();t._parallaxes=[],M.Parallax=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"parallax","M_Parallax")}(cash),function(a,s){"use strict";var e={duration:300,onShow:null,swipeable:!1,responsiveThreshold:1/0},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Tabs=i).options=a.extend({},n.defaults,e),i.$tabLinks=i.$el.children("li.tab").children("a"),i.index=0,i._setupActiveTabLink(),i.options.swipeable?i._setupSwipeableTabs():i._setupNormalTabs(),i._setTabsAndTabWidth(),i._createIndicator(),i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){this._removeEventHandlers(),this._indicator.parentNode.removeChild(this._indicator),this.options.swipeable?this._teardownSwipeableTabs():this._teardownNormalTabs(),this.$el[0].M_Tabs=void 0}},{key:"_setupEventHandlers",value:function(){this._handleWindowResizeBound=this._handleWindowResize.bind(this),window.addEventListener("resize",this._handleWindowResizeBound),this._handleTabClickBound=this._handleTabClick.bind(this),this.el.addEventListener("click",this._handleTabClickBound)}},{key:"_removeEventHandlers",value:function(){window.removeEventListener("resize",this._handleWindowResizeBound),this.el.removeEventListener("click",this._handleTabClickBound)}},{key:"_handleWindowResize",value:function(){this._setTabsAndTabWidth(),0!==this.tabWidth&&0!==this.tabsWidth&&(this._indicator.style.left=this._calcLeftPos(this.$activeTabLink)+"px",this._indicator.style.right=this._calcRightPos(this.$activeTabLink)+"px")}},{key:"_handleTabClick",value:function(t){var e=this,i=a(t.target).closest("li.tab"),n=a(t.target).closest("a");if(n.length&&n.parent().hasClass("tab"))if(i.hasClass("disabled"))t.preventDefault();else if(!n.attr("target")){this.$activeTabLink.removeClass("active");var s=this.$content;this.$activeTabLink=n,this.$content=a(M.escapeHash(n[0].hash)),this.$tabLinks=this.$el.children("li.tab").children("a"),this.$activeTabLink.addClass("active");var o=this.index;this.index=Math.max(this.$tabLinks.index(n),0),this.options.swipeable?this._tabsCarousel&&this._tabsCarousel.set(this.index,function(){"function"==typeof e.options.onShow&&e.options.onShow.call(e,e.$content[0])}):this.$content.length&&(this.$content[0].style.display="block",this.$content.addClass("active"),"function"==typeof this.options.onShow&&this.options.onShow.call(this,this.$content[0]),s.length&&!s.is(this.$content)&&(s[0].style.display="none",s.removeClass("active"))),this._setTabsAndTabWidth(),this._animateIndicator(o),t.preventDefault()}}},{key:"_createIndicator",value:function(){var t=this,e=document.createElement("li");e.classList.add("indicator"),this.el.appendChild(e),this._indicator=e,setTimeout(function(){t._indicator.style.left=t._calcLeftPos(t.$activeTabLink)+"px",t._indicator.style.right=t._calcRightPos(t.$activeTabLink)+"px"},0)}},{key:"_setupActiveTabLink",value:function(){this.$activeTabLink=a(this.$tabLinks.filter('[href="'+location.hash+'"]')),0===this.$activeTabLink.length&&(this.$activeTabLink=this.$el.children("li.tab").children("a.active").first()),0===this.$activeTabLink.length&&(this.$activeTabLink=this.$el.children("li.tab").children("a").first()),this.$tabLinks.removeClass("active"),this.$activeTabLink[0].classList.add("active"),this.index=Math.max(this.$tabLinks.index(this.$activeTabLink),0),this.$activeTabLink.length&&(this.$content=a(M.escapeHash(this.$activeTabLink[0].hash)),this.$content.addClass("active"))}},{key:"_setupSwipeableTabs",value:function(){var i=this;window.innerWidth>this.options.responsiveThreshold&&(this.options.swipeable=!1);var n=a();this.$tabLinks.each(function(t){var e=a(M.escapeHash(t.hash));e.addClass("carousel-item"),n=n.add(e)});var t=a('<div class="tabs-content carousel carousel-slider"></div>');n.first().before(t),t.append(n),n[0].style.display="";var e=this.$activeTabLink.closest(".tab").index();this._tabsCarousel=M.Carousel.init(t[0],{fullWidth:!0,noWrap:!0,onCycleTo:function(t){var e=i.index;i.index=a(t).index(),i.$activeTabLink.removeClass("active"),i.$activeTabLink=i.$tabLinks.eq(i.index),i.$activeTabLink.addClass("active"),i._animateIndicator(e),"function"==typeof i.options.onShow&&i.options.onShow.call(i,i.$content[0])}}),this._tabsCarousel.set(e)}},{key:"_teardownSwipeableTabs",value:function(){var t=this._tabsCarousel.$el;this._tabsCarousel.destroy(),t.after(t.children()),t.remove()}},{key:"_setupNormalTabs",value:function(){this.$tabLinks.not(this.$activeTabLink).each(function(t){if(t.hash){var e=a(M.escapeHash(t.hash));e.length&&(e[0].style.display="none")}})}},{key:"_teardownNormalTabs",value:function(){this.$tabLinks.each(function(t){if(t.hash){var e=a(M.escapeHash(t.hash));e.length&&(e[0].style.display="")}})}},{key:"_setTabsAndTabWidth",value:function(){this.tabsWidth=this.$el.width(),this.tabWidth=Math.max(this.tabsWidth,this.el.scrollWidth)/this.$tabLinks.length}},{key:"_calcRightPos",value:function(t){return Math.ceil(this.tabsWidth-t.position().left-t[0].getBoundingClientRect().width)}},{key:"_calcLeftPos",value:function(t){return Math.floor(t.position().left)}},{key:"updateTabIndicator",value:function(){this._setTabsAndTabWidth(),this._animateIndicator(this.index)}},{key:"_animateIndicator",value:function(t){var e=0,i=0;0<=this.index-t?e=90:i=90;var n={targets:this._indicator,left:{value:this._calcLeftPos(this.$activeTabLink),delay:e},right:{value:this._calcRightPos(this.$activeTabLink),delay:i},duration:this.options.duration,easing:"easeOutQuad"};s.remove(this._indicator),s(n)}},{key:"select",value:function(t){var e=this.$tabLinks.filter('[href="#'+t+'"]');e.length&&e.trigger("click")}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Tabs}},{key:"defaults",get:function(){return e}}]),n}();M.Tabs=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"tabs","M_Tabs")}(cash,M.anime),function(d,e){"use strict";var i={exitDelay:200,enterDelay:0,html:null,margin:5,inDuration:250,outDuration:200,position:"bottom",transitionMovement:10},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Tooltip=i).options=d.extend({},n.defaults,e),i.isOpen=!1,i.isHovered=!1,i.isFocused=!1,i._appendTooltipEl(),i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){d(this.tooltipEl).remove(),this._removeEventHandlers(),this.el.M_Tooltip=void 0}},{key:"_appendTooltipEl",value:function(){var t=document.createElement("div");t.classList.add("material-tooltip"),this.tooltipEl=t;var e=document.createElement("div");e.classList.add("tooltip-content"),e.innerHTML=this.options.html,t.appendChild(e),document.body.appendChild(t)}},{key:"_updateTooltipContent",value:function(){this.tooltipEl.querySelector(".tooltip-content").innerHTML=this.options.html}},{key:"_setupEventHandlers",value:function(){this._handleMouseEnterBound=this._handleMouseEnter.bind(this),this._handleMouseLeaveBound=this._handleMouseLeave.bind(this),this._handleFocusBound=this._handleFocus.bind(this),this._handleBlurBound=this._handleBlur.bind(this),this.el.addEventListener("mouseenter",this._handleMouseEnterBound),this.el.addEventListener("mouseleave",this._handleMouseLeaveBound),this.el.addEventListener("focus",this._handleFocusBound,!0),this.el.addEventListener("blur",this._handleBlurBound,!0)}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("mouseenter",this._handleMouseEnterBound),this.el.removeEventListener("mouseleave",this._handleMouseLeaveBound),this.el.removeEventListener("focus",this._handleFocusBound,!0),this.el.removeEventListener("blur",this._handleBlurBound,!0)}},{key:"open",value:function(t){this.isOpen||(t=void 0===t||void 0,this.isOpen=!0,this.options=d.extend({},this.options,this._getAttributeOptions()),this._updateTooltipContent(),this._setEnterDelayTimeout(t))}},{key:"close",value:function(){this.isOpen&&(this.isHovered=!1,this.isFocused=!1,this.isOpen=!1,this._setExitDelayTimeout())}},{key:"_setExitDelayTimeout",value:function(){var t=this;clearTimeout(this._exitDelayTimeout),this._exitDelayTimeout=setTimeout(function(){t.isHovered||t.isFocused||t._animateOut()},this.options.exitDelay)}},{key:"_setEnterDelayTimeout",value:function(t){var e=this;clearTimeout(this._enterDelayTimeout),this._enterDelayTimeout=setTimeout(function(){(e.isHovered||e.isFocused||t)&&e._animateIn()},this.options.enterDelay)}},{key:"_positionTooltip",value:function(){var t,e=this.el,i=this.tooltipEl,n=e.offsetHeight,s=e.offsetWidth,o=i.offsetHeight,a=i.offsetWidth,r=this.options.margin,l=void 0,h=void 0;this.xMovement=0,this.yMovement=0,l=e.getBoundingClientRect().top+M.getDocumentScrollTop(),h=e.getBoundingClientRect().left+M.getDocumentScrollLeft(),"top"===this.options.position?(l+=-o-r,h+=s/2-a/2,this.yMovement=-this.options.transitionMovement):"right"===this.options.position?(l+=n/2-o/2,h+=s+r,this.xMovement=this.options.transitionMovement):"left"===this.options.position?(l+=n/2-o/2,h+=-a-r,this.xMovement=-this.options.transitionMovement):(l+=n+r,h+=s/2-a/2,this.yMovement=this.options.transitionMovement),t=this._repositionWithinScreen(h,l,a,o),d(i).css({top:t.y+"px",left:t.x+"px"})}},{key:"_repositionWithinScreen",value:function(t,e,i,n){var s=M.getDocumentScrollLeft(),o=M.getDocumentScrollTop(),a=t-s,r=e-o,l={left:a,top:r,width:i,height:n},h=this.options.margin+this.options.transitionMovement,d=M.checkWithinContainer(document.body,l,h);return d.left?a=h:d.right&&(a-=a+i-window.innerWidth),d.top?r=h:d.bottom&&(r-=r+n-window.innerHeight),{x:a+s,y:r+o}}},{key:"_animateIn",value:function(){this._positionTooltip(),this.tooltipEl.style.visibility="visible",e.remove(this.tooltipEl),e({targets:this.tooltipEl,opacity:1,translateX:this.xMovement,translateY:this.yMovement,duration:this.options.inDuration,easing:"easeOutCubic"})}},{key:"_animateOut",value:function(){e.remove(this.tooltipEl),e({targets:this.tooltipEl,opacity:0,translateX:0,translateY:0,duration:this.options.outDuration,easing:"easeOutCubic"})}},{key:"_handleMouseEnter",value:function(){this.isHovered=!0,this.isFocused=!1,this.open(!1)}},{key:"_handleMouseLeave",value:function(){this.isHovered=!1,this.isFocused=!1,this.close()}},{key:"_handleFocus",value:function(){M.tabPressed&&(this.isFocused=!0,this.open(!1))}},{key:"_handleBlur",value:function(){this.isFocused=!1,this.close()}},{key:"_getAttributeOptions",value:function(){var t={},e=this.el.getAttribute("data-tooltip"),i=this.el.getAttribute("data-position");return e&&(t.html=e),i&&(t.position=i),t}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Tooltip}},{key:"defaults",get:function(){return i}}]),n}();M.Tooltip=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"tooltip","M_Tooltip")}(cash,M.anime),function(i){"use strict";var t=t||{},e=document.querySelectorAll.bind(document);function m(t){var e="";for(var i in t)t.hasOwnProperty(i)&&(e+=i+":"+t[i]+";");return e}var g={duration:750,show:function(t,e){if(2===t.button)return!1;var i=e||this,n=document.createElement("div");n.className="waves-ripple",i.appendChild(n);var s,o,a,r,l,h,d,u=(h={top:0,left:0},d=(s=i)&&s.ownerDocument,o=d.documentElement,void 0!==s.getBoundingClientRect&&(h=s.getBoundingClientRect()),a=null!==(l=r=d)&&l===l.window?r:9===r.nodeType&&r.defaultView,{top:h.top+a.pageYOffset-o.clientTop,left:h.left+a.pageXOffset-o.clientLeft}),c=t.pageY-u.top,p=t.pageX-u.left,v="scale("+i.clientWidth/100*10+")";"touches"in t&&(c=t.touches[0].pageY-u.top,p=t.touches[0].pageX-u.left),n.setAttribute("data-hold",Date.now()),n.setAttribute("data-scale",v),n.setAttribute("data-x",p),n.setAttribute("data-y",c);var f={top:c+"px",left:p+"px"};n.className=n.className+" waves-notransition",n.setAttribute("style",m(f)),n.className=n.className.replace("waves-notransition",""),f["-webkit-transform"]=v,f["-moz-transform"]=v,f["-ms-transform"]=v,f["-o-transform"]=v,f.transform=v,f.opacity="1",f["-webkit-transition-duration"]=g.duration+"ms",f["-moz-transition-duration"]=g.duration+"ms",f["-o-transition-duration"]=g.duration+"ms",f["transition-duration"]=g.duration+"ms",f["-webkit-transition-timing-function"]="cubic-bezier(0.250, 0.460, 0.450, 0.940)",f["-moz-transition-timing-function"]="cubic-bezier(0.250, 0.460, 0.450, 0.940)",f["-o-transition-timing-function"]="cubic-bezier(0.250, 0.460, 0.450, 0.940)",f["transition-timing-function"]="cubic-bezier(0.250, 0.460, 0.450, 0.940)",n.setAttribute("style",m(f))},hide:function(t){l.touchup(t);var e=this,i=(e.clientWidth,null),n=e.getElementsByClassName("waves-ripple");if(!(0<n.length))return!1;var s=(i=n[n.length-1]).getAttribute("data-x"),o=i.getAttribute("data-y"),a=i.getAttribute("data-scale"),r=350-(Date.now()-Number(i.getAttribute("data-hold")));r<0&&(r=0),setTimeout(function(){var t={top:o+"px",left:s+"px",opacity:"0","-webkit-transition-duration":g.duration+"ms","-moz-transition-duration":g.duration+"ms","-o-transition-duration":g.duration+"ms","transition-duration":g.duration+"ms","-webkit-transform":a,"-moz-transform":a,"-ms-transform":a,"-o-transform":a,transform:a};i.setAttribute("style",m(t)),setTimeout(function(){try{e.removeChild(i)}catch(t){return!1}},g.duration)},r)},wrapInput:function(t){for(var e=0;e<t.length;e++){var i=t[e];if("input"===i.tagName.toLowerCase()){var n=i.parentNode;if("i"===n.tagName.toLowerCase()&&-1!==n.className.indexOf("waves-effect"))continue;var s=document.createElement("i");s.className=i.className+" waves-input-wrapper";var o=i.getAttribute("style");o||(o=""),s.setAttribute("style",o),i.className="waves-button-input",i.removeAttribute("style"),n.replaceChild(s,i),s.appendChild(i)}}}},l={touches:0,allowEvent:function(t){var e=!0;return"touchstart"===t.type?l.touches+=1:"touchend"===t.type||"touchcancel"===t.type?setTimeout(function(){0<l.touches&&(l.touches-=1)},500):"mousedown"===t.type&&0<l.touches&&(e=!1),e},touchup:function(t){l.allowEvent(t)}};function n(t){var e=function(t){if(!1===l.allowEvent(t))return null;for(var e=null,i=t.target||t.srcElement;null!==i.parentNode;){if(!(i instanceof SVGElement)&&-1!==i.className.indexOf("waves-effect")){e=i;break}i=i.parentNode}return e}(t);null!==e&&(g.show(t,e),"ontouchstart"in i&&(e.addEventListener("touchend",g.hide,!1),e.addEventListener("touchcancel",g.hide,!1)),e.addEventListener("mouseup",g.hide,!1),e.addEventListener("mouseleave",g.hide,!1),e.addEventListener("dragend",g.hide,!1))}t.displayEffect=function(t){"duration"in(t=t||{})&&(g.duration=t.duration),g.wrapInput(e(".waves-effect")),"ontouchstart"in i&&document.body.addEventListener("touchstart",n,!1),document.body.addEventListener("mousedown",n,!1)},t.attach=function(t){"input"===t.tagName.toLowerCase()&&(g.wrapInput([t]),t=t.parentNode),"ontouchstart"in i&&t.addEventListener("touchstart",n,!1),t.addEventListener("mousedown",n,!1)},i.Waves=t,document.addEventListener("DOMContentLoaded",function(){t.displayEffect()},!1)}(window),function(i,n){"use strict";var t={html:"",displayLength:4e3,inDuration:300,outDuration:375,classes:"",completeCallback:null,activationPercent:.8},e=function(){function s(t){_classCallCheck(this,s),this.options=i.extend({},s.defaults,t),this.message=this.options.html,this.panning=!1,this.timeRemaining=this.options.displayLength,0===s._toasts.length&&s._createContainer(),s._toasts.push(this);var e=this._createToast();(e.M_Toast=this).el=e,this.$el=i(e),this._animateIn(),this._setTimer()}return _createClass(s,[{key:"_createToast",value:function(){var t=document.createElement("div");return t.classList.add("toast"),this.options.classes.length&&i(t).addClass(this.options.classes),("object"==typeof HTMLElement?this.message instanceof HTMLElement:this.message&&"object"==typeof this.message&&null!==this.message&&1===this.message.nodeType&&"string"==typeof this.message.nodeName)?t.appendChild(this.message):this.message.jquery?i(t).append(this.message[0]):t.innerHTML=this.message,s._container.appendChild(t),t}},{key:"_animateIn",value:function(){n({targets:this.el,top:0,opacity:1,duration:this.options.inDuration,easing:"easeOutCubic"})}},{key:"_setTimer",value:function(){var t=this;this.timeRemaining!==1/0&&(this.counterInterval=setInterval(function(){t.panning||(t.timeRemaining-=20),t.timeRemaining<=0&&t.dismiss()},20))}},{key:"dismiss",value:function(){var t=this;window.clearInterval(this.counterInterval);var e=this.el.offsetWidth*this.options.activationPercent;this.wasSwiped&&(this.el.style.transition="transform .05s, opacity .05s",this.el.style.transform="translateX("+e+"px)",this.el.style.opacity=0),n({targets:this.el,opacity:0,marginTop:-40,duration:this.options.outDuration,easing:"easeOutExpo",complete:function(){"function"==typeof t.options.completeCallback&&t.options.completeCallback(),t.$el.remove(),s._toasts.splice(s._toasts.indexOf(t),1),0===s._toasts.length&&s._removeContainer()}})}}],[{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Toast}},{key:"_createContainer",value:function(){var t=document.createElement("div");t.setAttribute("id","toast-container"),t.addEventListener("touchstart",s._onDragStart),t.addEventListener("touchmove",s._onDragMove),t.addEventListener("touchend",s._onDragEnd),t.addEventListener("mousedown",s._onDragStart),document.addEventListener("mousemove",s._onDragMove),document.addEventListener("mouseup",s._onDragEnd),document.body.appendChild(t),s._container=t}},{key:"_removeContainer",value:function(){document.removeEventListener("mousemove",s._onDragMove),document.removeEventListener("mouseup",s._onDragEnd),i(s._container).remove(),s._container=null}},{key:"_onDragStart",value:function(t){if(t.target&&i(t.target).closest(".toast").length){var e=i(t.target).closest(".toast")[0].M_Toast;e.panning=!0,(s._draggedToast=e).el.classList.add("panning"),e.el.style.transition="",e.startingXPos=s._xPos(t),e.time=Date.now(),e.xPos=s._xPos(t)}}},{key:"_onDragMove",value:function(t){if(s._draggedToast){t.preventDefault();var e=s._draggedToast;e.deltaX=Math.abs(e.xPos-s._xPos(t)),e.xPos=s._xPos(t),e.velocityX=e.deltaX/(Date.now()-e.time),e.time=Date.now();var i=e.xPos-e.startingXPos,n=e.el.offsetWidth*e.options.activationPercent;e.el.style.transform="translateX("+i+"px)",e.el.style.opacity=1-Math.abs(i/n)}}},{key:"_onDragEnd",value:function(){if(s._draggedToast){var t=s._draggedToast;t.panning=!1,t.el.classList.remove("panning");var e=t.xPos-t.startingXPos,i=t.el.offsetWidth*t.options.activationPercent;Math.abs(e)>i||1<t.velocityX?(t.wasSwiped=!0,t.dismiss()):(t.el.style.transition="transform .2s, opacity .2s",t.el.style.transform="",t.el.style.opacity=""),s._draggedToast=null}}},{key:"_xPos",value:function(t){return t.targetTouches&&1<=t.targetTouches.length?t.targetTouches[0].clientX:t.clientX}},{key:"dismissAll",value:function(){for(var t in s._toasts)s._toasts[t].dismiss()}},{key:"defaults",get:function(){return t}}]),s}();e._toasts=[],e._container=null,e._draggedToast=null,M.Toast=e,M.toast=function(t){return new e(t)}}(cash,M.anime),function(s,o){"use strict";var e={edge:"left",draggable:!0,inDuration:250,outDuration:200,onOpenStart:null,onOpenEnd:null,onCloseStart:null,onCloseEnd:null,preventScrolling:!0},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Sidenav=i).id=i.$el.attr("id"),i.options=s.extend({},n.defaults,e),i.isOpen=!1,i.isFixed=i.el.classList.contains("sidenav-fixed"),i.isDragged=!1,i.lastWindowWidth=window.innerWidth,i.lastWindowHeight=window.innerHeight,i._createOverlay(),i._createDragTarget(),i._setupEventHandlers(),i._setupClasses(),i._setupFixed(),n._sidenavs.push(i),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){this._removeEventHandlers(),this._enableBodyScrolling(),this._overlay.parentNode.removeChild(this._overlay),this.dragTarget.parentNode.removeChild(this.dragTarget),this.el.M_Sidenav=void 0,this.el.style.transform="";var t=n._sidenavs.indexOf(this);0<=t&&n._sidenavs.splice(t,1)}},{key:"_createOverlay",value:function(){var t=document.createElement("div");this._closeBound=this.close.bind(this),t.classList.add("sidenav-overlay"),t.addEventListener("click",this._closeBound),document.body.appendChild(t),this._overlay=t}},{key:"_setupEventHandlers",value:function(){0===n._sidenavs.length&&document.body.addEventListener("click",this._handleTriggerClick),this._handleDragTargetDragBound=this._handleDragTargetDrag.bind(this),this._handleDragTargetReleaseBound=this._handleDragTargetRelease.bind(this),this._handleCloseDragBound=this._handleCloseDrag.bind(this),this._handleCloseReleaseBound=this._handleCloseRelease.bind(this),this._handleCloseTriggerClickBound=this._handleCloseTriggerClick.bind(this),this.dragTarget.addEventListener("touchmove",this._handleDragTargetDragBound),this.dragTarget.addEventListener("touchend",this._handleDragTargetReleaseBound),this._overlay.addEventListener("touchmove",this._handleCloseDragBound),this._overlay.addEventListener("touchend",this._handleCloseReleaseBound),this.el.addEventListener("touchmove",this._handleCloseDragBound),this.el.addEventListener("touchend",this._handleCloseReleaseBound),this.el.addEventListener("click",this._handleCloseTriggerClickBound),this.isFixed&&(this._handleWindowResizeBound=this._handleWindowResize.bind(this),window.addEventListener("resize",this._handleWindowResizeBound))}},{key:"_removeEventHandlers",value:function(){1===n._sidenavs.length&&document.body.removeEventListener("click",this._handleTriggerClick),this.dragTarget.removeEventListener("touchmove",this._handleDragTargetDragBound),this.dragTarget.removeEventListener("touchend",this._handleDragTargetReleaseBound),this._overlay.removeEventListener("touchmove",this._handleCloseDragBound),this._overlay.removeEventListener("touchend",this._handleCloseReleaseBound),this.el.removeEventListener("touchmove",this._handleCloseDragBound),this.el.removeEventListener("touchend",this._handleCloseReleaseBound),this.el.removeEventListener("click",this._handleCloseTriggerClickBound),this.isFixed&&window.removeEventListener("resize",this._handleWindowResizeBound)}},{key:"_handleTriggerClick",value:function(t){var e=s(t.target).closest(".sidenav-trigger");if(t.target&&e.length){var i=M.getIdFromTrigger(e[0]),n=document.getElementById(i).M_Sidenav;n&&n.open(e),t.preventDefault()}}},{key:"_startDrag",value:function(t){var e=t.targetTouches[0].clientX;this.isDragged=!0,this._startingXpos=e,this._xPos=this._startingXpos,this._time=Date.now(),this._width=this.el.getBoundingClientRect().width,this._overlay.style.display="block",this._initialScrollTop=this.isOpen?this.el.scrollTop:M.getDocumentScrollTop(),this._verticallyScrolling=!1,o.remove(this.el),o.remove(this._overlay)}},{key:"_dragMoveUpdate",value:function(t){var e=t.targetTouches[0].clientX,i=this.isOpen?this.el.scrollTop:M.getDocumentScrollTop();this.deltaX=Math.abs(this._xPos-e),this._xPos=e,this.velocityX=this.deltaX/(Date.now()-this._time),this._time=Date.now(),this._initialScrollTop!==i&&(this._verticallyScrolling=!0)}},{key:"_handleDragTargetDrag",value:function(t){if(this.options.draggable&&!this._isCurrentlyFixed()&&!this._verticallyScrolling){this.isDragged||this._startDrag(t),this._dragMoveUpdate(t);var e=this._xPos-this._startingXpos,i=0<e?"right":"left";e=Math.min(this._width,Math.abs(e)),this.options.edge===i&&(e=0);var n=e,s="translateX(-100%)";"right"===this.options.edge&&(s="translateX(100%)",n=-n),this.percentOpen=Math.min(1,e/this._width),this.el.style.transform=s+" translateX("+n+"px)",this._overlay.style.opacity=this.percentOpen}}},{key:"_handleDragTargetRelease",value:function(){this.isDragged&&(.2<this.percentOpen?this.open():this._animateOut(),this.isDragged=!1,this._verticallyScrolling=!1)}},{key:"_handleCloseDrag",value:function(t){if(this.isOpen){if(!this.options.draggable||this._isCurrentlyFixed()||this._verticallyScrolling)return;this.isDragged||this._startDrag(t),this._dragMoveUpdate(t);var e=this._xPos-this._startingXpos,i=0<e?"right":"left";e=Math.min(this._width,Math.abs(e)),this.options.edge!==i&&(e=0);var n=-e;"right"===this.options.edge&&(n=-n),this.percentOpen=Math.min(1,1-e/this._width),this.el.style.transform="translateX("+n+"px)",this._overlay.style.opacity=this.percentOpen}}},{key:"_handleCloseRelease",value:function(){this.isOpen&&this.isDragged&&(.8<this.percentOpen?this._animateIn():this.close(),this.isDragged=!1,this._verticallyScrolling=!1)}},{key:"_handleCloseTriggerClick",value:function(t){s(t.target).closest(".sidenav-close").length&&!this._isCurrentlyFixed()&&this.close()}},{key:"_handleWindowResize",value:function(){this.lastWindowWidth!==window.innerWidth&&(992<window.innerWidth?this.open():this.close()),this.lastWindowWidth=window.innerWidth,this.lastWindowHeight=window.innerHeight}},{key:"_setupClasses",value:function(){"right"===this.options.edge&&(this.el.classList.add("right-aligned"),this.dragTarget.classList.add("right-aligned"))}},{key:"_removeClasses",value:function(){this.el.classList.remove("right-aligned"),this.dragTarget.classList.remove("right-aligned")}},{key:"_setupFixed",value:function(){this._isCurrentlyFixed()&&this.open()}},{key:"_isCurrentlyFixed",value:function(){return this.isFixed&&992<window.innerWidth}},{key:"_createDragTarget",value:function(){var t=document.createElement("div");t.classList.add("drag-target"),document.body.appendChild(t),this.dragTarget=t}},{key:"_preventBodyScrolling",value:function(){document.body.style.overflow="hidden"}},{key:"_enableBodyScrolling",value:function(){document.body.style.overflow=""}},{key:"open",value:function(){!0!==this.isOpen&&(this.isOpen=!0,"function"==typeof this.options.onOpenStart&&this.options.onOpenStart.call(this,this.el),this._isCurrentlyFixed()?(o.remove(this.el),o({targets:this.el,translateX:0,duration:0,easing:"easeOutQuad"}),this._enableBodyScrolling(),this._overlay.style.display="none"):(this.options.preventScrolling&&this._preventBodyScrolling(),this.isDragged&&1==this.percentOpen||this._animateIn()))}},{key:"close",value:function(){if(!1!==this.isOpen)if(this.isOpen=!1,"function"==typeof this.options.onCloseStart&&this.options.onCloseStart.call(this,this.el),this._isCurrentlyFixed()){var t="left"===this.options.edge?"-105%":"105%";this.el.style.transform="translateX("+t+")"}else this._enableBodyScrolling(),this.isDragged&&0==this.percentOpen?this._overlay.style.display="none":this._animateOut()}},{key:"_animateIn",value:function(){this._animateSidenavIn(),this._animateOverlayIn()}},{key:"_animateSidenavIn",value:function(){var t=this,e="left"===this.options.edge?-1:1;this.isDragged&&(e="left"===this.options.edge?e+this.percentOpen:e-this.percentOpen),o.remove(this.el),o({targets:this.el,translateX:[100*e+"%",0],duration:this.options.inDuration,easing:"easeOutQuad",complete:function(){"function"==typeof t.options.onOpenEnd&&t.options.onOpenEnd.call(t,t.el)}})}},{key:"_animateOverlayIn",value:function(){var t=0;this.isDragged?t=this.percentOpen:s(this._overlay).css({display:"block"}),o.remove(this._overlay),o({targets:this._overlay,opacity:[t,1],duration:this.options.inDuration,easing:"easeOutQuad"})}},{key:"_animateOut",value:function(){this._animateSidenavOut(),this._animateOverlayOut()}},{key:"_animateSidenavOut",value:function(){var t=this,e="left"===this.options.edge?-1:1,i=0;this.isDragged&&(i="left"===this.options.edge?e+this.percentOpen:e-this.percentOpen),o.remove(this.el),o({targets:this.el,translateX:[100*i+"%",105*e+"%"],duration:this.options.outDuration,easing:"easeOutQuad",complete:function(){"function"==typeof t.options.onCloseEnd&&t.options.onCloseEnd.call(t,t.el)}})}},{key:"_animateOverlayOut",value:function(){var t=this;o.remove(this._overlay),o({targets:this._overlay,opacity:0,duration:this.options.outDuration,easing:"easeOutQuad",complete:function(){s(t._overlay).css("display","none")}})}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Sidenav}},{key:"defaults",get:function(){return e}}]),n}();t._sidenavs=[],M.Sidenav=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"sidenav","M_Sidenav")}(cash,M.anime),function(o,a){"use strict";var e={throttle:100,scrollOffset:200,activeClass:"active",getActiveElement:function(t){return'a[href="#'+t+'"]'}},t=function(t){function c(t,e){_classCallCheck(this,c);var i=_possibleConstructorReturn(this,(c.__proto__||Object.getPrototypeOf(c)).call(this,c,t,e));return(i.el.M_ScrollSpy=i).options=o.extend({},c.defaults,e),c._elements.push(i),c._count++,c._increment++,i.tickId=-1,i.id=c._increment,i._setupEventHandlers(),i._handleWindowScroll(),i}return _inherits(c,Component),_createClass(c,[{key:"destroy",value:function(){c._elements.splice(c._elements.indexOf(this),1),c._elementsInView.splice(c._elementsInView.indexOf(this),1),c._visibleElements.splice(c._visibleElements.indexOf(this.$el),1),c._count--,this._removeEventHandlers(),o(this.options.getActiveElement(this.$el.attr("id"))).removeClass(this.options.activeClass),this.el.M_ScrollSpy=void 0}},{key:"_setupEventHandlers",value:function(){var t=M.throttle(this._handleWindowScroll,200);this._handleThrottledResizeBound=t.bind(this),this._handleWindowScrollBound=this._handleWindowScroll.bind(this),1===c._count&&(window.addEventListener("scroll",this._handleWindowScrollBound),window.addEventListener("resize",this._handleThrottledResizeBound),document.body.addEventListener("click",this._handleTriggerClick))}},{key:"_removeEventHandlers",value:function(){0===c._count&&(window.removeEventListener("scroll",this._handleWindowScrollBound),window.removeEventListener("resize",this._handleThrottledResizeBound),document.body.removeEventListener("click",this._handleTriggerClick))}},{key:"_handleTriggerClick",value:function(t){for(var e=o(t.target),i=c._elements.length-1;0<=i;i--){var n=c._elements[i];if(e.is('a[href="#'+n.$el.attr("id")+'"]')){t.preventDefault();var s=n.$el.offset().top+1;a({targets:[document.documentElement,document.body],scrollTop:s-n.options.scrollOffset,duration:400,easing:"easeOutCubic"});break}}}},{key:"_handleWindowScroll",value:function(){c._ticks++;for(var t=M.getDocumentScrollTop(),e=M.getDocumentScrollLeft(),i=e+window.innerWidth,n=t+window.innerHeight,s=c._findElements(t,i,n,e),o=0;o<s.length;o++){var a=s[o];a.tickId<0&&a._enter(),a.tickId=c._ticks}for(var r=0;r<c._elementsInView.length;r++){var l=c._elementsInView[r],h=l.tickId;0<=h&&h!==c._ticks&&(l._exit(),l.tickId=-1)}c._elementsInView=s}},{key:"_enter",value:function(){(c._visibleElements=c._visibleElements.filter(function(t){return 0!=t.height()}))[0]?(o(this.options.getActiveElement(c._visibleElements[0].attr("id"))).removeClass(this.options.activeClass),c._visibleElements[0][0].M_ScrollSpy&&this.id<c._visibleElements[0][0].M_ScrollSpy.id?c._visibleElements.unshift(this.$el):c._visibleElements.push(this.$el)):c._visibleElements.push(this.$el),o(this.options.getActiveElement(c._visibleElements[0].attr("id"))).addClass(this.options.activeClass)}},{key:"_exit",value:function(){var e=this;(c._visibleElements=c._visibleElements.filter(function(t){return 0!=t.height()}))[0]&&(o(this.options.getActiveElement(c._visibleElements[0].attr("id"))).removeClass(this.options.activeClass),(c._visibleElements=c._visibleElements.filter(function(t){return t.attr("id")!=e.$el.attr("id")}))[0]&&o(this.options.getActiveElement(c._visibleElements[0].attr("id"))).addClass(this.options.activeClass))}}],[{key:"init",value:function(t,e){return _get(c.__proto__||Object.getPrototypeOf(c),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_ScrollSpy}},{key:"_findElements",value:function(t,e,i,n){for(var s=[],o=0;o<c._elements.length;o++){var a=c._elements[o],r=t+a.options.scrollOffset||200;if(0<a.$el.height()){var l=a.$el.offset().top,h=a.$el.offset().left,d=h+a.$el.width(),u=l+a.$el.height();!(e<h||d<n||i<l||u<r)&&s.push(a)}}return s}},{key:"defaults",get:function(){return e}}]),c}();t._elements=[],t._elementsInView=[],t._visibleElements=[],t._count=0,t._increment=0,t._ticks=0,M.ScrollSpy=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"scrollSpy","M_ScrollSpy")}(cash,M.anime),function(h){"use strict";var e={data:{},limit:1/0,onAutocomplete:null,minLength:1,sortFunction:function(t,e,i){return t.indexOf(i)-e.indexOf(i)}},t=function(t){function s(t,e){_classCallCheck(this,s);var i=_possibleConstructorReturn(this,(s.__proto__||Object.getPrototypeOf(s)).call(this,s,t,e));return(i.el.M_Autocomplete=i).options=h.extend({},s.defaults,e),i.isOpen=!1,i.count=0,i.activeIndex=-1,i.oldVal,i.$inputField=i.$el.closest(".input-field"),i.$active=h(),i._mousedown=!1,i._setupDropdown(),i._setupEventHandlers(),i}return _inherits(s,Component),_createClass(s,[{key:"destroy",value:function(){this._removeEventHandlers(),this._removeDropdown(),this.el.M_Autocomplete=void 0}},{key:"_setupEventHandlers",value:function(){this._handleInputBlurBound=this._handleInputBlur.bind(this),this._handleInputKeyupAndFocusBound=this._handleInputKeyupAndFocus.bind(this),this._handleInputKeydownBound=this._handleInputKeydown.bind(this),this._handleInputClickBound=this._handleInputClick.bind(this),this._handleContainerMousedownAndTouchstartBound=this._handleContainerMousedownAndTouchstart.bind(this),this._handleContainerMouseupAndTouchendBound=this._handleContainerMouseupAndTouchend.bind(this),this.el.addEventListener("blur",this._handleInputBlurBound),this.el.addEventListener("keyup",this._handleInputKeyupAndFocusBound),this.el.addEventListener("focus",this._handleInputKeyupAndFocusBound),this.el.addEventListener("keydown",this._handleInputKeydownBound),this.el.addEventListener("click",this._handleInputClickBound),this.container.addEventListener("mousedown",this._handleContainerMousedownAndTouchstartBound),this.container.addEventListener("mouseup",this._handleContainerMouseupAndTouchendBound),void 0!==window.ontouchstart&&(this.container.addEventListener("touchstart",this._handleContainerMousedownAndTouchstartBound),this.container.addEventListener("touchend",this._handleContainerMouseupAndTouchendBound))}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("blur",this._handleInputBlurBound),this.el.removeEventListener("keyup",this._handleInputKeyupAndFocusBound),this.el.removeEventListener("focus",this._handleInputKeyupAndFocusBound),this.el.removeEventListener("keydown",this._handleInputKeydownBound),this.el.removeEventListener("click",this._handleInputClickBound),this.container.removeEventListener("mousedown",this._handleContainerMousedownAndTouchstartBound),this.container.removeEventListener("mouseup",this._handleContainerMouseupAndTouchendBound),void 0!==window.ontouchstart&&(this.container.removeEventListener("touchstart",this._handleContainerMousedownAndTouchstartBound),this.container.removeEventListener("touchend",this._handleContainerMouseupAndTouchendBound))}},{key:"_setupDropdown",value:function(){var e=this;this.container=document.createElement("ul"),this.container.id="autocomplete-options-"+M.guid(),h(this.container).addClass("autocomplete-content dropdown-content"),this.$inputField.append(this.container),this.el.setAttribute("data-target",this.container.id),this.dropdown=M.Dropdown.init(this.el,{autoFocus:!1,closeOnClick:!1,coverTrigger:!1,onItemClick:function(t){e.selectOption(h(t))}}),this.el.removeEventListener("click",this.dropdown._handleClickBound)}},{key:"_removeDropdown",value:function(){this.container.parentNode.removeChild(this.container)}},{key:"_handleInputBlur",value:function(){this._mousedown||(this.close(),this._resetAutocomplete())}},{key:"_handleInputKeyupAndFocus",value:function(t){"keyup"===t.type&&(s._keydown=!1),this.count=0;var e=this.el.value.toLowerCase();13!==t.keyCode&&38!==t.keyCode&&40!==t.keyCode&&(this.oldVal===e||!M.tabPressed&&"focus"===t.type||this.open(),this.oldVal=e)}},{key:"_handleInputKeydown",value:function(t){s._keydown=!0;var e=t.keyCode,i=void 0,n=h(this.container).children("li").length;e===M.keys.ENTER&&0<=this.activeIndex?(i=h(this.container).children("li").eq(this.activeIndex)).length&&(this.selectOption(i),t.preventDefault()):e!==M.keys.ARROW_UP&&e!==M.keys.ARROW_DOWN||(t.preventDefault(),e===M.keys.ARROW_UP&&0<this.activeIndex&&this.activeIndex--,e===M.keys.ARROW_DOWN&&this.activeIndex<n-1&&this.activeIndex++,this.$active.removeClass("active"),0<=this.activeIndex&&(this.$active=h(this.container).children("li").eq(this.activeIndex),this.$active.addClass("active")))}},{key:"_handleInputClick",value:function(t){this.open()}},{key:"_handleContainerMousedownAndTouchstart",value:function(t){this._mousedown=!0}},{key:"_handleContainerMouseupAndTouchend",value:function(t){this._mousedown=!1}},{key:"_highlight",value:function(t,e){var i=e.find("img"),n=e.text().toLowerCase().indexOf(""+t.toLowerCase()),s=n+t.length-1,o=e.text().slice(0,n),a=e.text().slice(n,s+1),r=e.text().slice(s+1);e.html("<span>"+o+"<span class='highlight'>"+a+"</span>"+r+"</span>"),i.length&&e.prepend(i)}},{key:"_resetCurrentElement",value:function(){this.activeIndex=-1,this.$active.removeClass("active")}},{key:"_resetAutocomplete",value:function(){h(this.container).empty(),this._resetCurrentElement(),this.oldVal=null,this.isOpen=!1,this._mousedown=!1}},{key:"selectOption",value:function(t){var e=t.text().trim();this.el.value=e,this.$el.trigger("change"),this._resetAutocomplete(),this.close(),"function"==typeof this.options.onAutocomplete&&this.options.onAutocomplete.call(this,e)}},{key:"_renderDropdown",value:function(t,i){var n=this;this._resetAutocomplete();var e=[];for(var s in t)if(t.hasOwnProperty(s)&&-1!==s.toLowerCase().indexOf(i)){if(this.count>=this.options.limit)break;var o={data:t[s],key:s};e.push(o),this.count++}if(this.options.sortFunction){e.sort(function(t,e){return n.options.sortFunction(t.key.toLowerCase(),e.key.toLowerCase(),i.toLowerCase())})}for(var a=0;a<e.length;a++){var r=e[a],l=h("<li></li>");r.data?l.append('<img src="'+r.data+'" class="right circle"><span>'+r.key+"</span>"):l.append("<span>"+r.key+"</span>"),h(this.container).append(l),this._highlight(i,l)}}},{key:"open",value:function(){var t=this.el.value.toLowerCase();this._resetAutocomplete(),t.length>=this.options.minLength&&(this.isOpen=!0,this._renderDropdown(this.options.data,t)),this.dropdown.isOpen?this.dropdown.recalculateDimensions():this.dropdown.open()}},{key:"close",value:function(){this.dropdown.close()}},{key:"updateData",value:function(t){var e=this.el.value.toLowerCase();this.options.data=t,this.isOpen&&this._renderDropdown(t,e)}}],[{key:"init",value:function(t,e){return _get(s.__proto__||Object.getPrototypeOf(s),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Autocomplete}},{key:"defaults",get:function(){return e}}]),s}();t._keydown=!1,M.Autocomplete=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"autocomplete","M_Autocomplete")}(cash),function(d){M.updateTextFields=function(){d("input[type=text], input[type=password], input[type=email], input[type=url], input[type=tel], input[type=number], input[type=search], input[type=date], input[type=time], textarea").each(function(t,e){var i=d(this);0<t.value.length||d(t).is(":focus")||t.autofocus||null!==i.attr("placeholder")?i.siblings("label").addClass("active"):t.validity?i.siblings("label").toggleClass("active",!0===t.validity.badInput):i.siblings("label").removeClass("active")})},M.validate_field=function(t){var e=null!==t.attr("data-length"),i=parseInt(t.attr("data-length")),n=t[0].value.length;0!==n||!1!==t[0].validity.badInput||t.is(":required")?t.hasClass("validate")&&(t.is(":valid")&&e&&n<=i||t.is(":valid")&&!e?(t.removeClass("invalid"),t.addClass("valid")):(t.removeClass("valid"),t.addClass("invalid"))):t.hasClass("validate")&&(t.removeClass("valid"),t.removeClass("invalid"))},M.textareaAutoResize=function(t){if(t instanceof Element&&(t=d(t)),t.length){var e=d(".hiddendiv").first();e.length||(e=d('<div class="hiddendiv common"></div>'),d("body").append(e));var i=t.css("font-family"),n=t.css("font-size"),s=t.css("line-height"),o=t.css("padding-top"),a=t.css("padding-right"),r=t.css("padding-bottom"),l=t.css("padding-left");n&&e.css("font-size",n),i&&e.css("font-family",i),s&&e.css("line-height",s),o&&e.css("padding-top",o),a&&e.css("padding-right",a),r&&e.css("padding-bottom",r),l&&e.css("padding-left",l),t.data("original-height")||t.data("original-height",t.height()),"off"===t.attr("wrap")&&e.css("overflow-wrap","normal").css("white-space","pre"),e.text(t[0].value+"\n");var h=e.html().replace(/\n/g,"<br>");e.html(h),0<t[0].offsetWidth&&0<t[0].offsetHeight?e.css("width",t.width()+"px"):e.css("width",window.innerWidth/2+"px"),t.data("original-height")<=e.innerHeight()?t.css("height",e.innerHeight()+"px"):t[0].value.length<t.data("previous-length")&&t.css("height",t.data("original-height")+"px"),t.data("previous-length",t[0].value.length)}else console.error("No textarea element found")},d(document).ready(function(){var n="input[type=text], input[type=password], input[type=email], input[type=url], input[type=tel], input[type=number], input[type=search], input[type=date], input[type=time], textarea";d(document).on("change",n,function(){0===this.value.length&&null===d(this).attr("placeholder")||d(this).siblings("label").addClass("active"),M.validate_field(d(this))}),d(document).ready(function(){M.updateTextFields()}),d(document).on("reset",function(t){var e=d(t.target);e.is("form")&&(e.find(n).removeClass("valid").removeClass("invalid"),e.find(n).each(function(t){this.value.length&&d(this).siblings("label").removeClass("active")}),setTimeout(function(){e.find("select").each(function(){this.M_FormSelect&&d(this).trigger("change")})},0))}),document.addEventListener("focus",function(t){d(t.target).is(n)&&d(t.target).siblings("label, .prefix").addClass("active")},!0),document.addEventListener("blur",function(t){var e=d(t.target);if(e.is(n)){var i=".prefix";0===e[0].value.length&&!0!==e[0].validity.badInput&&null===e.attr("placeholder")&&(i+=", label"),e.siblings(i).removeClass("active"),M.validate_field(e)}},!0);d(document).on("keyup","input[type=radio], input[type=checkbox]",function(t){if(t.which===M.keys.TAB)return d(this).addClass("tabbed"),void d(this).one("blur",function(t){d(this).removeClass("tabbed")})});var t=".materialize-textarea";d(t).each(function(){var t=d(this);t.data("original-height",t.height()),t.data("previous-length",this.value.length),M.textareaAutoResize(t)}),d(document).on("keyup",t,function(){M.textareaAutoResize(d(this))}),d(document).on("keydown",t,function(){M.textareaAutoResize(d(this))}),d(document).on("change",'.file-field input[type="file"]',function(){for(var t=d(this).closest(".file-field").find("input.file-path"),e=d(this)[0].files,i=[],n=0;n<e.length;n++)i.push(e[n].name);t[0].value=i.join(", "),t.trigger("change")})})}(cash),function(s,o){"use strict";var e={indicators:!0,height:400,duration:500,interval:6e3},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Slider=i).options=s.extend({},n.defaults,e),i.$slider=i.$el.find(".slides"),i.$slides=i.$slider.children("li"),i.activeIndex=i.$slides.filter(function(t){return s(t).hasClass("active")}).first().index(),-1!=i.activeIndex&&(i.$active=i.$slides.eq(i.activeIndex)),i._setSliderHeight(),i.$slides.find(".caption").each(function(t){i._animateCaptionIn(t,0)}),i.$slides.find("img").each(function(t){var e="data:image/gif;base64,R0lGODlhAQABAIABAP///wAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==";s(t).attr("src")!==e&&(s(t).css("background-image",'url("'+s(t).attr("src")+'")'),s(t).attr("src",e))}),i._setupIndicators(),i.$active?i.$active.css("display","block"):(i.$slides.first().addClass("active"),o({targets:i.$slides.first()[0],opacity:1,duration:i.options.duration,easing:"easeOutQuad"}),i.activeIndex=0,i.$active=i.$slides.eq(i.activeIndex),i.options.indicators&&i.$indicators.eq(i.activeIndex).addClass("active")),i.$active.find("img").each(function(t){o({targets:i.$active.find(".caption")[0],opacity:1,translateX:0,translateY:0,duration:i.options.duration,easing:"easeOutQuad"})}),i._setupEventHandlers(),i.start(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){this.pause(),this._removeIndicators(),this._removeEventHandlers(),this.el.M_Slider=void 0}},{key:"_setupEventHandlers",value:function(){var e=this;this._handleIntervalBound=this._handleInterval.bind(this),this._handleIndicatorClickBound=this._handleIndicatorClick.bind(this),this.options.indicators&&this.$indicators.each(function(t){t.addEventListener("click",e._handleIndicatorClickBound)})}},{key:"_removeEventHandlers",value:function(){var e=this;this.options.indicators&&this.$indicators.each(function(t){t.removeEventListener("click",e._handleIndicatorClickBound)})}},{key:"_handleIndicatorClick",value:function(t){var e=s(t.target).index();this.set(e)}},{key:"_handleInterval",value:function(){var t=this.$slider.find(".active").index();this.$slides.length===t+1?t=0:t+=1,this.set(t)}},{key:"_animateCaptionIn",value:function(t,e){var i={targets:t,opacity:0,duration:e,easing:"easeOutQuad"};s(t).hasClass("center-align")?i.translateY=-100:s(t).hasClass("right-align")?i.translateX=100:s(t).hasClass("left-align")&&(i.translateX=-100),o(i)}},{key:"_setSliderHeight",value:function(){this.$el.hasClass("fullscreen")||(this.options.indicators?this.$el.css("height",this.options.height+40+"px"):this.$el.css("height",this.options.height+"px"),this.$slider.css("height",this.options.height+"px"))}},{key:"_setupIndicators",value:function(){var n=this;this.options.indicators&&(this.$indicators=s('<ul class="indicators"></ul>'),this.$slides.each(function(t,e){var i=s('<li class="indicator-item"></li>');n.$indicators.append(i[0])}),this.$el.append(this.$indicators[0]),this.$indicators=this.$indicators.children("li.indicator-item"))}},{key:"_removeIndicators",value:function(){this.$el.find("ul.indicators").remove()}},{key:"set",value:function(t){var e=this;if(t>=this.$slides.length?t=0:t<0&&(t=this.$slides.length-1),this.activeIndex!=t){this.$active=this.$slides.eq(this.activeIndex);var i=this.$active.find(".caption");this.$active.removeClass("active"),o({targets:this.$active[0],opacity:0,duration:this.options.duration,easing:"easeOutQuad",complete:function(){e.$slides.not(".active").each(function(t){o({targets:t,opacity:0,translateX:0,translateY:0,duration:0,easing:"easeOutQuad"})})}}),this._animateCaptionIn(i[0],this.options.duration),this.options.indicators&&(this.$indicators.eq(this.activeIndex).removeClass("active"),this.$indicators.eq(t).addClass("active")),o({targets:this.$slides.eq(t)[0],opacity:1,duration:this.options.duration,easing:"easeOutQuad"}),o({targets:this.$slides.eq(t).find(".caption")[0],opacity:1,translateX:0,translateY:0,duration:this.options.duration,delay:this.options.duration,easing:"easeOutQuad"}),this.$slides.eq(t).addClass("active"),this.activeIndex=t,this.start()}}},{key:"pause",value:function(){clearInterval(this.interval)}},{key:"start",value:function(){clearInterval(this.interval),this.interval=setInterval(this._handleIntervalBound,this.options.duration+this.options.interval)}},{key:"next",value:function(){var t=this.activeIndex+1;t>=this.$slides.length?t=0:t<0&&(t=this.$slides.length-1),this.set(t)}},{key:"prev",value:function(){var t=this.activeIndex-1;t>=this.$slides.length?t=0:t<0&&(t=this.$slides.length-1),this.set(t)}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Slider}},{key:"defaults",get:function(){return e}}]),n}();M.Slider=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"slider","M_Slider")}(cash,M.anime),function(n,s){n(document).on("click",".card",function(t){if(n(this).children(".card-reveal").length){var i=n(t.target).closest(".card");void 0===i.data("initialOverflow")&&i.data("initialOverflow",void 0===i.css("overflow")?"":i.css("overflow"));var e=n(this).find(".card-reveal");n(t.target).is(n(".card-reveal .card-title"))||n(t.target).is(n(".card-reveal .card-title i"))?s({targets:e[0],translateY:0,duration:225,easing:"easeInOutQuad",complete:function(t){var e=t.animatables[0].target;n(e).css({display:"none"}),i.css("overflow",i.data("initialOverflow"))}}):(n(t.target).is(n(".card .activator"))||n(t.target).is(n(".card .activator i")))&&(i.css("overflow","hidden"),e.css({display:"block"}),s({targets:e[0],translateY:"-100%",duration:300,easing:"easeInOutQuad"}))}})}(cash,M.anime),function(h){"use strict";var e={data:[],placeholder:"",secondaryPlaceholder:"",autocompleteOptions:{},limit:1/0,onChipAdd:null,onChipSelect:null,onChipDelete:null},t=function(t){function l(t,e){_classCallCheck(this,l);var i=_possibleConstructorReturn(this,(l.__proto__||Object.getPrototypeOf(l)).call(this,l,t,e));return(i.el.M_Chips=i).options=h.extend({},l.defaults,e),i.$el.addClass("chips input-field"),i.chipsData=[],i.$chips=h(),i._setupInput(),i.hasAutocomplete=0<Object.keys(i.options.autocompleteOptions).length,i.$input.attr("id")||i.$input.attr("id",M.guid()),i.options.data.length&&(i.chipsData=i.options.data,i._renderChips(i.chipsData)),i.hasAutocomplete&&i._setupAutocomplete(),i._setPlaceholder(),i._setupLabel(),i._setupEventHandlers(),i}return _inherits(l,Component),_createClass(l,[{key:"getData",value:function(){return this.chipsData}},{key:"destroy",value:function(){this._removeEventHandlers(),this.$chips.remove(),this.el.M_Chips=void 0}},{key:"_setupEventHandlers",value:function(){this._handleChipClickBound=this._handleChipClick.bind(this),this._handleInputKeydownBound=this._handleInputKeydown.bind(this),this._handleInputFocusBound=this._handleInputFocus.bind(this),this._handleInputBlurBound=this._handleInputBlur.bind(this),this.el.addEventListener("click",this._handleChipClickBound),document.addEventListener("keydown",l._handleChipsKeydown),document.addEventListener("keyup",l._handleChipsKeyup),this.el.addEventListener("blur",l._handleChipsBlur,!0),this.$input[0].addEventListener("focus",this._handleInputFocusBound),this.$input[0].addEventListener("blur",this._handleInputBlurBound),this.$input[0].addEventListener("keydown",this._handleInputKeydownBound)}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("click",this._handleChipClickBound),document.removeEventListener("keydown",l._handleChipsKeydown),document.removeEventListener("keyup",l._handleChipsKeyup),this.el.removeEventListener("blur",l._handleChipsBlur,!0),this.$input[0].removeEventListener("focus",this._handleInputFocusBound),this.$input[0].removeEventListener("blur",this._handleInputBlurBound),this.$input[0].removeEventListener("keydown",this._handleInputKeydownBound)}},{key:"_handleChipClick",value:function(t){var e=h(t.target).closest(".chip"),i=h(t.target).is(".close");if(e.length){var n=e.index();i?(this.deleteChip(n),this.$input[0].focus()):this.selectChip(n)}else this.$input[0].focus()}},{key:"_handleInputFocus",value:function(){this.$el.addClass("focus")}},{key:"_handleInputBlur",value:function(){this.$el.removeClass("focus")}},{key:"_handleInputKeydown",value:function(t){if(l._keydown=!0,13===t.keyCode){if(this.hasAutocomplete&&this.autocomplete&&this.autocomplete.isOpen)return;t.preventDefault(),this.addChip({tag:this.$input[0].value}),this.$input[0].value=""}else 8!==t.keyCode&&37!==t.keyCode||""!==this.$input[0].value||!this.chipsData.length||(t.preventDefault(),this.selectChip(this.chipsData.length-1))}},{key:"_renderChip",value:function(t){if(t.tag){var e=document.createElement("div"),i=document.createElement("i");if(e.classList.add("chip"),e.textContent=t.tag,e.setAttribute("tabindex",0),h(i).addClass("material-icons close"),i.textContent="close",t.image){var n=document.createElement("img");n.setAttribute("src",t.image),e.insertBefore(n,e.firstChild)}return e.appendChild(i),e}}},{key:"_renderChips",value:function(){this.$chips.remove();for(var t=0;t<this.chipsData.length;t++){var e=this._renderChip(this.chipsData[t]);this.$el.append(e),this.$chips.add(e)}this.$el.append(this.$input[0])}},{key:"_setupAutocomplete",value:function(){var e=this;this.options.autocompleteOptions.onAutocomplete=function(t){e.addChip({tag:t}),e.$input[0].value="",e.$input[0].focus()},this.autocomplete=M.Autocomplete.init(this.$input[0],this.options.autocompleteOptions)}},{key:"_setupInput",value:function(){this.$input=this.$el.find("input"),this.$input.length||(this.$input=h("<input></input>"),this.$el.append(this.$input)),this.$input.addClass("input")}},{key:"_setupLabel",value:function(){this.$label=this.$el.find("label"),this.$label.length&&this.$label.setAttribute("for",this.$input.attr("id"))}},{key:"_setPlaceholder",value:function(){void 0!==this.chipsData&&!this.chipsData.length&&this.options.placeholder?h(this.$input).prop("placeholder",this.options.placeholder):(void 0===this.chipsData||this.chipsData.length)&&this.options.secondaryPlaceholder&&h(this.$input).prop("placeholder",this.options.secondaryPlaceholder)}},{key:"_isValid",value:function(t){if(t.hasOwnProperty("tag")&&""!==t.tag){for(var e=!1,i=0;i<this.chipsData.length;i++)if(this.chipsData[i].tag===t.tag){e=!0;break}return!e}return!1}},{key:"addChip",value:function(t){if(this._isValid(t)&&!(this.chipsData.length>=this.options.limit)){var e=this._renderChip(t);this.$chips.add(e),this.chipsData.push(t),h(this.$input).before(e),this._setPlaceholder(),"function"==typeof this.options.onChipAdd&&this.options.onChipAdd.call(this,this.$el,e)}}},{key:"deleteChip",value:function(t){var e=this.$chips.eq(t);this.$chips.eq(t).remove(),this.$chips=this.$chips.filter(function(t){return 0<=h(t).index()}),this.chipsData.splice(t,1),this._setPlaceholder(),"function"==typeof this.options.onChipDelete&&this.options.onChipDelete.call(this,this.$el,e[0])}},{key:"selectChip",value:function(t){var e=this.$chips.eq(t);(this._selectedChip=e)[0].focus(),"function"==typeof this.options.onChipSelect&&this.options.onChipSelect.call(this,this.$el,e[0])}}],[{key:"init",value:function(t,e){return _get(l.__proto__||Object.getPrototypeOf(l),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Chips}},{key:"_handleChipsKeydown",value:function(t){l._keydown=!0;var e=h(t.target).closest(".chips"),i=t.target&&e.length;if(!h(t.target).is("input, textarea")&&i){var n=e[0].M_Chips;if(8===t.keyCode||46===t.keyCode){t.preventDefault();var s=n.chipsData.length;if(n._selectedChip){var o=n._selectedChip.index();n.deleteChip(o),n._selectedChip=null,s=Math.max(o-1,0)}n.chipsData.length&&n.selectChip(s)}else if(37===t.keyCode){if(n._selectedChip){var a=n._selectedChip.index()-1;if(a<0)return;n.selectChip(a)}}else if(39===t.keyCode&&n._selectedChip){var r=n._selectedChip.index()+1;r>=n.chipsData.length?n.$input[0].focus():n.selectChip(r)}}}},{key:"_handleChipsKeyup",value:function(t){l._keydown=!1}},{key:"_handleChipsBlur",value:function(t){l._keydown||(h(t.target).closest(".chips")[0].M_Chips._selectedChip=null)}},{key:"defaults",get:function(){return e}}]),l}();t._keydown=!1,M.Chips=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"chips","M_Chips"),h(document).ready(function(){h(document.body).on("click",".chip .close",function(){var t=h(this).closest(".chips");t.length&&t[0].M_Chips||h(this).closest(".chip").remove()})})}(cash),function(s){"use strict";var e={top:0,bottom:1/0,offset:0,onPositionChange:null},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Pushpin=i).options=s.extend({},n.defaults,e),i.originalOffset=i.el.offsetTop,n._pushpins.push(i),i._setupEventHandlers(),i._updatePosition(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){this.el.style.top=null,this._removePinClasses(),this._removeEventHandlers();var t=n._pushpins.indexOf(this);n._pushpins.splice(t,1)}},{key:"_setupEventHandlers",value:function(){document.addEventListener("scroll",n._updateElements)}},{key:"_removeEventHandlers",value:function(){document.removeEventListener("scroll",n._updateElements)}},{key:"_updatePosition",value:function(){var t=M.getDocumentScrollTop()+this.options.offset;this.options.top<=t&&this.options.bottom>=t&&!this.el.classList.contains("pinned")&&(this._removePinClasses(),this.el.style.top=this.options.offset+"px",this.el.classList.add("pinned"),"function"==typeof this.options.onPositionChange&&this.options.onPositionChange.call(this,"pinned")),t<this.options.top&&!this.el.classList.contains("pin-top")&&(this._removePinClasses(),this.el.style.top=0,this.el.classList.add("pin-top"),"function"==typeof this.options.onPositionChange&&this.options.onPositionChange.call(this,"pin-top")),t>this.options.bottom&&!this.el.classList.contains("pin-bottom")&&(this._removePinClasses(),this.el.classList.add("pin-bottom"),this.el.style.top=this.options.bottom-this.originalOffset+"px","function"==typeof this.options.onPositionChange&&this.options.onPositionChange.call(this,"pin-bottom"))}},{key:"_removePinClasses",value:function(){this.el.classList.remove("pin-top"),this.el.classList.remove("pinned"),this.el.classList.remove("pin-bottom")}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Pushpin}},{key:"_updateElements",value:function(){for(var t in n._pushpins){n._pushpins[t]._updatePosition()}}},{key:"defaults",get:function(){return e}}]),n}();t._pushpins=[],M.Pushpin=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"pushpin","M_Pushpin")}(cash),function(r,s){"use strict";var e={direction:"top",hoverEnabled:!0,toolbarEnabled:!1};r.fn.reverse=[].reverse;var t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_FloatingActionButton=i).options=r.extend({},n.defaults,e),i.isOpen=!1,i.$anchor=i.$el.children("a").first(),i.$menu=i.$el.children("ul").first(),i.$floatingBtns=i.$el.find("ul .btn-floating"),i.$floatingBtnsReverse=i.$el.find("ul .btn-floating").reverse(),i.offsetY=0,i.offsetX=0,i.$el.addClass("direction-"+i.options.direction),"top"===i.options.direction?i.offsetY=40:"right"===i.options.direction?i.offsetX=-40:"bottom"===i.options.direction?i.offsetY=-40:i.offsetX=40,i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){this._removeEventHandlers(),this.el.M_FloatingActionButton=void 0}},{key:"_setupEventHandlers",value:function(){this._handleFABClickBound=this._handleFABClick.bind(this),this._handleOpenBound=this.open.bind(this),this._handleCloseBound=this.close.bind(this),this.options.hoverEnabled&&!this.options.toolbarEnabled?(this.el.addEventListener("mouseenter",this._handleOpenBound),this.el.addEventListener("mouseleave",this._handleCloseBound)):this.el.addEventListener("click",this._handleFABClickBound)}},{key:"_removeEventHandlers",value:function(){this.options.hoverEnabled&&!this.options.toolbarEnabled?(this.el.removeEventListener("mouseenter",this._handleOpenBound),this.el.removeEventListener("mouseleave",this._handleCloseBound)):this.el.removeEventListener("click",this._handleFABClickBound)}},{key:"_handleFABClick",value:function(){this.isOpen?this.close():this.open()}},{key:"_handleDocumentClick",value:function(t){r(t.target).closest(this.$menu).length||this.close()}},{key:"open",value:function(){this.isOpen||(this.options.toolbarEnabled?this._animateInToolbar():this._animateInFAB(),this.isOpen=!0)}},{key:"close",value:function(){this.isOpen&&(this.options.toolbarEnabled?(window.removeEventListener("scroll",this._handleCloseBound,!0),document.body.removeEventListener("click",this._handleDocumentClickBound,!0),this._animateOutToolbar()):this._animateOutFAB(),this.isOpen=!1)}},{key:"_animateInFAB",value:function(){var e=this;this.$el.addClass("active");var i=0;this.$floatingBtnsReverse.each(function(t){s({targets:t,opacity:1,scale:[.4,1],translateY:[e.offsetY,0],translateX:[e.offsetX,0],duration:275,delay:i,easing:"easeInOutQuad"}),i+=40})}},{key:"_animateOutFAB",value:function(){var e=this;this.$floatingBtnsReverse.each(function(t){s.remove(t),s({targets:t,opacity:0,scale:.4,translateY:e.offsetY,translateX:e.offsetX,duration:175,easing:"easeOutQuad",complete:function(){e.$el.removeClass("active")}})})}},{key:"_animateInToolbar",value:function(){var t,e=this,i=window.innerWidth,n=window.innerHeight,s=this.el.getBoundingClientRect(),o=r('<div class="fab-backdrop"></div>'),a=this.$anchor.css("background-color");this.$anchor.append(o),this.offsetX=s.left-i/2+s.width/2,this.offsetY=n-s.bottom,t=i/o[0].clientWidth,this.btnBottom=s.bottom,this.btnLeft=s.left,this.btnWidth=s.width,this.$el.addClass("active"),this.$el.css({"text-align":"center",width:"100%",bottom:0,left:0,transform:"translateX("+this.offsetX+"px)",transition:"none"}),this.$anchor.css({transform:"translateY("+-this.offsetY+"px)",transition:"none"}),o.css({"background-color":a}),setTimeout(function(){e.$el.css({transform:"",transition:"transform .2s cubic-bezier(0.550, 0.085, 0.680, 0.530), background-color 0s linear .2s"}),e.$anchor.css({overflow:"visible",transform:"",transition:"transform .2s"}),setTimeout(function(){e.$el.css({overflow:"hidden","background-color":a}),o.css({transform:"scale("+t+")",transition:"transform .2s cubic-bezier(0.550, 0.055, 0.675, 0.190)"}),e.$menu.children("li").children("a").css({opacity:1}),e._handleDocumentClickBound=e._handleDocumentClick.bind(e),window.addEventListener("scroll",e._handleCloseBound,!0),document.body.addEventListener("click",e._handleDocumentClickBound,!0)},100)},0)}},{key:"_animateOutToolbar",value:function(){var t=this,e=window.innerWidth,i=window.innerHeight,n=this.$el.find(".fab-backdrop"),s=this.$anchor.css("background-color");this.offsetX=this.btnLeft-e/2+this.btnWidth/2,this.offsetY=i-this.btnBottom,this.$el.removeClass("active"),this.$el.css({"background-color":"transparent",transition:"none"}),this.$anchor.css({transition:"none"}),n.css({transform:"scale(0)","background-color":s}),this.$menu.children("li").children("a").css({opacity:""}),setTimeout(function(){n.remove(),t.$el.css({"text-align":"",width:"",bottom:"",left:"",overflow:"","background-color":"",transform:"translate3d("+-t.offsetX+"px,0,0)"}),t.$anchor.css({overflow:"",transform:"translate3d(0,"+t.offsetY+"px,0)"}),setTimeout(function(){t.$el.css({transform:"translate3d(0,0,0)",transition:"transform .2s"}),t.$anchor.css({transform:"translate3d(0,0,0)",transition:"transform .2s cubic-bezier(0.550, 0.055, 0.675, 0.190)"})},20)},200)}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_FloatingActionButton}},{key:"defaults",get:function(){return e}}]),n}();M.FloatingActionButton=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"floatingActionButton","M_FloatingActionButton")}(cash,M.anime),function(g){"use strict";var e={autoClose:!1,format:"mmm dd, yyyy",parse:null,defaultDate:null,setDefaultDate:!1,disableWeekends:!1,disableDayFn:null,firstDay:0,minDate:null,maxDate:null,yearRange:10,minYear:0,maxYear:9999,minMonth:void 0,maxMonth:void 0,startRange:null,endRange:null,isRTL:!1,showMonthAfterYear:!1,showDaysInNextAndPreviousMonths:!1,container:null,showClearBtn:!1,i18n:{cancel:"Cancel",clear:"Clear",done:"Ok",previousMonth:"‹",nextMonth:"›",months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],weekdaysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],weekdaysAbbrev:["S","M","T","W","T","F","S"]},events:[],onSelect:null,onOpen:null,onClose:null,onDraw:null},t=function(t){function B(t,e){_classCallCheck(this,B);var i=_possibleConstructorReturn(this,(B.__proto__||Object.getPrototypeOf(B)).call(this,B,t,e));(i.el.M_Datepicker=i).options=g.extend({},B.defaults,e),e&&e.hasOwnProperty("i18n")&&"object"==typeof e.i18n&&(i.options.i18n=g.extend({},B.defaults.i18n,e.i18n)),i.options.minDate&&i.options.minDate.setHours(0,0,0,0),i.options.maxDate&&i.options.maxDate.setHours(0,0,0,0),i.id=M.guid(),i._setupVariables(),i._insertHTMLIntoDOM(),i._setupModal(),i._setupEventHandlers(),i.options.defaultDate||(i.options.defaultDate=new Date(Date.parse(i.el.value)));var n=i.options.defaultDate;return B._isDate(n)?i.options.setDefaultDate?(i.setDate(n,!0),i.setInputValue()):i.gotoDate(n):i.gotoDate(new Date),i.isOpen=!1,i}return _inherits(B,Component),_createClass(B,[{key:"destroy",value:function(){this._removeEventHandlers(),this.modal.destroy(),g(this.modalEl).remove(),this.destroySelects(),this.el.M_Datepicker=void 0}},{key:"destroySelects",value:function(){var t=this.calendarEl.querySelector(".orig-select-year");t&&M.FormSelect.getInstance(t).destroy();var e=this.calendarEl.querySelector(".orig-select-month");e&&M.FormSelect.getInstance(e).destroy()}},{key:"_insertHTMLIntoDOM",value:function(){this.options.showClearBtn&&(g(this.clearBtn).css({visibility:""}),this.clearBtn.innerHTML=this.options.i18n.clear),this.doneBtn.innerHTML=this.options.i18n.done,this.cancelBtn.innerHTML=this.options.i18n.cancel,this.options.container?this.$modalEl.appendTo(this.options.container):this.$modalEl.insertBefore(this.el)}},{key:"_setupModal",value:function(){var t=this;this.modalEl.id="modal-"+this.id,this.modal=M.Modal.init(this.modalEl,{onCloseEnd:function(){t.isOpen=!1}})}},{key:"toString",value:function(t){var e=this;return t=t||this.options.format,B._isDate(this.date)?t.split(/(d{1,4}|m{1,4}|y{4}|yy|!.)/g).map(function(t){return e.formats[t]?e.formats[t]():t}).join(""):""}},{key:"setDate",value:function(t,e){if(!t)return this.date=null,this._renderDateDisplay(),this.draw();if("string"==typeof t&&(t=new Date(Date.parse(t))),B._isDate(t)){var i=this.options.minDate,n=this.options.maxDate;B._isDate(i)&&t<i?t=i:B._isDate(n)&&n<t&&(t=n),this.date=new Date(t.getTime()),this._renderDateDisplay(),B._setToStartOfDay(this.date),this.gotoDate(this.date),e||"function"!=typeof this.options.onSelect||this.options.onSelect.call(this,this.date)}}},{key:"setInputValue",value:function(){this.el.value=this.toString(),this.$el.trigger("change",{firedBy:this})}},{key:"_renderDateDisplay",value:function(){var t=B._isDate(this.date)?this.date:new Date,e=this.options.i18n,i=e.weekdaysShort[t.getDay()],n=e.monthsShort[t.getMonth()],s=t.getDate();this.yearTextEl.innerHTML=t.getFullYear(),this.dateTextEl.innerHTML=i+", "+n+" "+s}},{key:"gotoDate",value:function(t){var e=!0;if(B._isDate(t)){if(this.calendars){var i=new Date(this.calendars[0].year,this.calendars[0].month,1),n=new Date(this.calendars[this.calendars.length-1].year,this.calendars[this.calendars.length-1].month,1),s=t.getTime();n.setMonth(n.getMonth()+1),n.setDate(n.getDate()-1),e=s<i.getTime()||n.getTime()<s}e&&(this.calendars=[{month:t.getMonth(),year:t.getFullYear()}]),this.adjustCalendars()}}},{key:"adjustCalendars",value:function(){this.calendars[0]=this.adjustCalendar(this.calendars[0]),this.draw()}},{key:"adjustCalendar",value:function(t){return t.month<0&&(t.year-=Math.ceil(Math.abs(t.month)/12),t.month+=12),11<t.month&&(t.year+=Math.floor(Math.abs(t.month)/12),t.month-=12),t}},{key:"nextMonth",value:function(){this.calendars[0].month++,this.adjustCalendars()}},{key:"prevMonth",value:function(){this.calendars[0].month--,this.adjustCalendars()}},{key:"render",value:function(t,e,i){var n=this.options,s=new Date,o=B._getDaysInMonth(t,e),a=new Date(t,e,1).getDay(),r=[],l=[];B._setToStartOfDay(s),0<n.firstDay&&(a-=n.firstDay)<0&&(a+=7);for(var h=0===e?11:e-1,d=11===e?0:e+1,u=0===e?t-1:t,c=11===e?t+1:t,p=B._getDaysInMonth(u,h),v=o+a,f=v;7<f;)f-=7;v+=7-f;for(var m=!1,g=0,_=0;g<v;g++){var y=new Date(t,e,g-a+1),k=!!B._isDate(this.date)&&B._compareDates(y,this.date),b=B._compareDates(y,s),w=-1!==n.events.indexOf(y.toDateString()),C=g<a||o+a<=g,E=g-a+1,M=e,O=t,x=n.startRange&&B._compareDates(n.startRange,y),L=n.endRange&&B._compareDates(n.endRange,y),T=n.startRange&&n.endRange&&n.startRange<y&&y<n.endRange;C&&(g<a?(E=p+E,M=h,O=u):(E-=o,M=d,O=c));var $={day:E,month:M,year:O,hasEvent:w,isSelected:k,isToday:b,isDisabled:n.minDate&&y<n.minDate||n.maxDate&&y>n.maxDate||n.disableWeekends&&B._isWeekend(y)||n.disableDayFn&&n.disableDayFn(y),isEmpty:C,isStartRange:x,isEndRange:L,isInRange:T,showDaysInNextAndPreviousMonths:n.showDaysInNextAndPreviousMonths};l.push(this.renderDay($)),7==++_&&(r.push(this.renderRow(l,n.isRTL,m)),_=0,m=!(l=[]))}return this.renderTable(n,r,i)}},{key:"renderDay",value:function(t){var e=[],i="false";if(t.isEmpty){if(!t.showDaysInNextAndPreviousMonths)return'<td class="is-empty"></td>';e.push("is-outside-current-month"),e.push("is-selection-disabled")}return t.isDisabled&&e.push("is-disabled"),t.isToday&&e.push("is-today"),t.isSelected&&(e.push("is-selected"),i="true"),t.hasEvent&&e.push("has-event"),t.isInRange&&e.push("is-inrange"),t.isStartRange&&e.push("is-startrange"),t.isEndRange&&e.push("is-endrange"),'<td data-day="'+t.day+'" class="'+e.join(" ")+'" aria-selected="'+i+'"><button class="datepicker-day-button" type="button" data-year="'+t.year+'" data-month="'+t.month+'" data-day="'+t.day+'">'+t.day+"</button></td>"}},{key:"renderRow",value:function(t,e,i){return'<tr class="datepicker-row'+(i?" is-selected":"")+'">'+(e?t.reverse():t).join("")+"</tr>"}},{key:"renderTable",value:function(t,e,i){return'<div class="datepicker-table-wrapper"><table cellpadding="0" cellspacing="0" class="datepicker-table" role="grid" aria-labelledby="'+i+'">'+this.renderHead(t)+this.renderBody(e)+"</table></div>"}},{key:"renderHead",value:function(t){var e=void 0,i=[];for(e=0;e<7;e++)i.push('<th scope="col"><abbr title="'+this.renderDayName(t,e)+'">'+this.renderDayName(t,e,!0)+"</abbr></th>");return"<thead><tr>"+(t.isRTL?i.reverse():i).join("")+"</tr></thead>"}},{key:"renderBody",value:function(t){return"<tbody>"+t.join("")+"</tbody>"}},{key:"renderTitle",value:function(t,e,i,n,s,o){var a,r,l=void 0,h=void 0,d=void 0,u=this.options,c=i===u.minYear,p=i===u.maxYear,v='<div id="'+o+'" class="datepicker-controls" role="heading" aria-live="assertive">',f=!0,m=!0;for(d=[],l=0;l<12;l++)d.push('<option value="'+(i===s?l-e:12+l-e)+'"'+(l===n?' selected="selected"':"")+(c&&l<u.minMonth||p&&l>u.maxMonth?'disabled="disabled"':"")+">"+u.i18n.months[l]+"</option>");for(a='<select class="datepicker-select orig-select-month" tabindex="-1">'+d.join("")+"</select>",g.isArray(u.yearRange)?(l=u.yearRange[0],h=u.yearRange[1]+1):(l=i-u.yearRange,h=1+i+u.yearRange),d=[];l<h&&l<=u.maxYear;l++)l>=u.minYear&&d.push('<option value="'+l+'" '+(l===i?'selected="selected"':"")+">"+l+"</option>");r='<select class="datepicker-select orig-select-year" tabindex="-1">'+d.join("")+"</select>";v+='<button class="month-prev'+(f?"":" is-disabled")+'" type="button"><svg fill="#000000" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M15.41 16.09l-4.58-4.59 4.58-4.59L14 5.5l-6 6 6 6z"/><path d="M0-.5h24v24H0z" fill="none"/></svg></button>',v+='<div class="selects-container">',u.showMonthAfterYear?v+=r+a:v+=a+r,v+="</div>",c&&(0===n||u.minMonth>=n)&&(f=!1),p&&(11===n||u.maxMonth<=n)&&(m=!1);return(v+='<button class="month-next'+(m?"":" is-disabled")+'" type="button"><svg fill="#000000" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"/><path d="M0-.25h24v24H0z" fill="none"/></svg></button>')+"</div>"}},{key:"draw",value:function(t){if(this.isOpen||t){var e,i=this.options,n=i.minYear,s=i.maxYear,o=i.minMonth,a=i.maxMonth,r="";this._y<=n&&(this._y=n,!isNaN(o)&&this._m<o&&(this._m=o)),this._y>=s&&(this._y=s,!isNaN(a)&&this._m>a&&(this._m=a)),e="datepicker-title-"+Math.random().toString(36).replace(/[^a-z]+/g,"").substr(0,2);for(var l=0;l<1;l++)this._renderDateDisplay(),r+=this.renderTitle(this,l,this.calendars[l].year,this.calendars[l].month,this.calendars[0].year,e)+this.render(this.calendars[l].year,this.calendars[l].month,e);this.destroySelects(),this.calendarEl.innerHTML=r;var h=this.calendarEl.querySelector(".orig-select-year"),d=this.calendarEl.querySelector(".orig-select-month");M.FormSelect.init(h,{classes:"select-year",dropdownOptions:{container:document.body,constrainWidth:!1}}),M.FormSelect.init(d,{classes:"select-month",dropdownOptions:{container:document.body,constrainWidth:!1}}),h.addEventListener("change",this._handleYearChange.bind(this)),d.addEventListener("change",this._handleMonthChange.bind(this)),"function"==typeof this.options.onDraw&&this.options.onDraw(this)}}},{key:"_setupEventHandlers",value:function(){this._handleInputKeydownBound=this._handleInputKeydown.bind(this),this._handleInputClickBound=this._handleInputClick.bind(this),this._handleInputChangeBound=this._handleInputChange.bind(this),this._handleCalendarClickBound=this._handleCalendarClick.bind(this),this._finishSelectionBound=this._finishSelection.bind(this),this._handleMonthChange=this._handleMonthChange.bind(this),this._closeBound=this.close.bind(this),this.el.addEventListener("click",this._handleInputClickBound),this.el.addEventListener("keydown",this._handleInputKeydownBound),this.el.addEventListener("change",this._handleInputChangeBound),this.calendarEl.addEventListener("click",this._handleCalendarClickBound),this.doneBtn.addEventListener("click",this._finishSelectionBound),this.cancelBtn.addEventListener("click",this._closeBound),this.options.showClearBtn&&(this._handleClearClickBound=this._handleClearClick.bind(this),this.clearBtn.addEventListener("click",this._handleClearClickBound))}},{key:"_setupVariables",value:function(){var e=this;this.$modalEl=g(B._template),this.modalEl=this.$modalEl[0],this.calendarEl=this.modalEl.querySelector(".datepicker-calendar"),this.yearTextEl=this.modalEl.querySelector(".year-text"),this.dateTextEl=this.modalEl.querySelector(".date-text"),this.options.showClearBtn&&(this.clearBtn=this.modalEl.querySelector(".datepicker-clear")),this.doneBtn=this.modalEl.querySelector(".datepicker-done"),this.cancelBtn=this.modalEl.querySelector(".datepicker-cancel"),this.formats={d:function(){return e.date.getDate()},dd:function(){var t=e.date.getDate();return(t<10?"0":"")+t},ddd:function(){return e.options.i18n.weekdaysShort[e.date.getDay()]},dddd:function(){return e.options.i18n.weekdays[e.date.getDay()]},m:function(){return e.date.getMonth()+1},mm:function(){var t=e.date.getMonth()+1;return(t<10?"0":"")+t},mmm:function(){return e.options.i18n.monthsShort[e.date.getMonth()]},mmmm:function(){return e.options.i18n.months[e.date.getMonth()]},yy:function(){return(""+e.date.getFullYear()).slice(2)},yyyy:function(){return e.date.getFullYear()}}}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("click",this._handleInputClickBound),this.el.removeEventListener("keydown",this._handleInputKeydownBound),this.el.removeEventListener("change",this._handleInputChangeBound),this.calendarEl.removeEventListener("click",this._handleCalendarClickBound)}},{key:"_handleInputClick",value:function(){this.open()}},{key:"_handleInputKeydown",value:function(t){t.which===M.keys.ENTER&&(t.preventDefault(),this.open())}},{key:"_handleCalendarClick",value:function(t){if(this.isOpen){var e=g(t.target);e.hasClass("is-disabled")||(!e.hasClass("datepicker-day-button")||e.hasClass("is-empty")||e.parent().hasClass("is-disabled")?e.closest(".month-prev").length?this.prevMonth():e.closest(".month-next").length&&this.nextMonth():(this.setDate(new Date(t.target.getAttribute("data-year"),t.target.getAttribute("data-month"),t.target.getAttribute("data-day"))),this.options.autoClose&&this._finishSelection()))}}},{key:"_handleClearClick",value:function(){this.date=null,this.setInputValue(),this.close()}},{key:"_handleMonthChange",value:function(t){this.gotoMonth(t.target.value)}},{key:"_handleYearChange",value:function(t){this.gotoYear(t.target.value)}},{key:"gotoMonth",value:function(t){isNaN(t)||(this.calendars[0].month=parseInt(t,10),this.adjustCalendars())}},{key:"gotoYear",value:function(t){isNaN(t)||(this.calendars[0].year=parseInt(t,10),this.adjustCalendars())}},{key:"_handleInputChange",value:function(t){var e=void 0;t.firedBy!==this&&(e=this.options.parse?this.options.parse(this.el.value,this.options.format):new Date(Date.parse(this.el.value)),B._isDate(e)&&this.setDate(e))}},{key:"renderDayName",value:function(t,e,i){for(e+=t.firstDay;7<=e;)e-=7;return i?t.i18n.weekdaysAbbrev[e]:t.i18n.weekdays[e]}},{key:"_finishSelection",value:function(){this.setInputValue(),this.close()}},{key:"open",value:function(){if(!this.isOpen)return this.isOpen=!0,"function"==typeof this.options.onOpen&&this.options.onOpen.call(this),this.draw(),this.modal.open(),this}},{key:"close",value:function(){if(this.isOpen)return this.isOpen=!1,"function"==typeof this.options.onClose&&this.options.onClose.call(this),this.modal.close(),this}}],[{key:"init",value:function(t,e){return _get(B.__proto__||Object.getPrototypeOf(B),"init",this).call(this,this,t,e)}},{key:"_isDate",value:function(t){return/Date/.test(Object.prototype.toString.call(t))&&!isNaN(t.getTime())}},{key:"_isWeekend",value:function(t){var e=t.getDay();return 0===e||6===e}},{key:"_setToStartOfDay",value:function(t){B._isDate(t)&&t.setHours(0,0,0,0)}},{key:"_getDaysInMonth",value:function(t,e){return[31,B._isLeapYear(t)?29:28,31,30,31,30,31,31,30,31,30,31][e]}},{key:"_isLeapYear",value:function(t){return t%4==0&&t%100!=0||t%400==0}},{key:"_compareDates",value:function(t,e){return t.getTime()===e.getTime()}},{key:"_setToStartOfDay",value:function(t){B._isDate(t)&&t.setHours(0,0,0,0)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Datepicker}},{key:"defaults",get:function(){return e}}]),B}();t._template=['<div class= "modal datepicker-modal">','<div class="modal-content datepicker-container">','<div class="datepicker-date-display">','<span class="year-text"></span>','<span class="date-text"></span>',"</div>",'<div class="datepicker-calendar-container">','<div class="datepicker-calendar"></div>','<div class="datepicker-footer">','<button class="btn-flat datepicker-clear waves-effect" style="visibility: hidden;" type="button"></button>','<div class="confirmation-btns">','<button class="btn-flat datepicker-cancel waves-effect" type="button"></button>','<button class="btn-flat datepicker-done waves-effect" type="button"></button>',"</div>","</div>","</div>","</div>","</div>"].join(""),M.Datepicker=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"datepicker","M_Datepicker")}(cash),function(h){"use strict";var e={dialRadius:135,outerRadius:105,innerRadius:70,tickRadius:20,duration:350,container:null,defaultTime:"now",fromNow:0,showClearBtn:!1,i18n:{cancel:"Cancel",clear:"Clear",done:"Ok"},autoClose:!1,twelveHour:!0,vibrate:!0,onOpenStart:null,onOpenEnd:null,onCloseStart:null,onCloseEnd:null,onSelect:null},t=function(t){function f(t,e){_classCallCheck(this,f);var i=_possibleConstructorReturn(this,(f.__proto__||Object.getPrototypeOf(f)).call(this,f,t,e));return(i.el.M_Timepicker=i).options=h.extend({},f.defaults,e),i.id=M.guid(),i._insertHTMLIntoDOM(),i._setupModal(),i._setupVariables(),i._setupEventHandlers(),i._clockSetup(),i._pickerSetup(),i}return _inherits(f,Component),_createClass(f,[{key:"destroy",value:function(){this._removeEventHandlers(),this.modal.destroy(),h(this.modalEl).remove(),this.el.M_Timepicker=void 0}},{key:"_setupEventHandlers",value:function(){this._handleInputKeydownBound=this._handleInputKeydown.bind(this),this._handleInputClickBound=this._handleInputClick.bind(this),this._handleClockClickStartBound=this._handleClockClickStart.bind(this),this._handleDocumentClickMoveBound=this._handleDocumentClickMove.bind(this),this._handleDocumentClickEndBound=this._handleDocumentClickEnd.bind(this),this.el.addEventListener("click",this._handleInputClickBound),this.el.addEventListener("keydown",this._handleInputKeydownBound),this.plate.addEventListener("mousedown",this._handleClockClickStartBound),this.plate.addEventListener("touchstart",this._handleClockClickStartBound),h(this.spanHours).on("click",this.showView.bind(this,"hours")),h(this.spanMinutes).on("click",this.showView.bind(this,"minutes"))}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("click",this._handleInputClickBound),this.el.removeEventListener("keydown",this._handleInputKeydownBound)}},{key:"_handleInputClick",value:function(){this.open()}},{key:"_handleInputKeydown",value:function(t){t.which===M.keys.ENTER&&(t.preventDefault(),this.open())}},{key:"_handleClockClickStart",value:function(t){t.preventDefault();var e=this.plate.getBoundingClientRect(),i=e.left,n=e.top;this.x0=i+this.options.dialRadius,this.y0=n+this.options.dialRadius,this.moved=!1;var s=f._Pos(t);this.dx=s.x-this.x0,this.dy=s.y-this.y0,this.setHand(this.dx,this.dy,!1),document.addEventListener("mousemove",this._handleDocumentClickMoveBound),document.addEventListener("touchmove",this._handleDocumentClickMoveBound),document.addEventListener("mouseup",this._handleDocumentClickEndBound),document.addEventListener("touchend",this._handleDocumentClickEndBound)}},{key:"_handleDocumentClickMove",value:function(t){t.preventDefault();var e=f._Pos(t),i=e.x-this.x0,n=e.y-this.y0;this.moved=!0,this.setHand(i,n,!1,!0)}},{key:"_handleDocumentClickEnd",value:function(t){var e=this;t.preventDefault(),document.removeEventListener("mouseup",this._handleDocumentClickEndBound),document.removeEventListener("touchend",this._handleDocumentClickEndBound);var i=f._Pos(t),n=i.x-this.x0,s=i.y-this.y0;this.moved&&n===this.dx&&s===this.dy&&this.setHand(n,s),"hours"===this.currentView?this.showView("minutes",this.options.duration/2):this.options.autoClose&&(h(this.minutesView).addClass("timepicker-dial-out"),setTimeout(function(){e.done()},this.options.duration/2)),"function"==typeof this.options.onSelect&&this.options.onSelect.call(this,this.hours,this.minutes),document.removeEventListener("mousemove",this._handleDocumentClickMoveBound),document.removeEventListener("touchmove",this._handleDocumentClickMoveBound)}},{key:"_insertHTMLIntoDOM",value:function(){this.$modalEl=h(f._template),this.modalEl=this.$modalEl[0],this.modalEl.id="modal-"+this.id;var t=document.querySelector(this.options.container);this.options.container&&t?this.$modalEl.appendTo(t):this.$modalEl.insertBefore(this.el)}},{key:"_setupModal",value:function(){var t=this;this.modal=M.Modal.init(this.modalEl,{onOpenStart:this.options.onOpenStart,onOpenEnd:this.options.onOpenEnd,onCloseStart:this.options.onCloseStart,onCloseEnd:function(){"function"==typeof t.options.onCloseEnd&&t.options.onCloseEnd.call(t),t.isOpen=!1}})}},{key:"_setupVariables",value:function(){this.currentView="hours",this.vibrate=navigator.vibrate?"vibrate":navigator.webkitVibrate?"webkitVibrate":null,this._canvas=this.modalEl.querySelector(".timepicker-canvas"),this.plate=this.modalEl.querySelector(".timepicker-plate"),this.hoursView=this.modalEl.querySelector(".timepicker-hours"),this.minutesView=this.modalEl.querySelector(".timepicker-minutes"),this.spanHours=this.modalEl.querySelector(".timepicker-span-hours"),this.spanMinutes=this.modalEl.querySelector(".timepicker-span-minutes"),this.spanAmPm=this.modalEl.querySelector(".timepicker-span-am-pm"),this.footer=this.modalEl.querySelector(".timepicker-footer"),this.amOrPm="PM"}},{key:"_pickerSetup",value:function(){var t=h('<button class="btn-flat timepicker-clear waves-effect" style="visibility: hidden;" type="button" tabindex="'+(this.options.twelveHour?"3":"1")+'">'+this.options.i18n.clear+"</button>").appendTo(this.footer).on("click",this.clear.bind(this));this.options.showClearBtn&&t.css({visibility:""});var e=h('<div class="confirmation-btns"></div>');h('<button class="btn-flat timepicker-close waves-effect" type="button" tabindex="'+(this.options.twelveHour?"3":"1")+'">'+this.options.i18n.cancel+"</button>").appendTo(e).on("click",this.close.bind(this)),h('<button class="btn-flat timepicker-close waves-effect" type="button" tabindex="'+(this.options.twelveHour?"3":"1")+'">'+this.options.i18n.done+"</button>").appendTo(e).on("click",this.done.bind(this)),e.appendTo(this.footer)}},{key:"_clockSetup",value:function(){this.options.twelveHour&&(this.$amBtn=h('<div class="am-btn">AM</div>'),this.$pmBtn=h('<div class="pm-btn">PM</div>'),this.$amBtn.on("click",this._handleAmPmClick.bind(this)).appendTo(this.spanAmPm),this.$pmBtn.on("click",this._handleAmPmClick.bind(this)).appendTo(this.spanAmPm)),this._buildHoursView(),this._buildMinutesView(),this._buildSVGClock()}},{key:"_buildSVGClock",value:function(){var t=this.options.dialRadius,e=this.options.tickRadius,i=2*t,n=f._createSVGEl("svg");n.setAttribute("class","timepicker-svg"),n.setAttribute("width",i),n.setAttribute("height",i);var s=f._createSVGEl("g");s.setAttribute("transform","translate("+t+","+t+")");var o=f._createSVGEl("circle");o.setAttribute("class","timepicker-canvas-bearing"),o.setAttribute("cx",0),o.setAttribute("cy",0),o.setAttribute("r",4);var a=f._createSVGEl("line");a.setAttribute("x1",0),a.setAttribute("y1",0);var r=f._createSVGEl("circle");r.setAttribute("class","timepicker-canvas-bg"),r.setAttribute("r",e),s.appendChild(a),s.appendChild(r),s.appendChild(o),n.appendChild(s),this._canvas.appendChild(n),this.hand=a,this.bg=r,this.bearing=o,this.g=s}},{key:"_buildHoursView",value:function(){var t=h('<div class="timepicker-tick"></div>');if(this.options.twelveHour)for(var e=1;e<13;e+=1){var i=t.clone(),n=e/6*Math.PI,s=this.options.outerRadius;i.css({left:this.options.dialRadius+Math.sin(n)*s-this.options.tickRadius+"px",top:this.options.dialRadius-Math.cos(n)*s-this.options.tickRadius+"px"}),i.html(0===e?"00":e),this.hoursView.appendChild(i[0])}else for(var o=0;o<24;o+=1){var a=t.clone(),r=o/6*Math.PI,l=0<o&&o<13?this.options.innerRadius:this.options.outerRadius;a.css({left:this.options.dialRadius+Math.sin(r)*l-this.options.tickRadius+"px",top:this.options.dialRadius-Math.cos(r)*l-this.options.tickRadius+"px"}),a.html(0===o?"00":o),this.hoursView.appendChild(a[0])}}},{key:"_buildMinutesView",value:function(){for(var t=h('<div class="timepicker-tick"></div>'),e=0;e<60;e+=5){var i=t.clone(),n=e/30*Math.PI;i.css({left:this.options.dialRadius+Math.sin(n)*this.options.outerRadius-this.options.tickRadius+"px",top:this.options.dialRadius-Math.cos(n)*this.options.outerRadius-this.options.tickRadius+"px"}),i.html(f._addLeadingZero(e)),this.minutesView.appendChild(i[0])}}},{key:"_handleAmPmClick",value:function(t){var e=h(t.target);this.amOrPm=e.hasClass("am-btn")?"AM":"PM",this._updateAmPmView()}},{key:"_updateAmPmView",value:function(){this.options.twelveHour&&(this.$amBtn.toggleClass("text-primary","AM"===this.amOrPm),this.$pmBtn.toggleClass("text-primary","PM"===this.amOrPm))}},{key:"_updateTimeFromInput",value:function(){var t=((this.el.value||this.options.defaultTime||"")+"").split(":");if(this.options.twelveHour&&void 0!==t[1]&&(0<t[1].toUpperCase().indexOf("AM")?this.amOrPm="AM":this.amOrPm="PM",t[1]=t[1].replace("AM","").replace("PM","")),"now"===t[0]){var e=new Date(+new Date+this.options.fromNow);t=[e.getHours(),e.getMinutes()],this.options.twelveHour&&(this.amOrPm=12<=t[0]&&t[0]<24?"PM":"AM")}this.hours=+t[0]||0,this.minutes=+t[1]||0,this.spanHours.innerHTML=this.hours,this.spanMinutes.innerHTML=f._addLeadingZero(this.minutes),this._updateAmPmView()}},{key:"showView",value:function(t,e){"minutes"===t&&h(this.hoursView).css("visibility");var i="hours"===t,n=i?this.hoursView:this.minutesView,s=i?this.minutesView:this.hoursView;this.currentView=t,h(this.spanHours).toggleClass("text-primary",i),h(this.spanMinutes).toggleClass("text-primary",!i),s.classList.add("timepicker-dial-out"),h(n).css("visibility","visible").removeClass("timepicker-dial-out"),this.resetClock(e),clearTimeout(this.toggleViewTimer),this.toggleViewTimer=setTimeout(function(){h(s).css("visibility","hidden")},this.options.duration)}},{key:"resetClock",value:function(t){var e=this.currentView,i=this[e],n="hours"===e,s=i*(Math.PI/(n?6:30)),o=n&&0<i&&i<13?this.options.innerRadius:this.options.outerRadius,a=Math.sin(s)*o,r=-Math.cos(s)*o,l=this;t?(h(this.canvas).addClass("timepicker-canvas-out"),setTimeout(function(){h(l.canvas).removeClass("timepicker-canvas-out"),l.setHand(a,r)},t)):this.setHand(a,r)}},{key:"setHand",value:function(t,e,i){var n=this,s=Math.atan2(t,-e),o="hours"===this.currentView,a=Math.PI/(o||i?6:30),r=Math.sqrt(t*t+e*e),l=o&&r<(this.options.outerRadius+this.options.innerRadius)/2,h=l?this.options.innerRadius:this.options.outerRadius;this.options.twelveHour&&(h=this.options.outerRadius),s<0&&(s=2*Math.PI+s);var d=Math.round(s/a);s=d*a,this.options.twelveHour?o?0===d&&(d=12):(i&&(d*=5),60===d&&(d=0)):o?(12===d&&(d=0),d=l?0===d?12:d:0===d?0:d+12):(i&&(d*=5),60===d&&(d=0)),this[this.currentView]!==d&&this.vibrate&&this.options.vibrate&&(this.vibrateTimer||(navigator[this.vibrate](10),this.vibrateTimer=setTimeout(function(){n.vibrateTimer=null},100))),this[this.currentView]=d,o?this.spanHours.innerHTML=d:this.spanMinutes.innerHTML=f._addLeadingZero(d);var u=Math.sin(s)*(h-this.options.tickRadius),c=-Math.cos(s)*(h-this.options.tickRadius),p=Math.sin(s)*h,v=-Math.cos(s)*h;this.hand.setAttribute("x2",u),this.hand.setAttribute("y2",c),this.bg.setAttribute("cx",p),this.bg.setAttribute("cy",v)}},{key:"open",value:function(){this.isOpen||(this.isOpen=!0,this._updateTimeFromInput(),this.showView("hours"),this.modal.open())}},{key:"close",value:function(){this.isOpen&&(this.isOpen=!1,this.modal.close())}},{key:"done",value:function(t,e){var i=this.el.value,n=e?"":f._addLeadingZero(this.hours)+":"+f._addLeadingZero(this.minutes);this.time=n,!e&&this.options.twelveHour&&(n=n+" "+this.amOrPm),(this.el.value=n)!==i&&this.$el.trigger("change"),this.close(),this.el.focus()}},{key:"clear",value:function(){this.done(null,!0)}}],[{key:"init",value:function(t,e){return _get(f.__proto__||Object.getPrototypeOf(f),"init",this).call(this,this,t,e)}},{key:"_addLeadingZero",value:function(t){return(t<10?"0":"")+t}},{key:"_createSVGEl",value:function(t){return document.createElementNS("http://www.w3.org/2000/svg",t)}},{key:"_Pos",value:function(t){return t.targetTouches&&1<=t.targetTouches.length?{x:t.targetTouches[0].clientX,y:t.targetTouches[0].clientY}:{x:t.clientX,y:t.clientY}}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Timepicker}},{key:"defaults",get:function(){return e}}]),f}();t._template=['<div class= "modal timepicker-modal">','<div class="modal-content timepicker-container">','<div class="timepicker-digital-display">','<div class="timepicker-text-container">','<div class="timepicker-display-column">','<span class="timepicker-span-hours text-primary"></span>',":",'<span class="timepicker-span-minutes"></span>',"</div>",'<div class="timepicker-display-column timepicker-display-am-pm">','<div class="timepicker-span-am-pm"></div>',"</div>","</div>","</div>",'<div class="timepicker-analog-display">','<div class="timepicker-plate">','<div class="timepicker-canvas"></div>','<div class="timepicker-dial timepicker-hours"></div>','<div class="timepicker-dial timepicker-minutes timepicker-dial-out"></div>',"</div>",'<div class="timepicker-footer"></div>',"</div>","</div>","</div>"].join(""),M.Timepicker=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"timepicker","M_Timepicker")}(cash),function(s){"use strict";var e={},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_CharacterCounter=i).options=s.extend({},n.defaults,e),i.isInvalid=!1,i.isValidLength=!1,i._setupCounter(),i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){this._removeEventHandlers(),this.el.CharacterCounter=void 0,this._removeCounter()}},{key:"_setupEventHandlers",value:function(){this._handleUpdateCounterBound=this.updateCounter.bind(this),this.el.addEventListener("focus",this._handleUpdateCounterBound,!0),this.el.addEventListener("input",this._handleUpdateCounterBound,!0)}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("focus",this._handleUpdateCounterBound,!0),this.el.removeEventListener("input",this._handleUpdateCounterBound,!0)}},{key:"_setupCounter",value:function(){this.counterEl=document.createElement("span"),s(this.counterEl).addClass("character-counter").css({float:"right","font-size":"12px",height:1}),this.$el.parent().append(this.counterEl)}},{key:"_removeCounter",value:function(){s(this.counterEl).remove()}},{key:"updateCounter",value:function(){var t=+this.$el.attr("data-length"),e=this.el.value.length;this.isValidLength=e<=t;var i=e;t&&(i+="/"+t,this._validateInput()),s(this.counterEl).html(i)}},{key:"_validateInput",value:function(){this.isValidLength&&this.isInvalid?(this.isInvalid=!1,this.$el.removeClass("invalid")):this.isValidLength||this.isInvalid||(this.isInvalid=!0,this.$el.removeClass("valid"),this.$el.addClass("invalid"))}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_CharacterCounter}},{key:"defaults",get:function(){return e}}]),n}();M.CharacterCounter=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"characterCounter","M_CharacterCounter")}(cash),function(b){"use strict";var e={duration:200,dist:-100,shift:0,padding:0,numVisible:5,fullWidth:!1,indicators:!1,noWrap:!1,onCycleTo:null},t=function(t){function i(t,e){_classCallCheck(this,i);var n=_possibleConstructorReturn(this,(i.__proto__||Object.getPrototypeOf(i)).call(this,i,t,e));return(n.el.M_Carousel=n).options=b.extend({},i.defaults,e),n.hasMultipleSlides=1<n.$el.find(".carousel-item").length,n.showIndicators=n.options.indicators&&n.hasMultipleSlides,n.noWrap=n.options.noWrap||!n.hasMultipleSlides,n.pressed=!1,n.dragged=!1,n.offset=n.target=0,n.images=[],n.itemWidth=n.$el.find(".carousel-item").first().innerWidth(),n.itemHeight=n.$el.find(".carousel-item").first().innerHeight(),n.dim=2*n.itemWidth+n.options.padding||1,n._autoScrollBound=n._autoScroll.bind(n),n._trackBound=n._track.bind(n),n.options.fullWidth&&(n.options.dist=0,n._setCarouselHeight(),n.showIndicators&&n.$el.find(".carousel-fixed-item").addClass("with-indicators")),n.$indicators=b('<ul class="indicators"></ul>'),n.$el.find(".carousel-item").each(function(t,e){if(n.images.push(t),n.showIndicators){var i=b('<li class="indicator-item"></li>');0===e&&i[0].classList.add("active"),n.$indicators.append(i)}}),n.showIndicators&&n.$el.append(n.$indicators),n.count=n.images.length,n.options.numVisible=Math.min(n.count,n.options.numVisible),n.xform="transform",["webkit","Moz","O","ms"].every(function(t){var e=t+"Transform";return void 0===document.body.style[e]||(n.xform=e,!1)}),n._setupEventHandlers(),n._scroll(n.offset),n}return _inherits(i,Component),_createClass(i,[{key:"destroy",value:function(){this._removeEventHandlers(),this.el.M_Carousel=void 0}},{key:"_setupEventHandlers",value:function(){var i=this;this._handleCarouselTapBound=this._handleCarouselTap.bind(this),this._handleCarouselDragBound=this._handleCarouselDrag.bind(this),this._handleCarouselReleaseBound=this._handleCarouselRelease.bind(this),this._handleCarouselClickBound=this._handleCarouselClick.bind(this),void 0!==window.ontouchstart&&(this.el.addEventListener("touchstart",this._handleCarouselTapBound),this.el.addEventListener("touchmove",this._handleCarouselDragBound),this.el.addEventListener("touchend",this._handleCarouselReleaseBound)),this.el.addEventListener("mousedown",this._handleCarouselTapBound),this.el.addEventListener("mousemove",this._handleCarouselDragBound),this.el.addEventListener("mouseup",this._handleCarouselReleaseBound),this.el.addEventListener("mouseleave",this._handleCarouselReleaseBound),this.el.addEventListener("click",this._handleCarouselClickBound),this.showIndicators&&this.$indicators&&(this._handleIndicatorClickBound=this._handleIndicatorClick.bind(this),this.$indicators.find(".indicator-item").each(function(t,e){t.addEventListener("click",i._handleIndicatorClickBound)}));var t=M.throttle(this._handleResize,200);this._handleThrottledResizeBound=t.bind(this),window.addEventListener("resize",this._handleThrottledResizeBound)}},{key:"_removeEventHandlers",value:function(){var i=this;void 0!==window.ontouchstart&&(this.el.removeEventListener("touchstart",this._handleCarouselTapBound),this.el.removeEventListener("touchmove",this._handleCarouselDragBound),this.el.removeEventListener("touchend",this._handleCarouselReleaseBound)),this.el.removeEventListener("mousedown",this._handleCarouselTapBound),this.el.removeEventListener("mousemove",this._handleCarouselDragBound),this.el.removeEventListener("mouseup",this._handleCarouselReleaseBound),this.el.removeEventListener("mouseleave",this._handleCarouselReleaseBound),this.el.removeEventListener("click",this._handleCarouselClickBound),this.showIndicators&&this.$indicators&&this.$indicators.find(".indicator-item").each(function(t,e){t.removeEventListener("click",i._handleIndicatorClickBound)}),window.removeEventListener("resize",this._handleThrottledResizeBound)}},{key:"_handleCarouselTap",value:function(t){"mousedown"===t.type&&b(t.target).is("img")&&t.preventDefault(),this.pressed=!0,this.dragged=!1,this.verticalDragged=!1,this.reference=this._xpos(t),this.referenceY=this._ypos(t),this.velocity=this.amplitude=0,this.frame=this.offset,this.timestamp=Date.now(),clearInterval(this.ticker),this.ticker=setInterval(this._trackBound,100)}},{key:"_handleCarouselDrag",value:function(t){var e=void 0,i=void 0,n=void 0;if(this.pressed)if(e=this._xpos(t),i=this._ypos(t),n=this.reference-e,Math.abs(this.referenceY-i)<30&&!this.verticalDragged)(2<n||n<-2)&&(this.dragged=!0,this.reference=e,this._scroll(this.offset+n));else{if(this.dragged)return t.preventDefault(),t.stopPropagation(),!1;this.verticalDragged=!0}if(this.dragged)return t.preventDefault(),t.stopPropagation(),!1}},{key:"_handleCarouselRelease",value:function(t){if(this.pressed)return this.pressed=!1,clearInterval(this.ticker),this.target=this.offset,(10<this.velocity||this.velocity<-10)&&(this.amplitude=.9*this.velocity,this.target=this.offset+this.amplitude),this.target=Math.round(this.target/this.dim)*this.dim,this.noWrap&&(this.target>=this.dim*(this.count-1)?this.target=this.dim*(this.count-1):this.target<0&&(this.target=0)),this.amplitude=this.target-this.offset,this.timestamp=Date.now(),requestAnimationFrame(this._autoScrollBound),this.dragged&&(t.preventDefault(),t.stopPropagation()),!1}},{key:"_handleCarouselClick",value:function(t){if(this.dragged)return t.preventDefault(),t.stopPropagation(),!1;if(!this.options.fullWidth){var e=b(t.target).closest(".carousel-item").index();0!==this._wrap(this.center)-e&&(t.preventDefault(),t.stopPropagation()),this._cycleTo(e)}}},{key:"_handleIndicatorClick",value:function(t){t.stopPropagation();var e=b(t.target).closest(".indicator-item");e.length&&this._cycleTo(e.index())}},{key:"_handleResize",value:function(t){this.options.fullWidth?(this.itemWidth=this.$el.find(".carousel-item").first().innerWidth(),this.imageHeight=this.$el.find(".carousel-item.active").height(),this.dim=2*this.itemWidth+this.options.padding,this.offset=2*this.center*this.itemWidth,this.target=this.offset,this._setCarouselHeight(!0)):this._scroll()}},{key:"_setCarouselHeight",value:function(t){var i=this,e=this.$el.find(".carousel-item.active").length?this.$el.find(".carousel-item.active").first():this.$el.find(".carousel-item").first(),n=e.find("img").first();if(n.length)if(n[0].complete){var s=n.height();if(0<s)this.$el.css("height",s+"px");else{var o=n[0].naturalWidth,a=n[0].naturalHeight,r=this.$el.width()/o*a;this.$el.css("height",r+"px")}}else n.one("load",function(t,e){i.$el.css("height",t.offsetHeight+"px")});else if(!t){var l=e.height();this.$el.css("height",l+"px")}}},{key:"_xpos",value:function(t){return t.targetTouches&&1<=t.targetTouches.length?t.targetTouches[0].clientX:t.clientX}},{key:"_ypos",value:function(t){return t.targetTouches&&1<=t.targetTouches.length?t.targetTouches[0].clientY:t.clientY}},{key:"_wrap",value:function(t){return t>=this.count?t%this.count:t<0?this._wrap(this.count+t%this.count):t}},{key:"_track",value:function(){var t,e,i,n;e=(t=Date.now())-this.timestamp,this.timestamp=t,i=this.offset-this.frame,this.frame=this.offset,n=1e3*i/(1+e),this.velocity=.8*n+.2*this.velocity}},{key:"_autoScroll",value:function(){var t=void 0,e=void 0;this.amplitude&&(t=Date.now()-this.timestamp,2<(e=this.amplitude*Math.exp(-t/this.options.duration))||e<-2?(this._scroll(this.target-e),requestAnimationFrame(this._autoScrollBound)):this._scroll(this.target))}},{key:"_scroll",value:function(t){var e=this;this.$el.hasClass("scrolling")||this.el.classList.add("scrolling"),null!=this.scrollingTimeout&&window.clearTimeout(this.scrollingTimeout),this.scrollingTimeout=window.setTimeout(function(){e.$el.removeClass("scrolling")},this.options.duration);var i,n,s,o,a=void 0,r=void 0,l=void 0,h=void 0,d=void 0,u=void 0,c=this.center,p=1/this.options.numVisible;if(this.offset="number"==typeof t?t:this.offset,this.center=Math.floor((this.offset+this.dim/2)/this.dim),o=-(s=(n=this.offset-this.center*this.dim)<0?1:-1)*n*2/this.dim,i=this.count>>1,this.options.fullWidth?(l="translateX(0)",u=1):(l="translateX("+(this.el.clientWidth-this.itemWidth)/2+"px) ",l+="translateY("+(this.el.clientHeight-this.itemHeight)/2+"px)",u=1-p*o),this.showIndicators){var v=this.center%this.count,f=this.$indicators.find(".indicator-item.active");f.index()!==v&&(f.removeClass("active"),this.$indicators.find(".indicator-item").eq(v)[0].classList.add("active"))}if(!this.noWrap||0<=this.center&&this.center<this.count){r=this.images[this._wrap(this.center)],b(r).hasClass("active")||(this.$el.find(".carousel-item").removeClass("active"),r.classList.add("active"));var m=l+" translateX("+-n/2+"px) translateX("+s*this.options.shift*o*a+"px) translateZ("+this.options.dist*o+"px)";this._updateItemStyle(r,u,0,m)}for(a=1;a<=i;++a){if(this.options.fullWidth?(h=this.options.dist,d=a===i&&n<0?1-o:1):(h=this.options.dist*(2*a+o*s),d=1-p*(2*a+o*s)),!this.noWrap||this.center+a<this.count){r=this.images[this._wrap(this.center+a)];var g=l+" translateX("+(this.options.shift+(this.dim*a-n)/2)+"px) translateZ("+h+"px)";this._updateItemStyle(r,d,-a,g)}if(this.options.fullWidth?(h=this.options.dist,d=a===i&&0<n?1-o:1):(h=this.options.dist*(2*a-o*s),d=1-p*(2*a-o*s)),!this.noWrap||0<=this.center-a){r=this.images[this._wrap(this.center-a)];var _=l+" translateX("+(-this.options.shift+(-this.dim*a-n)/2)+"px) translateZ("+h+"px)";this._updateItemStyle(r,d,-a,_)}}if(!this.noWrap||0<=this.center&&this.center<this.count){r=this.images[this._wrap(this.center)];var y=l+" translateX("+-n/2+"px) translateX("+s*this.options.shift*o+"px) translateZ("+this.options.dist*o+"px)";this._updateItemStyle(r,u,0,y)}var k=this.$el.find(".carousel-item").eq(this._wrap(this.center));c!==this.center&&"function"==typeof this.options.onCycleTo&&this.options.onCycleTo.call(this,k[0],this.dragged),"function"==typeof this.oneTimeCallback&&(this.oneTimeCallback.call(this,k[0],this.dragged),this.oneTimeCallback=null)}},{key:"_updateItemStyle",value:function(t,e,i,n){t.style[this.xform]=n,t.style.zIndex=i,t.style.opacity=e,t.style.visibility="visible"}},{key:"_cycleTo",value:function(t,e){var i=this.center%this.count-t;this.noWrap||(i<0?Math.abs(i+this.count)<Math.abs(i)&&(i+=this.count):0<i&&Math.abs(i-this.count)<i&&(i-=this.count)),this.target=this.dim*Math.round(this.offset/this.dim),i<0?this.target+=this.dim*Math.abs(i):0<i&&(this.target-=this.dim*i),"function"==typeof e&&(this.oneTimeCallback=e),this.offset!==this.target&&(this.amplitude=this.target-this.offset,this.timestamp=Date.now(),requestAnimationFrame(this._autoScrollBound))}},{key:"next",value:function(t){(void 0===t||isNaN(t))&&(t=1);var e=this.center+t;if(e>=this.count||e<0){if(this.noWrap)return;e=this._wrap(e)}this._cycleTo(e)}},{key:"prev",value:function(t){(void 0===t||isNaN(t))&&(t=1);var e=this.center-t;if(e>=this.count||e<0){if(this.noWrap)return;e=this._wrap(e)}this._cycleTo(e)}},{key:"set",value:function(t,e){if((void 0===t||isNaN(t))&&(t=0),t>this.count||t<0){if(this.noWrap)return;t=this._wrap(t)}this._cycleTo(t,e)}}],[{key:"init",value:function(t,e){return _get(i.__proto__||Object.getPrototypeOf(i),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Carousel}},{key:"defaults",get:function(){return e}}]),i}();M.Carousel=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"carousel","M_Carousel")}(cash),function(S){"use strict";var e={onOpen:void 0,onClose:void 0},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_TapTarget=i).options=S.extend({},n.defaults,e),i.isOpen=!1,i.$origin=S("#"+i.$el.attr("data-target")),i._setup(),i._calculatePositioning(),i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){this._removeEventHandlers(),this.el.TapTarget=void 0}},{key:"_setupEventHandlers",value:function(){this._handleDocumentClickBound=this._handleDocumentClick.bind(this),this._handleTargetClickBound=this._handleTargetClick.bind(this),this._handleOriginClickBound=this._handleOriginClick.bind(this),this.el.addEventListener("click",this._handleTargetClickBound),this.originEl.addEventListener("click",this._handleOriginClickBound);var t=M.throttle(this._handleResize,200);this._handleThrottledResizeBound=t.bind(this),window.addEventListener("resize",this._handleThrottledResizeBound)}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("click",this._handleTargetClickBound),this.originEl.removeEventListener("click",this._handleOriginClickBound),window.removeEventListener("resize",this._handleThrottledResizeBound)}},{key:"_handleTargetClick",value:function(t){this.open()}},{key:"_handleOriginClick",value:function(t){this.close()}},{key:"_handleResize",value:function(t){this._calculatePositioning()}},{key:"_handleDocumentClick",value:function(t){S(t.target).closest(".tap-target-wrapper").length||(this.close(),t.preventDefault(),t.stopPropagation())}},{key:"_setup",value:function(){this.wrapper=this.$el.parent()[0],this.waveEl=S(this.wrapper).find(".tap-target-wave")[0],this.originEl=S(this.wrapper).find(".tap-target-origin")[0],this.contentEl=this.$el.find(".tap-target-content")[0],S(this.wrapper).hasClass(".tap-target-wrapper")||(this.wrapper=document.createElement("div"),this.wrapper.classList.add("tap-target-wrapper"),this.$el.before(S(this.wrapper)),this.wrapper.append(this.el)),this.contentEl||(this.contentEl=document.createElement("div"),this.contentEl.classList.add("tap-target-content"),this.$el.append(this.contentEl)),this.waveEl||(this.waveEl=document.createElement("div"),this.waveEl.classList.add("tap-target-wave"),this.originEl||(this.originEl=this.$origin.clone(!0,!0),this.originEl.addClass("tap-target-origin"),this.originEl.removeAttr("id"),this.originEl.removeAttr("style"),this.originEl=this.originEl[0],this.waveEl.append(this.originEl)),this.wrapper.append(this.waveEl))}},{key:"_calculatePositioning",value:function(){var t="fixed"===this.$origin.css("position");if(!t)for(var e=this.$origin.parents(),i=0;i<e.length&&!(t="fixed"==S(e[i]).css("position"));i++);var n=this.$origin.outerWidth(),s=this.$origin.outerHeight(),o=t?this.$origin.offset().top-M.getDocumentScrollTop():this.$origin.offset().top,a=t?this.$origin.offset().left-M.getDocumentScrollLeft():this.$origin.offset().left,r=window.innerWidth,l=window.innerHeight,h=r/2,d=l/2,u=a<=h,c=h<a,p=o<=d,v=d<o,f=.25*r<=a&&a<=.75*r,m=this.$el.outerWidth(),g=this.$el.outerHeight(),_=o+s/2-g/2,y=a+n/2-m/2,k=t?"fixed":"absolute",b=f?m:m/2+n,w=g/2,C=p?g/2:0,E=u&&!f?m/2-n:0,O=n,x=v?"bottom":"top",L=2*n,T=L,$=g/2-T/2,B=m/2-L/2,D={};D.top=p?_+"px":"",D.right=c?r-y-m+"px":"",D.bottom=v?l-_-g+"px":"",D.left=u?y+"px":"",D.position=k,S(this.wrapper).css(D),S(this.contentEl).css({width:b+"px",height:w+"px",top:C+"px",right:"0px",bottom:"0px",left:E+"px",padding:O+"px",verticalAlign:x}),S(this.waveEl).css({top:$+"px",left:B+"px",width:L+"px",height:T+"px"})}},{key:"open",value:function(){this.isOpen||("function"==typeof this.options.onOpen&&this.options.onOpen.call(this,this.$origin[0]),this.isOpen=!0,this.wrapper.classList.add("open"),document.body.addEventListener("click",this._handleDocumentClickBound,!0),document.body.addEventListener("touchend",this._handleDocumentClickBound))}},{key:"close",value:function(){this.isOpen&&("function"==typeof this.options.onClose&&this.options.onClose.call(this,this.$origin[0]),this.isOpen=!1,this.wrapper.classList.remove("open"),document.body.removeEventListener("click",this._handleDocumentClickBound,!0),document.body.removeEventListener("touchend",this._handleDocumentClickBound))}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_TapTarget}},{key:"defaults",get:function(){return e}}]),n}();M.TapTarget=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"tapTarget","M_TapTarget")}(cash),function(d){"use strict";var e={classes:"",dropdownOptions:{}},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return i.$el.hasClass("browser-default")?_possibleConstructorReturn(i):((i.el.M_FormSelect=i).options=d.extend({},n.defaults,e),i.isMultiple=i.$el.prop("multiple"),i.el.tabIndex=-1,i._keysSelected={},i._valueDict={},i._setupDropdown(),i._setupEventHandlers(),i)}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){this._removeEventHandlers(),this._removeDropdown(),this.el.M_FormSelect=void 0}},{key:"_setupEventHandlers",value:function(){var e=this;this._handleSelectChangeBound=this._handleSelectChange.bind(this),this._handleOptionClickBound=this._handleOptionClick.bind(this),this._handleInputClickBound=this._handleInputClick.bind(this),d(this.dropdownOptions).find("li:not(.optgroup)").each(function(t){t.addEventListener("click",e._handleOptionClickBound)}),this.el.addEventListener("change",this._handleSelectChangeBound),this.input.addEventListener("click",this._handleInputClickBound)}},{key:"_removeEventHandlers",value:function(){var e=this;d(this.dropdownOptions).find("li:not(.optgroup)").each(function(t){t.removeEventListener("click",e._handleOptionClickBound)}),this.el.removeEventListener("change",this._handleSelectChangeBound),this.input.removeEventListener("click",this._handleInputClickBound)}},{key:"_handleSelectChange",value:function(t){this._setValueToInput()}},{key:"_handleOptionClick",value:function(t){t.preventDefault();var e=d(t.target).closest("li")[0],i=e.id;if(!d(e).hasClass("disabled")&&!d(e).hasClass("optgroup")&&i.length){var n=!0;if(this.isMultiple){var s=d(this.dropdownOptions).find("li.disabled.selected");s.length&&(s.removeClass("selected"),s.find('input[type="checkbox"]').prop("checked",!1),this._toggleEntryFromArray(s[0].id)),n=this._toggleEntryFromArray(i)}else d(this.dropdownOptions).find("li").removeClass("selected"),d(e).toggleClass("selected",n);d(this._valueDict[i].el).prop("selected")!==n&&(d(this._valueDict[i].el).prop("selected",n),this.$el.trigger("change"))}t.stopPropagation()}},{key:"_handleInputClick",value:function(){this.dropdown&&this.dropdown.isOpen&&(this._setValueToInput(),this._setSelectedStates())}},{key:"_setupDropdown",value:function(){var n=this;this.wrapper=document.createElement("div"),d(this.wrapper).addClass("select-wrapper "+this.options.classes),this.$el.before(d(this.wrapper)),this.wrapper.appendChild(this.el),this.el.disabled&&this.wrapper.classList.add("disabled"),this.$selectOptions=this.$el.children("option, optgroup"),this.dropdownOptions=document.createElement("ul"),this.dropdownOptions.id="select-options-"+M.guid(),d(this.dropdownOptions).addClass("dropdown-content select-dropdown "+(this.isMultiple?"multiple-select-dropdown":"")),this.$selectOptions.length&&this.$selectOptions.each(function(t){if(d(t).is("option")){var e=void 0;e=n.isMultiple?n._appendOptionWithIcon(n.$el,t,"multiple"):n._appendOptionWithIcon(n.$el,t),n._addOptionToValueDict(t,e)}else if(d(t).is("optgroup")){var i=d(t).children("option");d(n.dropdownOptions).append(d('<li class="optgroup"><span>'+t.getAttribute("label")+"</span></li>")[0]),i.each(function(t){var e=n._appendOptionWithIcon(n.$el,t,"optgroup-option");n._addOptionToValueDict(t,e)})}}),this.$el.after(this.dropdownOptions),this.input=document.createElement("input"),d(this.input).addClass("select-dropdown dropdown-trigger"),this.input.setAttribute("type","text"),this.input.setAttribute("readonly","true"),this.input.setAttribute("data-target",this.dropdownOptions.id),this.el.disabled&&d(this.input).prop("disabled","true"),this.$el.before(this.input),this._setValueToInput();var t=d('<svg class="caret" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M7 10l5 5 5-5z"/><path d="M0 0h24v24H0z" fill="none"/></svg>');if(this.$el.before(t[0]),!this.el.disabled){var e=d.extend({},this.options.dropdownOptions);e.onOpenEnd=function(t){var e=d(n.dropdownOptions).find(".selected").first();if(e.length&&(M.keyDown=!0,n.dropdown.focusedIndex=e.index(),n.dropdown._focusFocusedItem(),M.keyDown=!1,n.dropdown.isScrollable)){var i=e[0].getBoundingClientRect().top-n.dropdownOptions.getBoundingClientRect().top;i-=n.dropdownOptions.clientHeight/2,n.dropdownOptions.scrollTop=i}},this.isMultiple&&(e.closeOnClick=!1),this.dropdown=M.Dropdown.init(this.input,e)}this._setSelectedStates()}},{key:"_addOptionToValueDict",value:function(t,e){var i=Object.keys(this._valueDict).length,n=this.dropdownOptions.id+i,s={};e.id=n,s.el=t,s.optionEl=e,this._valueDict[n]=s}},{key:"_removeDropdown",value:function(){d(this.wrapper).find(".caret").remove(),d(this.input).remove(),d(this.dropdownOptions).remove(),d(this.wrapper).before(this.$el),d(this.wrapper).remove()}},{key:"_appendOptionWithIcon",value:function(t,e,i){var n=e.disabled?"disabled ":"",s="optgroup-option"===i?"optgroup-option ":"",o=this.isMultiple?'<label><input type="checkbox"'+n+'"/><span>'+e.innerHTML+"</span></label>":e.innerHTML,a=d("<li></li>"),r=d("<span></span>");r.html(o),a.addClass(n+" "+s),a.append(r);var l=e.getAttribute("data-icon");if(l){var h=d('<img alt="" src="'+l+'">');a.prepend(h)}return d(this.dropdownOptions).append(a[0]),a[0]}},{key:"_toggleEntryFromArray",value:function(t){var e=!this._keysSelected.hasOwnProperty(t),i=d(this._valueDict[t].optionEl);return e?this._keysSelected[t]=!0:delete this._keysSelected[t],i.toggleClass("selected",e),i.find('input[type="checkbox"]').prop("checked",e),i.prop("selected",e),e}},{key:"_setValueToInput",value:function(){var i=[];if(this.$el.find("option").each(function(t){if(d(t).prop("selected")){var e=d(t).text();i.push(e)}}),!i.length){var t=this.$el.find("option:disabled").eq(0);t.length&&""===t[0].value&&i.push(t.text())}this.input.value=i.join(", ")}},{key:"_setSelectedStates",value:function(){for(var t in this._keysSelected={},this._valueDict){var e=this._valueDict[t],i=d(e.el).prop("selected");d(e.optionEl).find('input[type="checkbox"]').prop("checked",i),i?(this._activateOption(d(this.dropdownOptions),d(e.optionEl)),this._keysSelected[t]=!0):d(e.optionEl).removeClass("selected")}}},{key:"_activateOption",value:function(t,e){e&&(this.isMultiple||t.find("li.selected").removeClass("selected"),d(e).addClass("selected"))}},{key:"getSelectedValues",value:function(){var t=[];for(var e in this._keysSelected)t.push(this._valueDict[e].el.value);return t}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_FormSelect}},{key:"defaults",get:function(){return e}}]),n}();M.FormSelect=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"formSelect","M_FormSelect")}(cash),function(s,e){"use strict";var i={},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Range=i).options=s.extend({},n.defaults,e),i._mousedown=!1,i._setupThumb(),i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){this._removeEventHandlers(),this._removeThumb(),this.el.M_Range=void 0}},{key:"_setupEventHandlers",value:function(){this._handleRangeChangeBound=this._handleRangeChange.bind(this),this._handleRangeMousedownTouchstartBound=this._handleRangeMousedownTouchstart.bind(this),this._handleRangeInputMousemoveTouchmoveBound=this._handleRangeInputMousemoveTouchmove.bind(this),this._handleRangeMouseupTouchendBound=this._handleRangeMouseupTouchend.bind(this),this._handleRangeBlurMouseoutTouchleaveBound=this._handleRangeBlurMouseoutTouchleave.bind(this),this.el.addEventListener("change",this._handleRangeChangeBound),this.el.addEventListener("mousedown",this._handleRangeMousedownTouchstartBound),this.el.addEventListener("touchstart",this._handleRangeMousedownTouchstartBound),this.el.addEventListener("input",this._handleRangeInputMousemoveTouchmoveBound),this.el.addEventListener("mousemove",this._handleRangeInputMousemoveTouchmoveBound),this.el.addEventListener("touchmove",this._handleRangeInputMousemoveTouchmoveBound),this.el.addEventListener("mouseup",this._handleRangeMouseupTouchendBound),this.el.addEventListener("touchend",this._handleRangeMouseupTouchendBound),this.el.addEventListener("blur",this._handleRangeBlurMouseoutTouchleaveBound),this.el.addEventListener("mouseout",this._handleRangeBlurMouseoutTouchleaveBound),this.el.addEventListener("touchleave",this._handleRangeBlurMouseoutTouchleaveBound)}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("change",this._handleRangeChangeBound),this.el.removeEventListener("mousedown",this._handleRangeMousedownTouchstartBound),this.el.removeEventListener("touchstart",this._handleRangeMousedownTouchstartBound),this.el.removeEventListener("input",this._handleRangeInputMousemoveTouchmoveBound),this.el.removeEventListener("mousemove",this._handleRangeInputMousemoveTouchmoveBound),this.el.removeEventListener("touchmove",this._handleRangeInputMousemoveTouchmoveBound),this.el.removeEventListener("mouseup",this._handleRangeMouseupTouchendBound),this.el.removeEventListener("touchend",this._handleRangeMouseupTouchendBound),this.el.removeEventListener("blur",this._handleRangeBlurMouseoutTouchleaveBound),this.el.removeEventListener("mouseout",this._handleRangeBlurMouseoutTouchleaveBound),this.el.removeEventListener("touchleave",this._handleRangeBlurMouseoutTouchleaveBound)}},{key:"_handleRangeChange",value:function(){s(this.value).html(this.$el.val()),s(this.thumb).hasClass("active")||this._showRangeBubble();var t=this._calcRangeOffset();s(this.thumb).addClass("active").css("left",t+"px")}},{key:"_handleRangeMousedownTouchstart",value:function(t){if(s(this.value).html(this.$el.val()),this._mousedown=!0,this.$el.addClass("active"),s(this.thumb).hasClass("active")||this._showRangeBubble(),"input"!==t.type){var e=this._calcRangeOffset();s(this.thumb).addClass("active").css("left",e+"px")}}},{key:"_handleRangeInputMousemoveTouchmove",value:function(){if(this._mousedown){s(this.thumb).hasClass("active")||this._showRangeBubble();var t=this._calcRangeOffset();s(this.thumb).addClass("active").css("left",t+"px"),s(this.value).html(this.$el.val())}}},{key:"_handleRangeMouseupTouchend",value:function(){this._mousedown=!1,this.$el.removeClass("active")}},{key:"_handleRangeBlurMouseoutTouchleave",value:function(){if(!this._mousedown){var t=7+parseInt(this.$el.css("padding-left"))+"px";s(this.thumb).hasClass("active")&&(e.remove(this.thumb),e({targets:this.thumb,height:0,width:0,top:10,easing:"easeOutQuad",marginLeft:t,duration:100})),s(this.thumb).removeClass("active")}}},{key:"_setupThumb",value:function(){this.thumb=document.createElement("span"),this.value=document.createElement("span"),s(this.thumb).addClass("thumb"),s(this.value).addClass("value"),s(this.thumb).append(this.value),this.$el.after(this.thumb)}},{key:"_removeThumb",value:function(){s(this.thumb).remove()}},{key:"_showRangeBubble",value:function(){var t=-7+parseInt(s(this.thumb).parent().css("padding-left"))+"px";e.remove(this.thumb),e({targets:this.thumb,height:30,width:30,top:-30,marginLeft:t,duration:300,easing:"easeOutQuint"})}},{key:"_calcRangeOffset",value:function(){var t=this.$el.width()-15,e=parseFloat(this.$el.attr("max"))||100,i=parseFloat(this.$el.attr("min"))||0;return(parseFloat(this.$el.val())-i)/(e-i)*t}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Range}},{key:"defaults",get:function(){return i}}]),n}();M.Range=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"range","M_Range"),t.init(s("input[type=range]"))}(cash,M.anime);
\ No newline at end of file
diff --git a/static/js/main.98fe9a30.chunk.js b/static/js/main.98fe9a30.chunk.js
new file mode 100644
index 0000000..5f30d98
--- /dev/null
+++ b/static/js/main.98fe9a30.chunk.js
@@ -0,0 +1,2 @@
+(this.webpackJsonpapp=this.webpackJsonpapp||[]).push([[0],{121:function(e){e.exports=JSON.parse("{}")},122:function(e){e.exports=JSON.parse("{}")},138:function(e,t,n){},204:function(e,t,n){},207:function(e,t,n){},208:function(e,t,n){},36:function(e){e.exports=JSON.parse('{"error":{"versionNoLongerSupported":"Grails Forge no longer supports version {{requestedVersion}} we\'re setting the configuration to the most recent release version {{currentVersion}}"},"tooltips":{"diff":"Show the changes that the selected features have on an application generated without any features selected","features":"Choose the features you would like included in the application","generate":"Download a zip file of the application","createRepo":"Create a repo on GitHub with this configuration.","preview":"Explore the application source files with the selected options and features to see what will be generated","share":"Share this application configuration"},"share":{"header":"Copy one of the following links to share this project","config":"You can share the link to the configured application","preview":"or to the preview","diff":"or view a diff from a baseline application","zip":"You can also directly download a zip"}}')},512:function(e,t,n){},513:function(e,t,n){},514:function(e,t,n){},515:function(e,t,n){},516:function(e,t,n){},517:function(e,t,n){},518:function(e,t,n){},519:function(e,t,n){},520:function(e,t,n){},521:function(e,t,n){},522:function(e,t,n){},523:function(e,t,n){},524:function(e,t,n){},525:function(e,t,n){},526:function(e,t,n){"use strict";n.r(t);var r=n(0),a=n.n(r),c=n(15),A=n.n(c),i=n(6),o=n.n(i),s=n(13),l=n(5),u=n(16),d=n(20),f=n.n(d),h=n(34),j=n.n(h),b=n(11),g=n(18),p=n(51),v=n.n(p),O=n(36),m=new(function(){function e(){Object(b.a)(this,e),this._cache_data={}}return Object(g.a)(e,[{key:"trans",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this._cache_data[e]||this._exec(e,t)}},{key:"_cache",value:function(e,t){return this._cache_data[e]=t,t}},{key:"_exec",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=v.a.get(O,e,e);if(v.a.isEmpty(t))return this._cache(n,t);var r=v.a.template(n,{interpolate:/{{([\s\S]+?)}}/g});return r(t)}}]),e}()),w=n(31),x=n(33),y=["features"],C="activity",E="preview",k=[E,"diff","create"];function B(){var e,t=window.location.search,n="string"===typeof(e=t)&&e.includes("=")?e.replace("?","").split("&").reduce((function(e,t){var n=t.split("="),r=Object(l.a)(n,2),a=r[0],c=r[1],A=e[a];return A?Array.isArray(A)?e[a].push(c):e[a]=[A,c]:e[a]=decodeURIComponent(c),e}),{}):{},r=window.location.toString().split("?",2),a=Object(l.a)(r,1)[0];return window.history.replaceState({},document.title,a),n}function D(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return!!(e.type||e.lang||e.test||e.build)}function M(e){if(!(!e instanceof Object)){var t=e.activity;return t&&k.includes(t)?t:void 0}}function I(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=e?"":window.location.search;window.history.replaceState({},document.title,"/".concat("").concat(t))}var N=n(8),S="light",T="dark",Q=function(e){return window.localStorage.setItem("theme",e),document.body.className=e,e},L=Object(N.b)({key:"THEME_STATE",default:Q(function(){var e=window.localStorage.getItem("theme");switch(e){case S:case T:return e;default:return S}}())});function H(){var e=Object(N.f)(L),t=Object(l.a)(e,2),n=t[0],a=t[1];Object(r.useEffect)((function(){Q(n)}),[n]);var c=Object(r.useCallback)((function(){a((function(e){return function(e){return e===S?T:S}(e)}))}),[a]);return[n,c]}var F=n(10),P=n(26),U=function(e,t,n){if(n)return t;try{var r=window.sessionStorage.getItem(e);return r?JSON.parse(r):t}catch(a){return t}},V=function(e,t){return window.sessionStorage.setItem(e,JSON.stringify(t)),t};function G(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.name,n=e.package,r=e.type;return{name:"string"===typeof t?t:"demo",package:"string"===typeof n?n:"com.example",type:"string"===typeof r?r:"WEB"}}n(121),n(122);var R=n(37),Y=n(38),W=6e5,q=function e(){var t=this,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"Cache";Object(b.a)(this,e),this.makeKey=function(e){return"".concat(v.a.snakeCase(t.prefix),":").concat(e)},this.prefix=n},J=function(e){Object(R.a)(n,e);var t=Object(Y.a)(n);function n(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"SessionStorageAdapter";return Object(b.a)(this,n),t.call(this,e)}return Object(g.a)(n,[{key:"getItem",value:function(e){var t=window.sessionStorage.getItem(this.makeKey(e));try{if(t)return JSON.parse(t)}catch(n){}}},{key:"setItem",value:function(e,t){window.sessionStorage.setItem(this.makeKey(e),JSON.stringify(t))}}]),n}(q),K=function(e){Object(R.a)(n,e);var t=Object(Y.a)(n);function n(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"MemoryAdapter";return Object(b.a)(this,n),(e=t.call(this,r))._store={},e}return Object(g.a)(n,[{key:"getItem",value:function(e){return this._store[this.makeKey(e)]}},{key:"setItem",value:function(e,t){this._store[this.makeKey(e)]=t}}]),n}(q),X=function(){function e(t){Object(b.a)(this,e),this._adapter=t,this.cache.bind(this)}return Object(g.a)(e,[{key:"cache",value:function(){var e=Object(s.a)(o.a.mark((function e(t,n){var r,a,c,A,i=arguments;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=i.length>2&&void 0!==i[2]?i[2]:W,!(a=this._adapter.getItem(t))){e.next=6;break}if(c=a.value,!(a.expiration>Date.now())){e.next=6;break}return e.abrupt("return",c);case 6:return e.next=8,n();case 8:return A=e.sent,this._adapter.setItem(t,{expiration:Date.now()+r,value:A}),e.abrupt("return",A);case 11:case"end":return e.stop()}}),e,this)})));return function(t,n){return e.apply(this,arguments)}}()}]),e}(),z=(new X(new K),Object({NODE_ENV:"production",PUBLIC_URL:".",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0}).REACT_APP_VERSION_FEED||"https://start.grails.org/grails-version-feed.json");var Z=function(){function e(){Object(b.a)(this,e)}return Object(g.a)(e,null,[{key:"make",value:function(e){var t=e.gorm,n=e.servlet,r=e.test,a=e.javaVersion,c=a?a.replace("JDK_",""):null,A=function(e){switch(e){case"WEB":return"create-app";case"REST_API":return"create-restapi";case"PLUGIN":return"create-plugin";case"WEB_PLUGIN":return"create-web-plugin";default:return"create-".concat(e).toLowerCase()}}(e.type),i=e.applicationName(),o={servlet:n,jdk:c,gorm:t,test:r,features:function(e){var t=Object.keys(e);if(t.length)return"".concat(t.join(","))}(e.features)},s=Object.keys(o).reduce((function(e,t){var n=o[t];return n&&e.push("--".concat(t,"=").concat(n)),e}),[]);return["grails-forge-cli",A].concat(Object(w.a)(s),[i]).join(" ").toLowerCase()}}]),e}(),_=function(){function e(){Object(b.a)(this,e)}return Object(g.a)(e,null,[{key:"make",value:function(e){var t=e.name;return"curl --location --request GET '".concat(e.toUrl("create"),"' --output ").concat(t,".zip")}}]),e}();var $=function(){function e(){Object(b.a)(this,e)}return Object(g.a)(e,null,[{key:"makeFeaturesUrl",value:function(e,t){var n=e.javaVersion,r=e.servlet,a=e.gorm,c=e.test,A=[a&&"gorm=".concat(e.gorm),r&&"servlet=".concat(e.servlet),c&&"test=".concat(e.test),n&&"javaVersion=".concat(e.javaVersion)].filter((function(e){return e}));return encodeURI("".concat(t,"?").concat(A.join("&")))}},{key:"make",value:function(e,t){t||console.error("A prefix is required, should be one of 'diff', 'preview', 'github', 'create'");var n=e.type,r=e.gorm,a=e.servlet,c=e.test,A=e.javaVersion,i=e.features,o=e.baseUrl,s=e.applicationName(),l="/".concat(t,"/").concat(n.toLowerCase(),"/").concat(s),u=[r&&"gorm=".concat(r),a&&"servlet=".concat(a),c&&"test=".concat(c),A&&"javaVersion=".concat(A)].filter((function(e){return e})),d=function(e){return Object.keys(e).reduce((function(e,t){return e.push("features=".concat(t)),e}),[]).join("&")}(i);return d&&u.push(d),encodeURI("".concat(o).concat(l,"?").concat(u.join("&")))}}]),e}(),ee=function(){function e(t){var n=t.type,r=t.javaVersion,a=t.servlet,c=t.gorm,A=t.test,i=t.name,o=t.package,s=t.features,l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";Object(b.a)(this,e),this.type=n,this.javaVersion=r,this.name=i,this.gorm=c,this.servlet=a,this.test=A,this.package=o,this.features=s,this.baseUrl=l}return Object(g.a)(e,[{key:"applicationName",value:function(){return"".concat(this.package,".").concat(this.name)}},{key:"toUrl",value:function(e){return $.make(this,e)}},{key:"toCli",value:function(){return Z.make(this)}},{key:"toCurl",value:function(){return _.make(this)}}]),e}(),te=function(){function e(t){var n=t.javaVersion,r=t.servlet,a=t.gorm,c=t.test,A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";Object(b.a)(this,e),this.javaVersion=n,this.servlet=r,this.gorm=a,this.test=c,this.baseUrl=A}return Object(g.a)(e,[{key:"toUrl",value:function(){return $.makeFeaturesUrl(this,this.baseUrl)}}]),e}(),ne=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"json";return function(t){if(!t.ok)throw t;return t[e]()}},re=function(){function e(t){var n=t.baseUrl;Object(b.a)(this,e),this.cacheApi=new X(new J("".concat(n))),this.baseUrl=n}return Object(g.a)(e,[{key:"_urlBuilder",value:function(e){return e.startsWith("http")?e:"".concat(this.baseUrl).concat(e)}},{key:"_cache",value:function(e,t){var n=this;return this.cacheApi.cache(e,(function(){return n.get(e).then(t)}))}},{key:"get",value:function(e){return fetch(this._urlBuilder(e),{method:"GET",headers:new Headers({"Content-Type":"application/json"})})}},{key:"description",value:function(){var e=Object(s.a)(o.a.mark((function e(){return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this._cache("/",ne("text")));case 1:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()},{key:"selectOptions",value:function(){var e=Object(s.a)(o.a.mark((function e(){return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this._cache("/select-options",ne("json")));case 1:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()},{key:"versions",value:function(){var e=Object(s.a)(o.a.mark((function e(){return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this._cache("/versions",ne("json")));case 1:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()},{key:"applicationTypes",value:function(){var e=Object(s.a)(o.a.mark((function e(){return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this._cache("/application-types",ne("json")));case 1:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()},{key:"applicationTypeInfo",value:function(){var e=Object(s.a)(o.a.mark((function e(t){var n;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.type,e.abrupt("return",this._cache("/application-types/".concat(n),ne("json")));case 2:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}()},{key:"features",value:function(){var e=Object(s.a)(o.a.mark((function e(t){var n,r,a,c;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.type,r=t.form,a=this.baseUrl+"/application-types/".concat(n,"/features"),c=new te(r,a),e.abrupt("return",this._cache(c.toUrl(),ne("json")));case 4:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}()},{key:"defaultIncludedFeatures",value:function(){var e=Object(s.a)(o.a.mark((function e(t){var n,r,a,c;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.type,r=t.form,a=this.baseUrl+"/application-types/".concat(n,"/features/default"),c=new te(r,a),e.abrupt("return",this._cache(c.toUrl(),ne("json")));case 4:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}()},{key:"diff",value:function(){var e=Object(s.a)(o.a.mark((function e(t){var n;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=new ee(t,this.baseUrl),e.abrupt("return",this.get(n.toUrl("diff")).then(ne("text")));case 2:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}()},{key:"preview",value:function(){var e=Object(s.a)(o.a.mark((function e(t){var n;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=new ee(t,this.baseUrl),e.abrupt("return",this.get(n.toUrl("preview")).then(ne("json")));case 2:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}()},{key:"create",value:function(){var e=Object(s.a)(o.a.mark((function e(t){var n;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=new ee(t,this.baseUrl),e.abrupt("return",this.get(n.toUrl("create")).then(ne("blob")));case 2:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}()},{key:"gitHubHref",value:function(e){return new ee(e,this.baseUrl).toUrl("github")}}],[{key:"createCommand",value:function(e,t){return new ee(e,t)}},{key:"githubHrefForUrl",value:function(e,t){return e?new ee(t,e).toUrl("github"):"#"}},{key:"curlCommand",value:function(e,t){return e?new ee(t,e).toCurl():(console.warn("No URL provided for curlCommand"),"")}},{key:"cliCommand",value:function(e){return new ee(e).toCli()}},{key:"extractDefaults",value:function(e){return Object.keys(e).reduce((function(t,n){var r=e[n].options.reduce((function(e,t){return t.defaults&&(e[t.value]=t.defaults),e}),{});return Object.keys(r).length&&(t[n]=r),t}),{})}},{key:"extractDefaultOptions",value:function(e){return Object.keys(e).reduce((function(t,n){return t[n]=e[n].defaultOption.value,t}),{})}},{key:"reconstructFeatures",value:function(e){return e?(Array.isArray(e)||(e=[e]),e.reduce((function(e,t){return e[t]={name:t},e}),{})):{}}},{key:"loadVersion",value:function(){var e=Object(s.a)(o.a.mark((function e(t){var n,r,a,c,A,i;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.baseUrl,r=t.key,a=t.order,c=new this({baseUrl:n}),e.next=4,c.versions();case 4:return A=e.sent,i=A.versions["grails.version"],e.abrupt("return",{key:r,label:i,version:i,value:n,api:n,order:a});case 7:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}()},{key:"loadVersions",value:function(){var e=Object(s.a)(o.a.mark((function e(){var t,n,r,a=this;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,fetch(z).then(ne("json"));case 2:return t=e.sent,n=t.versions,r=function(e){return a.loadVersion(e).catch((function(e){return null}))},e.next=7,Promise.all(n.sort((function(e,t){return e.order-t.order})).map(r));case 7:return e.abrupt("return",e.sent.filter((function(e){return e})));case 8:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}()}]),e}(),ae=re.loadVersions(),ce=function(e,t){return Object(N.c)({key:"STATE_DEFAULTS/".concat(e),get:function(n){var r;return null!==(r=(0,n.get)(Ae)[e])&&void 0!==r?r:t}})},Ae=Object(N.b)({key:"INITIAL_VALUE_STATE",default:{}}),ie=Object(N.b)({key:"SELECTED_VERSION_STATE",default:null,effects_UNSTABLE:[function(e){(0,e.onSet)((function(e){V("SELECTED_MN_VERSION",e)}))}]}),oe=Object(N.c)({key:"AVAILABLE_VERSIONS_STATE",get:function(){return ae}}),se=Object(N.c)({key:"BASE_URL_STATE",get:function(e){var t=(0,e.get)(ie);return null===t||void 0===t?void 0:t.api}}),le=Object(N.b)({key:"MICRONAUT_SDK_CREATOR_STATE",default:function(e){var t=e.baseUrl;return new re({baseUrl:t})}}),ue=Object(N.c)({key:"MICRONAUT_SDK_STATE",get:function(e){var t=e.get,n=t(se);return n?t(le)({baseUrl:n}):null}}),de=Object(N.c)({key:"SELECT_OPTIONS_STATE",get:function(){var e=Object(s.a)(o.a.mark((function e(t){var n,r;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.get,r=n(ue)){e.next=4;break}return e.abrupt("return",{});case 4:return e.next=6,r.selectOptions();case 6:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()}),fe=Object(N.d)({key:"SELECT_OPTIONS_FOR_STATE",get:function(e){return function(t){return(0,t.get)(de)[e]}}}),he=Object(N.b)({key:"NAME_STATE",default:ce("name")}),je=Object(N.b)({key:"PACKAGE_STATE",default:ce("package")}),be=Object(N.b)({key:"TYPE_STATE",default:ce("type")}),ge=Object(N.b)({key:"TEST_STATE",default:ce("test")}),pe=(Object(N.b)({key:"LANG_STATE",default:ce("lang")}),Object(N.b)({key:"BUILD_STATE",default:ce("build")}),Object(N.b)({key:"SERVLET_STATE",default:ce("servlet")})),ve=Object(N.b)({key:"GORM_STATE",default:ce("gorm")}),Oe=Object(N.b)({key:"JAVA_VERSION_STATE",default:ce("javaVersion")}),me=Object(N.b)({key:"FEATURES_STATE",default:ce("features",[])}),we=Object(N.c)({key:"FEATURES_FOR_TYPE_STATE",get:function(){var e=Object(s.a)(o.a.mark((function e(t){var n,r,a,c,A,i;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.get,r=n(ue),a=n(be),c=n(ye),r&&a){e.next=6;break}return e.abrupt("return",[]);case 6:return e.next=8,r.features({type:a,form:c});case 8:return A=e.sent,i=A.features,e.abrupt("return",i);case 11:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()}),xe=Object(N.c)({key:"DEFAULT_FEATURES_FOR_TYPE_STATE",get:function(){var e=Object(s.a)(o.a.mark((function e(t){var n,r,a,c,A,i;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.get,r=n(ue),a=n(be),c=n(ye),r&&c.type){e.next=6;break}return e.abrupt("return",[]);case 6:return e.next=8,r.defaultIncludedFeatures({type:a,form:c});case 8:return A=e.sent,i=A.features,e.abrupt("return",i);case 11:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()}),ye=Object(N.c)({key:"STARTER_FORM_STATE",get:function(e){var t=e.get,n=t(be),r=t(he),a=t(je),c=t(pe),A=t(ve),i=t(ge),o=t(Oe),s=t(me);return V("INITIAL_FORM_DATA",{type:n,name:r,package:a,javaVersion:o,gorm:A,servlet:c,test:i,features:s})}}),Ce=(Object(N.c)({key:"GITHUB_LINK_STATE",get:function(e){var t=e.get,n=t(ye),r=t(se);return re.githubHrefForUrl(r,n)}}),Object(N.c)({key:"CREATE_COMMAND_STATE",get:function(e){var t=e.get,n=t(ye),r=t(se);return re.createCommand(n,r)}})),Ee=Object(N.c)({key:"SHARABLE_LINK_STATE",get:function(e){var t=e.get,n=t(ye),r=t(ie);return function(e,t){var n=e.features,r=Object(x.a)(e,y),a=[].concat(Object(w.a)(Object.keys(r).reduce((function(e,t){return e.push("".concat(t,"=").concat(r[t])),e}),[])),Object(w.a)(Object.keys(n).map((function(e){return"".concat("features","=").concat(e)}))));return t&&a.push("".concat("version","=").concat(t)),a.join("&")}(n,null===r||void 0===r?void 0:r.version)}}),ke=function(e,t){Object(r.useEffect)((function(){if(e){var n=e.defaultOption,r=e.options;t((function(e){return e?r.findIndex((function(t){return t.value===e}))<0?n.value:e:n.value}))}}),[e,t])};function Be(){return Object(N.g)(Ae)}function De(){return Object(N.g)(oe)}function Me(){var e=Object(N.h)(we);switch(e.state){case"hasValue":return{features:e.contents,loading:!1,error:null};case"loading":return{features:[],loading:!0,error:null};default:return{features:[],loading:!1,error:e.contents}}}function Ie(){var e=Object(N.i)(me);return Object(r.useMemo)((function(){return{onAddFeature:function(t){e((function(e){var n=Object.assign({},e);return n[t.name]=t,n}))},onRemoveFeature:function(t){e((function(e){var n=Object.assign({},e);return delete n[t.name],n}))},onRemoveAllFeatures:function(){e({})}}}),[e])}var Ne=function(e){var t=Object(N.h)(fe(e));switch(t.state){case"hasValue":return t.contents;default:return null}},Se=function(){return Object(N.g)(ye)};var Te=function(e){return function(t){var n=t.set,r=B(),a=D(r),c=function(e,t,n){return U(e,t,n)}("INITIAL_FORM_DATA",function(e){var t=e.javaVersion,n=e.gorm,r=e.servlet,a=e.test,c=e.features,A=Object(P.a)({javaVersion:"string"===typeof t?t:"",servlet:"string"===typeof r?r:"",gorm:"string"===typeof n?n:"",test:"string"===typeof a?a:"",features:re.reconstructFeatures(c)},C,e.activity);return Object(F.a)(Object(F.a)({},A),G(e))}(r),a),A=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.debug,n=e.cloneUrl,r=e.htmlUrl,a=e.error,c=e.showing;return{cloneUrl:n,htmlUrl:r,error:a,showing:c,debug:t}}(r),i=function(){var e,t=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).version;return{version:null!==t&&void 0!==t?t:null===(e=U("SELECTED_MN_VERSION",null))||void 0===e?void 0:e.version}}(r),o=Object.assign({},c,A,i,e);n(Ae,o)}},Qe=n(1);function Le(e){var t=e.initialData,n=e.stateInitializer,a=e.children,c=Object(r.useMemo)((function(){return"function"===typeof n?n:Te(t)}),[t,n]);return Object(Qe.jsx)(N.a,{initializeState:c,children:a})}var He="*nix",Fe="win",Pe=function(e){return"string"!==typeof e?"":e.toLowerCase().split(/[_-]/gi).map((function(e){return e.charAt(0).toUpperCase()+e.slice(1)})).join(" ")},Ue=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"file.txt",n=window.URL.createObjectURL(e),r=document.createElement("a");r.href=n,r.download=t,document.body.appendChild(r),r.click()},Ve=function(e){for(var t={},n=e,r=t,a=Object.keys(n),c=0;c<a.length;c++){for(var A=a[c],i=A.split("/"),o=r,s=0;s<i.length;s++)s===i.length-1?r[i[s]]=n[A]:(r[i[s]]=r[i[s]]||{},r=r[i[s]]);r=o}return t},Ge=function(){var e=Object(s.a)(o.a.mark((function e(t){return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!window.navigator.clipboard){e.next=2;break}return e.abrupt("return",window.navigator.clipboard.writeText(t));case 2:return e.abrupt("return",new Promise((function(e,n){var r=document.createElement("textarea");r.value=t,r.setAttribute("readonly",""),r.style.position="absolute",r.style.left="-9999px",document.body.appendChild(r),r.focus(),r.select(),document.execCommand("Copy"),setTimeout((function(){document.body.removeChild(r),e()}),0)})));case 3:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),Re=function(){return Object(Qe.jsxs)("footer",{children:[Object(Qe.jsxs)("div",{className:"content",children:[Object(Qe.jsxs)("div",{className:"apache-grails",children:[Object(Qe.jsx)("p",{children:"Apache Grails is supported by the Apache Software Foundation and the Grails community."}),Object(Qe.jsx)("a",{href:"https://apache.org",children:Object(Qe.jsx)("img",{className:"",src:"https://www.apache.org/img/asf_logo.png",width:"300px",alt:"Apache Software Foundation"})}),Object(Qe.jsx)("p",{children:"The Apache Software Foundation"}),Object(Qe.jsx)("p",{children:"Apache, Apache Grails, Grails, Groovy, and the ASF logo are either registered trademarks or trademarks of The Apache Software Foundation."})]}),Object(Qe.jsx)("nav",{className:"socialmedianav",children:Object(Qe.jsxs)("ul",{children:[Object(Qe.jsx)("li",{children:Object(Qe.jsx)("a",{href:"mailto:dev@grails.apache.org",children:Object(Qe.jsx)("img",{src:"https://grails.apache.org/images/email.svg",alt:"Email Icon"})})}),Object(Qe.jsx)("li",{children:Object(Qe.jsx)("a",{href:"https://slack.grails.org",children:Object(Qe.jsx)("img",{src:"https://grails.apache.org/images/slack.svg",alt:"Slack Icon"})})}),Object(Qe.jsx)("li",{children:Object(Qe.jsx)("a",{href:"https://www.youtube.com/@GrailsFramework",children:Object(Qe.jsx)("img",{src:"https://grails.apache.org/images/youtube.svg",alt:"Youtube Icon"})})}),Object(Qe.jsx)("li",{children:Object(Qe.jsx)("a",{href:"https://www.linkedin.com/showcase/official-grails/",children:Object(Qe.jsx)("img",{src:"https://grails.apache.org/images/linkedin.svg",alt:"LinkedIn Icon"})})}),Object(Qe.jsx)("li",{children:Object(Qe.jsx)("a",{href:"https://github.com/apache/grails-core",children:Object(Qe.jsx)("img",{src:"https://grails.apache.org/images/github.svg",alt:"Github Icon"})})}),Object(Qe.jsx)("li",{children:Object(Qe.jsx)("a",{href:"https://x.com/grailsframework",children:Object(Qe.jsxs)("svg",{version:"1.1",xmlns:"http://www.w3.org/2000/svg",x:"0",y:"0",width:"45px",height:"45px",viewBox:"-100 -100 500 500",children:[Object(Qe.jsx)("circle",{cx:"150",cy:"150",r:"250",fill:"#8C8C8C"}),Object(Qe.jsx)("path",{d:"M178.57 127.15 290.27 0h-26.46l-97.03 110.38L89.34 0H0l117.13 166.93L0 300.25h26.46l102.4-116.59 81.8 116.59h89.34M36.01 19.54H76.66l187.13 262.13h-40.66",fill:"white"})]})})})]})})]}),Object(Qe.jsx)("div",{className:"content",children:Object(Qe.jsx)("nav",{className:"partnersnav",children:Object(Qe.jsxs)("p",{children:["\xa9 2005-2025 the Apache Grails project \u2014 Grails is Open Source:\xa0",Object(Qe.jsx)("a",{href:"https://www.apache.org/licenses/",children:"License"}),",\xa0",Object(Qe.jsx)("a",{href:"https://privacy.apache.org/policies/privacy-policy-public.html",children:"Privacy Policy"}),",\xa0",Object(Qe.jsx)("a",{href:"https://www.apache.org/foundation/sponsorship",children:"Sponsor Apache"}),",\xa0",Object(Qe.jsx)("a",{href:"https://www.apache.org/events/current-event",children:"Events"}),",\xa0",Object(Qe.jsx)("a",{href:"https://www.apache.org/security",children:"Security"}),",\xa0",Object(Qe.jsx)("a",{href:"https://www.apache.org/foundation/thanks.html",children:"Thanks"})]})})})]})},Ye=(n(204),Re),We=n(577),qe=n(571),Je=n(579),Ke=n(572),Xe=n(22),ze=n.n(Xe),Ze=n(35),_e=n.n(Ze),$e=n(48),et=16,tt={label:"Preview",textValue:"SHIFT + P",keys:[et,80]},nt={label:"Show Diff",textValue:"SHIFT + D",keys:[et,68]},rt={label:"Create a Zip",textValue:"SHIFT + \u23ce",keys:[et,13]},at={label:"Toggle to the next Grails Version",textValue:"SHIFT + V",keys:[et,86]},ct={label:"Toggle to the next Project Type",textValue:"SHIFT + A",keys:[et,65]},At={label:"Toggle to the next Java Version",textValue:"SHIFT + J",keys:[et,74]},it={label:"Toggle to the next GORM Implementation",textValue:"SHIFT + G",keys:[et,71]},ot={label:"Toggle to the next Embedded Servlet Container",textValue:"SHIFT + S",keys:[et,83]},st={label:"Toggle to the next Test Framework",textValue:"SHIFT + T",keys:[et,84]},lt=["INPUT","TEXTAREA"];function ut(e){return lt.includes(e.tagName)}var dt=function(){};function ft(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){},n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],a=Object(r.useRef)(new Set),c=Object(r.useRef)();Object(r.useEffect)((function(){c.current=!0===n?dt:t}),[t,n]);var A=Object(r.useCallback)((function(t){var n=t.repeat,r=t.keyCode,A=t.target;n||ut(A)||(a.current.add(r),a.current.size===e.length&&0===new Set(Object(w.a)(e).filter((function(e){return!a.current.has(e)}))).size&&c.current())}),[e,a,c]),i=Object(r.useCallback)((function(e){var t=e.keyCode,n=e.repeat,r=e.target;n||ut(r)||!a.current.has(t)||a.current.delete(t)}),[a]);Object(r.useEffect)((function(){a.current.clear()}),[e,a]),Object(r.useEffect)((function(){return window.addEventListener("keydown",A,!0),function(){return window.removeEventListener("keydown",A,!0)}}),[A,e]),Object(r.useEffect)((function(){return window.addEventListener("keyup",i,!0),function(){return window.removeEventListener("keyup",i,!0)}}),[i,e])}var ht=n(93),jt=n.n(ht),bt=n(87),gt=n.n(bt),pt=function(e){var t=e.value,n=e.copiedMessage,a=void 0===n?"Copied!":n,c=e.children,A=Object(r.useState)(!1),i=Object(l.a)(A,2),o=i[0],s=i[1],u=["copied"];o&&u.push("active");var d=o?gt.a:jt.a;return Object(Qe.jsxs)("div",{className:"copy-to-clipboard clickable",onClick:function(){s(!0),Ge(t),setTimeout((function(){s(!1)}),3e3)},role:"button",children:[Object(Qe.jsx)("span",{className:u.join(" "),children:a}),c,Object(Qe.jsx)(d,{})]})},vt=(n(207),pt),Ot=n(148),mt=n(568),wt=n(581),xt=["tooltip","children"],yt=Object(Ot.a)({overrides:{MuiTooltip:{tooltip:{fontSize:"0.9em"}}}}),Ct=function(e){var t=e.tooltip,n=e.children;return Object(Qe.jsx)(mt.a,{theme:yt,children:Object(Qe.jsx)(wt.a,{enterDelay:600,enterNextDelay:350,enterTouchDelay:300,title:t,arrow:!0,placement:"top",children:n})})},Et=function(e){var t=e.tooltip,n=e.children,r=Object(x.a)(e,xt);return Object(Qe.jsx)(mt.a,{theme:yt,children:Object(Qe.jsx)(wt.a,{enterDelay:600,enterNextDelay:350,enterTouchDelay:300,title:t,arrow:!0,placement:"top",children:Object(Qe.jsx)("span",{children:Object(Qe.jsx)(u.Button,Object(F.a)(Object(F.a)({},r),{},{children:n}))})})})},kt=(n(208),Et),Bt=function(e,t){var n=e.theme,c=void 0===n?"light":n,A=e.disabled,i=e.onLoad,d=e.onClose,f=Se(),h=f.gorm,j=f.servlet,b=Object(N.g)(Ee),g=Object(r.useState)(null),p=Object(l.a)(g,2),v=p[0],m=p[1],w=Object(r.useState)({}),x=Object(l.a)(w,2),y=x[0],k=x[1],B=Object.keys(y).length>0;ft(tt.keys,i,A),Object(r.useImperativeHandle)(t,(function(){return{show:function(){var e=Object(s.a)(o.a.mark((function e(t,n){var r;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:m(n||"README.md"),r=Ve(t.contents),k(r);case 3:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}()}}));var D=Object(r.useState)({contents:null,language:null,path:null}),M=Object(l.a)(D,2),I=M[0],S=M[1],T=Object(r.useMemo)((function(){var e=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=window.location,r=n.origin,a=n.pathname,c=t.activity,A="".concat(r).concat(a,"?").concat(e);return c&&(A+="&".concat(C,"=").concat(c)),A}(b,Object(P.a)({},C,E));return I.path&&(e+="&showing=".concat(I.path)),e}),[b,I.path]),Q=function(e,t,n){if("string"===typeof t){var r,a=e.lastIndexOf(".");a>-1?("gradle"===(r=e.substring(a+1))&&(r="groovy"),"bat"===r&&(r="batch"),"kt"===r&&(r="kotlin")):r="bash",S({contents:t,language:r,path:n})}};var L=Object(r.useMemo)((function(){return function(e){if(!e||"string"!==typeof e)return{defaultSelected:"root"};for(var t=e.split("/"),n=[];t.length;)n.push(t.join("/")),t.pop();return{defaultSelected:e,defaultExpanded:n}}(v)}),[v]),H=L.defaultSelected,F=L.defaultExpanded;Object(r.useEffect)((function(){if("string"===typeof v){for(var e=v.split("/").filter((function(e){return e})),t=y,n="";t&&"string"!==typeof match&&e.length;)t=t[n=e.shift()];n&&t&&Q(n,t,v)}}),[y,v]);return Object(Qe.jsxs)(a.a.Fragment,{children:[Object(Qe.jsxs)(kt,{tooltip:O.tooltips.preview,disabled:A,waves:"light",className:c,style:{marginRight:"5px",width:"100%"},onClick:i,tabIndex:1,children:[Object(Qe.jsx)(ze.a,{className:"action-button-icon",left:!0,children:"search"}),"Preview"]}),Object(Qe.jsx)(_e.a,{open:B,header:"Previewing a Grails application using application using "+Pe(j)+", "+Pe(h),className:"preview "+c,fixedFooter:!0,options:{onCloseStart:function(){k({}),S({contents:null,language:null,path:null}),m(null),d instanceof Function&&d()},startingTop:"5%",endingTop:"5%"},actions:Object(Qe.jsxs)("div",{className:"code-preview footer-wrapper",children:[Object(Qe.jsx)("div",{className:I.contents?"":"hidden",children:Object(Qe.jsx)(Ct,{tooltip:"Copy a link back to current file",children:Object(Qe.jsxs)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",marginRight:"1em"},children:[Object(Qe.jsx)(vt,{value:T}),"Link to This"]})})}),Object(Qe.jsx)(u.Button,{waves:"light",modal:"close",flat:!0,children:"Close"})]}),children:Object(Qe.jsxs)(qe.a,{container:!0,className:"grid-container",children:[Object(Qe.jsx)(qe.a,{item:!0,xs:3,className:"grid-column",style:{borderRight:"1px solid"},children:Object(Qe.jsx)(Ke.a,{defaultCollapseIcon:Object(Qe.jsx)(ze.a,{children:"folder_open"}),defaultExpandIcon:Object(Qe.jsx)(ze.a,{children:"folder"}),defaultEndIcon:Object(Qe.jsx)(ze.a,{children:"description"}),defaultExpanded:F,defaultSelected:H,children:function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if(t instanceof Object)return Object.keys(t).sort((function(e,n){var r="object"===typeof t[e],a="object"===typeof t[n];return r&&!a?-1:!r&&a?1:e<n?-1:e>n?1:0})).map((function(r){var a=t[r],c="".concat(n,"/").concat(r);return Object(Qe.jsx)(Je.a,{nodeId:c,label:r,onClick:function(){return Q(r,a,c)},children:e(a,c)},c)}))}(y)},H)}),Object(Qe.jsx)(qe.a,{item:!0,xs:9,className:"grid-column",children:I.contents&&Object(Qe.jsx)(We.a,{className:"codePreview",lineNumberContainerProps:{className:"lineNumbers"},language:I.language,style:"light"===c?$e.prism:$e.darcula,showLineNumbers:!0,children:I.contents})})]})})]})},Dt=Object(r.forwardRef)(Bt),Mt=(n(512),Dt),It=function(e,t){var n=e.theme,c=void 0===n?"light":n,A=e.disabled,i=e.onLoad,d=e.onClose,f=Se(),h=f.gorm,j=f.servlet,b=Object(r.useState)(null),g=Object(l.a)(b,2),p=g[0],v=g[1];ft(nt.keys,i,A),Object(r.useImperativeHandle)(t,(function(){return{show:function(){var e=Object(s.a)(o.a.mark((function e(t){return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:v(t);case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()}}));var m=Object(r.useMemo)((function(){return{onCloseStart:function(e){v(""),d(e)},startingTop:"5%",endingTop:"5%"}}),[d,v]);return Object(Qe.jsxs)(a.a.Fragment,{children:[Object(Qe.jsxs)(kt,{tooltip:O.tooltips.diff,disabled:A,waves:"light",className:c,style:{marginRight:"5px",width:"100%"},onClick:i,tabIndex:1,children:[Object(Qe.jsx)(ze.a,{className:"action-button-icon",left:!0,children:"compare_arrows"}),"Diff"]}),Object(Qe.jsx)(_e.a,{header:"Showing Diff for a Grails application using "+Pe(h)+", "+Pe(j),className:"diff "+c,fixedFooter:!0,open:!!p,options:m,actions:Object(Qe.jsx)(u.Button,{waves:"light",modal:"close",flat:!0,children:"Close"}),children:Object(Qe.jsx)(qe.a,{container:!0,className:"grid-container",children:Object(Qe.jsx)(qe.a,{item:!0,xs:12,className:"grid-column",children:p&&Object(Qe.jsx)(We.a,{className:"codePreview",lineNumberContainerProps:{className:"lineNumbers"},language:"diff",style:"light"===c?$e.prism:$e.darcula,showLineNumbers:!0,children:p})})})})]})},Nt=Object(r.forwardRef)(It),St=n(582),Tt=n(580),Qt=n(576),Lt=n.p+"static/media/grails-white-icon.1c3164ce.png",Ht=(n(138),function(e){var t=e.hasError,n=e.message,a=e.severity,c=e.link,A=e.clipboard,i=e.onClose,o=Object(r.useState)(!1),s=Object(l.a)(o,2),u=s[0],d=s[1],f=Boolean(n&&t&&!u),h=Object(r.useState)(!1),j=Object(l.a)(h,2),b=j[0],g=j[1],p=b?gt.a:jt.a,v=function(){d(!0),setTimeout((function(){i(),d(!1)}),200)};return Object(Qe.jsx)(Tt.a,{className:"error-view",anchorOrigin:{vertical:"top",horizontal:"center"},open:f,autoHideDuration:6e3,onClose:v,children:Object(Qe.jsxs)(Qt.a,{icon:Object(Qe.jsx)(St.a,{src:Lt,children:"N"}),onClose:v,severity:a,variant:"filled",children:[n," ",c&&Object(Qe.jsx)("a",{className:"error-link",href:c,rel:"noopener noreferrer",target:"_blank",children:c}),A&&Object(Qe.jsxs)("div",{className:"pt-2 clipboard",role:"button",onClick:function(){return g(!0),void Ge(A.text)},children:[A.message,Object(Qe.jsx)(p,{})]})]})})}),Ft=function(){function e(t){var n=t.message,r=t.severity,a=void 0===r?"error":r,c=t.link,A=void 0===c?null:c,i=t.clipboard,o=void 0===i?null:i;Object(b.a)(this,e),this.message=n,this.severity=a,this.link=A||null,this.clipboard=o||null}return Object(g.a)(e,null,[{key:"ofNone",value:function(){return new e({message:"",severity:e.INFO})}},{key:"ofSuccess",value:function(t,n,r){return new e({message:t,severity:e.SUCCESS,link:n,clipboard:r})}},{key:"ofInfo",value:function(t,n,r){return new e({message:t,severity:e.INFO,link:n,clipboard:r})}},{key:"ofError",value:function(t,n,r){return new e({message:t,severity:e.ERROR,link:n,clipboard:r})}},{key:"ofWarn",value:function(t,n,r){return new e({message:t,severity:e.WARN,link:n,clipboard:r})}},{key:"fromCaught",value:function(t){return new e({message:t.message,severity:e.SUCCESS})}}]),e}();Ft.SUCCESS="success",Ft.ERROR="error",Ft.INFO="info",Ft.WARN="warning";var Pt=Ht,Ut={cursor:"pointer",float:"right",fontSize:"16px",lineHeight:"32px",paddingLeft:"8px"};function Vt(e){var t=e.feature,n=e.onRemoveFeature,r={marginRight:10};return e.hasError&&(r.background="var(--theme-danger)",r.color="white"),Object(Qe.jsxs)("div",{style:r,className:"chip",children:[t.title,Object(Qe.jsx)("i",{onClick:function(e){e.preventDefault(),n(t)},className:"material-icons",style:Ut,children:"close"})]})}function Gt(){var e=Object(N.g)(me),t=Me().features,n=Ie().onRemoveFeature,a=Object(r.useMemo)((function(){return Object.values(e).sort((function(e,t){return e.title>t.title?1:-1}))}),[e]),c=Object(r.useMemo)((function(){var e=t.map((function(e){return e.name}));return a.map((function(t,r){return Object(Qe.jsx)(Vt,{feature:t,hasError:e.length&&!e.includes(t.name),onRemoveFeature:function(){return n(t)}},"".concat(t.name,"-").concat(r))}))}),[a,n,t]);return Object(Qe.jsxs)("div",{className:"col s12",children:[Object(Qe.jsxs)("h6",{children:["Additional Selected Features (",a.length,")"]}),c]})}var Rt=n(110),Yt=n.n(Rt),Wt=100,qt=function(e,t){var n=t.headerHeight,r=void 0===n?Wt:n;e.scrollTop+=e.clientHeight-r},Jt=function(e,t){var n=t.headerHeight,r=void 0===n?Wt:n;e.scrollTop-=e.clientHeight-r},Kt=function(e,t){var n=t.sectionKey,r=void 0===n?"modal-group":n,a=t.headerHeight,c=void 0===a?Wt:a,A=Object(w.a)(e.getElementsByClassName(r));if(!A.length)return e.scrollTop+=c;var i=A.filter((function(t){return t.offsetTop>e.scrollTop+c}));if(i.length){var o=i[0].offsetTop;e.scrollTop=o-c}},Xt=function(e,t){var n=t.sectionKey,r=void 0===n?"modal-group":n,a=t.headerHeight,c=void 0===a?Wt:a,A=Object(w.a)(e.getElementsByClassName(r));A.length||(e.scrollTop-=c);var i=A.filter((function(t){return t.offsetTop<e.scrollTop+c}));if(i.length){var o=i[i.length-1].offsetTop;e.scrollTop=o-c}},zt=function(){function e(){var t=this,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{sectionKey:"modal-group",headerHeight:Wt,hasHeader:!0};if(Object(b.a)(this,e),this.handler=function(e){return function(n){var r=n.keyCode,a=e.getElementsByClassName("modal-content");if(a.length){var c=a[0],A=t.getAction(r);A&&(A instanceof Function?A(c,t.config):c.scrollTop+=A)}}},this.onOpenEnd=function(e){return e.addEventListener("keydown",t.handler(e))},this.onCloseEnd=function(e){e.removeEventListener("keydown",t.handler)},!n instanceof Object)throw Error("ModalKeyboardHandler must be created with a config object");this.config=n,!1===this.config.hasHeader&&(this.confin.headerHeight=0)}return Object(g.a)(e,[{key:"getAction",value:function(e){switch(e){case 38:return-50;case 40:return 50;case 39:return Kt;case 37:return Xt;case 33:return Jt;case 34:return qt;default:return!1}}}]),e}(),Zt=n(59),_t=n.n(Zt),$t=["onChangeText"],en=function(e,t){var n=e.onChangeText,r=Object(x.a)(e,$t);return Object(Qe.jsx)(_t.a,Object(F.a)(Object(F.a)({ref:t},r),{},{onChange:function(e){if(n instanceof Function){var t=e.target.value;n(t)}r.onChange instanceof Function&&r.onChange(e)}}))},tn=Object(r.forwardRef)(en),nn=function(e){var t=e.feature,n=e.toggleFeatures;return Object(Qe.jsxs)(u.Card,{id:"mn-feature-".concat(t.name),className:"mn-feature-selection hoverable ".concat(t.selected&&"selected"),title:(null!=t.preview&&t.preview?t.title+" (preview)":t.title)+(null!=t.community&&t.community?" (community)":""),onClick:function(e){return n(e,t)},children:[Object(Qe.jsx)("p",{className:"grey-text",children:t.description}),t.selected&&Object(Qe.jsx)(u.Button,{floating:!0,small:!0,style:{position:"absolute",top:-12,right:-15},className:"black remove-button",children:Object(Qe.jsx)(ze.a,{children:"close"})})]})},rn=(n(513),new zt({sectionKey:"modal-group",headerHeight:24})),an=function(e,t){return e.category<t.category||e.name<t.name?-1:1},cn=function(e,t){return e[t.category]?e[t.category].push(t):e[t.category]=[t],e},An=function(e){var t=e.category,n=e.entities,r=e.toggleFeatures;return Object(Qe.jsxs)(j.a,{className:"modal-group category ".concat(t),children:[Object(Qe.jsx)(f.a,{s:12,children:Object(Qe.jsx)("h6",{children:t})}),n.map((function(e,t){return Object(Qe.jsx)(f.a,{s:12,children:Object(Qe.jsx)(nn,{feature:e,toggleFeatures:r})},t)}))]})},on=function(e){var t=e.theme,n=void 0===t?"light":t,a=Object(r.useRef)(null),c=function(){var e=Object(N.f)(me),t=Object(l.a)(e,2),n=t[0],r=t[1],a=Me();return[n,r,a.features,a.loading]}(),A=Object(l.a)(c,4),i=A[0],o=A[2],s=A[3],d=Ie(),h=d.onAddFeature,j=d.onRemoveFeature,b=d.onRemoveAllFeatures,g=Object(r.useState)(""),p=Object(l.a)(g,2),v=p[0],m=p[1],w=Object.keys(i),x=Object(r.useMemo)((function(){return o.map((function(e){return Object(F.a)(Object(F.a)({},e),{},{selected:w.includes(e.name)})}))}),[o,w]),y=Object(r.useMemo)((function(){if(!v.length)return x;var e=v.toLowerCase();return x.filter((function(t){var n=t.name,r=t.description,a=t.category,c=t.tags;return n.toLowerCase().includes(e)||r.toLowerCase().includes(e)||a.toLowerCase().includes(e)||c&&c.toLowerCase().includes(e)}))}),[v,x]),C=Object(r.useMemo)((function(){return y.sort(an).reduce(cn,{})}),[y]),E=function(e,t){e&&e.preventDefault&&e.preventDefault(),t.selected?j(t):h(t)};return Object(Qe.jsx)("div",{id:"feature-selector-wrapper",style:{marginBottom:0},children:Object(Qe.jsxs)(_e.a,{className:"mn-feature-modal modal-lg ".concat(n),fixedFooter:!0,actions:[Object(Qe.jsxs)(u.Button,{waves:"light",onClick:function(e){e.preventDefault(),b()},flat:!0,children:["Remove All (",w.length,")"]}),Object(Qe.jsx)(u.Button,{waves:"light",modal:"close",flat:!0,children:"Done"})],options:{onOpenStart:function(){a.current&&"function"===typeof a.current.focus&&setTimeout((function(){a.current.focus()}),300)},onOpenEnd:rn.onOpenEnd,onCloseEnd:rn.onCloseEnd,onCloseStart:function(e){e.firstElementChild.scrollTop=0},startingTop:"5%",endingTop:"5%"},trigger:Object(Qe.jsxs)(kt,{tooltip:O.tooltips.features,waves:"light",className:n,style:{marginRight:"5px",width:"100%"},tabIndex:1,children:[Object(Qe.jsx)(ze.a,{className:"action-button-icon",left:!0,children:"add"}),"Features"]}),children:[Object(Qe.jsx)("h4",{children:Object(Qe.jsx)("div",{className:"modal-header",children:Object(Qe.jsx)(tn,{ref:a,id:"features-selector-search-input",className:"mn-input",label:"Search Features",placeholder:"ex: cassandra",name:"search",s:12,autoComplete:"off",value:v,onChangeText:m})})}),s?Object(Qe.jsx)(Yt.a,{}):Object(Qe.jsxs)(f.a,{s:12,children:[0===y.length&&Object(Qe.jsx)("p",{children:"No matching features"}),Object.keys(C).map((function(e){return Object(Qe.jsx)(An,{category:e,entities:C[e],toggleFeatures:E},e)}))]})]})})},sn=n(70),ln=n.n(sn),un=n(81),dn=n.n(un);n(514);var fn,hn,jn,bn,gn,pn,vn,On,mn=function(e){var t=e.theme,n=e.trigger,a=Object(N.g)(Ce),c=Object(r.useMemo)((function(){return a?[{link:a.toCli(),title:"Using the Grails CLI"},{link:a.toCurl(),title:"Using cURL"}]:[]}),[a]);return Object(Qe.jsx)(_e.a,{header:"Other ways to build this configuration.",className:"modal-lg ".concat(t," next-steps other-configuration"),fixedFooter:!0,actions:Object(Qe.jsx)(u.Button,{waves:"light",modal:"close",flat:!0,children:"Close"}),trigger:n,children:c.map((function(e){return Object(Qe.jsxs)("div",{className:"next-steps-wrapper",children:[Object(Qe.jsx)("h6",{className:"heading",children:e.title}),Object(Qe.jsxs)(j.a,{className:"next-steps-row multi-line",children:[Object(Qe.jsx)(f.a,{className:"text",children:e.link}),Object(Qe.jsx)(f.a,{className:"icon",children:Object(Qe.jsx)(vt,{value:e.link})})]})]},e.link)}))})},wn=function(e){var t=e.disabled,n=e.theme,r=e.generateProject,a=(e.cloneProject,e.baseUrl),c=Se();return ft(rt.keys,r,t),Object(Qe.jsxs)(dn.a,{id:"build_now_dropdown",trigger:Object(Qe.jsxs)(ln.a,{options:{alignment:"left",autoTrigger:!0,closeOnClick:!0,constrainWidth:!0,container:null,coverTrigger:!0,hover:!1,inDuration:150,onCloseEnd:null,onCloseStart:null,onOpenEnd:null,onOpenStart:null,outDuration:250},disabled:t,style:{width:"100%"},className:n,node:"button",tabIndex:1,children:[Object(Qe.jsx)(ze.a,{className:"action-button-icon",left:!0,children:"build"}),"Generate project"]}),children:[Object(Qe.jsx)(Ct,{tooltip:O.tooltips.generate,children:Object(Qe.jsxs)("a",{role:"button",href:"#create",tooltip:O.tooltips.generate,disabled:t,waves:"light",className:n,onClick:r,children:[Object(Qe.jsx)(ze.a,{className:"action-button-icon",left:!0,children:"get_app"}),"Download Zip"]})}),Object(Qe.jsx)(mn,{baseUrl:a,createPayload:c,theme:n,trigger:Object(Qe.jsxs)("a",{role:"button",href:"#other-commands",waves:"light",children:[Object(Qe.jsx)(ze.a,{className:"action-button-icon",left:!0,children:"code"}),"Commands"]})})]})},xn=["title","titleId"];function yn(){return(yn=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function Cn(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},c=Object.keys(e);for(r=0;r<c.length;r++)n=c[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(r=0;r<c.length;r++)n=c[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}function En(e,t){var n=e.title,a=e.titleId,c=Cn(e,xn);return r.createElement("svg",yn({xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",width:500,zoomAndPan:"magnify",viewBox:"0 0 375 374.999991",height:500,preserveAspectRatio:"xMidYMid meet",ref:t,"aria-labelledby":a},c),n?r.createElement("title",{id:a},n):null,fn||(fn=r.createElement("defs",null,r.createElement("filter",{x:"0%",y:"0%",width:"100%",height:"100%",id:"af1f0e1a1e"},r.createElement("feColorMatrix",{values:"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0",colorInterpolationFilters:"sRGB"})),r.createElement("filter",{x:"0%",y:"0%",width:"100%",height:"100%",id:"607805b6a5"},r.createElement("feColorMatrix",{values:"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0.2126 0.7152 0.0722 0 0",colorInterpolationFilters:"sRGB"})),r.createElement("g",null),r.createElement("clipPath",{id:"0f083a6f65"},r.createElement("path",{d:"M 7 127.339844 L 339.75 127.339844 L 339.75 263.839844 L 7 263.839844 Z M 7 127.339844 ",clipRule:"nonzero"})),r.createElement("image",{x:0,y:0,width:833,xlinkHref:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA0EAAAE0CAAAAADP5mdeAAAAAmJLR0QA/4ePzL8AABYXSURBVHic7Z09l+Q2dobv1CaTNZXJ0UCRw2FmZYIiy5FqI9uRuJHT+gdLRw7d+gXmZM5ck01mdjbZsjJly/4FZmXaCA6666uLJC4+CBDk+5yjczTVBHjJg5f34uLrHc0MId7+0nQRzACAx7vYBhARkRBCkKTs49AFT9Q1VENMYHbEVpAUQg4L556nrmnaZjp7ADAjnoKyXOb5B7uyh6Zpaq/WAGBHHAXlUtqK58KhburWgzEAOBBeQbmU8sFXZc91DRWBmIRVULaVW2/qOXGo97XvOgFgElBBYrv9YaKqj/t6jzQdWDJi16hp2RdZ7IcEYBqyyeXzKqJt7CcFwD/FPoh8lFJKdVUe+3EB8Il47MLpRymlVINoDiyGbR1YPkoppbpKxH5wANzJdm0M/SillKrRIwKJEz58u6UtYr8BAOwRVVT5KKWU6kp0iECazEE/SkFDIE3moh+loCGQHnPSj1JKdbvYbwQAPlkZN3/QB3IKIBmK+elHKaVqGfvFAMBAhpn9ZgPGWMHsEQGnv5nTlbHfDwCj7OYZwF1oZOxXBMAg+XwDuAuPyGyDmVLGFgePDrPlwBxJwgG9sIcbArMjEQf0AtwQ8MsfXCvIv/yzDztC8f5fvvn6e2wjADgz+xTcPQ0WgoO5kM16DGgQTJUD3nDaLy7fO2/dG4fPBXaXA37YOJTd/SVRAdHPiORAdLKZLWMwoytivz+wDKyjOLE3OPVnjnwqYlsAloCtgvLa+w7yoXnaojMEnLHsBxV/SV5A9AM6Q8AdOwU9/pdnM6LwASvvgDNWcxKqf/NtRhzeF884khW4YaGg7Os/+rcjEtt3dWwTQNqYKyirE0/C3SC/28c2ASSNsYLy+u+nsCMaOSQEXDDNZi8gi/0WZLWBA4YKWqCAiA4SEgK2mClokQKChIADRgpaqIAgIWCPiYIWKyBICFhjoKAFCwgSArbwFbRoAREdMEkO2MAeD1q4gOhbjAsBG7gKylJd0M0GQ6vABqaCljWVp5/8my+xTQDpwVTQl3+Y1oxZ8D1magNjeAqqfp7YjHmwhYSAKaxcXPnnqc2YCUcJCQEzOAoqFrEilcVRYFgIGMFQ0NLz2DdgZBWYoe8HZc2KBETf/h1y2sAEvYK+Ln0g6Jb8+DW2CSAltFFc9UsIM+bEj3VsC0BC6BS0oizCCWQTgAEaBa0qi3ACk0wBn/F+0PJnw/XxLab3ADbjPmh9naAX0BUCXEYVtP2fUGbMDHSFAJcxBYlVjQTd8CRjWwASYawftF/W3oomCIwKAR4jPmj3n+HMmB3HvI1tAkiCYQWtOIYjQhwHmAxHcSuO4YgQxwEmgz5o1TEcEeI4wGNIQSuP4YgQxwEWQ1HcymM4IiKBNd9Az4APWu1Y6jUYVwV6+n1QVr8PbMcceY/VdkBL/1ne5eo7QURE9IuMbQGYPb1RnPhraDNmCtY5AB29UdxeBLZirnyLZALQ0OeD5P8GN2OuIJkANPT5oDoLbsZcef+3OrYJYN70+CCDrRGOw0FOE/njnQ12YTKjTfS/a51NAesi6xSbbWxjrSj4D6hUFdtakBqlQfOKbasdjYmClIhtLkgLExeUaOsyEhCcEBjlbkR1ZzKYKvwZMlswrApMMHJBSsY21wozH6Tq2PaCOfPWBxm5IEpyyF4YXv+DnMAIsBTeKCjbGZVOcuBImBYo/NsAFsMbBZm5oFX0g4h+EbEtAPPlVkGGLihNBZmHnqV/I8BSuFXQ1nBVQ5L9IPPQE04IDHKroNKw9EOKHSFpXqTwbQNYJlvDPG+a6ezW+ClVl+KXAgThxgcZ9oIozTDO4kCXhzQnAILACPOPcxXbZnOk+VMq1ca2GsyVax9UmhdP0AdJm0IfrEqBFXCloMwiVDFaajMP7ERf+DUCLBGjZTMnZGyrjTGa+HcBuQTQy5UPMs8jkGVMFJPcciOvwqsVYDFcFJRbRWTSlyGhkJblrL4vYPlcFFRYlU8ulSAty31I7klBYCwGGpVSKrGGldk9pUoycQ8CcPZBW4uBRqLkwjhpXRKDqqCPi4IsKyj82BEKex1gXgIYxTLJm9puI9aPiTAO9HLyQabrGi4k9Wm2f8zEHhSE4qwg6xoKL3YEwkUFCOPACA7RTULZOPtMHMI40M+rD3KJbhIaayycSsMHgUEeXb7NIrb1bCzHvE7I2PaD+XHyQS51FB7sCEJhOeZ1Ak4IDJA7fZqTWQPt6IIUDrQDd7z4IOlUx0MiPSFXF0QfhQ8zwAKp3b7NnYj9ACxcXZBSRexHALPj5Qw7zUFAw0fV1duPRESfCn8WTcbpbL6Rg/eExkt9Rk8I9DG8+YY+PtsrpZLIUp1OpWi1vbbhXiGOJQa9jBxbpy37ssFPAn3s00MW2itHYtqERo9BQEaaDLfw7JMJp628GInDkdcx+8cEURhuMQwFvYSAs08mnGRR8i/tYT+5nSBBxvYgFPribQpta2f8QL20U9sJUmTs9G6pL/66S1YxtZkuiNPM2Ypx8cjrSGgGEwjHfqTFcAL/l9PlZx3HnQIzjpGjEzSKqS0FibGh8f12OMmnF5U9VB7MmYjyh9f/eWz1F48+MpJx4I7RDedZaepXJ1ZObKg1546efiyINPPU66ltBekxfpgBp82dehlyalPtyM7LB1lTCprR9zG1sSA9xhIJzEb3muma6STtc3aalS/UrGNFGAfeMpZIUOqRVcdrI62ntdSO6vQoPIFrDvLDzDjwlvGopWXVcYrjeHoLyuVICl7jrwZexCvltNaCBBlvMcwRkFM7LSY11YKLgCpeAc0aiJmPHIPw6NanFrxqKrPLQ3GJyRpeJ013FGYCc2hBWHQHeHM/uqdgUE5prCn5OQ3HHfDdDbyGM5PaCxJkPBWn2Ke3nXLG3YyyVRcBsYU93itUSMaBt2h6zvy4LJ+dhK4EVDCL6M8zlxMaDFJEu0dCy63p1KOai4SuBMRe16P9niAZB96g3++XPQRyynt1xYT2srkSUMUtw9gWuJzOYpAk+jbTsus6p46LycxlYyMghgua56gxiAdns8WCXdt8JGQlIH0vCAoCbxifV/qCwXy34tRwI+8ocCUgg3kSrH3zpjMapIhuOEgpZXTux7npGpTxT2GehaPr+QtQEOCiHQ5SShnNp8xP02KqeDO1L1IwSWoIfVJFKSz0BrfwFGSybiE7DUoy59H455IPMEqsM/c+llOZDZKEkX1SyrD/fKozzsCQuEwrMNIw71sCBYFbuJvOG61biJlP2FrlEJgdQqVmkGYEs4J9bENhUmt+8gP7wJFcdhXBGS2Gy3mdIIUhVXAL/+CTwqTa7LRfh1k7dkVeVvfUwqQgX0BQELiB3XBMw5dzY34M5obOslWqM4sfDQQEBYEbDBRkKKHgbsjaARkJaI4r2UFETBRk2omWp96QYYO24roHVJgVNRIQpvWAG4wUZJyH2p3aZjl1KLe7SsEZ3stMQFAQuMFMQcYSuoRyk2qosA7gjAUEBYEbDBVk3gsQ5/HVyTR0rR9pXNhQQFAQuMFUQRYzRi8aehTe7XfUD3M2KRQEhjBuQKo2dyVnDalK+jU/Ky8uxEI/49vMQ0FAj3kLUq3FdDfxeGrpdeHP+PxqVp+NNjP+eDIUBPqxaEJ2092yc7TV7vx0iIpL++9KYVGBNO0CQUHgDisFWQ7wSI9JhWx31f0prGqwiOCgIPAWu1ZkOmvmRFY0fjR0mYHd7oRVDVczGKAgYI9lM1KqkVb3O6/Cae3KExFRdnVii101YvzMFygIcLFuSHb9meuWaz3B7Kb/srfIaxQ2GYQTta3ZYJE4NCWlVGXWfOXtl99yGfjbxaRNYVRclFYJhDO1ldFgqTg1JmXUi9/effltloFnPfFXy++Vyeq+uOETm9sMFoxre1KqLVg3yvsiJ3MJnfcxeWMEbwWFdAnfXqlMTQaLxr1F8ZICA/t4mEpoQECKtZ5ceNAPVtiBW7w0Km1SYHjw30xCwwJiTJUwnkPaT2liMFg8fhSkCW3ykbGX1iSdMHo+lmZhnfkc0n5KA3vB8vGkoFEJja/AqfnG6mYRFCNlfQkIu12BG+xHFt9QDt5Ct5suO5Gm3yV/OJ/A2WGfhzR5vWDxcHfq1DPYDdEdTcrdUjjTz8MZPG+YUZaLNH7HYMFs/FU1lE0oPmoKPpS8G5QftJcMVrXTl+XSeqsJLAFv3YPBjzPj6y84lnKOxxqqKvOThlNK4fQTcMOm9VdX2ftrwfj695e0uWjgqt0DqzAAxnBOgeTS2xNidUCE3lCeCxqoyqMLqh1eNlgem8ZjZX1JNcnqgDDScQXTiL7rCrggMBn+vs6q66meN5GTkY7jupG2p6y3lL3Cpr/glg09+avsQd7/xpvx+aC9bMt1Ix96YsmfmWU59H0mwHrZeG0R8u4XwWz42jCOv3v9vYIkuywDn2EvSJ/NxC1CMK/7qLuQryDuLS2BDwLXbOYyQKhRiJxNLqCObQCYFbNRkCaVEOVM4z6eYxsA5sVmLt9UOf5np72xhEvhN7Qe6wILYLOGr2rrsa7aY11gAWzwVTWjjW0AmBcbfFXNQDIb3LCZuE20U1Ye45ZQELjBr4Lux0paf5Vzub+lxyEcjzM4wCLYELVHb7X1iNFf5Vzu9eLxGwEXBG7ZkM9W0fOxD9/kJpUxFARu2ZDPVEJP+2q9Vc6kLznvr91DQeAWrwrqa7ytr8q59N2w7zcrjlAQuMVrFNdXUe2nan41fVd6e0K+GWAlbIioO3iqrK+hchtv68kGJyOsKgerZkPk78vaV0/HnDTUjv+Zn5Ce0BHCB4E7fCro2FvP3kvd7I//oe379bMXIwaeEKwZnwrqr4ZZeevHBjcj7CoHa2ZD5K0j1O9t9rzBmFbzd+5kgKrfCGZpDbWfasCCeNn110sDe676f+dVruvoMDtCz/3hXvuJV1xD7aUWsCQ8Kqga+J1Xua6jw+wIDd2s4hUfZ0CeAPjY03N4yzfOrqWtzkLm/t5iqLyPc5Iqq3cLFs3r2Q0enNDjYJxVMUq3zhcQEdHT4GUlq/w4nnpTYIFs3T/QYrDyjFFauxMop5KxE7h4+3ePY/NmwcJ59UG1c0Wf2sE/dYxuvLaHwRqZfR7xEiWj/DieBpXAInHeWXpsOyrGsQv63aw4FhZjFTj39UZrByvldIada4j/NOZEGLlkfZaLkQcbyqe/4LxlPLpBYBheN2OY8S1HtU6o1lvIOEq4mPQRISAwhlsY12pq152BUuoN1AvA1QgNBec1gtXidp6q7ugFnRPibOqrOxJc28TdjuvjnjgO1opTR1vbusZdHGvKzqOuiWtr0GpwjIpjI1gdm/P/uYT5n7Sttxr9K+vetdMtiBxzCegGgXEYPfVBpL760QFNRnnSekmhrSBz8LMty0SwOi4+qLbfgf651l9TOZYnnRcYntBzpnPwI5V9UbASdtbf54JR+1gugXGSN5Fu6pGrERoEz0awYuzHS1jVj0yOFkwLRyNBVyPGqZkmgrVxieJY09f6YR0wJwb/8rll3mc0CBuu/0LGuagX5wkNYAVY5xIaxlBJOVycfcjwaBBWMyqwHlNtuSaCVWM9XqKX0MiAbcs3cDQIq7TF7ScllHwbwYqxn5fQjAdy2VjbLX0Z2IhxIxwmLmE+AmDhMF5SDcdiYjeaAjBpnePL5LrHYSHnjy4PZ2AiWDMjnRUGdbm9a8FiW2piw8qrge1jcW+DLPdui4OE/SsFC+fdzb+y9sG1wmNDzescH0nig77Ad61B7dn/ca56bg1t0PCZnesAa8dxAYAF9dwNVNxJR2CV3PogEn8NbcCPtdHl4Q0kepLh7wlSYXP7T097e/I51GbXtxGOAi7D3xIki8PMMSsKUwNdppDbUft/y2DBhO1otOYGetj3zQzp+xWDJbF5+0MZ9PaVeZHStw0anurANwRJ8e7ul+qXgLf/hn823ZnOOeNuhGGqA6yMOx9EO955P17Qrw7vIew0abggMMq9grqALbQKVsga5uo/AM647CZgRmtnYMhkR+XzzYIFcu+DqAv22bX0dgF3zTmW4e4FloPTvmoG2K4ZCJfQLn2+VrBEenxQsNjfKo9AFNAJPWNxN7DC+SwUFqztFfoINnECc7KBHSJEMqG2t8/HoajTWgjWwh96f+1+/2n6W/+7w8nYYZzDj7ZhJgDTJxOcWmeQhHvp6V2CJdObSSCiYvI7Vy6FQ/TwD2WAm4DUGVJQ8+vUd3ZKqNWejBgDsxEAgyEFUWm/Ef0y+LWObQFIgUEFdcXEdy5dCk+fSXguJ78FWAL9uTgiovab7ye9s3hXW5ct/sOfHQP88bfJbwEWTjZ1Pq6wtSyfPhVX+nuPYLW4ndzLoLC0a3oBOQxVAXDG/kwuJlZJ6cmtUqqznnAEwDWTz55ppKlJeYgZPUhkAz8EWGxXG6XVZJDVdTi2G/gixO5s3cixDzfkZZiFQS3OOgFs7vfquaX8cxAzDnXTjPbeZS5loD16jhJ5BMBGpyDa/xzCDCIiem6brum62/abZ0Lk4mMwI4j+VAW8GUgdrYKyxv30EFOOJxFlIZXzyqci/D1BumgVRHkddofDyByQyAYmDM6LO9MU01sxH55lbAtAWgzPizvz2zs5uRlz4fhTG9sEkBYMBVH93Woim3+tY1sAEkPfDyIiaiL06GOANBwwRd8PIiKSh4nNmAefqtgWgOTg+SASzQoScshjA3OYClpDTht5bGABL4ojamTAY4WicJCxLQApwlXQ4oeFDhLbKwILONnsF357XvIu0hAQsIOvIGoWLKFjDgEBKwwUtGAJHWUb2wSQKCYKWqyEnn/CiiBgiZGCFiqhw/dtbBNAspgpiJrnH99PY0g8kEQADnBHVM8sbmgVAgIusMeDTixtaPUJAgIuGCuImkVNM/0EAQEnjKM4IsrqxSx2+BV7KwI3zH0QUSc/e7cjDn+CgIAjhrm4F37/74lPRgnD8Z+wOSlwxUpBRF8WMDB02H6NbQJIH5t+EBEtIKv9tEUOAbhj0w8iIqJGpJ2S+xVJOOADawVRl09+3Pd0HP+IHALwgmU/iIiIviQ7xeewrWObAAAR5VMftToNFY43AXPhMbYazOnSTyOCBbGd/pg7v9Qi9isD4JpsH1sTRiCDAGZHQm6owZ5wYIYk44bK2G8KgH6ScEPoAYH5ks0+KdehBwRmjZz32BDGgMDs2c03lGtk7JcDgJ65hnJdEfvNAMBD1LHVck9XIoAD6SDnpqFKxH4lABgxq5QC9AMSpGhjC+cV6AckynYOsRz0AxImdn+oexSxXwEATogqnn5a5N/AAsjKOB2iuoj95AB4Yht82naH7g9YFCKoI4L7AQtEVmFmzLU7EftRAZiG7eQiah+x/hQsmilF1EA+IA7W+2ZbkW+3Exw99Lnet/5rBYBDWAURUbaV8oO/6g77uvZXGwCmBFcQEZGQMvfgi57qusH28SAuURRERJTlMs+tndFT0zSNT3MAsCOagl6QQkhhpKND2zQtxAPmQmQFvZBneZZn2Vhgd2yo6dq2bUPZBACLWSjoTJYTkbz5qWte/gNglvw/IM/Zd6MJ38cAAAAASUVORK5CYII=",id:"429c0f381e",height:308,preserveAspectRatio:"xMidYMid meet"}),r.createElement("mask",{id:"3ce12ac5d6"},r.createElement("g",{filter:"url(#af1f0e1a1e)"},r.createElement("g",{filter:"url(#607805b6a5)",transform:"matrix(0.442077, 0, 0, 0.443182, 6.751808, 127.339854)"},r.createElement("image",{x:0,y:0,width:833,xlinkHref:"data:image/png;base64,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",height:308,preserveAspectRatio:"xMidYMid meet"})))),r.createElement("image",{x:0,y:0,width:833,xlinkHref:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA0EAAAE0CAIAAABl76/VAAAABmJLR0QA/wD/AP+gvaeTAAAOKUlEQVR4nO3d2XLbyBJFUUjh//9l9gM7aLWaA4YaMrPWer5hkQA6zmbR8v3aCON2u819AV9fX3NfAACwk82eZnqx7aHqACAmCz1IimL7SNIBQBAmuaMa3faGpAOAWWxwY+W77RU9BwAj2d0Glu22p8QcAAxgbs+Tbh/pOQDoxMQeJt1OEHMA0JZl3Uu6XafkAKAVm/qZemtOzAHARab0Jek2gJgDgHMs6BPqbTAlBwBH2c6/pNtcSg4A9rOa26beIlFyALDH6nup3sIScwDwxrozqd5SUHIA8NSKA6ne0lFyAPDLWtOo3vKScQDw0yq7qN5qUHIAcLfEIgq4YpQcABTfQvVWmJIDYGVlV1C9rUDGAbCsmhMo4Jai5ABYULXxU2/LUnIALKXU7Am4xck4ANZRZPPUGw9KDoAVVFg7AccvMg6A8nJPnXrjDSUHQGGJR07A8ZGMA6CqlAun3thPxgFQUr55E3CcoOQAKCbZsAk4TpNxAFSSZtXUG9fJOADKyDFpAo5WZBwANSTYMwFHc0oOgOyiL5mAoxMZB0BqoWdMwNGVjAMgr7gbJuAYQMYBkFTEAVNvjCTjAMgo3HoJOMaTcQCkE2u6BByzyDgAcgm0WwKO6ZQcAFlEWSwBRxAyDoAUQsyVgCMUGQdAfPO3SsARkIwDILjJQyXgCEvGARDZzJUScAQn4wAI63vWDxZwAACnzTlmEHBk4SgOgJgm7JOAIxcZB0BAo8dJwJGRjAMgmml/Hw4S8dkDgGiGni4YQlJzGgdAHOM2ScBRgIwDIIhBgyTgKEPGARDBiDUScBQj4wCYrvvvNAg4AIDm/F4qHOaTCQDT9f1KyNRRmG9UAZio4wgJOMqTcQDM0uu7VAEHANBPl1MEAcc6HMUBMIXfaYBLfGIBYIr2RwgmjQU5jQNgsMbncAIOAGAA36VCAz69ADBYyy+AzBiL840qAMM0O4cTcAAAw/guFZrxSQaAYdp89WO64ME3qgAM0OAcTsABAAzmu1RozKcaAAa4+qWPuYKnfKMKQFeXzuEEHADAFL5LhS58wgGgq/MNZ6IAAGZxDge9+JwDQD8n/9q1cYKd/HIDAD04hwMAyOfMCYFDODjEURwAzR0+hxNwAADT+S4VuvPJB4Dm/hz6X0ebIl9R8VS0BxUAmnMOByPISgDaOtBwRggAIAjncFQT9sNG2BcGQEZ7G878AADE4RwOxvFZCIBWdjWc4QEACMU5HAzlExEATeRuOHMIAKzpc8PpJGjLf1MAXJf7HA4AYE0fGs6BAbl4YgFYhHM4mEBrAnDRu4YzMwAAMaU/hxOaJOXRBeCK9A0HD6oIgHW8bDhzCAAQlnM4mMYnJQBOq9BwhpDNYwDAYp43nDkEAIiswjkc5OXzEgDnFGk4QwgALOVJw+kh0vHQArCaIudwkJcABeCEOg1nCJfl1gOwoN8NZw4BAOKrcw63CVDS8ugCcFSphmNB6geANf2n4QrMYYG3AADwkXM4EquU7JXeCwADFGw4WwgAlFew4ViEWAdgZX8brtIiVnovPOUWA7A453AQhTAFYL8/vX/A19dXvz/8zebdbreuP5qJdrZOvwdAbAEwXeVzOEO7MgUPQG3/Nly/3OkaUnZ6QdIcALba53CbvS9n+reovXliAdgpfcN9XGujSFueKAAiSN9wrKP8IRwA7Pe95T9XcBS3AjcRAH4acQ4XYX0jvAZO23/7HMIBsIgi36XuWW4Zx3UDniIPKgB7FGk4CnMIBwD/V6fhHMWVJOAA4KlBDTcmnmRcMW4WALzyveBMLviWMzp0m8YcwnlyAIijznepdzu33BgHFzDgACCUcQ03LJtkXHZujSsAwEfVzuHuZFxeR2/KsEM4TwsAodRsuP0McyhhAw4AohnacCODaf+6y7ggIgechwSAaCqfw8m4RCIHHAAENLrhBteSjEsheMB5NgAIaMI5nIzjp+ABBwAxVf4u9UHGhRU/4DwSAMT0NWuigo+xw54BBNx7HkIA3ph2Djd+HQ8totOX3uIHHABEtsR3qQ8yLoLb7ZYi4DwAAEQ2s+GmbKSMm+vEJRVwAPB/0/4+3N9XMOk7Mn89brBzT9rKAeepA+CN+d+lpviliiCjnte547eVAw4A3pt/DneX4jRuczRyXKLjty1YwHnYAHhj/jncXYrTuC3Yxscn4ACgkyjncHcTDx4cyLWVq962kAHnGQPgjSjncHcTd/TEgVzA1Q9CwAFAb7HO4e7mHj9k+ccvYkpXb1vggPNcAfBGxIbbAqyXkjvq9IMk4F5Z/IkC4L2gDbcFGLCMR0pTJK23LXbAbQGuDwCRxW24u+kzpuReufLkRLg+wZ/8LcZVAiCs6A23xVgyJfeTehsjwrUCIKwEDbeFGbO8Xxq2kr3etjwBt4W5YgDElKPh7oJM2oIld/EhCfLGEz3qd0GuGwAxZWq4LdKqrVNyBc7etoQBt0W6egAElKzh7kJtW+F/haRGp2Z8wu9CXUYAoknZcA9xRq7e/1VXgV/jSP1sb8EuJgDR5G64u+lTV+O86qfU358WeKTvpl9JACKr0HB3Uwbv+tWLttOtnoektyOUaM8GAKHUabi7YbPX8LrFmermD0PG2xFHnAcDgICqNdxd7/HL2zpv9HsSur67kg/wXYSnAoCwvme/gC767frtduvxh08Pka4voOvt6PQnA0BwNRtu67PuSUMngnS3AwCCK9twW+uNL1wMY96a2wEADVVuuK3d0mesnIA/NNftAIDIijfclm3vB7/a8Rfn+k/MdUMBoJP6DXedaAAAolmi4XJF2LBXO+uyXPm5uW4lAPSzRMNdIRoAgIBWabhcKTbg1c69ILluxxT+gV8A3lul4c6RGqG4HQDwoOGC0isAwBsLNZwqeohwKSK8BgDIa6GGO0pkhOJ2AMBPGi4u1QIAvKLhliMNAaAADQcAkI+Gg3D843AAfKThAADy+faJHwAgHedwAAD5aDgAgHw0HABAPhoOYvFXVAHYQ8O9ZEoBgLC+N7FCBp5SAPjJORxzaDIAuGKhhhMNAEAZCzUcxOeTBgA7aTgAgHz+bTif/gEAEnEO9460DcXtAICHVRrO/D9EuBQRXkNALgsA+63ScAAAlfxtOGcAT7ksAEBAS5zD6bBQrtwOtxIA7pZouKT0ylLcbgAO+U/DWZGnXJZQ3A4A2FY4hzP5obgdANBE/YajnnohWO8dAdBb8YZrNY3FJnbW2yl2GQFgot8NZ2VJwYMKwOIqn8O1nfnB0VCvUeq9IwCYqHLDQQrqFoATnjRcjUXp8S5qXJkp3A4AaMs53KIEEACk9rzhDPwrY65Msevf7+0UuFAF3gIAU9Q8h7OLAEBtNRuuqzKBWOaN5OUWAHDay4bLuy55X/ld9tf/S++3U+xyAcBOzuEAAPIp2HC32232S0jDIdZELj4AV7xruLwb0zXjuv7hea/5K72TWrIDsKY/s19AL7fbrXkPyYVz7tfN7fipXqwDMNjnIUm9lFujsRxzEWbt+shbnOh2dKXhALio7Dncw6+937+dBUIhoJ9X1b0AgNN2jagFHWPi2YxbPJJDOACuK/h7qUnZdQBgPw0HQ4l1AJrY1XBWp7fpV3j6CwAADnEOB+NoZQBa2dtwtqefINc2yMsAAPZwDgeDqGQAGjrQcBaoh1BXNdSLAQDecA4HI+hjANo61nB2qDy3GABScA43k2BahBsNQHOHG84aAQBM5xxumrA1HPaFJeV6AtDDmYazSQAAc508h5Nxtbm/rbiSAHTiu9Q5TDsAcMX5hlMh8J7/RgDoxzncBCmmPcWLjMwFBKCrSw1npQAApmgQYbfb7fofso5c4evmnpPrLgOQke9SoTEBB8AADRrOYgEADOYcbrRE304meqlx+EgDwBhtGs5uHZKijVK8SABYVsv2svqHRA5ft/KcyPcUgGJ8lzpN2E4K+8KCE3AAjNR4dcz/CXG23+07Lc5NBGAR7YdHB5wzNwLctYs0HACDdRkeQXDFyBpwp5oQcACMp+Gia94H7k5bAg6AKXrNj1DobU86uAsDaDgApug4PwKC8gQcALP0XSAZR2ECDoCJ/PtwcIaAA2Cu7jvkKI56BBwA03U/h7N2AADNDQosp3GU4WMJABH452ThAAEHQBBDB0nGkZqAAyAOv5cKuwg4AEIZPUuO4shIwAEQzYRlknHkIuAACGjCd6kWEQDgomk55TSOFHzkACCmmfsk4whOwAEQ1uSJknGEJeAAiGz+Ssk4AhJwAAQXYqhkHKEIOADii7JVMo4gBBwAKQSaKxnHdAIOgCxiLZaMYyIBB0Ai4UZLxjGFgAMgl4i7JeMYSb0BkFHQ9ZJxjCHgAEgq7oDJOHoTcADkFX3DlBydCDgAUkswYzKO5gQcANnlWDIZR0MCDoAC0oyZjOM69QZAGckmTclxmoADoJJ8qybjOEHAAVBMymGTcRwi4ACoJ/G2KTk+Um8AVJV74WQcbwg4AApLP3Iyjv9TbwCUV2TqlBwPAg6AFdRZOxmHegNgHdU2T8ktS8ABsJSCsyfjVqPeAFhQ2fFTcosQcACsqfj+KbnC1BsAK6u/gjKuHvUGAKtsoZIrQ8ABwLZOw90pudTUGwA8rDiKSi4d9QYAv6w7jUouBfUGAE+tPpBKLiz1BgBvmMltU3LBqDcA+MhY/qXkplNvALCTyfxNyY0n3QDgKNv5kpgbQL0BwDkW9AMl14N0A4CLTOleYq4J9QYATRjUw8TcCdINANqyrOeJuY+kGwB0YmIbEHO/SDcA6M3WtrRyzOk2ABjJ7vaySM9JNwCYwgCPUKnnRBsARGCP50hUdaINAAIyz1EEqTrFBgAp/AP6SAKCzoqvFQAAAABJRU5ErkJggg==",id:"258877c793",height:308,preserveAspectRatio:"xMidYMid meet"}),r.createElement("clipPath",{id:"fd7f563255"},r.createElement("path",{d:"M 124 160.085938 L 365 160.085938 L 365 214.835938 L 124 214.835938 Z M 124 160.085938 ",clipRule:"nonzero"})),r.createElement("image",{x:0,y:0,width:396,xlinkHref:"data:image/png;base64,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",id:"7e40e01aca",height:355,preserveAspectRatio:"xMidYMid meet"}),r.createElement("mask",{id:"71c15194ea"},r.createElement("g",{filter:"url(#af1f0e1a1e)"},r.createElement("g",{filter:"url(#607805b6a5)",transform:"matrix(0.609848, 0, 0, 0.610563, 123.871096, 160.087885)"},r.createElement("image",{x:0,y:0,width:396,xlinkHref:"data:image/png;base64,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",height:355,preserveAspectRatio:"xMidYMid meet"})))),r.createElement("image",{x:0,y:0,width:396,xlinkHref:"data:image/png;base64,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",id:"982203a570",height:355,preserveAspectRatio:"xMidYMid meet"}))),hn||(hn=r.createElement("g",{clipPath:"url(#0f083a6f65)"},r.createElement("g",{mask:"url(#3ce12ac5d6)"},r.createElement("g",{transform:"matrix(0.442077, 0, 0, 0.443182, 6.751808, 127.339854)"},r.createElement("image",{x:0,y:0,width:833,xlinkHref:"data:image/png;base64,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",height:308,preserveAspectRatio:"xMidYMid meet"}))))),jn||(jn=r.createElement("g",{clipPath:"url(#fd7f563255)"},r.createElement("g",{mask:"url(#71c15194ea)"},r.createElement("g",{transform:"matrix(0.609848, 0, 0, 0.610563, 123.871096, 160.087885)"},r.createElement("image",{x:0,y:0,width:396,xlinkHref:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAYwAAAFjCAIAAAChSatKAAAABmJLR0QA/wD/AP+gvaeTAAAGMElEQVR4nO3dzXKjOhAGUHxr3v+VuQvXpFIZxwb0192cs5vFgJBaH4IAfmzl7Pvea1OPx6PXpqCj9iI/W9un9th34tSZhB2z6aUL/T66SU8Lk/T4AQ5qZPeZs3AqHtG9og4ewoX9duycP702tNCcLHjuJeDa6uvwJ7dtTrfzNKi3j1T18oH+b+3uG+37PrkH5+/xuOBtW92ExEb33ojK6bjBxCG1sO4jT7nIUcUF00bz5Y4i1FLKkIowD5c34L0J594J/4XUndar8flCKs6wxWnJS8Gbx0dG8ClZSBm2U4bebZ35H29IX33JFFKGjZtQ6t+lCSnDdk3kv9oQysdHWFY9f5MjpGJOjIDPTMUXcyhDWdJF3Z907ShHSAWUKKHkAu8FL+YEIRVwjgUf1HG6jEXAAb2z+MUc/bWYoS8rXdt4/EElr15vDh/cTmMxPx6PCaec6CHVxW8jcSGwxiXUxy0vX4B0bMC+77K+rx/9+fXPN6M2egh6bT/05V6Xs8rBnnr81bjHcVqatzzgGOpNYfxWNsfnxfVmdRI6pBpd69/3493QnD5WtUHMhXWkJH5EVa8qmrNMixtSLbOicU3UcuaZIE5LWki9Lk4Vw7XLhQv11rdE44bUZV06aNCZp5do7aG2s1HYd+/Vbpx3/m6pLNi2beQ7gHo4i4N/NBwxoEFDyrUAHDE56JecVEpd7t3ntDwzxIfuy9moXYTPqw1VJ6QkFHdWOKrqhNRNTH5K/uzuwv6mzk2UjKqg96TOGvojYt33fla9smOo7wVT4AqjSEgVUCaJ5rzPVVX33lv1i2cdRbzcU+JBTLjWu7YjLtj/Wt2Q0yKGFDBOuqiqEFJ517FzXOuflmWU2+ct5tRzog6vEFJQzLScShFVQqq4OcuoLlJMmGmmXR/E73YhVdm0Qv93R67B28mpJyFVlpgowCBuQqqqluLu9eSB2+ddzPlgbOSerxBSkft3CaffeoJ/23qoCiHFl/ZSXp74yxsQ2dCoCtvzEV+L8V7FBQtPswZrsvafZculyErqDkM1QZBuDNKMFOL/ylG7iCupCQL+yF3j6dGneG/u4Od9MyqykipmSdyUrO+7KbmqqhNS5lilHqh0LPMVi6qgIZXoZY5B9ACNyuRU0JC6zCy9JmC/BWxSOjVyqlpIVWIxxVPe79V1ETekWj7zeNvhvCZsd4Vt2EzfO+GeHRI3pBrVGE6LqZv7dyhPDW6NSigbUtvVJVWNhdjxQwh+sMGbN9Rvx36wRMt0XeiHObu8H/PcQsCnNw/yklBYvcblZXF+3Pibwi5WMKFDqqNiw3aEZ9DzKrMQ7iJ6SFlHbCM74cJm539l4W5pq+B/SHBP6lYF2pdyT2fhkIWdaAlCim3M724umQ/+XvnGTQ7zrBwhFTbj78ZAjCOhfpMjpDbTo/diKt1lhTk8VOT5lSakttj9eAf6v6rgI5sppLbwvTnaiDtTS9x8HDklWUht5b6Vc1aXnIqWWQclbfZBq6o6/mzKF1JPcXo2TkuGuslhrjW/k1MMa9aQ2gIsqVY1oHExFWQ94vb5S9OKavn0OS76E+cfzX8kPcvQktfoX1XIVcPpQ2r71uND0yrUuE6O5kHH7p2n90ZEVagyPihfi48Y+no6LNFS1akrOXHTT/k4wKlHkRt6X9LqGQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgJX+BxMHlHwPopN8AAAAAElFTkSuQmCC",height:355,preserveAspectRatio:"xMidYMid meet"}))))),bn||(bn=r.createElement("g",{fill:"#FFFFFF",fillOpacity:1},r.createElement("g",{transform:"translate(192.00922, 234.373728)"},r.createElement("g",null,r.createElement("path",{d:"M 15.078125 -9.984375 L 5.609375 -9.984375 L 5.609375 0 L 2.625 0 L 2.625 -22.59375 L 16.625 -22.59375 L 16.625 -20.140625 L 5.609375 -20.140625 L 5.609375 -12.421875 L 15.078125 -12.421875 Z M 15.078125 -9.984375 "}))))),gn||(gn=r.createElement("g",{fill:"#FFFFFF",fillOpacity:1},r.createElement("g",{transform:"translate(214.018703, 234.373728)"},r.createElement("g",null,r.createElement("path",{d:"M 20 -10.5625 C 20 -8.351562 19.625 -6.421875 18.875 -4.765625 C 18.132812 -3.117188 17.082031 -1.859375 15.71875 -0.984375 C 14.351562 -0.117188 12.757812 0.3125 10.9375 0.3125 C 9.15625 0.3125 7.578125 -0.125 6.203125 -1 C 4.828125 -1.875 3.757812 -3.117188 3 -4.734375 C 2.238281 -6.359375 1.847656 -8.234375 1.828125 -10.359375 L 1.828125 -12 C 1.828125 -14.164062 2.203125 -16.082031 2.953125 -17.75 C 3.710938 -19.414062 4.78125 -20.691406 6.15625 -21.578125 C 7.539062 -22.460938 9.125 -22.90625 10.90625 -22.90625 C 12.71875 -22.90625 14.3125 -22.46875 15.6875 -21.59375 C 17.070312 -20.71875 18.132812 -19.445312 18.875 -17.78125 C 19.625 -16.125 20 -14.195312 20 -12 Z M 17.03125 -12.03125 C 17.03125 -14.707031 16.492188 -16.757812 15.421875 -18.1875 C 14.347656 -19.625 12.84375 -20.34375 10.90625 -20.34375 C 9.019531 -20.34375 7.535156 -19.625 6.453125 -18.1875 C 5.378906 -16.757812 4.828125 -14.773438 4.796875 -12.234375 L 4.796875 -10.5625 C 4.796875 -7.96875 5.335938 -5.925781 6.421875 -4.4375 C 7.515625 -2.957031 9.019531 -2.21875 10.9375 -2.21875 C 12.863281 -2.21875 14.351562 -2.914062 15.40625 -4.3125 C 16.46875 -5.71875 17.007812 -7.726562 17.03125 -10.34375 Z M 17.03125 -12.03125 "}))))),pn||(pn=r.createElement("g",{fill:"#FFFFFF",fillOpacity:1},r.createElement("g",{transform:"translate(240.309609, 234.373728)"},r.createElement("g",null,r.createElement("path",{d:"M 10.90625 -9.140625 L 5.609375 -9.140625 L 5.609375 0 L 2.609375 0 L 2.609375 -22.59375 L 10.09375 -22.59375 C 12.632812 -22.59375 14.585938 -22.015625 15.953125 -20.859375 C 17.328125 -19.703125 18.015625 -18.015625 18.015625 -15.796875 C 18.015625 -14.390625 17.632812 -13.160156 16.875 -12.109375 C 16.113281 -11.066406 15.054688 -10.289062 13.703125 -9.78125 L 19.015625 -0.1875 L 19.015625 0 L 15.8125 0 Z M 5.609375 -11.578125 L 10.1875 -11.578125 C 11.664062 -11.578125 12.835938 -11.957031 13.703125 -12.71875 C 14.578125 -13.488281 15.015625 -14.515625 15.015625 -15.796875 C 15.015625 -17.191406 14.597656 -18.257812 13.765625 -19 C 12.929688 -19.75 11.734375 -20.128906 10.171875 -20.140625 L 5.609375 -20.140625 Z M 5.609375 -11.578125 "}))))),vn||(vn=r.createElement("g",{fill:"#FFFFFF",fillOpacity:1},r.createElement("g",{transform:"translate(264.320195, 234.373728)"},r.createElement("g",null,r.createElement("path",{d:"M 19.296875 -2.96875 C 18.535156 -1.863281 17.46875 -1.039062 16.09375 -0.5 C 14.726562 0.0390625 13.132812 0.3125 11.3125 0.3125 C 9.46875 0.3125 7.832031 -0.117188 6.40625 -0.984375 C 4.976562 -1.847656 3.875 -3.078125 3.09375 -4.671875 C 2.3125 -6.265625 1.910156 -8.113281 1.890625 -10.21875 L 1.890625 -12.1875 C 1.890625 -15.582031 2.679688 -18.21875 4.265625 -20.09375 C 5.859375 -21.96875 8.09375 -22.90625 10.96875 -22.90625 C 13.332031 -22.90625 15.234375 -22.300781 16.671875 -21.09375 C 18.109375 -19.894531 18.984375 -18.1875 19.296875 -15.96875 L 16.328125 -15.96875 C 15.765625 -18.957031 13.984375 -20.453125 10.984375 -20.453125 C 8.984375 -20.453125 7.46875 -19.75 6.4375 -18.34375 C 5.414062 -16.945312 4.898438 -14.921875 4.890625 -12.265625 L 4.890625 -10.40625 C 4.890625 -7.875 5.46875 -5.859375 6.625 -4.359375 C 7.78125 -2.867188 9.347656 -2.125 11.328125 -2.125 C 12.441406 -2.125 13.414062 -2.25 14.25 -2.5 C 15.09375 -2.75 15.789062 -3.164062 16.34375 -3.75 L 16.34375 -8.828125 L 11.109375 -8.828125 L 11.109375 -11.25 L 19.296875 -11.25 Z M 19.296875 -2.96875 "}))))),On||(On=r.createElement("g",{fill:"#ffffff",fillOpacity:1},r.createElement("g",{transform:"translate(290.409437, 234.373728)"},r.createElement("g",null,r.createElement("path",{d:"M 15.390625 -10.4375 L 5.609375 -10.4375 L 5.609375 -2.4375 L 16.984375 -2.4375 L 16.984375 0 L 2.625 0 L 2.625 -22.59375 L 16.828125 -22.59375 L 16.828125 -20.140625 L 5.609375 -20.140625 L 5.609375 -12.875 L 15.390625 -12.875 Z M 15.390625 -10.4375 "}))))))}var kn=r.forwardRef(En),Bn=(n.p,function(){return Object(Qe.jsx)("div",{className:"grails-header",children:Object(Qe.jsx)("div",{className:"logo-wrapper",children:Object(Qe.jsx)("div",{className:"container",children:Object(Qe.jsx)("a",{href:"https://grails.apache.org",children:Object(Qe.jsx)(kn,{})})})})})}),Dn=(n(515),Bn),Mn=function(){var e=window.navigator.appVersion;return-1!==e.indexOf("Linux")||-1!==e.indexOf("Mac")||-1!==e.indexOf("X11")?He:-1!==e.indexOf("Win")?Fe:""}(),In=[{value:"*nix",label:"Unix/Linux/macOS"},{value:"win",label:"Windows"}].sort((function(e,t){return e.value===Mn?-1:t.value===Mn||e.value>t.value?0:-1})),Nn=function(e){var t=e.info,n=e.theme,a=void 0===n?"light":n,c=e.onClose,A=e.onStartOver,i=Se().name,o=t.htmlUrl,s=t.cloneUrl,d=Object(r.useState)(Mn),f=Object(l.a)(d,2),h=f[0],j=f[1],b=Object(r.useMemo)((function(){var e;switch(t.type.toLowerCase()){case"clone":var n="git clone ".concat(s);return{action:"Clone the repo",cmd:(e={},Object(P.a)(e,He,n),Object(P.a)(e,Fe,n),e)};case"zip":var r="unzip ".concat(i,".zip");return{action:"Unzip the archive",cmd:Object(P.a)({},He,r)};default:return null}}),[t.type,s,i]),g=Object(r.useMemo)((function(){var e,t="cd ".concat(i);return{action:"cd into the project",cmd:(e={},Object(P.a)(e,He,t),Object(P.a)(e,Fe,t),e)}}),[i]),p=Object(r.useMemo)((function(){var e,t={action:"Run Application!"};return t.cmd=(e={},Object(P.a)(e,He,"./gradlew bootRun"),Object(P.a)(e,Fe,"gradlew bootRun"),e),t}),[]);return Object(Qe.jsxs)(_e.a,{open:t.show,options:{onCloseEnd:c},header:"Your Grails app is ready for takeoff.",className:"modal-lg ".concat(a," next-steps"),actions:[Object(Qe.jsx)(u.Button,{waves:"light",modal:"close",flat:!0,children:"Close"}),Object(Qe.jsx)(u.Button,{waves:"light",onClick:A,flat:!0,children:"Start Over"})],children:[Object(Qe.jsx)("div",{className:"os-select-opt-row",children:In.map((function(e){return Object(Qe.jsx)("div",{className:"os-select-opt-col",children:Object(Qe.jsx)("span",{className:["os-select",e.value===h&&"active"].join(" "),role:"button",onClick:function(){return j(e.value)},children:e.label})},e.value)}))}),o&&Object(Qe.jsxs)("div",{className:"next-steps-wrapper",children:[Object(Qe.jsx)("h5",{className:"heading",children:"View your new repo on GitHub"}),Object(Qe.jsxs)(u.Row,{className:"next-steps-row",children:[Object(Qe.jsx)(u.Col,{className:"text",children:o}),Object(Qe.jsx)(u.Col,{className:"icon",children:Object(Qe.jsx)("a",{target:"_blank",rel:"noopener noreferrer",href:o,children:Object(Qe.jsx)(u.Icon,{children:"link"})})})]})]}),b&&Object(Qe.jsxs)("div",{className:"next-steps-wrapper",children:[Object(Qe.jsx)("h5",{className:"heading",children:b.action}),b.cmd[h]&&Object(Qe.jsxs)(u.Row,{className:"next-steps-row",children:[Object(Qe.jsx)(u.Col,{className:"text",children:b.cmd[h]}),Object(Qe.jsx)(u.Col,{className:"icon",children:Object(Qe.jsx)(vt,{value:b.cmd[h]})})]})]}),Object(Qe.jsxs)("div",{className:"next-steps-wrapper",children:[Object(Qe.jsx)("h5",{className:"heading",children:"cd into the project"}),Object(Qe.jsxs)(u.Row,{className:"next-steps-row",children:[Object(Qe.jsx)(u.Col,{className:"text",children:g.cmd[h]}),Object(Qe.jsx)(u.Col,{className:"icon",children:Object(Qe.jsx)(vt,{value:g.cmd[h]})})]})]}),Object(Qe.jsxs)("div",{className:"next-steps-wrapper",children:[Object(Qe.jsx)("h5",{className:"heading",children:p.action}),Object(Qe.jsxs)(u.Row,{className:"next-steps-row",children:[Object(Qe.jsx)(u.Col,{className:"text",children:p.cmd[h]}),Object(Qe.jsx)(u.Col,{className:"icon",children:Object(Qe.jsx)(vt,{value:p.cmd[h]})})]})]}),Object(Qe.jsxs)("p",{className:"info",children:["Once you\u2019ve gotten your new project started, you can continue your journey by reviewing our"," ",Object(Qe.jsx)("a",{href:"https://grails.apache.org/documentation.html",children:"documentation"})," and"," ",Object(Qe.jsx)("a",{href:"https://guides.grails.org/index.html",children:"Grails Guides"})]})]})},Sn=(n(516),Nn),Tn=n(574),Qn=n(583),Ln=n(584),Hn=n(575),Fn=function(e){var t=e.name,n=e.label,r=e.options,a=e.id,c=e.value,A=e.onChange,i=e.tabIndex,o=void 0===i?"0":i;return Object(Qe.jsx)("div",{className:"MuiFormControlOverrides select-wrapper input-field col",children:Object(Qe.jsxs)(Tn.a,{children:[Object(Qe.jsx)(Qn.a,{id:a,children:n}),Object(Qe.jsx)(Hn.a,{name:t,labelId:"".concat(a,"-select-label"),id:"".concat(a,"-select"),value:c,onChange:A,tabIndex:o,children:r.map((function(e,t){return Object(Qe.jsx)(Ln.a,{value:e.value,children:e.label},"select-".concat(e.value,"-").concat(t))}))})]})})},Pn=(n(517),Fn),Un=function(e,t,n,a){return Object(r.useCallback)((function(){if(!(n.length<=1)&&t){var r=n.findIndex((function(e){return e.value===t}));r===n.length-1?a({target:{name:e,value:n[0].value}}):a({target:{name:e,value:n[r+1].value}})}}),[e,t,n,a])};function Vn(){var e,t,n=function(){var e=Object(N.f)(be),t=Object(l.a)(e,2),n=t[0],r=t[1],a=Ne("type");return ke(a,r),[n,r,a]}(),r=Object(l.a)(n,3),a=r[0],c=r[1],A=r[2],i=function(e){return c(e.target.value)},o=Un("type",a,null!==(e=null===A||void 0===A?void 0:A.options)&&void 0!==e?e:[],i);return ft(ct.keys,o),Object(Qe.jsx)(Pn,{tabIndex:1,className:"mn-input",label:"Project Type",name:"type",value:a,onChange:i,options:null!==(t=null===A||void 0===A?void 0:A.options)&&void 0!==t?t:[{value:a,name:"Loading"}]})}var Gn=function(e){var t=e.name,n=e.label,r=e.options,a=e.id,c=e.value,A=e.onChange,i=e.expected,o=void 0===i?3:i,s=e.loading,l=void 0!==s&&s,u=e.tabIndex,d=void 0===u?0:u,f=l?new Array(o).fill().map((function(e){return{value:"",label:"..."}})):r;return Object(Qe.jsxs)("div",{className:["radio-group",l?"loading":""].join(" "),children:["string"===typeof n&&Object(Qe.jsx)("label",{className:"input-field",children:n}),f.map((function(e,n){return Object(Qe.jsxs)("div",{className:"radio-row",children:[Object(Qe.jsxs)("label",{className:"radio-label",htmlFor:"".concat(a,"-radio-").concat(n),children:[Object(Qe.jsx)("input",{tabIndex:d,id:"".concat(a,"-radio-").concat(n),type:"radio",name:t,value:e.value,checked:l?void 0:c===e.value,onChange:l?void 0:A}),Object(Qe.jsx)("span",{className:"radio-text",children:e.label})]},"".concat(n,"-").concat(e.value)),Object(Qe.jsx)("div",{className:"loading-wrapper",children:Object(Qe.jsx)("div",{className:"loading-ghost"})})]},n.toString())}))]})};function Rn(){var e,t,n=function(){var e=Object(N.f)(ve),t=Object(l.a)(e,2),n=t[0],r=t[1],a=Ne("gorm");return ke(a,r),[n,r,a]}(),r=Object(l.a)(n,3),a=r[0],c=r[1],A=r[2],i=function(e){return c(e.target.value)},o=Un("gorm",a,null!==(e=null===A||void 0===A?void 0:A.options)&&void 0!==e?e:[],i);return ft(it.keys,o),Object(Qe.jsx)(Gn,{tabIndex:1,label:"GORM Implementation",id:"gorm",name:"gorm",value:a,onChange:i,options:null!==(t=null===A||void 0===A?void 0:A.options)&&void 0!==t?t:[],loading:!A,expected:3})}function Yn(){var e,t,n=function(){var e=Object(N.f)(Oe),t=Object(l.a)(e,2),n=t[0],r=t[1],a=Ne("jdkVersion");return ke(a,r),[n,r,a]}(),r=Object(l.a)(n,3),a=r[0],c=r[1],A=r[2],i=function(e){return c(e.target.value)},o=Un("javaVersion",a,null!==(e=null===A||void 0===A?void 0:A.options)&&void 0!==e?e:[],i);return ft(At.keys,o),Object(Qe.jsx)(Pn,{tabIndex:1,label:"Java Version",value:a,name:"javaVersion",onChange:i,options:null!==(t=null===A||void 0===A?void 0:A.options)&&void 0!==t?t:[{value:a,name:""}]})}function Wn(){var e=function(){var e=Object(N.f)(ie),t=Object(l.a)(e,2),n=t[0],a=t[1],c=Object(N.g)(Ae).version,A=De();return Object(r.useEffect)((function(){if(!n){var e=Math.max(0,A.findIndex((function(e){return e.version===c})));a(A[e])}}),[n,a,A,c]),[n,a,A]}(),t=Object(l.a)(e,3),n=t[0],a=t[1],c=t[2],A=function(e){var t=e.target.value;t&&a(c.find((function(e){return e.value===t})))};return function(e,t,n){var r=Un("version",null===t||void 0===t?void 0:t.value,n,e);ft(at.keys,r)}(A,n,c),Object(Qe.jsx)(Gn,{tabIndex:1,label:"Grails Version",id:"micronautApi",name:"micronautApi",value:null===n||void 0===n?void 0:n.value,onChange:A,options:c,expected:2})}function qn(){var e=Object(N.f)(he),t=Object(l.a)(e,2),n=t[0],r=t[1];return Object(Qe.jsx)(tn,{id:"starter-form-name-input",required:!0,tabIndex:1,className:"mn-input",label:"Name",name:"name",placeholder:"ex: myapp",value:n,onChange:function(e){return r(e.target.value)}})}function Jn(){var e=Object(N.f)(je),t=Object(l.a)(e,2),n=t[0],r=t[1];return Object(Qe.jsx)(tn,{id:"starter-form-package-input",tabIndex:1,className:"mn-input",label:"Base Package",name:"package",placeholder:"ex: com.mycompany",required:!0,value:n,onChange:function(e){return r(e.target.value)}})}function Kn(){var e,t,n=function(){var e=Object(N.f)(pe),t=Object(l.a)(e,2),n=t[0],r=t[1],a=Ne("servlet");return ke(a,r),[n,r,a]}(),r=Object(l.a)(n,3),a=r[0],c=r[1],A=r[2],i=function(e){return c(e.target.value)},o=Un("servlet",a,null!==(e=null===A||void 0===A?void 0:A.options)&&void 0!==e?e:[],i);return ft(ot.keys,o),Object(Qe.jsx)(Gn,{tabIndex:1,label:"Embedded Servlet Container",id:"servlet",name:"servlet",value:a,onChange:i,options:null!==(t=null===A||void 0===A?void 0:A.options)&&void 0!==t?t:[],loading:!A,expected:3})}function Xn(){var e,t,n=function(){var e=Object(N.f)(ge),t=Object(l.a)(e,2),n=t[0],r=t[1],a=Ne("test");return ke(a,r),[n,r,a]}(),r=Object(l.a)(n,3),a=r[0],c=r[1],A=r[2],i=function(e){return c(e.target.value)},o=Un("test",a,null!==(e=null===A||void 0===A?void 0:A.options)&&void 0!==e?e:[],i);return ft(st.keys,o),Object(Qe.jsx)(Gn,{tabIndex:1,label:"Test Framework",id:"test",name:"test",value:a,onChange:i,options:null!==(t=null===A||void 0===A?void 0:A.options)&&void 0!==t?t:[],loading:!A,expected:2})}var zn,Zn,_n=function(e){e.onError;return Object(Qe.jsxs)(j.a,{className:"mn-starter-form-main",children:[Object(Qe.jsx)(f.a,{s:8,m:6,l:3,children:Object(Qe.jsx)(Vn,{})}),Object(Qe.jsx)(f.a,{s:4,m:6,l:3,children:Object(Qe.jsx)(Yn,{})}),Object(Qe.jsx)(f.a,{s:8,m:6,l:3,children:Object(Qe.jsx)(qn,{})}),Object(Qe.jsx)(f.a,{s:4,m:6,l:3,children:Object(Qe.jsx)(Jn,{})}),Object(Qe.jsx)(f.a,{m:3,s:12,className:"mn-radio",children:Object(Qe.jsx)(Wn,{})}),Object(Qe.jsx)(f.a,{m:3,s:12,className:"mn-radio",children:Object(Qe.jsx)(Rn,{})}),Object(Qe.jsx)(f.a,{m:3,s:12,className:"mn-radio",children:Object(Qe.jsx)(Kn,{})}),Object(Qe.jsx)(f.a,{m:3,s:12,className:"mn-radio",children:Object(Qe.jsx)(Xn,{})})]})},$n=(n(518),n(519),_n),er=["title","titleId"];function tr(){return(tr=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function nr(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},c=Object.keys(e);for(r=0;r<c.length;r++)n=c[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(r=0;r<c.length;r++)n=c[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}function rr(e,t){var n=e.title,a=e.titleId,c=nr(e,er);return r.createElement("svg",tr({id:"Layer_1",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 601.2 411.39",style:{enableBackground:"new 0 0 601.2 411.39"},xmlSpace:"preserve",ref:t,"aria-labelledby":a},c),n?r.createElement("title",{id:a},n):null,zn||(zn=r.createElement("style",{type:"text/css"},"\n\t.st0{fill:#FBB572;}\n")),Zn||(Zn=r.createElement("g",null,r.createElement("g",null,r.createElement("path",{className:"st0",d:"M1.72,85.03c4.29,0,21.47-0.86,80.73-0.86c0.86,0,2.58,0.86,2.58,1.72c16.32,43.8,60.12,80.73,116.8,100.49 c2.58,0.86,2.58,4.29,0,5.15c-5.15,2.58-12.88,5.15-15.46,6.87c-5.15,2.58-12.88,8.59-17.18,15.46 c-3.44,5.15-6.01,12.02-7.73,16.32c-0.86,2.58-0.86,6.87-0.86,12.02c0,11.17,1.72,26.62,6.01,36.93 c4.29,12.02,6.87,15.46,12.02,27.48c2.58,5.15,4.29,10.31,5.15,12.02c0,0.86,0,1.72,0,2.58c-1.72,1.72-4.29,6.01-9.45,8.59 c-8.59,5.15-27.48,6.87-36.93,6.87l0,0c-9.45,0-28.34-1.72-36.93-6.87c-5.15-2.58-8.59-6.87-9.45-8.59 c-0.86-0.86-0.86-1.72,0-2.58c0.86-2.58,3.44-6.87,5.15-12.02c5.15-12.02,7.73-16.32,12.02-27.48 c4.29-10.31,6.01-25.77,6.01-36.93c0-5.15,0-9.45-0.86-12.02c-0.86-4.29-4.29-11.17-7.73-16.32 c-4.29-6.87-12.02-12.88-17.18-15.46c-3.44-1.72-16.32-6.87-20.61-9.45c-6.01-3.44-13.74-8.59-19.75-12.88 c-6.01-4.29-18.04-16.32-22.33-21.47c-8.59-11.17-17.18-24.05-20.61-37.79C0,99.63,0.86,92.76,0,86.74 C0,85.89,0.86,85.03,1.72,85.03"}),r.createElement("path",{className:"st0",d:"M520.47,0.86C511.02,0.86,469.79,0,299.74,0S88.46,0.86,79.01,0.86c-1.72,0-3.44,1.72-2.58,3.44 c0.86,8.59,0.86,20.61,8.59,48.1c6.01,22.33,19.75,42.94,33.5,60.98c7.73,9.45,26.62,27.48,36.07,35.21 c8.59,6.87,21.47,15.46,31.78,20.61c7.73,4.29,27.48,12.02,33.5,15.46c8.59,4.29,21.47,13.74,28.34,24.91 c5.15,8.59,10.31,19.75,12.02,26.62c0.86,4.29,1.72,11.17,1.72,19.75c0,18.89-3.44,42.94-9.45,60.12 c-6.87,18.89-11.17,25.77-19.75,45.52c-3.44,8.59-6.87,16.32-8.59,19.75c-0.86,1.72-0.86,3.44,0,5.15 c2.58,3.44,6.87,9.45,15.46,14.6c14.6,7.73,44.66,10.31,60.12,10.31l0,0c15.46,0,45.52-2.58,60.12-10.31 c8.59-4.29,12.88-11.17,15.46-14.6c0.86-1.72,0.86-3.44,0.86-4.29c-1.72-3.44-5.15-12.02-8.59-19.75 c-8.59-19.75-12.02-25.77-19.75-45.52c-6.01-17.18-9.45-42.08-9.45-60.12c0-7.73,0-14.6,1.72-19.75 c1.72-7.73,6.87-18.89,12.02-26.62c6.87-11.17,19.75-20.61,28.34-24.91c6.01-3.44,25.77-11.17,33.5-15.46 c10.31-5.15,23.19-13.74,31.78-20.61c9.45-7.73,28.34-26.62,36.07-35.21c14.6-18.04,27.48-38.65,33.5-60.98 c7.73-27.48,7.73-39.51,8.59-48.1C523.04,2.58,522.18,0.86,520.47,0.86"}),r.createElement("path",{className:"st0",d:"M599.48,85.03c-4.29,0-21.47-0.86-80.73-0.86c-0.86,0-2.58,0.86-2.58,1.72 c-16.32,43.8-60.12,80.73-116.8,100.49c-2.58,0.86-2.58,4.29,0,5.15c5.15,2.58,12.88,5.15,15.46,6.87 c5.15,2.58,12.88,8.59,17.18,15.46c3.44,5.15,6.01,12.02,7.73,16.32c0.86,2.58,0.86,6.87,0.86,12.02 c0,11.17-1.72,26.62-6.01,36.93c-4.29,12.02-6.87,15.46-12.02,27.48c-2.58,5.15-4.29,10.31-5.15,12.02c0,0.86,0,1.72,0,2.58 c1.72,1.72,4.29,6.01,9.45,8.59c8.59,5.15,27.48,6.87,36.93,6.87l0,0c9.45,0,28.34-1.72,36.93-6.87c5.15-2.58,7.73-6.87,9.45-8.59 c0.86-0.86,0.86-1.72,0-2.58c-0.86-2.58-3.44-6.87-5.15-12.02c-5.15-12.02-7.73-16.32-12.02-27.48 c-4.29-10.31-6.01-25.77-6.01-36.93c0-5.15,0-9.45,0.86-12.02c0.86-4.29,4.29-11.17,7.73-16.32c4.29-6.87,12.02-12.88,17.18-15.46 c3.44-1.72,16.32-6.87,20.61-9.45c6.01-3.44,13.74-8.59,19.75-12.88c6.01-4.29,18.04-16.32,22.33-21.47 c8.59-11.17,17.18-24.05,20.61-37.79c5.15-17.18,4.29-24.05,5.15-30.06C601.2,85.89,600.34,85.03,599.48,85.03"})),r.createElement("g",null,r.createElement("path",{className:"st0",d:"M564.95,332.87c0,6.25-5.15,11.16-11.86,11.16c-6.64,0-11.93-4.91-11.93-11.16c0-6.12,5.3-11.03,11.93-11.03 C559.8,321.85,564.95,326.75,564.95,332.87z M544.12,332.87c0,4.91,3.81,8.81,9.04,8.81c5.08,0,8.83-3.9,8.83-8.74 c0-4.91-3.74-8.87-8.9-8.87C547.93,324.07,544.12,328.03,544.12,332.87z M551.25,338.65h-2.68v-11.03 c1.06-0.2,2.54-0.34,4.45-0.34c2.19,0,3.18,0.34,4.02,0.81c0.64,0.47,1.13,1.34,1.13,2.42c0,1.21-0.99,2.15-2.4,2.55v0.14 c1.13,0.4,1.77,1.21,2.12,2.69c0.35,1.68,0.56,2.35,0.85,2.76h-2.89c-0.35-0.4-0.56-1.41-0.92-2.69c-0.21-1.21-0.92-1.75-2.4-1.75 h-1.27V338.65z M551.32,332.4h1.27c1.48,0,2.68-0.47,2.68-1.61c0-1.01-0.78-1.68-2.47-1.68c-0.71,0-1.2,0.07-1.48,0.14V332.4z"})))))}var ar=r.forwardRef(rr);n.p;function cr(e){var t=e.children;return Object(Qe.jsxs)("div",{style:Ar.container,children:[Object(Qe.jsx)(ar,{className:"inverse-theme",style:Ar.image}),t]})}var Ar={container:{position:"fixed",top:0,bottom:0,left:0,right:0,display:"flex",justifyContent:"center",alignItems:"center",padding:"1rem"},image:{position:"absolute",width:"90%",opacity:.1}},ir=function(e){var t,n,a,c,A=Object(r.useState)({}),i=Object(l.a)(A,2),o=i[0],s=i[1],u=Object(r.useMemo)((function(){return t=e,n=s,{onMouseDown:function(e){if(0===e.button){window.ref=t.current;var r=t.current,a=r.offsetLeft,c=r.offsetTop;n((function(t){return Object(F.a)(Object(F.a)({},t),{},{dragging:!0,rel:{x:e.pageX-a,y:e.pageY-c}})})),e.stopPropagation(),e.preventDefault()}},onMouseUp:function(e){n((function(e){return Object(F.a)(Object(F.a)({},e),{},{dragging:!1})})),e.stopPropagation(),e.preventDefault()},onMouseMove:function(e){e.stopPropagation(),e.preventDefault(),n((function(t){return t.dragging?Object(F.a)(Object(F.a)({},t),{},{pos:{x:e.pageX-t.rel.x,y:e.pageY-t.rel.y}}):t}))}};var t,n}),[e,s]);return Object(r.useEffect)((function(){return o.dragging&&(document.addEventListener("mousemove",u.onMouseMove),document.addEventListener("mouseup",u.onMouseUp)),function(){document.removeEventListener("mousemove",u.onMouseMove),document.removeEventListener("mouseup",u.onMouseUp)}}),[o.dragging,u]),[{left:null!==(t=null===o||void 0===o||null===(n=o.pos)||void 0===n?void 0:n.x)&&void 0!==t?t:"0px",top:null!==(a=null===o||void 0===o||null===(c=o.pos)||void 0===c?void 0:c.y)&&void 0!==a?a:"0px",dragging:null===o||void 0===o?void 0:o.dragging},u.onMouseDown]};function or(){var e=Se(),t=Be().debug,n=Object(r.useRef)(),a=ir(n),c=Object(l.a)(a,2),A=c[0],i=A.left,o=A.top,s=A.dragging,u=c[1];return"true"===t&&Object(Qe.jsxs)("div",{ref:n,onMouseDown:u,style:{position:"fixed",left:i,top:o,padding:10,background:"grey",color:"white",maxWidth:"30%",maxHeight:"40%",overflow:"scroll",fontSize:"8px",zIndex:9999,cursor:s&&"grabbing"},children:[Object(Qe.jsx)("div",{style:{position:"sticky",width:100,background:"white",borderRadius:"2px",height:"4px",margin:"auto",top:0,left:0,right:0,cursor:s?"grabbing":"grab"}}),Object(Qe.jsx)("pre",{children:JSON.stringify(e,null,2)})]})}function sr(e){var t=e.feature;return Object(Qe.jsx)("div",{style:{marginRight:10},className:"chip",children:t.title})}function lr(){var e=Object(N.g)(xe),t=Object(r.useMemo)((function(){return Object.values(e).sort((function(e,t){return e.title>t.title?1:-1}))}),[e]),n=Object(r.useMemo)((function(){return t.map((function(e,t){return Object(Qe.jsx)(sr,{feature:e},"".concat(e.name,"-").concat(t))}))}),[t]);return Object(Qe.jsxs)("div",{className:"col s12",children:[Object(Qe.jsxs)("h6",{children:["Default Included Features (",t.length,")"]}),n]})}var ur=["showing"];function dr(e,t,n){var a=Object(N.g)(ue);!function(e,t,n){Object(r.useEffect)((function(){var r=e.error,a=e.htmlUrl,c=e.cloneUrl;(r||a)&&setTimeout((function(){c?t({cloneUrl:c,htmlUrl:a,show:!0,type:"clone"}):r&&n(new Error(r.replaceAll("+"," ")))}),500)}),[e,t,n])}(e,t.onRepoCreated,n),function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=D(t),c=Object(r.useRef)(t);Object(r.useEffect)((function(){function t(){var t=M(c.current);if(t&&a&&Object.keys(n).includes(t)){var r=c.current,A=r.showing,i=Object(x.a)(r,ur);n[t](i,e,{showing:A})}}(null===e||void 0===e?void 0:e.baseUrl)&&c.current&&(t(),c.current=null)}),[e,n,a,c])}(a,e,t)}function fr(){return Object(Qe.jsx)(Le,{children:Object(Qe.jsx)(hr,{})})}function hr(){var e=Be(),t=Object(r.useState)(Ft.ofSuccess("")),n=Object(l.a)(t,2),c=n[0],A=n[1],i=Boolean(c.message),u=Object(r.useMemo)((function(){return function(e){return{onClear:function(){return e(Ft.ofNone())},onError:function(t){return e(Ft.ofError(t))},onInfo:function(t){return e(Ft.ofInfo(t))},onSuccess:function(t){return e(Ft.ofSuccess(t))},onWarn:function(t){return e(Ft.ofWarn(t))},onResponseError:function(){var t=Object(s.a)(o.a.mark((function t(n){var r,a,c,A,i,s,l;return o.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!(n instanceof Error)){t.next=2;break}return t.abrupt("return",e(new Ft(n)));case 2:if(r=Ft.ofError("something went wrong."),!(!n.json instanceof Function)){t.next=5;break}return t.abrupt("return",e(r));case 5:return t.prev=5,t.next=8,n.json();case 8:s=t.sent,l=null!==(a=null!==(c=null===(A=s._embedded)||void 0===A||null===(i=A.errors)||void 0===i?void 0:i[0].message)&&void 0!==c?c:s.message)&&void 0!==a?a:r.message,e(Ft.ofError(l)),t.next=16;break;case 13:t.prev=13,t.t0=t.catch(5),e(r);case 16:case"end":return t.stop()}}),t,null,[[5,13]])})));return function(e){return t.apply(this,arguments)}}()}}(A)}),[A]);return Object(Qe.jsxs)(a.a.Suspense,{fallback:Object(Qe.jsx)(cr,{}),children:[Object(Qe.jsx)(jr,{initialData:e,errorHandlers:u}),Object(Qe.jsx)(Pt,{hasError:i,severity:c.severity,message:c.message,link:c.link,clipboard:c.clipboard,onClose:u.onClear}),Object(Qe.jsx)(or,{})]})}function jr(e){var t=e.initialData,n=e.errorHandlers,a=Object(r.useRef)(),c=Object(r.useRef)(),A=H(),i=Object(l.a)(A,2),d=i[0],h=i[1],b=Object(r.useState)(!1),g=Object(l.a)(b,2),p=g[0],v=g[1],O=Object(r.useState)({}),w=Object(l.a)(O,2),x=w[0],y=w[1],C=function(){return y({})},E=Object(N.e)((function(e){var t=e.set,n=e.snapshot;return Object(s.a)(o.a.mark((function e(){var r,a;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,n.getPromise(de);case 2:r=e.sent,a=G({}),t(he,a.name),t(je,a.package),t(be,r.type.defaultOption.value),t(pe,r.servlet.defaultOption.value),t(ve,r.gorm.defaultOption.value),t(ge,r.test.defaultOption.value),t(Oe,r.jdkVersion.defaultOption.value),t(me,{});case 12:case"end":return e.stop()}}),e)})))}));!function(e){var t=Object(N.f)(ie),n=Object(l.a)(t,2),a=n[0],c=n[1],A=De(),i=Object(N.g)(Ae).version;Object(r.useEffect)((function(){if(!a&&(null===A||void 0===A?void 0:A.length)){var t=A.findIndex((function(e){return e.version===i}));i&&t<0&&e({requested:i,using:A[0].version}),c(A[Math.max(t,0)])}}),[a,c,A,e,i])}(Object(r.useCallback)((function(e){var t=e.requested,r=e.using,a=m.trans("error.versionNoLongerSupported",{requestedVersion:t,currentVersion:r});n.onWarn(a)}),[n]));var k=Object(r.useMemo)((function(){return{onRepoCreated:function(e){y(e)},preview:function(){var e=Object(s.a)(o.a.mark((function e(t,r){var c,A,i=arguments;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return c=i.length>2&&void 0!==i[2]?i[2]:{showing:null},e.prev=1,e.next=4,r.preview(t);case 4:A=e.sent,a.current.show(A,c.showing),e.next=11;break;case 8:e.prev=8,e.t0=e.catch(1),n.onResponseError(e.t0);case 11:return e.prev=11,v(!1),e.finish(11);case 14:case"end":return e.stop()}}),e,null,[[1,8,11,14]])})));return function(t,n){return e.apply(this,arguments)}}(),diff:function(){var e=Object(s.a)(o.a.mark((function e(t,r){var a;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,r.diff(t);case 3:if(""!==(a=e.sent)){e.next=6;break}throw new Error("No features have been selected. Please choose one or more features and try again.");case 6:c.current.show(a),e.next=12;break;case 9:e.prev=9,e.t0=e.catch(0),n.onResponseError(e.t0);case 12:return e.prev=12,v(!1),e.finish(12);case 15:case"end":return e.stop()}}),e,null,[[0,9,12,15]])})));return function(t,n){return e.apply(this,arguments)}}(),create:function(){var e=Object(s.a)(o.a.mark((function e(t,r){var a;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,r.create(t);case 3:a=e.sent,Ue(a,"".concat(t.name,".zip")),y({show:!0,type:"zip"}),e.next=11;break;case 8:e.prev=8,e.t0=e.catch(0),n.onResponseError(e.t0);case 11:return e.prev=11,v(!1),e.finish(11);case 14:case"end":return e.stop()}}),e,null,[[0,8,11,14]])})));return function(t,n){return e.apply(this,arguments)}}()}}),[n]);dr(t,k,n.onResponseError);var B=function(e){e&&e.preventDefault instanceof Function&&e.preventDefault(),n.onClear(),v(!0)},D=Object(N.e)((function(e){var t=e.snapshot;return Object(s.a)(o.a.mark((function e(){var n,r;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.getPromise(ye);case 2:return n=e.sent,e.next=5,t.getPromise(ue);case 5:return r=e.sent,e.abrupt("return",{createPayload:n,sdk:r});case 7:case"end":return e.stop()}}),e)})))})),M=function(){var e=Object(s.a)(o.a.mark((function e(t){return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:v(!0);case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),S=function(){var e=Object(s.a)(o.a.mark((function e(t){var n,r,a;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return B(t),e.next=3,D();case 3:n=e.sent,r=n.createPayload,a=n.sdk,k.create(r,a);case 7:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),T=function(){var e=Object(s.a)(o.a.mark((function e(t){var n,r,a;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return B(t),e.next=3,D();case 3:n=e.sent,r=n.createPayload,a=n.sdk,k.preview(r,a);case 7:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),Q=function(){var e=Object(s.a)(o.a.mark((function e(t){var n,r,a;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return B(t),e.next=3,D();case 3:n=e.sent,r=n.createPayload,a=n.sdk,k.diff(r,a);case 7:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),L=p;return Object(Qe.jsxs)(r.Fragment,{children:[Object(Qe.jsx)("div",{id:"mn-main-container",className:"mn-main-container sticky",children:Object(Qe.jsxs)("div",{className:"container-fluid",children:[Object(Qe.jsx)(Dn,{theme:d,onToggleTheme:h}),Object(Qe.jsx)("div",{className:"container",children:Object(Qe.jsxs)("div",{className:"mn-container",children:[Object(Qe.jsxs)("form",{onSubmit:S,autoComplete:"off",children:[Object(Qe.jsx)($n,{theme:d,onError:n.onResponseError}),Object(Qe.jsxs)(j.a,{className:"button-row",children:[Object(Qe.jsx)(f.a,{s:3,className:"xs6",children:Object(Qe.jsx)(on,{theme:d})}),Object(Qe.jsx)(f.a,{s:3,className:"xs6",children:Object(Qe.jsx)(Nt,{ref:c,theme:d,disabled:L,onLoad:Q,onClose:function(){return I()}})}),Object(Qe.jsx)(f.a,{s:3,className:"xs6",children:Object(Qe.jsx)(Mt,{ref:a,theme:d,disabled:L,onLoad:T,onClose:function(){return I()}})}),Object(Qe.jsx)(f.a,{s:3,className:"xs6",children:Object(Qe.jsx)(wn,{theme:d,disabled:L,cloneProject:M,generateProject:S})})]})]}),Object(Qe.jsx)("div",{className:"progress-container",children:p&&Object(Qe.jsx)(u.ProgressBar,{})})]})})]})}),Object(Qe.jsx)("div",{className:"container",children:Object(Qe.jsx)("div",{className:"mn-feature-container",children:Object(Qe.jsx)(lr,{theme:d})})}),Object(Qe.jsx)("div",{className:"container",children:Object(Qe.jsx)("div",{className:"mn-feature-container",children:Object(Qe.jsx)(Gt,{theme:d})})}),Object(Qe.jsx)(Ye,{theme:d,onToggleTheme:h}),x.show&&Object(Qe.jsx)(Sn,{onClose:C,onStartOver:function(){C(),E()},info:x,theme:d})]})}n(520),n(521),n(522),n(523),n(524),n(525);A.a.render(Object(Qe.jsx)(fr,{}),document.getElementById("root"))}},[[526,1,2]]]);
+//# sourceMappingURL=main.98fe9a30.chunk.js.map
\ No newline at end of file
diff --git a/static/js/main.98fe9a30.chunk.js.map b/static/js/main.98fe9a30.chunk.js.map
new file mode 100644
index 0000000..508081a
--- /dev/null
+++ b/static/js/main.98fe9a30.chunk.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["helpers/Lang.js","helpers/Routing.js","helpers/url.js","hooks/useAppTheme.js","hooks/useLocalStorage.js","state/factories/formResets.js","helpers/Cache.js","micronaut/constants.js","micronaut/creators/ToCli.js","micronaut/creators/ToCurl.js","micronaut/creators/ToUrl.js","micronaut/CreateCommand.js","micronaut/FeatureCommand.js","micronaut/MicronautStarterSDK.js","state/factories/StarterSDK.js","state/store.js","state/factories/versionLoader.js","state/factories/initializeState.js","state/factories/providedDefaults.js","state/ApplicationState.js","utility.js","components/AltFooter/AltFooter.jsx","components/AltFooter/index.js","constants/keyCodes.js","constants/shortcuts.js","hooks/useKeyboardShortcuts.js","components/CopyToClipboard/CopyToClipboard.js","components/CopyToClipboard/index.js","components/TooltipButton/TooltipButton.js","components/TooltipButton/index.js","components/CodePreview/CodePreview.js","components/CodePreview/index.js","components/Diff.js","images/grails-white-icon.png","components/ErrorView/ErrorView.js","components/ErrorView/ErrorViewData.js","components/ErrorView/index.js","components/FeatureSelector/FeatureSelected.js","helpers/ModalKeyboardHandler.js","components/TextInput.js","components/FeatureSelector/FeatureAvailable.js","components/FeatureSelector/FeatureSelector.js","images/grails-forge.svg","components/OtherCommands/index.js","components/OtherCommands/OtherCommands.js","components/GenerateButtons/GenerateButtons.js","components/Header/Header.js","components/Header/index.js","components/NextSteps/NextSteps.js","components/NextSteps/index.js","components/Select/Select.js","components/Select/index.js","components/StarterForm/useStarterFormKeyboardEvents.js","components/StarterForm/StarterFormApplicationType.js","components/RadioGroup.js","components/StarterForm/StarterFormGorm.js","components/StarterForm/StarterFormJavaVersion.js","components/StarterForm/StarterFormMicronautVersion.js","components/StarterForm/StarterFormName.js","components/StarterForm/StarterFormPackage.js","components/StarterForm/StarterFormServlet.js","components/StarterForm/StarterFormTestFramework.js","components/StarterForm/StarterForm.js","images/grails-forge-logo.svg","components/StarterForm/index.js","components/Application/AppLoadingBackdrop.js","components/Application/DebugInfo.js","components/Application/DefaultIncludedFeatureList.js","components/Application/useOnMountRouting.js","components/Application/App.jsx","index.js"],"names":["LangApi","_classCallCheck","this","_cache_data","_createClass","key","value","message","sub","arguments","length","undefined","_exec","str","_","get","messages","isEmpty","_cache","compiled","template","interpolate","ACTIVITY_KEY","PREVIEW_ACTIVITY","HANDLED_ACTIVITIES","parseAndConsumeQuery","query","search","window","location","results","includes","replace","split","reduce","acc","part","_part$split","_part$split2","_slicedToArray","entry","Array","isArray","push","decodeURIComponent","_window$location$toSt","toString","baseUrl","history","replaceState","document","title","isDeepLinkReferral","shareData","type","lang","test","build","resolveActionRoute","queryData","Object","activity","resetRoute","full","concat","THEME_LIGHT","THEME_DARK","registerTheme","theme","localStorage","setItem","body","className","themeState","atom","default","mode","getItem","loadTheme","useAppTheme","_useRecoilState","useRecoilState","_useRecoilState2","setTheme","useEffect","toggleTheme","useCallback","nextTheme","getStorageValue","initialValue","skipOnce","item","sessionStorage","JSON","parse","error","setStorageValue","stringify","formResets","fallbacks","name","pkg","package","CACHE_EXPIRATION_DEFAULT","CACHE_1_MIN","CacheStorageAdapterAbstract","_this","prefix","makeKey","snakeCase","SessionStorageAdapter","_CacheStorageAdapterA","_inherits","_super","_createSuper","call","data","MemoryAdapter","_CacheStorageAdapterA3","_super3","_this2","_store","CacheApi","adapter","_adapter","cache","bind","_asyncToGenerator","_regeneratorRuntime","mark","_callee","KEY","callback","ttl","cached","_args","wrap","_context","prev","next","expiration","Date","now","abrupt","sent","stop","_x","_x2","apply","VERSION_FEED_URL","process","REACT_APP_VERSION_FEED","ToCli","createCommand","gorm","servlet","javaVersion","jdk","command","toLowerCase","deriveCommand","applicationName","opts","features","entries","keys","join","buildFeaturesArgs","args","_toConsumableArray","ToCurl","toUrl","ToUrl","featureCommand","filter","i","encodeURI","console","base","featuresQuery","array","feature","buildFeaturesQuery","CreateCommand","_ref","_package","make","FeatureCommand","featuresUrl","makeFeaturesUrl","responseHandler","response","ok","StarterSDK","MicronautStarterSDK","cacheApi","url","startsWith","handler","then","fetch","_urlBuilder","method","headers","Headers","_description","_selectOptions","_callee2","_context2","_versions","_callee3","_context3","_applicationTypes","_callee4","_context4","_applicationTypeInfo","_callee5","_ref2","_context5","_features","_callee6","_ref3","form","featuresCommand","_context6","_defaultIncludedFeatures","_callee7","_ref4","_context7","_x3","_diff","_callee8","configuration","_context8","_x4","_preview","_callee9","_context9","_x5","_create","_callee10","_context10","_x6","toCurl","warn","toCli","options","val","opt","defaultOption","_loadVersion","_callee11","_ref5","order","mn","result","version","_context11","versions","label","api","_x7","_loadVersions","_callee12","_yield$fetch$then","maybeLoadVersion","_context12","loadVersion","catch","Promise","all","sort","a","b","map","versionLoader","loadVersions","defaultValueSelectorFactory","fallback","selector","_initial$key","initialValueState","selectedVersionState","effects_UNSTABLE","onSet","availableVersionsState","baseUrlState","selectedVersion","sdkFactoryState","sdkState","factory","optionsState","_get5","_ref6","_get4","sdk","selectOptions","optionsForState","selectorFamily","_ref7","nameState","packageState","appTypeState","testState","servletState","gormState","javaVersionState","featuresState","availableFeaturesState","_get7","_ref8","_get6","_yield$sdk$features","starterFormState","defaultIncludedFeaturesState","_get9","_ref9","_get8","_yield$sdk$defaultInc","defaultIncludedFeatures","_ref10","createCommandState","_ref11","githubHrefForUrl","_ref12","sharableLinkState","_ref13","rest","_objectWithoutProperties","_excluded","parts","sharableLink","useDerivedDefultsEffect","select","setter","findIndex","v","useInitialData","useRecoilValue","useAvailableVersions","useAvailableFeatures","loadable","useRecoilValueLoadable","state","contents","loading","useSelectedFeaturesHandlers","setFeatures","useSetRecoilState","useMemo","onAddFeature","_ref14","draft","assign","onRemoveFeature","_ref15","onRemoveAllFeatures","useSelectOptionsForType","useStarterForm","initializeStateFactory","initialData","set","isReferral","initialValueData","initialValueGenerator","parsed","_defineProperty","reconstructFeatures","_objectSpread","initialForm","accessory","debug","cloneUrl","htmlUrl","showing","extractAccessoryData","versionData","_getStorageValue","initialVersionResolver","init","ApplicationState","stateInitializer","children","initializeState","_jsx","RecoilRoot","OS_NIX","OS_WINDOWS","capitalize","s","charAt","toUpperCase","slice","downloadBlob","blob","URL","createObjectURL","createElement","href","download","appendChild","click","makeNodeTree","nodes","obj","node","k","folders","rootNode","copyToClipboard","navigator","clipboard","writeText","resolve","reject","el","setAttribute","style","position","left","focus","execCommand","setTimeout","removeChild","AltFooter","_jsxs","src","width","alt","xmlns","x","y","height","viewBox","cx","cy","r","fill","d","KEY_CODE_SHIFT","PREVIEW_SHORTCUT","textValue","SHIFT_TEXT","DIFF_SHORTCUT","GENERATE_SHORTCUT","NEXT_VERSION_SHORTCUT","NEXT_APP_TYPE_SHORTCUT","NEXT_JDK_SHORTCUT","NEXT_GORM_SHORTCUT","NEXT_SERVLET_SHORTCUT","NEXT_TEST_SHORTCUT","IGNORE_TAGS","shouldIgnore","target","tagName","DISABLED_FN","useKeyboardShortcuts","shortcutKeys","disabled","activeKeys","useRef","Set","watchableCallback","current","onKeyDown","event","repeat","keyCode","add","size","has","onKeyUp","delete","clear","addEventListener","removeEventListener","CopyToClipboard","_ref$copiedMessage","copiedMessage","_useState","useState","_useState2","copied","setCopied","copyClass","Icon","AssignmentTurnedInIcon","AssignmentIcon","onClick","role","createMuiTheme","overrides","MuiTooltip","tooltip","fontSize","TooltipWrapper","MuiThemeProvider","Tooltip","enterDelay","enterNextDelay","enterTouchDelay","arrow","placement","TooltipButton","props","Button","CodePreview","ref","_ref$theme","onLoad","onClose","_useStarterForm","sharable","setShowing","_useState3","_useState4","preview","setPreview","open","useImperativeHandle","show","_show","json","_useState5","language","path","_useState6","currentFile","setCurrentFile","shareLink","link","_window$location","origin","pathname","fullyQualifySharableLink","handleFileSelection","idx","lastIndexOf","substring","_useMemo","defaultSelected","defaultExpanded","pop","extractDefaults","match","shift","React","Fragment","tooltips","waves","marginRight","tabIndex","Modal","header","fixedFooter","onCloseStart","Function","startingTop","endingTop","actions","display","justifyContent","alignItems","modal","flat","Grid","container","xs","borderRight","TreeView","defaultCollapseIcon","defaultExpandIcon","defaultEndIcon","renderTree","rootKey","key1","key2","key1Object","key2Object","nodeId","TreeItem","SyntaxHighlighter","lineNumberContainerProps","prism","darcula","showLineNumbers","forwardRef","Diff","diff","setDiff","text","ErrorView","hasError","severity","closing","setClosing","Boolean","ClipBoardIcon","handleClose","Snackbar","anchorOrigin","vertical","horizontal","autoHideDuration","Alert","icon","Avatar","logo","variant","rel","ErrorViewData","_ref$severity","_ref$link","_ref$clipboard","INFO","SUCCESS","ERROR","WARN","closeButtonStyle","cursor","float","lineHeight","paddingLeft","FeatureSelected","background","color","e","preventDefault","FeatureSelectedList","selectedFeatures","availableFeatures","selectedFeatureValues","values","sRows","f","DEFAULT_HEADER_HEIGHT","FN_NEXT_PAGE","_ref$headerHeight","headerHeight","scrollTop","clientHeight","FN_PREV_PAGE","_ref2$headerHeight","FN_JUMP_TO_NEXT_GROUP","_ref3$sectionKey","sectionKey","_ref3$headerHeight","groups","getElementsByClassName","offsetTop","FN_JUMP_TO_PREV_GROUP","_ref4$sectionKey","_ref4$headerHeight","ModalKeyboardHandler","config","hasHeader","action","getAction","onOpenEnd","onCloseEnd","Error","confin","TextInput","onChangeText","MaterialTextInput","onChange","FeatureAvailable","toggleFeatures","Card","id","selected","community","description","floating","small","top","right","keyboardEventHandler","featureSorter","category","featureCategoryReducer","FeatureAvailableGroup","entities","Row","Col","FeatureSelectorModal","_ref2$theme","inputRef","_useSelectedFeatures","_useRecoilState5","_useRecoilState6","_useAvailableFeatures","useSelectedFeatures","_useSelectedFeatures2","_useSelectedFeaturesH","setSearch","selectedFeatureKeys","searchResults","lcSearch","tags","groupedResults","marginBottom","onOpenStart","firstElementChild","trigger","placeholder","autoComplete","Preloader","_defs","_g","_g2","_g3","_g4","_g5","_g6","_g7","OtherCommands","GenerateButtons","generateProject","cloneProject","createPayload","Dropdown","alignment","autoTrigger","closeOnClick","constrainWidth","coverTrigger","hover","inDuration","outDuration","generate","_extends","source","prototype","hasOwnProperty","excluded","sourceKeys","indexOf","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","SvgGrailsForge","svgRef","titleId","xmlnsXlink","zoomAndPan","preserveAspectRatio","colorInterpolationFilters","clipRule","xlinkHref","transform","clipPath","mask","fillOpacity","ForwardRef","Header","GrailsLaunchLogo","guessedOs","appVersion","guessOs","sortedOsOpts","NextSteps","info","onStartOver","os","setOs","unpackCommand","_cmd","cmd","nix","cdCommand","_cmd2","cd","launchCommand","_cmd$cmd","anOs","Select","_ref$tabIndex","FormControl","InputLabel","SelectProxy","labelId","MenuItem","useOptHandler","handleChange","l","StarterFormApplicationType","_select$options","_select$options2","_useApplicationType","_useRecoilState7","_useRecoilState8","useApplicationType","_useApplicationType2","RadioGroup","_ref$expected","expected","_ref$loading","finalOpts","option","htmlFor","checked","StarterFormGorm","_useGorm","_useRecoilState17","_useRecoilState18","useGorm","_useGorm2","StarterFormJavaVersion","_useJavaVersion","_useRecoilState19","_useRecoilState20","useJavaVersion","_useJavaVersion2","MicronautVersion","_useSelectedVersions","defaultVersion","Math","max","useSelectedVersions","_useSelectedVersions2","handleVersionChange","find","nextVersion","useStarterVersionKeyboardEvents","StarterFormName","_useAppName","_useAppName2","required","StarterFormPackage","_useAppPackage","_useAppPackage2","StarterFormServlet","_useServlet","_useRecoilState15","_useRecoilState16","useServlet","_useServlet2","StarterFormTestFramework","_useTestFramework","_useRecoilState9","_useRecoilState10","useTestFramework","_useTestFramework2","_style","StarterForm","onError","m","StarterFormMicronautVersion","SvgGrailsForgeLogo","enableBackground","xmlSpace","AppLoadingBackdrop","styles","BackdropImage","image","bottom","padding","opacity","useDragHandles","_drag$pos$x","_drag$pos","_drag$pos$y","_drag$pos2","drag","setDrag","handlers","setState","onMouseDown","button","_node$current","offsetLeft","dragging","pageX","pageY","stopPropagation","onMouseUp","onMouseMove","pos","DebugInfo","_useDragHandles","_useDragHandles2","_useDragHandles2$","maxWidth","maxHeight","overflow","zIndex","borderRadius","margin","DefaultFeature","DefaultIncludedFeatureList","defaultIncludedFeatureValues","useOnMountRouting","routingHandlers","onRepoCreated","replaceAll","useHandleRepoClonedRouteEvent","handleDeepLink","_shareData$current","payload","useHandleShareLinkRouteEffect","Root","App","ofSuccess","setError","errorHandlers","onClear","ofNone","ofError","onInfo","ofInfo","onSuccess","onWarn","ofWarn","onResponseError","_json$_embedded$error","_json$_embedded","_json$_embedded$error2","_embedded","errors","t0","errorHandlersFactory","Suspense","AppContainer","previewView","diffView","_useAppTheme","_useAppTheme2","setLoading","nextStepsInfo","setNextStepsInfo","onCloseNextSteps","resetForm","useRecoilCallback","_ref18","snapshot","resets","getPromise","jdkVersion","_useRecoilState3","_useRecoilState4","requested","using","useConfigureInitialVersionEffect","Lang","trans","requestedVersion","currentVersion","repoCreatedInfo","finish","create","requestPrep","getFormData","_ref16","onCloneProject","onGenerateProject","_yield$getFormData","_x8","onLoadPreview","_yield$getFormData2","_x9","onLoadDiff","_yield$getFormData3","_x10","onToggleTheme","onSubmit","ProgressBar","ReactDOM","render","getElementById"],"mappings":"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","file":"static/js/main.98fe9a30.chunk.js","sourcesContent":["import _ from 'lodash'\nimport messages from '../constants/messages.json'\n\nclass LangApi {\n constructor() {\n this._cache_data = {}\n }\n\n trans(message, sub = {}) {\n return this._cache_data[message] || this._exec(message, sub)\n }\n\n _cache(key, message) {\n this._cache_data[key] = message\n return message\n }\n\n _exec(str, sub = {}) {\n const message = _.get(messages, str, str)\n // If there are no opts passed in we can skip interpolation\n if (_.isEmpty(sub)) return this._cache(message, sub)\n\n var compiled = _.template(message, { interpolate: /{{([\\s\\S]+?)}}/g })\n return compiled(sub)\n }\n}\n\nexport default new LangApi()\n","import { parseQuery } from './url'\n\nexport const BASE_PATH = ''\nexport const ACTIVITY_KEY = 'activity'\nexport const VERSION_KEY = 'version'\nexport const FEATURES_KEY = 'features'\n\nexport const PREVIEW_ACTIVITY = 'preview'\nexport const DIFF_ACTIVITY = 'diff'\nexport const CREATE_ACTIVITY = 'create'\n\nexport const HANDLED_ACTIVITIES = [\n PREVIEW_ACTIVITY,\n DIFF_ACTIVITY,\n CREATE_ACTIVITY,\n]\n\nexport function sharableLink(form, version) {\n const { features, ...rest } = form\n\n const parts = [\n ...Object.keys(rest).reduce((acc, key) => {\n acc.push(`${key}=${rest[key]}`)\n return acc\n }, []),\n ...Object.keys(features).map((feature) => `${FEATURES_KEY}=${feature}`),\n ]\n if (version) {\n parts.push(`${VERSION_KEY}=${version}`)\n }\n return parts.join('&')\n}\n\nexport function fullyQualifySharableLink(sharable, options = {}) {\n const { origin, pathname } = window.location\n const { activity } = options\n let url = `${origin}${pathname}?${sharable}`\n if (activity) {\n url += `&${ACTIVITY_KEY}=${activity}`\n }\n return url\n}\n\nexport function parseAndConsumeQuery() {\n const { search } = window.location\n const results = parseQuery(search)\n // TODO: Do we want to sub out the share url once the site is loaded?\n const [baseUrl] = window.location.toString().split('?', 2)\n window.history.replaceState({}, document.title, baseUrl)\n return results\n}\n\nexport function isDeepLinkReferral(shareData = {}) {\n return !!(\n shareData.type ||\n shareData.lang ||\n shareData.test ||\n shareData.build\n )\n}\n\nexport function resolveActionRoute(queryData) {\n if (!queryData instanceof Object) {\n return\n }\n const { activity } = queryData\n if (activity && HANDLED_ACTIVITIES.includes(activity)) {\n return activity\n }\n}\n\nexport function resetRoute(full = true) {\n const search = full ? '' : window.location.search\n window.history.replaceState({}, document.title, `/${BASE_PATH}${search}`)\n}\n\nexport function updateRoute(route) {\n const { search } = window.location\n window.history.replaceState(\n {},\n document.title,\n `/${BASE_PATH}/${route}${search}`\n )\n}\n\nexport function updateParams(search) {\n const { pathname } = window.location\n window.history.replaceState({}, document.title, `${pathname}?${search}`)\n}\n","export const parseQuery = (query) => {\n if (typeof query !== 'string' || !query.includes('=')) {\n return {}\n }\n return query\n .replace('?', '')\n .split('&')\n .reduce((acc, part) => {\n const [key, value] = part.split('=')\n const entry = acc[key]\n\n if (!entry) {\n // No Entry\n acc[key] = decodeURIComponent(value)\n } else if (!Array.isArray(entry)) {\n // This is the second occurrence suggesting it should be converted to an array\n acc[key] = [entry, value]\n } else {\n // The Third or > occurrence and we already have an array to push onto\n acc[key].push(value)\n }\n return acc\n }, {})\n}\n","import { useEffect, useCallback } from 'react'\nimport { atom, useRecoilState } from 'recoil'\nexport const THEME_LIGHT = 'light'\nexport const THEME_DARK = 'dark'\n\nexport const loadTheme = () => {\n const mode = window.localStorage.getItem('theme')\n switch (mode) {\n case THEME_LIGHT:\n case THEME_DARK:\n return mode\n default:\n return THEME_LIGHT\n }\n}\n\nexport const registerTheme = (theme) => {\n window.localStorage.setItem('theme', theme)\n document.body.className = theme\n return theme\n}\n\nexport const nextTheme = (theme) => {\n return theme === THEME_LIGHT ? THEME_DARK : THEME_LIGHT\n}\n\nconst themeState = atom({\n key: 'THEME_STATE',\n default: registerTheme(loadTheme()),\n})\n\nexport default function useAppTheme() {\n const [theme, setTheme] = useRecoilState(themeState)\n\n useEffect(() => {\n registerTheme(theme)\n }, [theme])\n\n const toggleTheme = useCallback(() => {\n setTheme((theme) => nextTheme(theme))\n }, [setTheme])\n\n return [theme, toggleTheme]\n}\n","import { useState, useCallback } from 'react'\n\nexport const getStorageValue = (key, initialValue, skipOnce) => {\n if (skipOnce) {\n return initialValue\n }\n try {\n const item = window.sessionStorage.getItem(key)\n return item ? JSON.parse(item) : initialValue\n } catch (error) {\n return initialValue\n }\n}\n\nexport const setStorageValue = (key, value) => {\n window.sessionStorage.setItem(key, JSON.stringify(value))\n return value\n}\n\nexport default function useLocalStorage(key, initialValue, skipOnce = false) {\n const [state, setState] = useState(() =>\n getStorageValue(key, initialValue, skipOnce)\n )\n\n const setter = useCallback(\n (value) => {\n try {\n const update = value instanceof Function ? value(state) : value\n setState(key, setStorageValue(update))\n } catch (error) {\n console.log('useLocalStorage', error)\n }\n },\n [state, key]\n )\n\n return [state, setter]\n}\n","export function formResets(fallbacks = {}) {\n const { name, package: pkg, type } = fallbacks\n return {\n name: typeof name === 'string' ? name : 'demo',\n package: typeof pkg === 'string' ? pkg : 'com.example',\n type: typeof type === 'string' ? type : 'WEB',\n }\n}\n","import _ from 'lodash'\n\nexport const CACHE_1_MIN = 1000 * 60 // 5 Min.\nexport const CACHE_5_MIN = CACHE_1_MIN * 5 // 5 Min.\nexport const CACHE_10_MIN = CACHE_1_MIN * 10 // 10 Min.\nexport const CACHE_1_HOUR = CACHE_1_MIN * 60 // 1 Hour.\nexport const CACHE_1_DAY = CACHE_1_HOUR * 24 // 1 Hour.\nexport const CACHE_EXPIRATION_DEFAULT = CACHE_10_MIN\n\nexport class CacheStorageAdapterAbstract {\n constructor(prefix = 'Cache') {\n this.prefix = prefix\n }\n\n makeKey = (key) => {\n return `${_.snakeCase(this.prefix)}:${key}`\n }\n}\n\nexport class SessionStorageAdapter extends CacheStorageAdapterAbstract {\n constructor(prefix = 'SessionStorageAdapter') {\n super(prefix)\n }\n\n getItem(key) {\n const data = window.sessionStorage.getItem(this.makeKey(key))\n try {\n if (data) {\n return JSON.parse(data)\n }\n } catch (error) {}\n }\n\n setItem(key, data) {\n window.sessionStorage.setItem(this.makeKey(key), JSON.stringify(data))\n }\n}\n\nexport class LocalStorageAdapter extends CacheStorageAdapterAbstract {\n constructor(prefix = 'LocalStorageAdapter') {\n super(prefix)\n }\n\n getItem(key) {\n const data = window.localStorage.getItem(this.makeKey(key))\n try {\n if (data) {\n return JSON.parse(data)\n }\n } catch (error) {}\n }\n\n setItem(key, data) {\n window.localStorage.setItem(this.makeKey(key), JSON.stringify(data))\n }\n}\n\nexport class MemoryAdapter extends CacheStorageAdapterAbstract {\n constructor(prefix = 'MemoryAdapter') {\n super(prefix)\n this._store = {}\n }\n\n getItem(key) {\n return this._store[this.makeKey(key)]\n }\n\n setItem(key, data) {\n this._store[this.makeKey(key)] = data\n }\n}\n\nexport class CacheApi {\n constructor(adapter) {\n this._adapter = adapter\n this.cache.bind(this)\n }\n\n async cache(KEY, callback, ttl = CACHE_EXPIRATION_DEFAULT) {\n const item = this._adapter.getItem(KEY)\n if (item) {\n const { value: cached, expiration } = item\n if (expiration > Date.now()) {\n return cached\n }\n }\n\n const value = await callback()\n this._adapter.setItem(KEY, {\n expiration: Date.now() + ttl,\n value,\n })\n\n return value\n }\n}\n\nconst Cache = new CacheApi(new MemoryAdapter())\nexport default Cache\n","export const VERSION_FEED_URL =\n process.env.REACT_APP_VERSION_FEED ||\n 'https://start.grails.org/grails-version-feed.json'\n","function deriveCommand(type) {\n switch (type) {\n case 'WEB':\n return 'create-app'\n case 'REST_API':\n return 'create-restapi'\n case 'PLUGIN':\n return 'create-plugin'\n case 'WEB_PLUGIN':\n return 'create-web-plugin'\n default:\n return `create-${type}`.toLowerCase()\n }\n}\n\nfunction buildFeaturesArgs(features) {\n const entries = Object.keys(features)\n if (entries.length) {\n return `${entries.join(',')}`\n }\n}\n\nexport default class ToCli {\n static make(createCommand) {\n const { gorm, servlet, test, javaVersion } = createCommand\n const jdk = javaVersion ? javaVersion.replace('JDK_', '') : null\n const command = deriveCommand(createCommand.type)\n const applicationName = createCommand.applicationName()\n\n const features = buildFeaturesArgs(createCommand.features)\n const opts = { servlet, jdk, gorm, test, features }\n const args = Object.keys(opts).reduce((acc, key) => {\n const value = opts[key]\n if (value) {\n acc.push(`--${key}=${value}`)\n }\n return acc\n }, [])\n\n return ['grails-forge-cli', command, ...args, applicationName].join(' ').toLowerCase()\n }\n}\n","export default class ToCurl {\n static make(createCommand) {\n const { name } = createCommand\n return `curl --location --request GET '${createCommand.toUrl(\n 'create'\n )}' --output ${name}.zip`\n }\n}\n","function buildFeaturesQuery(features) {\n return Object.keys(features)\n .reduce((array, feature) => {\n array.push(`features=${feature}`)\n return array\n }, [])\n .join('&')\n}\n\nexport default class ToUrl {\n\n static makeFeaturesUrl(featureCommand, baseUrl) {\n const {\n javaVersion,\n servlet,\n gorm,\n test,\n } = featureCommand\n\n const query = [\n gorm && `gorm=${featureCommand.gorm}`,\n servlet && `servlet=${featureCommand.servlet}`,\n test && `test=${featureCommand.test}`,\n javaVersion && `javaVersion=${featureCommand.javaVersion}`,\n ].filter((i) => i)\n\n return encodeURI(`${baseUrl}?${query.join('&')}`)\n }\n\n static make(createCommand, prefix) {\n if (!prefix) {\n console.error(\n \"A prefix is required, should be one of 'diff', 'preview', 'github', 'create'\"\n )\n }\n const {\n type,\n gorm,\n servlet,\n test,\n javaVersion,\n features,\n baseUrl,\n } = createCommand\n\n const applicationName = createCommand.applicationName()\n const base = `/${prefix}/${type.toLowerCase()}/${applicationName}`\n\n const query = [\n gorm && `gorm=${gorm}`,\n servlet && `servlet=${servlet}`,\n test && `test=${test}`,\n javaVersion && `javaVersion=${javaVersion}`,\n ].filter((i) => i)\n\n const featuresQuery = buildFeaturesQuery(features)\n if (featuresQuery) {\n query.push(featuresQuery)\n }\n return encodeURI(`${baseUrl}${base}?${query.join('&')}`)\n }\n}\n","import ToCli from './creators/ToCli'\nimport ToCurl from './creators/ToCurl'\nimport ToUrl from './creators/ToUrl'\n\nexport class CreateCommand {\n constructor(\n { type, javaVersion, servlet, gorm, test, name, package: _package, features },\n baseUrl = ''\n ) {\n this.type = type\n this.javaVersion = javaVersion\n this.name = name\n this.gorm = gorm\n this.servlet = servlet\n this.test = test\n this.package = _package\n this.features = features\n this.baseUrl = baseUrl\n }\n\n applicationName() {\n return `${this.package}.${this.name}`\n }\n\n toUrl(prefix) {\n return ToUrl.make(this, prefix)\n }\n\n toCli() {\n return ToCli.make(this)\n }\n\n toCurl() {\n return ToCurl.make(this)\n }\n}\n","import ToUrl from './creators/ToUrl'\n\nexport class FeatureCommand {\n constructor(\n { javaVersion, servlet, gorm, test },\n featuresUrl = ''\n ) {\n this.javaVersion = javaVersion\n this.servlet = servlet\n this.gorm = gorm\n this.test = test\n this.baseUrl = featuresUrl\n }\n\n toUrl() {\n return ToUrl.makeFeaturesUrl(this, this.baseUrl)\n }\n\n}\n","import { CacheApi, SessionStorageAdapter } from '../helpers/Cache'\nimport { VERSION_FEED_URL } from './constants'\nimport { CreateCommand } from './CreateCommand'\nimport {FeatureCommand} from \"./FeatureCommand\";\n\nconst responseHandler =\n (type = 'json') =>\n (response) => {\n if (!response.ok) {\n throw response\n }\n return response[type]()\n }\n\nexport class MicronautStarterSDK {\n constructor({ baseUrl }) {\n this.cacheApi = new CacheApi(new SessionStorageAdapter(`${baseUrl}`))\n this.baseUrl = baseUrl\n }\n\n _urlBuilder(url) {\n if (url.startsWith('http')) {\n return url\n }\n return `${this.baseUrl}${url}`\n }\n\n _cache(url, handler) {\n return this.cacheApi.cache(url, () => this.get(url).then(handler))\n }\n\n /**\n * Underlying GET Request\n * @param {String} url the url\n * @return {Promise<Response>} the unhandled fetch response\n */\n get(url) {\n return fetch(this._urlBuilder(url), {\n method: 'GET',\n headers: new Headers({\n 'Content-Type': 'application/json',\n }),\n })\n }\n\n /**\n * Provides a description of the API.\n * @return {Promise<String>} description\n */\n async description() {\n return this._cache('/', responseHandler('text'))\n }\n\n /**\n * Get Select Options / and defaults for starter\n * @return {Promise<Object>} Select Options\n */\n async selectOptions() {\n return this._cache('/select-options', responseHandler('json'))\n }\n\n /**\n * Information about feature versions provided by this instance.\n * @return {Promise<Object>} version information\n */\n async versions() {\n return this._cache(`/versions`, responseHandler('json'))\n }\n\n /**\n * List the application types.\n * @return {Promise<Object>} The types\n */\n async applicationTypes() {\n return this._cache(`/application-types`, responseHandler('json'))\n }\n\n /**\n * Get a specific application type.\n * @return {Promise<Object>} The type\n */\n async applicationTypeInfo({ type }) {\n return this._cache(`/application-types/${type}`, responseHandler('json'))\n }\n\n /**\n * Get a list of features for a given Application Type\n * @param {String} type Application Type\n * @param {Object} form command parameters\n * @return {Promise<Array>} List of features\n */\n async features({ type, form }) {\n const featuresUrl = this.baseUrl + `/application-types/${type}/features`\n const featuresCommand = new FeatureCommand(form, featuresUrl);\n return this._cache(\n featuresCommand.toUrl(),\n responseHandler('json')\n )\n }\n\n /**\n * Get a list of default included features for a given Application Type\n * @param {String} type Application Type\n * @param {Object} form, command parameters\n * @return {Promise<Array>} List of features\n */\n async defaultIncludedFeatures({ type, form}) {\n const featuresUrl = this.baseUrl + `/application-types/${type}/features/default`\n const featuresCommand = new FeatureCommand(form, featuresUrl);\n return this._cache(\n featuresCommand.toUrl(),\n responseHandler('json')\n )\n }\n\n /**\n * Diffs the whole application for all selected features.\n * @param {Object} configuration command parameters\n * @return {Promise<String>} A textual diff\n */\n async diff(configuration) {\n const createCommand = new CreateCommand(configuration, this.baseUrl)\n return this.get(createCommand.toUrl('diff')).then(responseHandler('text'))\n }\n\n /**\n * Previews the contents of a generated application.\n * @param {Object} configuration command parameters\n * @return {Promise<Object>} [description]\n */\n async preview(configuration) {\n const createCommand = new CreateCommand(configuration, this.baseUrl)\n return this.get(createCommand.toUrl('preview')).then(\n responseHandler('json')\n )\n }\n\n /**\n * Creates an application, generating a ZIP file as the response.\n * @param {Object} configuration command parameters\n * @return {Promise<Blob>} A ZIP file containing the generated application.\n */\n async create(configuration) {\n const createCommand = new CreateCommand(configuration, this.baseUrl)\n return this.get(createCommand.toUrl('create')).then(responseHandler('blob'))\n }\n\n /**\n * Get The HREF for the clone to github feature.\n * @param {Object} configuration command parameters\n * @return {String} The link will begin processing the github workflow with redirects\n */\n gitHubHref(configuration) {\n const createCommand = new CreateCommand(configuration, this.baseUrl)\n return createCommand.toUrl('github')\n }\n\n static createCommand(configuration, baseUrl) {\n return new CreateCommand(configuration, baseUrl)\n }\n\n /**\n * Get The HREF for the clone to github feature.\n * @param {String} baseUrl The base URL\n * @param {Object} configuration The create command data\n * @return {String} The link will begin processing the github workflow with redirects\n */\n static githubHrefForUrl(baseUrl, configuration) {\n if (!baseUrl) {\n return '#'\n }\n const createCommand = new CreateCommand(configuration, baseUrl)\n return createCommand.toUrl('github')\n }\n\n static curlCommand(baseUrl, configuration) {\n if (!baseUrl) {\n console.warn('No URL provided for curlCommand')\n return ''\n }\n const createCommand = new CreateCommand(configuration, baseUrl)\n return createCommand.toCurl()\n }\n\n static cliCommand(configuration) {\n const createCommand = new CreateCommand(configuration)\n return createCommand.toCli()\n }\n\n /**\n * Extract correlative defaults for given types\n * These can be used to change the state of the UI\n * @param {Object} options Select Optons keyed by type\n * @return {Object} defaults keyed by type\n */\n static extractDefaults(options) {\n return Object.keys(options).reduce((acc, key) => {\n const val = options[key].options.reduce((acc, opt) => {\n const val = opt['defaults']\n if (val) {\n acc[opt.value] = opt['defaults']\n }\n return acc\n }, {})\n\n if (Object.keys(val).length) {\n acc[key] = val\n }\n return acc\n }, {})\n }\n\n /**\n * Extract The Default values of a given select option aray\n * @param {Object} options Select Options keyed by type\n * @return {Object} Select Option defaults keyed by type\n */\n static extractDefaultOptions(options) {\n return Object.keys(options).reduce((acc, key) => {\n acc[key] = options[key].defaultOption.value\n return acc\n }, {})\n }\n\n /**\n * Rebuild features array of string into an object suitable for select options\n * @note This is mostly for reconstruction from query parameter data.\n *\n * @param {Array<String>} features An Array of Strings\n * @return {Object<String,Object>} Select Option keyed by feature name\n */\n static reconstructFeatures(features) {\n if (!features) {\n return {}\n }\n\n if (!Array.isArray(features)) {\n features = [features]\n }\n\n return features.reduce((acc, feature) => {\n acc[feature] = { name: feature }\n return acc\n }, {})\n }\n\n static async loadVersion({ baseUrl, key, order }) {\n const mn = new this({ baseUrl })\n const result = await mn.versions()\n const version = result.versions['grails.version']\n return {\n key: key,\n label: version,\n version: version,\n value: baseUrl,\n api: baseUrl,\n order,\n }\n }\n\n static async loadVersions() {\n const { versions } = await fetch(VERSION_FEED_URL).then(\n responseHandler('json')\n )\n\n const maybeLoadVersion = (version) =>\n this.loadVersion(version).catch((i) => null)\n\n return (\n await Promise.all(\n versions.sort((a, b) => a.order - b.order).map(maybeLoadVersion)\n )\n ).filter((i) => i)\n }\n}\n","import { MicronautStarterSDK } from '../../micronaut'\n\nexport const StarterSDK = MicronautStarterSDK\n","import {useEffect, useMemo} from 'react'\nimport {\n atom,\n selector,\n selectorFamily,\n useRecoilCallback,\n useRecoilState,\n useRecoilValue,\n useRecoilValueLoadable,\n useSetRecoilState,\n} from 'recoil'\n\nimport {sharableLink} from '../helpers/Routing'\n\nimport {setStorageValue} from '../hooks/useLocalStorage'\nimport {formResets} from './factories/formResets'\n\nimport {StarterSDK} from './factories/StarterSDK'\nimport {loadVersions} from './factories/versionLoader'\n\nconst INITIAL_FORM_DATA_STORAGE_KEY = 'INITIAL_FORM_DATA'\n\nconst versionLoader = loadVersions()\n\nconst defaultValueSelectorFactory = (key, fallback) =>\n selector({\n key: `STATE_DEFAULTS/${key}`,\n get: ({ get }) => {\n const initial = get(initialValueState)\n return initial[key] ?? fallback\n },\n })\n\nexport const initialValueState = atom({\n key: 'INITIAL_VALUE_STATE',\n default: {},\n})\n\nexport const selectedVersionState = atom({\n key: 'SELECTED_VERSION_STATE',\n default: null,\n effects_UNSTABLE: [\n ({ onSet }) => {\n onSet((version) => {\n setStorageValue('SELECTED_MN_VERSION', version)\n })\n },\n ],\n})\n\nexport const availableVersionsState = selector({\n key: 'AVAILABLE_VERSIONS_STATE',\n get: () => versionLoader,\n})\n\nexport const baseUrlState = selector({\n key: 'BASE_URL_STATE',\n get: ({ get }) => {\n const selectedVersion = get(selectedVersionState)\n return selectedVersion?.api\n },\n})\n\nexport const sdkFactoryState = atom({\n key: 'MICRONAUT_SDK_CREATOR_STATE',\n default: ({ baseUrl }) => new StarterSDK({ baseUrl }),\n})\n\nexport const sdkState = selector({\n key: 'MICRONAUT_SDK_STATE',\n get: ({ get }) => {\n const baseUrl = get(baseUrlState)\n if (!baseUrl) return null\n const factory = get(sdkFactoryState)\n return factory({ baseUrl })\n },\n})\n\nexport const optionsState = selector({\n key: 'SELECT_OPTIONS_STATE',\n get: async ({ get }) => {\n const sdk = get(sdkState)\n if (!sdk) return {}\n return await sdk.selectOptions()\n },\n})\n\nexport const optionsForState = selectorFamily({\n key: 'SELECT_OPTIONS_FOR_STATE',\n get:\n (key) =>\n ({ get }) => {\n const opts = get(optionsState)\n return opts[key]\n },\n})\n\n// Start Form Fields\nexport const nameState = atom({\n key: 'NAME_STATE',\n default: defaultValueSelectorFactory('name'),\n})\n\nexport const packageState = atom({\n key: 'PACKAGE_STATE',\n default: defaultValueSelectorFactory('package'),\n})\n\nexport const appTypeState = atom({\n key: 'TYPE_STATE',\n default: defaultValueSelectorFactory('type'),\n})\n\nexport const testState = atom({\n key: 'TEST_STATE',\n default: defaultValueSelectorFactory('test'),\n})\n\nexport const langState = atom({\n key: 'LANG_STATE',\n default: defaultValueSelectorFactory('lang'),\n})\n\nexport const buildState = atom({\n key: 'BUILD_STATE',\n default: defaultValueSelectorFactory('build'),\n})\n\nexport const servletState = atom({\n key: 'SERVLET_STATE',\n default: defaultValueSelectorFactory('servlet'),\n})\n\nexport const gormState = atom({\n key: 'GORM_STATE',\n default: defaultValueSelectorFactory('gorm'),\n})\n\nexport const javaVersionState = atom({\n key: 'JAVA_VERSION_STATE',\n default: defaultValueSelectorFactory('javaVersion'),\n})\n\nexport const featuresState = atom({\n key: 'FEATURES_STATE',\n default: defaultValueSelectorFactory('features', []),\n})\n// End Form Data\n\nexport const availableFeaturesState = selector({\n key: 'FEATURES_FOR_TYPE_STATE',\n get: async ({ get }) => {\n const sdk = get(sdkState)\n const type = get(appTypeState)\n const form = get(starterFormState)\n if (!sdk || !type) return []\n const { features } = await sdk.features({ type, form })\n return features\n },\n})\n\nexport const defaultIncludedFeaturesState = selector({\n key: 'DEFAULT_FEATURES_FOR_TYPE_STATE',\n get: async ({ get }) => {\n const sdk = get(sdkState)\n const type = get(appTypeState)\n const form = get(starterFormState)\n if (!sdk || !form.type) return []\n const { features } = await sdk.defaultIncludedFeatures({type, form})\n return features\n },\n})\n\nexport const starterFormState = selector({\n key: 'STARTER_FORM_STATE',\n get: ({ get }) => {\n const type = get(appTypeState)\n const name = get(nameState)\n const pkg = get(packageState)\n const servlet = get(servletState)\n const gorm = get(gormState)\n const test = get(testState)\n const javaVersion = get(javaVersionState)\n const features = get(featuresState)\n\n // This technically causes a side effect,\n // but done here since selectors don't support\n // recoil effects.\n return setStorageValue(INITIAL_FORM_DATA_STORAGE_KEY, {\n type,\n name,\n package: pkg,\n javaVersion,\n gorm,\n servlet,\n test,\n features,\n })\n },\n})\n\nexport const gitHubLinkState = selector({\n key: 'GITHUB_LINK_STATE',\n get: ({ get }) => {\n const form = get(starterFormState)\n const baseUrl = get(baseUrlState)\n return StarterSDK.githubHrefForUrl(baseUrl, form)\n },\n})\n\nexport const createCommandState = selector({\n key: 'CREATE_COMMAND_STATE',\n get: ({ get }) => {\n const form = get(starterFormState)\n const baseUrl = get(baseUrlState)\n return StarterSDK.createCommand(form, baseUrl)\n },\n})\n\nexport const sharableLinkState = selector({\n key: 'SHARABLE_LINK_STATE',\n get: ({ get }) => {\n const form = get(starterFormState)\n const selectedVersion = get(selectedVersionState)\n return sharableLink(form, selectedVersion?.version)\n },\n})\n\n//----------------------\n// State Hooks\n//---------------------\nconst useDerivedDefultsEffect = (select, setter) => {\n useEffect(() => {\n if (!select) return\n const { defaultOption, options } = select\n setter((value) => {\n if (!value) return defaultOption.value\n const idx = options.findIndex((v) => v.value === value)\n if (idx < 0) return defaultOption.value\n return value\n })\n }, [select, setter])\n}\n\nexport function useCurrenSdk() {\n return useRecoilValue(sdkState)\n}\n\nexport function useInitialData() {\n return useRecoilValue(initialValueState)\n}\n\nexport function useGitHubShareLink() {\n return useRecoilValue(gitHubLinkState)\n}\n\nexport function useSharableLink() {\n return useRecoilValue(sharableLinkState)\n}\n\nexport function useAvailableVersions() {\n return useRecoilValue(availableVersionsState)\n}\n\nexport function useAvailableFeatures() {\n const loadable = useRecoilValueLoadable(availableFeaturesState)\n switch (loadable.state) {\n case 'hasValue':\n return { features: loadable.contents, loading: false, error: null }\n case 'loading':\n return { features: [], loading: true, error: null }\n default:\n return { features: [], loading: false, error: loadable.contents }\n }\n}\n\nexport function useDefaultIncludedFeatures() {\n const loadable = useRecoilValueLoadable(defaultIncludedFeaturesState)\n switch (loadable.state) {\n case 'hasValue':\n return { features: loadable.contents, loading: false, error: null }\n case 'loading':\n return { features: [], loading: true, error: null }\n default:\n return { features: [], loading: false, error: loadable.contents }\n }\n}\n\nexport function useSelectedVersions() {\n const [value, setter] = useRecoilState(selectedVersionState)\n const defaultVersion = useRecoilValue(initialValueState).version\n const options = useAvailableVersions()\n useEffect(() => {\n if (!value) {\n let idx = Math.max(\n 0,\n options.findIndex((opt) => opt.version === defaultVersion)\n )\n setter(options[idx])\n }\n }, [value, setter, options, defaultVersion])\n return [value, setter, options]\n}\n\nexport function useConfigureInitialVersionEffect(onError) {\n const [value, setter] = useRecoilState(selectedVersionState)\n const options = useAvailableVersions()\n const { version: defaultVersion } = useRecoilValue(initialValueState)\n\n return useEffect(() => {\n if (!value && options?.length) {\n const idx = options.findIndex((opt) => opt.version === defaultVersion)\n if (defaultVersion && idx < 0) {\n onError({ requested: defaultVersion, using: options[0].version })\n }\n setter(options[Math.max(idx, 0)])\n }\n }, [value, setter, options, onError, defaultVersion])\n}\n\nexport function useSelectedFeatures() {\n const [value, setter] = useRecoilState(featuresState)\n const { features, loading } = useAvailableFeatures()\n return [value, setter, features, loading]\n}\n\nexport function useSelectedFeaturesValue() {\n return useRecoilValue(featuresState)\n}\n\nexport function useDefaultIncludedFeaturesValue() {\n return useRecoilValue(defaultIncludedFeaturesState)\n}\n\nexport function useSelectedFeaturesHandlers() {\n const setFeatures = useSetRecoilState(featuresState)\n return useMemo(() => {\n const onAddFeature = (feature) => {\n setFeatures(({ ...draft }) => {\n draft[feature.name] = feature\n return draft\n })\n }\n\n const onRemoveFeature = (feature) => {\n setFeatures(({ ...draft }) => {\n delete draft[feature.name]\n return draft\n })\n }\n\n const onRemoveAllFeatures = () => {\n setFeatures({})\n }\n return { onAddFeature, onRemoveFeature, onRemoveAllFeatures }\n }, [setFeatures])\n}\n\nexport const useAppName = () => useRecoilState(nameState)\nexport const useAppPackage = () => useRecoilState(packageState)\n\nconst useSelectOptionsForType = (key) => {\n const loadable = useRecoilValueLoadable(optionsForState(key))\n switch (loadable.state) {\n case 'hasValue':\n return loadable.contents\n default:\n return null\n }\n}\n\nexport const useApplicationType = () => {\n const [value, setter] = useRecoilState(appTypeState)\n const select = useSelectOptionsForType('type')\n useDerivedDefultsEffect(select, setter)\n return [value, setter, select]\n}\n\nexport const useTestFramework = () => {\n const [value, setter] = useRecoilState(testState)\n const select = useSelectOptionsForType('test')\n useDerivedDefultsEffect(select, setter)\n return [value, setter, select]\n}\n\nexport const useLanguage = () => {\n const [value, setter] = useRecoilState(langState)\n const select = useSelectOptionsForType('lang')\n useDerivedDefultsEffect(select, setter)\n return [value, setter, select]\n}\n\nexport const useBuild = () => {\n const [value, setter] = useRecoilState(buildState)\n const select = useSelectOptionsForType('build')\n useDerivedDefultsEffect(select, setter)\n return [value, setter, select]\n}\n\nexport const useServlet = () => {\n const [value, setter] = useRecoilState(servletState)\n const select = useSelectOptionsForType('servlet')\n useDerivedDefultsEffect(select, setter)\n return [value, setter, select]\n}\n\nexport const useGorm = () => {\n const [value, setter] = useRecoilState(gormState)\n const select = useSelectOptionsForType('gorm')\n useDerivedDefultsEffect(select, setter)\n return [value, setter, select]\n}\n\nexport const useJavaVersion = () => {\n const [value, setter] = useRecoilState(javaVersionState)\n const select = useSelectOptionsForType('jdkVersion')\n useDerivedDefultsEffect(select, setter)\n return [value, setter, select]\n}\n\nexport const useStarterForm = () => {\n return useRecoilValue(starterFormState)\n}\n\nexport const useCreateCommand = () => {\n return useRecoilValue(createCommandState)\n}\n\nexport const useGetStarterForm = () => {\n return useRecoilCallback(({ snapshot }) => async () => {\n const createPayload = await snapshot.getPromise(starterFormState)\n const sdk = await snapshot.getPromise(sdkState)\n return { createPayload, sdk }\n })\n}\n\nexport const useResetStarterForm = () => {\n return useRecoilCallback(({ set, snapshot }) => async () => {\n const options = await snapshot.getPromise(optionsState)\n const resets = formResets({})\n\n set(nameState, resets.name)\n set(packageState, resets.package)\n\n set(appTypeState, options.type.defaultOption.value)\n set(servletState, options.servlet.defaultOption.value)\n set(gormState, options.gorm.defaultOption.value)\n set(testState, options.test.defaultOption.value)\n set(javaVersionState, options.jdkVersion.defaultOption.value)\n set(featuresState, {})\n })\n}\n","import { StarterSDK } from './StarterSDK'\n\nexport const loadVersions = () => StarterSDK.loadVersions()\n","import { ACTIVITY_KEY, isDeepLinkReferral } from '../../helpers/Routing'\nimport { getStorageValue } from '../../hooks/useLocalStorage'\nimport { initialValueState } from '../store'\nimport { formResets } from './formResets'\nimport { initialValueGenerator, providedDefaults } from './providedDefaults'\nimport { StarterSDK } from './StarterSDK'\n\nexport const INITIAL_FORM_DATA_STORAGE_KEY = 'INITIAL_FORM_DATA'\n\nconst initialForm = (initialData) => {\n const { javaVersion, gorm, servlet, test, features } = initialData\n const parsed = {\n javaVersion: typeof javaVersion === 'string' ? javaVersion : '', // This is specifically \"\" to work with the SelectOption component\n servlet: typeof servlet === 'string' ? servlet : '',\n gorm: typeof gorm === 'string' ? gorm : '',\n test: typeof test === 'string' ? test : '',\n features: StarterSDK.reconstructFeatures(features),\n [ACTIVITY_KEY]: initialData[ACTIVITY_KEY],\n }\n return {\n ...parsed,\n ...formResets(initialData),\n }\n}\n\nfunction initialVersionResolver(query = {}) {\n const { version } = query\n return {\n // Non Form\n version: version ?? getStorageValue('SELECTED_MN_VERSION', null)?.version,\n }\n}\n\nfunction extractAccessoryData(query = {}) {\n const { debug, cloneUrl, htmlUrl, error, showing } = query\n return {\n // Clone To GH Related Keys\n cloneUrl,\n htmlUrl,\n error,\n\n // Code Preview Related Keys\n showing,\n\n // Dev Keys\n debug,\n }\n}\n\nexport const initializeStateFactory =\n (initialData) =>\n ({ set }) => {\n const query = providedDefaults()\n const isReferral = isDeepLinkReferral(query)\n const initialValueData = initialValueGenerator(\n INITIAL_FORM_DATA_STORAGE_KEY,\n initialForm(query),\n isReferral\n )\n const accessory = extractAccessoryData(query)\n const versionData = initialVersionResolver(query)\n const init = Object.assign(\n {},\n initialValueData,\n accessory,\n versionData,\n initialData\n )\n\n set(initialValueState, init)\n }\n","import { parseAndConsumeQuery } from '../../helpers/Routing'\nimport { getStorageValue } from '../../hooks/useLocalStorage'\n\nexport const initialValueGenerator = (key, fallback, isReferral) =>\n getStorageValue(key, fallback, isReferral)\n\nexport const providedDefaults = () => parseAndConsumeQuery()\n","import { useMemo } from 'react'\nimport { RecoilRoot } from 'recoil'\nimport { initializeStateFactory } from './factories/initializeState'\n\nexport default function ApplicationState({\n initialData,\n stateInitializer,\n children,\n}) {\n const initializeState = useMemo(() => {\n if (typeof stateInitializer === 'function') return stateInitializer\n return initializeStateFactory(initialData)\n }, [initialData, stateInitializer])\n\n return <RecoilRoot initializeState={initializeState}>{children}</RecoilRoot>\n}\n","import _ from 'lodash'\n\nexport const OS_NIX = '*nix'\nexport const OS_WINDOWS = 'win'\n\nexport const osOpts = [\n { value: '*nix', label: 'Unix/Linux/macOS' },\n { value: 'win', label: 'Windows' },\n]\n\nexport const guessOs = () => {\n const { appVersion } = window.navigator\n if (appVersion.indexOf('Linux') !== -1) return OS_NIX\n if (appVersion.indexOf('Mac') !== -1) return OS_NIX\n if (appVersion.indexOf('X11') !== -1) return OS_NIX\n if (appVersion.indexOf('Win') !== -1) return OS_WINDOWS\n return ''\n}\n\nexport const smartSetState =\n (newData, comparator = _.isEqual) =>\n (oldData) => {\n if (comparator(oldData, newData)) {\n return oldData\n }\n return newData\n }\n\nexport const capitalize = (s) => {\n if (typeof s !== 'string') return ''\n const results = s.toLowerCase().split(/[_-]/gi)\n return results.map((s) => s.charAt(0).toUpperCase() + s.slice(1)).join(' ')\n}\n\nexport const downloadBlob = (blob, name = 'file.txt') => {\n var url = window.URL.createObjectURL(blob)\n var a = document.createElement('a')\n a.href = url\n a.download = name\n document.body.appendChild(a) // we need to append the element to the dom -> otherwise it will not work in firefox\n a.click()\n}\n\nexport const debounceResponse =\n (start, atLeast = 700) =>\n (response) => {\n const end = Date.now()\n const diff = end - start\n return new Promise((r) => {\n setTimeout(() => {\n r(response)\n }, Math.max(atLeast - diff, 0))\n })\n }\n\nexport const wait = (ms) => new Promise((resolve) => setTimeout(resolve, ms))\n\nexport const takeAtLeast = async (fn, atLeast = 1000) => {\n const start = Date.now()\n let results, error\n\n try {\n results = await fn()\n } catch (err) {\n error = err\n }\n const end = Date.now()\n const minWait = atLeast - (end - start)\n if (minWait > 0) {\n await wait(minWait)\n }\n if (error) throw error\n return results\n}\n\nexport const makeNodeTree = (data) => {\n let nodes = {}\n let obj = data\n let node = nodes\n let keys = Object.keys(obj)\n for (let k = 0; k < keys.length; k++) {\n let key = keys[k]\n let folders = key.split('/')\n let rootNode = node\n for (let i = 0; i < folders.length; i++) {\n if (i === folders.length - 1) {\n node[folders[i]] = obj[key]\n } else {\n node[folders[i]] = node[folders[i]] || {}\n node = node[folders[i]]\n }\n }\n node = rootNode\n }\n return nodes\n}\n\nexport const responseHandler =\n (type = 'json') =>\n (response) => {\n if (!response.ok) {\n throw response\n }\n return response[type]()\n }\n\nexport const copyToClipboard = async (str) => {\n if (window.navigator.clipboard) {\n return window.navigator.clipboard.writeText(str)\n }\n\n return new Promise((resolve, reject) => {\n const el = document.createElement('textarea')\n el.value = str\n el.setAttribute('readonly', '')\n el.style.position = 'absolute'\n el.style.left = '-9999px'\n document.body.appendChild(el)\n el.focus()\n el.select()\n document.execCommand('Copy')\n setTimeout(() => {\n document.body.removeChild(el)\n resolve()\n }, 0)\n })\n}\n","const AltFooter = () => (\n <footer>\n <div className=\"content\">\n <div className=\"apache-grails\">\n <p>Apache Grails is supported by the Apache Software Foundation and the Grails community.</p>\n <a href='https://apache.org'><img className='' src='https://www.apache.org/img/asf_logo.png'\n width='300px'\n alt='Apache Software Foundation'/></a>\n <p>The Apache Software Foundation</p>\n <p>Apache, Apache Grails, Grails, Groovy, and the ASF logo are either registered trademarks or\n trademarks\n of The Apache Software Foundation.\n </p>\n </div>\n <nav className=\"socialmedianav\">\n <ul>\n <li><a href=\"mailto:dev@grails.apache.org\"><img src=\"https://grails.apache.org/images/email.svg\"\n alt=\"Email Icon\"/></a></li>\n <li><a href=\"https://slack.grails.org\"><img src=\"https://grails.apache.org/images/slack.svg\"\n alt=\"Slack Icon\"/></a></li>\n <li><a href=\"https://www.youtube.com/@GrailsFramework\"><img\n src=\"https://grails.apache.org/images/youtube.svg\"\n alt=\"Youtube Icon\"/></a></li>\n <li><a href=\"https://www.linkedin.com/showcase/official-grails/\"><img\n src=\"https://grails.apache.org/images/linkedin.svg\" alt=\"LinkedIn Icon\"/></a></li>\n <li><a href=\"https://github.com/apache/grails-core\"><img\n src=\"https://grails.apache.org/images/github.svg\"\n alt=\"Github Icon\"/></a></li>\n <li><a href=\"https://x.com/grailsframework\">\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" x=\"0\" y=\"0\" width=\"45px\" height=\"45px\"\n viewBox=\"-100 -100 500 500\">\n <circle cx=\"150\" cy=\"150\" r=\"250\" fill=\"#8C8C8C\"/>\n <path\n d=\"M178.57 127.15 290.27 0h-26.46l-97.03 110.38L89.34 0H0l117.13 166.93L0 300.25h26.46l102.4-116.59 81.8 116.59h89.34M36.01 19.54H76.66l187.13 262.13h-40.66\"\n fill=\"white\"/>\n </svg>\n </a></li>\n </ul>\n </nav>\n </div>\n <div className=\"content\">\n <nav className=\"partnersnav\">\n <p>© 2005-2025 the Apache Grails project — Grails is Open Source: \n <a href='https://www.apache.org/licenses/'>License</a>, \n <a href='https://privacy.apache.org/policies/privacy-policy-public.html'>Privacy Policy</a>, \n <a href='https://www.apache.org/foundation/sponsorship'>Sponsor Apache</a>, \n <a href='https://www.apache.org/events/current-event'>Events</a>, \n <a href='https://www.apache.org/security'>Security</a>, \n <a href='https://www.apache.org/foundation/thanks.html'>Thanks</a>\n </p>\n </nav>\n </div>\n </footer>\n)\n\nexport default AltFooter\n","import AltFooter from './AltFooter.jsx'\nimport './AltFooter.css'\nexport default AltFooter ","export const KEY_CODE_BREAK = 3\nexport const KEY_CODE_BACKSPACE = 8\nexport const KEY_CODE_TAB = 9\nexport const KEY_CODE_CLEAR = 12\nexport const KEY_CODE_ENTER = 13\nexport const KEY_CODE_SHIFT = 16\nexport const KEY_CODE_CTRL = 17\nexport const KEY_CODE_ALT = 18\nexport const KEY_CODE_PAUSE_BREAK = 19\nexport const KEY_CODE_CAPS_LOCK = 20\nexport const KEY_CODE_HANGUL = 21\nexport const KEY_CODE_HANJA = 25\nexport const KEY_CODE_ESCAPE = 27\nexport const KEY_CODE_CONVERSION = 28\nexport const KEY_CODE_NON_CONVERSION = 29\nexport const KEY_CODE_SPACEBAR = 32\nexport const KEY_CODE_PAGE_UP = 33\nexport const KEY_CODE_PAGE_DOWN = 34\nexport const KEY_CODE_END = 35\nexport const KEY_CODE_HOME = 36\nexport const KEY_CODE_LEFT_ARROW = 37\nexport const KEY_CODE_UP_ARROW = 38\nexport const KEY_CODE_RIGHT_ARROW = 39\nexport const KEY_CODE_DOWN_ARROW = 40\nexport const KEY_CODE_SELECT = 41\nexport const KEY_CODE_PRINT = 42\nexport const KEY_CODE_EXECUTE = 43\nexport const KEY_CODE_PRINT_SCREEN = 44\nexport const KEY_CODE_INSERT = 45\nexport const KEY_CODE_DELETE = 46\nexport const KEY_CODE_HELP = 47\nexport const KEY_CODE_0 = 48\nexport const KEY_CODE_1 = 49\nexport const KEY_CODE_2 = 50\nexport const KEY_CODE_3 = 51\nexport const KEY_CODE_4 = 52\nexport const KEY_CODE_5 = 53\nexport const KEY_CODE_6 = 54\nexport const KEY_CODE_7 = 55\nexport const KEY_CODE_8 = 56\nexport const KEY_CODE_9 = 57\nexport const KEY_CODE_COLON = 58\nexport const KEY_CODE_FIREFOX_SEMICOLON = 59\nexport const KEY_CODE_EQUALS = 59\nexport const KEY_CODE_LESS_THAN = 60\nexport const KEY_CODE_FIREFOX_EQUALS = 61\nexport const KEY_CODE_SS = 63\nexport const KEY_CODE_FIREFOX_AT_SIGN = 64\nexport const KEY_CODE_A = 65\nexport const KEY_CODE_B = 66\nexport const KEY_CODE_C = 67\nexport const KEY_CODE_D = 68\nexport const KEY_CODE_E = 69\nexport const KEY_CODE_F = 70\nexport const KEY_CODE_G = 71\nexport const KEY_CODE_H = 72\nexport const KEY_CODE_I = 73\nexport const KEY_CODE_J = 74\nexport const KEY_CODE_K = 75\nexport const KEY_CODE_L = 76\nexport const KEY_CODE_M = 77\nexport const KEY_CODE_N = 78\nexport const KEY_CODE_O = 79\nexport const KEY_CODE_P = 80\nexport const KEY_CODE_Q = 81\nexport const KEY_CODE_R = 82\nexport const KEY_CODE_S = 83\nexport const KEY_CODE_T = 84\nexport const KEY_CODE_U = 85\nexport const KEY_CODE_V = 86\nexport const KEY_CODE_W = 87\nexport const KEY_CODE_X = 88\nexport const KEY_CODE_Y = 89\nexport const KEY_CODE_Z = 90\nexport const KEY_CODE_LEFT_WINDOW_KEY = 91\nexport const KEY_CODE_RIGHT_WINDOW_KEY = 92\nexport const KEY_CODE_CMD = 93\nexport const KEY_CODE_SLEEP = 95\nexport const KEY_CODE_NUMPAD_0 = 96\nexport const KEY_CODE_NUMPAD_1 = 97\nexport const KEY_CODE_NUMPAD_2 = 98\nexport const KEY_CODE_NUMPAD_3 = 99\nexport const KEY_CODE_NUMPAD_4 = 100\nexport const KEY_CODE_NUMPAD_5 = 101\nexport const KEY_CODE_NUMPAD_6 = 102\nexport const KEY_CODE_NUMPAD_7 = 103\nexport const KEY_CODE_NUMPAD_8 = 104\nexport const KEY_CODE_NUMPAD_9 = 105\nexport const KEY_CODE_MULTIPLY = 106\nexport const KEY_CODE_ADD = 107\nexport const KEY_CODE_FIREFOX_NUMPAD_PERIOD = 108\nexport const KEY_CODE_SUBTRACT = 109\nexport const KEY_CODE_DECIMAL_POINT = 110\nexport const KEY_CODE_DIVIDE = 111\nexport const KEY_CODE_F1 = 112\nexport const KEY_CODE_F2 = 113\nexport const KEY_CODE_F3 = 114\nexport const KEY_CODE_F4 = 115\nexport const KEY_CODE_F5 = 116\nexport const KEY_CODE_F6 = 117\nexport const KEY_CODE_F7 = 118\nexport const KEY_CODE_F8 = 119\nexport const KEY_CODE_F9 = 120\nexport const KEY_CODE_F10 = 121\nexport const KEY_CODE_F11 = 122\nexport const KEY_CODE_F12 = 123\nexport const KEY_CODE_F13 = 124\nexport const KEY_CODE_F14 = 125\nexport const KEY_CODE_F15 = 126\nexport const KEY_CODE_F16 = 127\nexport const KEY_CODE_F17 = 128\nexport const KEY_CODE_F18 = 129\nexport const KEY_CODE_F19 = 130\nexport const KEY_CODE_F20 = 131\nexport const KEY_CODE_F21 = 132\nexport const KEY_CODE_F22 = 133\nexport const KEY_CODE_F23 = 134\nexport const KEY_CODE_F24 = 135\nexport const KEY_CODE_F25 = 136\nexport const KEY_CODE_F26 = 137\nexport const KEY_CODE_F27 = 138\nexport const KEY_CODE_F28 = 139\nexport const KEY_CODE_F29 = 140\nexport const KEY_CODE_F30 = 141\nexport const KEY_CODE_F31 = 142\nexport const KEY_CODE_F32 = 143\nexport const KEY_CODE_NUM_LOCK = 144\nexport const KEY_CODE_SCROLL_LOCK = 145\nexport const KEY_CODE_AIRPLANE_MODE = 151\nexport const KEY_CODE_CARET = 160\nexport const KEY_CODE_EXCLAMATION = 161\nexport const KEY_CODE_ARABIC_SEMICOLON = 162\nexport const KEY_CODE_POUND_SIGN = 163\nexport const KEY_CODE_DOLLAR_SIGN = 164\nexport const KEY_CODE_Ù = 165\nexport const KEY_CODE_PAGE_BACKWARD = 166\nexport const KEY_CODE_PAGE_FORWARD = 167\nexport const KEY_CODE_REFRESH = 168\nexport const KEY_CODE_CLOSING_PAREN = 169\nexport const KEY_CODE_ASTERISK = 170\nexport const KEY_CODE_HOME_KEY = 172\nexport const KEY_CODE_NEXT = 176\nexport const KEY_CODE_PREVIOUS = 177\nexport const KEY_CODE_STOP = 178\nexport const KEY_CODE_PLAY_PAUSE = 179\nexport const KEY_CODE_EMAIL = 180\nexport const KEY_CODE_SEMI_COLON = 186\nexport const KEY_CODE_EQUAL_SIGN = 187\nexport const KEY_CODE_COMMA = 188\nexport const KEY_CODE_DASH = 189\nexport const KEY_CODE_PERIOD = 190\nexport const KEY_CODE_QUESTION = 191\nexport const KEY_CODE_SLASH = 191\n","import {\n KEY_CODE_A,\n KEY_CODE_D,\n KEY_CODE_ENTER,\n KEY_CODE_G,\n KEY_CODE_J,\n KEY_CODE_P,\n KEY_CODE_S,\n KEY_CODE_QUESTION,\n KEY_CODE_SHIFT,\n KEY_CODE_T,\n KEY_CODE_V,\n} from '../constants/keyCodes'\n\nconst SHIFT_TEXT = 'SHIFT'\n\nexport const HELP_SHORTCUT = {\n label: 'Help',\n textValue: SHIFT_TEXT + '+ ?',\n keys: [KEY_CODE_SHIFT, KEY_CODE_QUESTION],\n}\n\nexport const PREVIEW_SHORTCUT = {\n label: 'Preview',\n textValue: SHIFT_TEXT + ' + P',\n keys: [KEY_CODE_SHIFT, KEY_CODE_P],\n}\n\nexport const DIFF_SHORTCUT = {\n label: 'Show Diff',\n textValue: SHIFT_TEXT + ' + D',\n keys: [KEY_CODE_SHIFT, KEY_CODE_D],\n}\n\nexport const GENERATE_SHORTCUT = {\n label: 'Create a Zip',\n textValue: SHIFT_TEXT + ' + ⏎',\n keys: [KEY_CODE_SHIFT, KEY_CODE_ENTER],\n}\n\nexport const NEXT_VERSION_SHORTCUT = {\n label: 'Toggle to the next Grails Version',\n textValue: SHIFT_TEXT + ' + V',\n keys: [KEY_CODE_SHIFT, KEY_CODE_V],\n}\n\nexport const NEXT_APP_TYPE_SHORTCUT = {\n label: 'Toggle to the next Project Type',\n textValue: SHIFT_TEXT + ' + A',\n keys: [KEY_CODE_SHIFT, KEY_CODE_A],\n}\n\nexport const NEXT_JDK_SHORTCUT = {\n label: 'Toggle to the next Java Version',\n textValue: SHIFT_TEXT + ' + J',\n keys: [KEY_CODE_SHIFT, KEY_CODE_J],\n}\n\nexport const NEXT_GORM_SHORTCUT = {\n label: 'Toggle to the next GORM Implementation',\n textValue: SHIFT_TEXT + ' + G',\n keys: [KEY_CODE_SHIFT, KEY_CODE_G],\n}\n\nexport const NEXT_SERVLET_SHORTCUT = {\n label: 'Toggle to the next Embedded Servlet Container',\n textValue: SHIFT_TEXT + ' + S',\n keys: [KEY_CODE_SHIFT, KEY_CODE_S],\n}\n\nexport const NEXT_TEST_SHORTCUT = {\n label: 'Toggle to the next Test Framework',\n textValue: SHIFT_TEXT + ' + T',\n keys: [KEY_CODE_SHIFT, KEY_CODE_T],\n}\n\nexport const SHORTCUT_REGISTRY = [\n HELP_SHORTCUT,\n GENERATE_SHORTCUT,\n PREVIEW_SHORTCUT,\n DIFF_SHORTCUT,\n NEXT_VERSION_SHORTCUT,\n NEXT_GORM_SHORTCUT,\n NEXT_SERVLET_SHORTCUT,\n NEXT_APP_TYPE_SHORTCUT,\n NEXT_JDK_SHORTCUT,\n NEXT_TEST_SHORTCUT,\n]\n","import { useCallback, useEffect, useRef } from 'react'\n\nconst IGNORE_TAGS = ['INPUT', 'TEXTAREA']\n\nfunction shouldIgnore(target) {\n return IGNORE_TAGS.includes(target.tagName)\n}\n\nconst DISABLED_FN = () => {}\nexport default function useKeyboardShortcuts(\n shortcutKeys = [],\n callback = () => {},\n disabled = false\n) {\n const activeKeys = useRef(new Set())\n const watchableCallback = useRef()\n useEffect(() => {\n watchableCallback.current = disabled === true ? DISABLED_FN : callback\n }, [callback, disabled])\n\n const onKeyDown = useCallback(\n (event) => {\n const { repeat, keyCode, target } = event\n\n if (repeat || shouldIgnore(target)) {\n return\n }\n activeKeys.current.add(keyCode)\n\n // If more keys are pressed than requested return\n if (activeKeys.current.size !== shortcutKeys.length) {\n return\n }\n\n const difference = new Set(\n [...shortcutKeys].filter((x) => !activeKeys.current.has(x))\n )\n\n if (difference.size === 0) {\n watchableCallback.current()\n }\n },\n [shortcutKeys, activeKeys, watchableCallback]\n )\n\n const onKeyUp = useCallback(\n (event) => {\n const { keyCode, repeat, target } = event\n\n if (repeat || shouldIgnore(target) || !activeKeys.current.has(keyCode)) {\n return\n }\n activeKeys.current.delete(keyCode)\n },\n [activeKeys]\n )\n\n useEffect(() => {\n activeKeys.current.clear()\n }, [shortcutKeys, activeKeys])\n\n useEffect(() => {\n window.addEventListener('keydown', onKeyDown, true)\n return () => window.removeEventListener('keydown', onKeyDown, true)\n }, [onKeyDown, shortcutKeys])\n\n useEffect(() => {\n window.addEventListener('keyup', onKeyUp, true)\n return () => window.removeEventListener('keyup', onKeyUp, true)\n }, [onKeyUp, shortcutKeys])\n}\n","import React, { useState } from 'react'\nimport AssignmentIcon from '@material-ui/icons/Assignment'\nimport AssignmentTurnedInIcon from '@material-ui/icons/AssignmentTurnedIn'\n\nimport { copyToClipboard } from '../../utility'\n\nconst CopyToClipboard = ({ value, copiedMessage = 'Copied!', children }) => {\n const [copied, setCopied] = useState(false)\n const onClick = () => {\n setCopied(true)\n copyToClipboard(value)\n setTimeout(() => {\n setCopied(false)\n }, 3000)\n }\n const copyClass = ['copied']\n if (copied) {\n copyClass.push('active')\n }\n\n const Icon = copied ? AssignmentTurnedInIcon : AssignmentIcon\n return (\n <div\n className=\"copy-to-clipboard clickable\"\n onClick={onClick}\n role=\"button\"\n >\n <span className={copyClass.join(' ')}>{copiedMessage}</span>\n {children}\n <Icon />\n </div>\n )\n}\n\nexport default CopyToClipboard\n","import CopyToClipboard from './CopyToClipboard'\nimport './copy-to-clipboard.css'\n\nexport default CopyToClipboard\n","// TooltipButton.js\nimport React from 'react'\nimport { Button } from 'react-materialize'\nimport { createMuiTheme, MuiThemeProvider } from '@material-ui/core/styles'\nimport Tooltip from '@material-ui/core/Tooltip'\n\nconst theme = createMuiTheme({\n overrides: {\n MuiTooltip: {\n tooltip: {\n fontSize: '0.9em',\n },\n },\n },\n})\n\nconst TooltipButton = ({ tooltip, children, ...props }) => {\n return (\n <MuiThemeProvider theme={theme}>\n <Tooltip\n enterDelay={600}\n enterNextDelay={350}\n enterTouchDelay={300}\n title={tooltip}\n arrow\n placement=\"top\"\n >\n <span>\n <Button {...props}>{children}</Button>\n </span>\n </Tooltip>\n </MuiThemeProvider>\n )\n}\n\nexport const TooltipWrapper = ({ tooltip, children }) => {\n return (\n <MuiThemeProvider theme={theme}>\n <Tooltip\n enterDelay={600}\n enterNextDelay={350}\n enterTouchDelay={300}\n title={tooltip}\n arrow\n placement=\"top\"\n >\n {children}\n </Tooltip>\n </MuiThemeProvider>\n )\n}\n\nexport default TooltipButton\n","import TooltipButton, { TooltipWrapper } from './TooltipButton'\nimport './tooltip-button.css'\n\nexport default TooltipButton\nexport { TooltipWrapper }\n","// CodePreview.js\nimport React, {\n useState,\n forwardRef,\n useEffect,\n useMemo,\n useImperativeHandle,\n} from 'react'\n\nimport { Button } from 'react-materialize'\nimport { Prism as SyntaxHighlighter } from 'react-syntax-highlighter'\nimport { Grid } from '@material-ui/core'\nimport TreeItem from '@material-ui/lab/TreeItem'\nimport TreeView from '@material-ui/lab/TreeView'\nimport Icon from 'react-materialize/lib/Icon'\nimport Modal from 'react-materialize/lib/Modal'\n\nimport { darcula } from 'react-syntax-highlighter/dist/cjs/styles/prism'\nimport { prism } from 'react-syntax-highlighter/dist/cjs/styles/prism'\n\nimport messages from '../../constants/messages.json'\nimport { PREVIEW_SHORTCUT } from '../../constants/shortcuts'\nimport {\n fullyQualifySharableLink,\n ACTIVITY_KEY,\n PREVIEW_ACTIVITY,\n} from '../../helpers/Routing'\nimport useKeyboardShortcuts from '../../hooks/useKeyboardShortcuts'\n\nimport { useSharableLink, useStarterForm } from '../../state/store'\nimport { capitalize, makeNodeTree } from '../../utility'\n\nimport CopyToClipboard from '../CopyToClipboard'\nimport TooltipButton, { TooltipWrapper } from '../TooltipButton'\n\nconst CodePreview = ({ theme = 'light', disabled, onLoad, onClose }, ref) => {\n const { gorm, servlet } = useStarterForm()\n const sharable = useSharableLink()\n\n const [showing, setShowing] = useState(null)\n const [preview, setPreview] = useState({})\n const open = Object.keys(preview).length > 0\n\n useKeyboardShortcuts(PREVIEW_SHORTCUT.keys, onLoad, disabled)\n\n useImperativeHandle(ref, () => ({\n show: async (json, showing) => {\n setShowing(showing || 'README.md')\n const nodes = makeNodeTree(json.contents)\n setPreview(nodes)\n },\n }))\n\n const [currentFile, setCurrentFile] = useState({\n contents: null,\n language: null,\n path: null,\n })\n\n const shareLink = useMemo(() => {\n let link = fullyQualifySharableLink(sharable, {\n [ACTIVITY_KEY]: PREVIEW_ACTIVITY,\n })\n if (currentFile.path) {\n link += `&showing=${currentFile.path}`\n }\n return link\n }, [sharable, currentFile.path])\n\n const onModalClose = () => {\n setPreview({})\n setCurrentFile({\n contents: null,\n language: null,\n path: null,\n })\n setShowing(null)\n if (onClose instanceof Function) {\n onClose()\n }\n }\n\n const handleFileSelection = (key, contents, path) => {\n if (typeof contents === 'string') {\n let idx = key.lastIndexOf('.')\n let language\n if (idx > -1) {\n language = key.substring(idx + 1)\n if (language === 'gradle') {\n language = 'groovy'\n }\n if (language === 'bat') {\n language = 'batch'\n }\n if (language === 'kt') {\n language = 'kotlin'\n }\n } else {\n language = 'bash'\n }\n setCurrentFile({ contents, language, path })\n }\n }\n\n function extractDefaults(path) {\n if (!path || typeof path !== 'string') {\n return {\n defaultSelected: 'root',\n }\n }\n\n const parts = path.split('/')\n const defaultExpanded = []\n while (parts.length) {\n defaultExpanded.push(parts.join('/'))\n parts.pop()\n }\n return {\n defaultSelected: path,\n defaultExpanded,\n }\n }\n\n const { defaultSelected, defaultExpanded } = useMemo(\n () => extractDefaults(showing),\n [showing]\n )\n\n useEffect(() => {\n if (typeof showing !== 'string') {\n return\n }\n const parts = showing.split('/').filter((i) => i)\n let contents = preview\n let key = ''\n while (contents && typeof match !== 'string' && parts.length) {\n key = parts.shift()\n contents = contents[key]\n }\n if (key && contents) {\n handleFileSelection(key, contents, showing)\n }\n }, [preview, showing])\n\n const renderTree = (nodes, rootKey = '') => {\n if (nodes instanceof Object) {\n return Object.keys(nodes)\n .sort(function order(key1, key2) {\n let key1Object = typeof nodes[key1] === 'object'\n let key2Object = typeof nodes[key2] === 'object'\n if (key1Object && !key2Object) {\n return -1\n } else if (!key1Object && key2Object) {\n return 1\n } else {\n if (key1 < key2) return -1\n else if (key1 > key2) return +1\n else return 0\n }\n })\n .map((key) => {\n const children = nodes[key]\n const nodeId = `${rootKey}/${key}`\n return (\n <TreeItem\n key={nodeId}\n nodeId={nodeId}\n label={key}\n onClick={() => handleFileSelection(key, children, nodeId)}\n >\n {renderTree(children, nodeId)}\n </TreeItem>\n )\n })\n }\n }\n\n return (\n <React.Fragment>\n <TooltipButton\n tooltip={messages.tooltips.preview}\n disabled={disabled}\n waves=\"light\"\n className={theme}\n style={{ marginRight: '5px', width: '100%' }}\n onClick={onLoad}\n tabIndex={1}\n >\n <Icon className=\"action-button-icon\" left>\n search\n </Icon>\n Preview\n </TooltipButton>\n <Modal\n open={open}\n header={\n 'Previewing a Grails application using ' +\n ' application using ' +\n capitalize(servlet) + ', ' + capitalize(gorm)\n }\n className={'preview ' + theme}\n fixedFooter\n options={{\n onCloseStart: onModalClose,\n startingTop: '5%',\n endingTop: '5%',\n }}\n actions={\n <div className=\"code-preview footer-wrapper\">\n <div className={currentFile.contents ? '' : 'hidden'}>\n <TooltipWrapper tooltip=\"Copy a link back to current file\">\n <div\n style={{\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n marginRight: '1em',\n }}\n >\n <CopyToClipboard value={shareLink}></CopyToClipboard>\n Link to This\n </div>\n </TooltipWrapper>\n </div>\n <Button waves=\"light\" modal=\"close\" flat>\n Close\n </Button>\n </div>\n }\n >\n <Grid container className=\"grid-container\">\n <Grid\n item\n xs={3}\n className={'grid-column'}\n style={{ borderRight: '1px solid' }}\n >\n <TreeView\n key={defaultSelected}\n defaultCollapseIcon={<Icon>folder_open</Icon>}\n defaultExpandIcon={<Icon>folder</Icon>}\n defaultEndIcon={<Icon>description</Icon>}\n defaultExpanded={defaultExpanded}\n defaultSelected={defaultSelected}\n >\n {renderTree(preview)}\n </TreeView>\n </Grid>\n <Grid item xs={9} className={'grid-column'}>\n {currentFile.contents && (\n <SyntaxHighlighter\n className=\"codePreview\"\n lineNumberContainerProps={{\n className: 'lineNumbers',\n }}\n language={currentFile.language}\n style={theme === 'light' ? prism : darcula}\n showLineNumbers={true}\n >\n {currentFile.contents}\n </SyntaxHighlighter>\n )}\n </Grid>\n </Grid>\n </Modal>\n </React.Fragment>\n )\n}\n\nexport default forwardRef(CodePreview)\n","import CodePreview from './CodePreview'\nimport './code-preview.css'\nexport default CodePreview\n","// Diff.js\nimport React, {\n forwardRef,\n useImperativeHandle,\n useState,\n useMemo,\n} from 'react'\n\nimport { Button } from 'react-materialize'\n\nimport { Prism as SyntaxHighlighter } from 'react-syntax-highlighter'\nimport { Grid } from '@material-ui/core'\n\nimport Icon from 'react-materialize/lib/Icon'\nimport Modal from 'react-materialize/lib/Modal'\nimport { darcula } from 'react-syntax-highlighter/dist/cjs/styles/prism'\nimport { prism } from 'react-syntax-highlighter/dist/cjs/styles/prism'\n\nimport messages from '../constants/messages.json'\n\nimport { DIFF_SHORTCUT } from '../constants/shortcuts'\nimport useKeyboardShortcuts from '../hooks/useKeyboardShortcuts'\nimport { useStarterForm } from '../state/store'\nimport { capitalize } from '../utility'\nimport TooltipButton from './TooltipButton'\n\nconst Diff = ({ theme = 'light', disabled, onLoad, onClose }, ref) => {\n const { gorm, servlet } = useStarterForm()\n\n const [diff, setDiff] = useState(null)\n useKeyboardShortcuts(DIFF_SHORTCUT.keys, onLoad, disabled)\n\n useImperativeHandle(ref, () => ({\n show: async (text) => {\n setDiff(text)\n },\n }))\n\n const options = useMemo(() => {\n function onCloseStart(event) {\n setDiff('')\n onClose(event)\n }\n return {\n onCloseStart: onCloseStart,\n startingTop: '5%',\n endingTop: '5%',\n }\n }, [onClose, setDiff])\n\n return (\n <React.Fragment>\n <TooltipButton\n tooltip={messages.tooltips.diff}\n disabled={disabled}\n waves=\"light\"\n className={theme}\n style={{ marginRight: '5px', width: '100%' }}\n onClick={onLoad}\n tabIndex={1}\n >\n <Icon className=\"action-button-icon\" left>\n compare_arrows\n </Icon>\n Diff\n </TooltipButton>\n\n <Modal\n header={\n 'Showing Diff for a Grails application using ' +\n capitalize(gorm) + ', ' + capitalize(servlet)\n }\n className={'diff ' + theme}\n fixedFooter\n open={!!diff}\n options={options}\n actions={\n <Button waves=\"light\" modal=\"close\" flat>\n Close\n </Button>\n }\n >\n <Grid container className=\"grid-container\">\n <Grid item xs={12} className={'grid-column'}>\n {diff && (\n <SyntaxHighlighter\n className=\"codePreview\"\n lineNumberContainerProps={{\n className: 'lineNumbers',\n }}\n language=\"diff\"\n style={theme === 'light' ? prism : darcula}\n showLineNumbers={true}\n >\n {diff}\n </SyntaxHighlighter>\n )}\n </Grid>\n </Grid>\n </Modal>\n </React.Fragment>\n )\n}\n\nexport default forwardRef(Diff)\n","export default __webpack_public_path__ + \"static/media/grails-white-icon.1c3164ce.png\";","// ErrorView.js\nimport React, { useState } from 'react'\nimport Avatar from '@material-ui/core/Avatar'\nimport Snackbar from '@material-ui/core/Snackbar'\n\nimport AssignmentIcon from '@material-ui/icons/Assignment'\nimport AssignmentTurnedInIcon from '@material-ui/icons/AssignmentTurnedIn'\nimport Alert from '@material-ui/lab/Alert'\n\nimport logo from '../../images/grails-white-icon.png'\nimport { copyToClipboard } from '../../utility'\nimport './error-view.css'\n\nconst ErrorView = ({\n hasError,\n message,\n severity,\n link,\n clipboard,\n onClose,\n}) => {\n const [closing, setClosing] = useState(false)\n const open = Boolean(message && hasError && !closing)\n const [copied, setCopied] = useState(false)\n const copy = () => {\n setCopied(true)\n copyToClipboard(clipboard.text)\n }\n const ClipBoardIcon = copied ? AssignmentTurnedInIcon : AssignmentIcon\n\n const handleClose = () => {\n setClosing(true)\n setTimeout(() => {\n onClose()\n setClosing(false)\n }, 200)\n }\n\n return (\n <Snackbar\n className=\"error-view\"\n anchorOrigin={{ vertical: 'top', horizontal: 'center' }}\n open={open}\n autoHideDuration={6000}\n onClose={handleClose}\n >\n <Alert\n icon={<Avatar src={logo}>N</Avatar>}\n onClose={handleClose}\n severity={severity}\n variant=\"filled\"\n >\n {message}{' '}\n {link && (\n <a\n className=\"error-link\"\n href={link}\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n >\n {link}\n </a>\n )}\n {clipboard && (\n <div className=\"pt-2 clipboard\" role=\"button\" onClick={() => copy()}>\n {clipboard.message}\n <ClipBoardIcon />\n </div>\n )}\n </Alert>\n </Snackbar>\n )\n}\n\nexport default ErrorView\n","// ErrorViewData.js\nexport const FALLBACK_ERROR_MESSAGE = 'something went wrong.'\nexport default class ErrorViewData {\n static SUCCESS = 'success'\n static ERROR = 'error'\n static INFO = 'info'\n static WARN = 'warning'\n\n constructor({ message, severity = 'error', link = null, clipboard = null }) {\n this.message = message\n this.severity = severity\n this.link = link || null\n this.clipboard = clipboard || null\n }\n\n static ofNone() {\n return new ErrorViewData({ message: '', severity: ErrorViewData.INFO })\n }\n\n static ofSuccess(message, link, clipboard) {\n return new ErrorViewData({\n message,\n severity: ErrorViewData.SUCCESS,\n link,\n clipboard,\n })\n }\n\n static ofInfo(message, link, clipboard) {\n return new ErrorViewData({\n message,\n severity: ErrorViewData.INFO,\n link,\n clipboard,\n })\n }\n\n static ofError(message, link, clipboard) {\n return new ErrorViewData({\n message,\n severity: ErrorViewData.ERROR,\n link,\n clipboard,\n })\n }\n\n static ofWarn(message, link, clipboard) {\n return new ErrorViewData({\n message,\n severity: ErrorViewData.WARN,\n link,\n clipboard,\n })\n }\n\n static fromCaught(error) {\n return new ErrorViewData({\n message: error.message,\n severity: ErrorViewData.SUCCESS,\n })\n }\n}\n\nexport const errorHandlersFactory = (setError) => {\n const onResponseError = async (response) => {\n if (response instanceof Error) {\n return setError(new ErrorViewData(response))\n }\n const payload = ErrorViewData.ofError(FALLBACK_ERROR_MESSAGE)\n if (!response.json instanceof Function) {\n return setError(payload)\n }\n try {\n const json = await response.json()\n const message =\n json._embedded?.errors?.[0].message ?? json.message ?? payload.message\n\n setError(ErrorViewData.ofError(message))\n } catch (err) {\n setError(payload)\n }\n }\n\n return {\n onClear: () => setError(ErrorViewData.ofNone()),\n onError: (message) => setError(ErrorViewData.ofError(message)),\n onInfo: (message) => setError(ErrorViewData.ofInfo(message)),\n onSuccess: (message) => setError(ErrorViewData.ofSuccess(message)),\n onWarn: (message) => setError(ErrorViewData.ofWarn(message)),\n onResponseError,\n }\n}\n","import ErrorView from './ErrorView'\nimport ErrorViewClipboard from './ErrorViewClipboard'\nimport ErrorViewData from './ErrorViewData'\n\nimport './error-view.css'\n\nexport default ErrorView\n\nexport { ErrorViewData, ErrorViewClipboard }\n","// FeatureSelected.js\nimport React, { useMemo } from 'react'\nimport {\n useAvailableFeatures,\n useSelectedFeaturesHandlers,\n useSelectedFeaturesValue,\n} from '../../state/store'\n\nconst closeButtonStyle = {\n cursor: 'pointer',\n float: 'right',\n fontSize: '16px',\n lineHeight: '32px',\n paddingLeft: '8px',\n}\n\nexport function FeatureSelected({ feature, onRemoveFeature, hasError }) {\n const style = { marginRight: 10 }\n if (hasError) {\n style.background = 'var(--theme-danger)'\n style.color = 'white'\n }\n return (\n <div style={style} className=\"chip\">\n {feature.title}\n <i\n onClick={(e) => {\n e.preventDefault()\n onRemoveFeature(feature)\n }}\n className=\"material-icons\"\n style={closeButtonStyle}\n >\n close\n </i>\n </div>\n )\n}\n\nexport function FeatureSelectedList() {\n const selectedFeatures = useSelectedFeaturesValue()\n const { features: availableFeatures } = useAvailableFeatures()\n const { onRemoveFeature } = useSelectedFeaturesHandlers()\n\n const selectedFeatureValues = useMemo(\n () =>\n Object.values(selectedFeatures).sort((a, b) => {\n return a.title > b.title ? 1 : -1\n }),\n [selectedFeatures]\n )\n\n const sRows = useMemo(() => {\n const keys = availableFeatures.map((i) => i.name)\n\n return selectedFeatureValues.map((f, idx) => (\n <FeatureSelected\n key={`${f.name}-${idx}`}\n feature={f}\n hasError={keys.length && !keys.includes(f.name)}\n onRemoveFeature={() => onRemoveFeature(f)}\n />\n ))\n }, [selectedFeatureValues, onRemoveFeature, availableFeatures])\n\n return (\n <div className=\"col s12\">\n <h6>Additional Selected Features ({selectedFeatureValues.length})</h6>\n {sRows}\n </div>\n )\n}\n","const DEFAULT_HEADER_HEIGHT = 100\n\nconst KEY_PAGE_UP = 33\nconst KEY_PAGE_DOWN = 34\nconst KEY_LEFT = 37\nconst KEY_UP = 38\nconst KEY_RIGHT = 39\nconst KEY_DOWN = 40\n\nconst FN_NEXT_PAGE = (node, { headerHeight = DEFAULT_HEADER_HEIGHT }) => {\n node.scrollTop += node.clientHeight - headerHeight\n}\n\nconst FN_PREV_PAGE = (node, { headerHeight = DEFAULT_HEADER_HEIGHT }) => {\n node.scrollTop -= node.clientHeight - headerHeight\n}\n\nconst FN_JUMP_TO_NEXT_GROUP = (\n node,\n { sectionKey = 'modal-group', headerHeight = DEFAULT_HEADER_HEIGHT }\n) => {\n const groups = [...node.getElementsByClassName(sectionKey)]\n if (!groups.length) {\n return (node.scrollTop += headerHeight)\n }\n const next = groups.filter((a) => a.offsetTop > node.scrollTop + headerHeight)\n if (!next.length) return\n const group = next[0]\n const scrollTop = group.offsetTop\n node.scrollTop = scrollTop - headerHeight\n}\n\nconst FN_JUMP_TO_PREV_GROUP = (\n node,\n { sectionKey = 'modal-group', headerHeight = DEFAULT_HEADER_HEIGHT }\n) => {\n const groups = [...node.getElementsByClassName(sectionKey)]\n if (!groups.length) {\n node.scrollTop -= headerHeight\n }\n const next = groups.filter((a) => a.offsetTop < node.scrollTop + headerHeight)\n if (!next.length) {\n return\n }\n const group = next[next.length - 1]\n const scrollTop = group.offsetTop\n node.scrollTop = scrollTop - headerHeight\n}\n\nexport class ModalKeyboardHandler {\n constructor(\n config = {\n sectionKey: 'modal-group',\n headerHeight: DEFAULT_HEADER_HEIGHT,\n hasHeader: true,\n }\n ) {\n if (!config instanceof Object) {\n throw Error('ModalKeyboardHandler must be created with a config object')\n }\n this.config = config\n if (this.config.hasHeader === false) {\n this.confin.headerHeight = 0\n }\n }\n\n getAction(keyCode) {\n switch (keyCode) {\n case KEY_UP:\n return -50\n case KEY_DOWN:\n return 50\n case KEY_RIGHT:\n return FN_JUMP_TO_NEXT_GROUP\n case KEY_LEFT:\n return FN_JUMP_TO_PREV_GROUP\n case KEY_PAGE_UP:\n return FN_PREV_PAGE\n case KEY_PAGE_DOWN:\n return FN_NEXT_PAGE\n default:\n return false\n }\n }\n\n handler = (target) => (e) => {\n const { keyCode } = e\n // console.log({ keyCode });\n const nodes = target.getElementsByClassName('modal-content')\n if (!nodes.length) {\n return\n }\n const node = nodes[0]\n let action = this.getAction(keyCode)\n if (!action) {\n return\n }\n if (action instanceof Function) {\n action(node, this.config)\n } else {\n node.scrollTop += action\n }\n }\n\n onOpenEnd = (node) => node.addEventListener('keydown', this.handler(node))\n onCloseEnd = (node) => {\n node.removeEventListener('keydown', this.handler)\n }\n}\n","// TextInput.js\nimport React, { forwardRef } from 'react'\nimport MaterialTextInput from 'react-materialize/lib/TextInput'\n\nconst TextInput = ({ onChangeText, ...rest }, ref) => {\n const onChange = (event) => {\n if (onChangeText instanceof Function) {\n const text = event.target.value\n onChangeText(text)\n }\n if (rest.onChange instanceof Function) {\n rest.onChange(event)\n }\n }\n\n return <MaterialTextInput ref={ref} {...rest} onChange={onChange} />\n}\n\nexport default forwardRef(TextInput)\n","// FeatureSelector.js\nimport React from 'react'\n\nimport { Button, Card } from 'react-materialize'\nimport Icon from 'react-materialize/lib/Icon'\n\nconst FeatureAvailable = ({ feature, toggleFeatures }) => {\n return (\n <Card\n id={`mn-feature-${feature.name}`}\n className={`mn-feature-selection hoverable ${\n feature.selected && 'selected'\n }`}\n title={\n (feature.preview != null && feature.preview\n ? feature.title + ' (preview)'\n : feature.title) +\n (feature.community != null && feature.community\n ? ' (community)'\n : '')\n }\n onClick={(e) => toggleFeatures(e, feature)}\n >\n <p className=\"grey-text\">{feature.description}</p>\n {feature.selected && (\n <Button\n floating\n small\n style={{ position: 'absolute', top: -12, right: -15 }}\n className=\"black remove-button\"\n >\n <Icon>close</Icon>\n </Button>\n )}\n </Card>\n )\n}\n\nexport default FeatureAvailable\n","// FeatureSelector.js\nimport React, { useMemo, useRef, useState } from 'react'\n\nimport { Button } from 'react-materialize'\nimport Col from 'react-materialize/lib/Col'\nimport Icon from 'react-materialize/lib/Icon'\nimport Modal from 'react-materialize/lib/Modal'\nimport Preloader from 'react-materialize/lib/Preloader'\nimport Row from 'react-materialize/lib/Row'\nimport messages from '../../constants/messages.json'\nimport { ModalKeyboardHandler } from '../../helpers/ModalKeyboardHandler'\nimport {\n useSelectedFeatures,\n useSelectedFeaturesHandlers,\n} from '../../state/store'\n\nimport TextInput from '../TextInput'\nimport TooltipButton from '../TooltipButton'\nimport FeatureAvailable from './FeatureAvailable'\n\nimport './feature-selector.css'\n\nconst keyboardEventHandler = new ModalKeyboardHandler({\n sectionKey: 'modal-group',\n headerHeight: 24,\n})\n\nconst featureSorter = (a, b) => {\n return a.category < b.category ? -1 : a.name < b.name ? -1 : 1\n}\n\nconst featureCategoryReducer = (map, result) => {\n if (!map[result.category]) {\n map[result.category] = [result]\n } else {\n map[result.category].push(result)\n }\n return map\n}\n\nconst FeatureAvailableGroup = ({ category, entities, toggleFeatures }) => {\n return (\n <Row className={`modal-group category ${category}`}>\n <Col s={12}>\n <h6>{category}</h6>\n </Col>\n {entities.map((feature, i) => (\n <Col s={12} key={i}>\n <FeatureAvailable feature={feature} toggleFeatures={toggleFeatures} />\n </Col>\n ))}\n </Row>\n )\n}\n\nexport const FeatureSelectorModal = ({ theme = 'light' }) => {\n const inputRef = useRef(null)\n\n const [selectedFeatures, , features, loading] = useSelectedFeatures()\n const { onAddFeature, onRemoveFeature, onRemoveAllFeatures } =\n useSelectedFeaturesHandlers()\n\n const [search, setSearch] = useState('')\n\n const selectedFeatureKeys = Object.keys(selectedFeatures)\n const availableFeatures = useMemo(() => {\n return features.map((feature) => {\n return {\n ...feature,\n selected: selectedFeatureKeys.includes(feature.name),\n }\n })\n }, [features, selectedFeatureKeys])\n\n const searchResults = useMemo(() => {\n if (!search.length) {\n return availableFeatures\n }\n const lcSearch = search.toLowerCase()\n return availableFeatures.filter((feature) => {\n const { name, description, category, tags } = feature\n return (\n name.toLowerCase().includes(lcSearch) ||\n description.toLowerCase().includes(lcSearch) ||\n category.toLowerCase().includes(lcSearch) ||\n (tags && tags.toLowerCase().includes(lcSearch))\n )\n })\n }, [search, availableFeatures])\n\n const groupedResults = useMemo(() => {\n return searchResults.sort(featureSorter).reduce(featureCategoryReducer, {})\n }, [searchResults])\n\n const toggleFeatures = (event, feature) => {\n if (event && event.preventDefault) {\n event.preventDefault()\n }\n feature.selected ? onRemoveFeature(feature) : onAddFeature(feature)\n }\n\n const removeAll = (event) => {\n event.preventDefault()\n onRemoveAllFeatures()\n }\n\n const onModalClose = (event) => {\n const { firstElementChild } = event\n firstElementChild.scrollTop = 0\n }\n\n const onModalOpen = () => {\n if (inputRef.current && typeof inputRef.current.focus === 'function') {\n setTimeout(() => {\n inputRef.current.focus()\n }, 300)\n }\n }\n\n return (\n <div id=\"feature-selector-wrapper\" style={{ marginBottom: 0 }}>\n <Modal\n className={`mn-feature-modal modal-lg ${theme}`}\n fixedFooter\n actions={[\n <Button waves=\"light\" onClick={removeAll} flat>\n Remove All ({selectedFeatureKeys.length})\n </Button>,\n <Button waves=\"light\" modal=\"close\" flat>\n Done\n </Button>,\n ]}\n options={{\n onOpenStart: onModalOpen,\n onOpenEnd: keyboardEventHandler.onOpenEnd,\n onCloseEnd: keyboardEventHandler.onCloseEnd,\n onCloseStart: onModalClose,\n startingTop: '5%',\n endingTop: '5%',\n }}\n trigger={\n <TooltipButton\n tooltip={messages.tooltips.features}\n waves=\"light\"\n className={theme}\n style={{ marginRight: '5px', width: '100%' }}\n tabIndex={1}\n >\n <Icon className=\"action-button-icon\" left>\n add\n </Icon>\n Features\n </TooltipButton>\n }\n >\n <h4>\n <div className=\"modal-header\">\n <TextInput\n ref={inputRef}\n id=\"features-selector-search-input\"\n className=\"mn-input\"\n label=\"Search Features\"\n placeholder=\"ex: cassandra\"\n name=\"search\"\n s={12}\n autoComplete=\"off\"\n value={search}\n onChangeText={setSearch}\n />\n </div>\n </h4>\n {loading ? (\n <Preloader />\n ) : (\n <Col s={12}>\n {searchResults.length === 0 && <p>No matching features</p>}\n {Object.keys(groupedResults).map((key) => {\n return (\n <FeatureAvailableGroup\n key={key}\n category={key}\n entities={groupedResults[key]}\n toggleFeatures={toggleFeatures}\n />\n )\n })}\n </Col>\n )}\n </Modal>\n </div>\n )\n}\n\nexport default FeatureSelectorModal\n","var _defs, _g, _g2, _g3, _g4, _g5, _g6, _g7;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgGrailsForge(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n width: 500,\n zoomAndPan: \"magnify\",\n viewBox: \"0 0 375 374.999991\",\n height: 500,\n preserveAspectRatio: \"xMidYMid meet\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"filter\", {\n x: \"0%\",\n y: \"0%\",\n width: \"100%\",\n height: \"100%\",\n id: \"af1f0e1a1e\"\n }, /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n values: \"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0\",\n colorInterpolationFilters: \"sRGB\"\n })), /*#__PURE__*/React.createElement(\"filter\", {\n x: \"0%\",\n y: \"0%\",\n width: \"100%\",\n height: \"100%\",\n id: \"607805b6a5\"\n }, /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n values: \"0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0.2126 0.7152 0.0722 0 0\",\n colorInterpolationFilters: \"sRGB\"\n })), /*#__PURE__*/React.createElement(\"g\", null), /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"0f083a6f65\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M 7 127.339844 L 339.75 127.339844 L 339.75 263.839844 L 7 263.839844 Z M 7 127.339844 \",\n clipRule: \"nonzero\"\n })), /*#__PURE__*/React.createElement(\"image\", {\n x: 0,\n y: 0,\n width: 833,\n xlinkHref: \"data:image/png;base64,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\",\n id: \"429c0f381e\",\n height: 308,\n preserveAspectRatio: \"xMidYMid meet\"\n }), /*#__PURE__*/React.createElement(\"mask\", {\n id: \"3ce12ac5d6\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n filter: \"url(#af1f0e1a1e)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n filter: \"url(#607805b6a5)\",\n transform: \"matrix(0.442077, 0, 0, 0.443182, 6.751808, 127.339854)\"\n }, /*#__PURE__*/React.createElement(\"image\", {\n x: 0,\n y: 0,\n width: 833,\n xlinkHref: \"data:image/png;base64,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\",\n height: 308,\n preserveAspectRatio: \"xMidYMid meet\"\n })))), /*#__PURE__*/React.createElement(\"image\", {\n x: 0,\n y: 0,\n width: 833,\n xlinkHref: \"data:image/png;base64,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\",\n id: \"258877c793\",\n height: 308,\n preserveAspectRatio: \"xMidYMid meet\"\n }), /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"fd7f563255\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M 124 160.085938 L 365 160.085938 L 365 214.835938 L 124 214.835938 Z M 124 160.085938 \",\n clipRule: \"nonzero\"\n })), /*#__PURE__*/React.createElement(\"image\", {\n x: 0,\n y: 0,\n width: 396,\n xlinkHref: \"data:image/png;base64,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\",\n id: \"7e40e01aca\",\n height: 355,\n preserveAspectRatio: \"xMidYMid meet\"\n }), /*#__PURE__*/React.createElement(\"mask\", {\n id: \"71c15194ea\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n filter: \"url(#af1f0e1a1e)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n filter: \"url(#607805b6a5)\",\n transform: \"matrix(0.609848, 0, 0, 0.610563, 123.871096, 160.087885)\"\n }, /*#__PURE__*/React.createElement(\"image\", {\n x: 0,\n y: 0,\n width: 396,\n xlinkHref: \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAYwAAAFjCAAAAAALQGPBAAAAAmJLR0QA/4ePzL8AAApcSURBVHic7dzvcaQ4GsDhd6/ue5OBuQjMRmBNBO6LwGwE0xvBMhFMTwSLI9jeDOQIDkdwOAMcAfeh/+kFCWi12p6r+j1VU9OAJARCIAnhXyQhkxWHX10jNmXKP7MiPxy1DR9zuX4UkTdbtR+Ro3yza3uttZX5iF1/pmJr1TE323XmCdX2fWdt0/f91rM5rbwaFsTJrvTtPRS67zu7q9b5BfvenuOWM0Erd0fhDFVLd515D7urzSBc2fd2vY/Q9c1tS8Pswue27/uuzkdRJiP0fd9ux3H8ss6JNRM2bWFkVdcH2MINWHR9VRhjTC6SN71deGQxchvKknN4w6thPkpvzaLdl26cmShJC8MEbwZ9r+9GTV/J/iS1hWTtbAWOV01l6aQ1OtaiSPWSCq1Oye6CvIYzVC057s1M5ptT5Vj3rYjtW9v0fZeLma3AsfJm0Wnt+36r4i2L0xaB3Z6tdYx8MnDCwqhnM2+PQXd9KWL7SiTr+41I0wcP6x8L9hxkmvulQb/OXLU+d3a2NDZ6sbp8J1Gqp7kQr+vjLyOnQ3+XTKSWtT+KyD+vyFL55wWBIwpDVruimwyQP+jldTYdPpH1H3Mh3tenjKxeOxERU8l69V6LNHKL9lQ5W1UdpYq6ONpMEY7uFpup0KluU1mwGXXUOVW6tyKHB3hfiogJt6fib1PrS+rF73XcTh7N1NZsVOEnCyOV7WomwLtpnKV9RXj59uNN9i12mzxHxezl4agHkZfHbHz7PvI0aYL3Y0lWM/LZTJdu8LbPzg9wI1KFq2/0M6MeXx7vO9vsT15WFObxvOG5HIU9e7Hn3/nwISD3xURxeI5qE/Nsusxwr6+1bUQkN2a9Pye/1e5m+7Q+LHcvD8ZKmb5mjPsXttQhss2xDzA+P+ELMSsHNW47inwyaNfuTTTAEtUM3dvrzDDzpQ5u+jbb1wyxfSXldGWPMaqqre/+sD96z2jM1LEX+mBtOBPevn8dDp+mMAq1u0YXftaMM2D7Wra2FJGtrYpubpzgcsPzsPM314rGWxbTx57pnmQwD/qsnIQbjmkKQzUiu9HexrfOvDsPJhTd1NUSxwxOQBUKmNl2btR2HFenHjy5gV5wMC+JCkOlMnETPSu6vi0zESnqyZobaXAeqomguW/lTGR1ozKBhDN/WUwM/aQpDHXsocxpue37vrV933eTbe+ofkauRwOeq4mwbUT6i+K4h/Xq/L4rI/Z4gfzyKK358vx69yAvv+eTVSmqaasf1m8f0tMaKZ3fpnUa2pv64zJR2GXh7KJwUTWjVEubDxkPGuXh7vz7uaudLffmA3ORNLWYwsjUWO1L+m7W/NC5Pg21bEOb0rPuwn3Su0JMYRi1tKhBcZFSde6tN0zhdNXfrLQvzranPHmWHPo+8D3QqI9ydWG8Ja8YhSreN38g94qsD/9OyqT5GbB68bEdvVT+UKrHV8ekMNWSHIyH+NNX7dpcRMSNNe6KiUiy4ZDRCGlXTw1PXiCmNaVu6Z6Kkfnv+c38gz7PjftgFgndpdyK8XcrIrJzmtur49DcTWyHr5ZWT0/vu539lHaMHgD3XITD/vm4g+QP4BO4yN2rc39ZqsGR1hspUc0IvVvabfKZmHMinhnqun+/8fWw9abvPuIPD61GdfzMDbPUlf71j9//22yuen5EFIbaX/LxYO3d31Zz71LH++Q2FCC53bfQlvvvVz3Or5odcnv+DqVxOzrHQti9Oysf81vlSESkeg5uWv3Rxl8IP3dhPNfe1aXz+6U9/OhUU6K6QW6cDPwW3rb6bmMrx09dGIHXtWqcsj79Uvcp32TwhOpfX8IbH2JL42cujG+lf727+r0+/VSP8FUgbiqN+XegOyoi95Gl8fMWxsu/qsCWYe/76OMe4SIiu/zL36Ft9/Wt936k3397AiToZzQT3wSo955uO1u/bhr3ilN/nyGSlaHPIRL1yeepvebj7VcXhvdV7Yn7HlC3rNVLODuKmL4wRETWta8T2F6WyF7McMibO2Jh6pjdOg7zptxhkLup4Qzj7l13Q2r3yf4wNeMqod1O1uvRROi79e0ncInIRQOFblBzXu25ENUkqMAgiIiITH8nNZWz29QMEfF9xhTzZiHmAW7dhVRtyJ3bVlxVwXD5Y3DTwNMHDm13Vf5Dr1nygmzo6sJYpXpUVe7C1+CxXNBK+tB3893mizsEIMN5qktcXRjJ+rpWdaNCtTwrl6d4QdAU7NWXZVQ/Q7Wv76pr83Cg0nko/YHWc9PxHbeetDNkJ3rli0QVhm4obGJujx6DqhF4W3dJih89h8heGT+qMGp1d1wt+ix1gVKlWvmCmDvf2pCPnLQj8kmFMbij3ydqUrdqZNr7DL/wWi/jMzPH94AwV6YZVxi1XnxI9DcYKrXkeYYvb9fu3W7STv1XOV5pnN/v482z4gqjHbzrum+SPDd01fA8w6tLUxwnkUb9JH+O0i7d5mxM9z/yM7LtRrdq7v7zoxq/lFtvLmxt6++rt7tBkvqDyufWm4aaXrLxv0O/VvUkIn+uS5W4/hLbRiQbWRhd+ddgzddyt1VXQ1GuL3raioi0P746S6tq8IhQUw3fykAa7jmJmbRTGv/6zenwyv1kncd2W7fHdfngQ/2Y5+gvEXFEZDAod/BmWysi+w8sRx2CL/b00x0Z+lY5C1mrov2qK3vrlq6KF0ziLT//rtwJT/rAw99HnZ3y71aB113TiYgxg3uAu9/byxb/2ZAjc44cHpfTH25atU1/UJmHcqa/5HH2unCgcC7/gc/XNH1UC0W/6evWMe2FWVs9wFO6S+qmdZqIME5CLSXv+C36JCMwxWhG/GvX1tyiNDp9FG4/XH8jXgeTUO/Ck0/aKeySAZkyqt1wxTvw5ialoauG2w+v3A3ORIRxEmqp8geKlHn+GMHYc1w3+JoJCU3+Oh/oUoNPEM/9cN2urSeS0KM1aSft5PmCQK+R98arZod0xY/5QJeq9RSY02WuezaT9+TaXUg7aacx8xfgq/mcCekzf6rPsTNOrMl2x+BPJ5WH1WpHdjJTev5Ke1ydpjWVbWfCpfyW6VKbBX9epxvMvHG3VaMUB3+cY39suojK6TzpP+BwvL8latpOX4DTX3rfXFbO1I7daITT3VqNEhxUjf0dSZ3fqQkL4xTsYW2qwhAJH/FVrxOu+bN4B11dh4c+Xq31tCzc10jtaGttcnexyDqRXMWZ+0qoLtVivt9HG34Tt+QdnbPPul6XngHkt2191dMiejhkqDCF7gi8dk3b2FTJ/4TWhSnOjYrXptm1V6aYrDD2zOH/7mMmkH2+Yn9batvPzQYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwf+B/mNuOVfEYIg8AAAAASUVORK5CYII=\",\n height: 355,\n preserveAspectRatio: \"xMidYMid meet\"\n })))), /*#__PURE__*/React.createElement(\"image\", {\n x: 0,\n y: 0,\n width: 396,\n xlinkHref: \"data:image/png;base64,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\",\n id: \"982203a570\",\n height: 355,\n preserveAspectRatio: \"xMidYMid meet\"\n }))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#0f083a6f65)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n mask: \"url(#3ce12ac5d6)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"matrix(0.442077, 0, 0, 0.443182, 6.751808, 127.339854)\"\n }, /*#__PURE__*/React.createElement(\"image\", {\n x: 0,\n y: 0,\n width: 833,\n xlinkHref: \"data:image/png;base64,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\",\n height: 308,\n preserveAspectRatio: \"xMidYMid meet\"\n }))))), _g2 || (_g2 = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#fd7f563255)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n mask: \"url(#71c15194ea)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"matrix(0.609848, 0, 0, 0.610563, 123.871096, 160.087885)\"\n }, /*#__PURE__*/React.createElement(\"image\", {\n x: 0,\n y: 0,\n width: 396,\n xlinkHref: \"data:image/png;base64,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\",\n height: 355,\n preserveAspectRatio: \"xMidYMid meet\"\n }))))), _g3 || (_g3 = /*#__PURE__*/React.createElement(\"g\", {\n fill: \"#FFFFFF\",\n fillOpacity: 1\n }, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(192.00922, 234.373728)\"\n }, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M 15.078125 -9.984375 L 5.609375 -9.984375 L 5.609375 0 L 2.625 0 L 2.625 -22.59375 L 16.625 -22.59375 L 16.625 -20.140625 L 5.609375 -20.140625 L 5.609375 -12.421875 L 15.078125 -12.421875 Z M 15.078125 -9.984375 \"\n }))))), _g4 || (_g4 = /*#__PURE__*/React.createElement(\"g\", {\n fill: \"#FFFFFF\",\n fillOpacity: 1\n }, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(214.018703, 234.373728)\"\n }, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M 20 -10.5625 C 20 -8.351562 19.625 -6.421875 18.875 -4.765625 C 18.132812 -3.117188 17.082031 -1.859375 15.71875 -0.984375 C 14.351562 -0.117188 12.757812 0.3125 10.9375 0.3125 C 9.15625 0.3125 7.578125 -0.125 6.203125 -1 C 4.828125 -1.875 3.757812 -3.117188 3 -4.734375 C 2.238281 -6.359375 1.847656 -8.234375 1.828125 -10.359375 L 1.828125 -12 C 1.828125 -14.164062 2.203125 -16.082031 2.953125 -17.75 C 3.710938 -19.414062 4.78125 -20.691406 6.15625 -21.578125 C 7.539062 -22.460938 9.125 -22.90625 10.90625 -22.90625 C 12.71875 -22.90625 14.3125 -22.46875 15.6875 -21.59375 C 17.070312 -20.71875 18.132812 -19.445312 18.875 -17.78125 C 19.625 -16.125 20 -14.195312 20 -12 Z M 17.03125 -12.03125 C 17.03125 -14.707031 16.492188 -16.757812 15.421875 -18.1875 C 14.347656 -19.625 12.84375 -20.34375 10.90625 -20.34375 C 9.019531 -20.34375 7.535156 -19.625 6.453125 -18.1875 C 5.378906 -16.757812 4.828125 -14.773438 4.796875 -12.234375 L 4.796875 -10.5625 C 4.796875 -7.96875 5.335938 -5.925781 6.421875 -4.4375 C 7.515625 -2.957031 9.019531 -2.21875 10.9375 -2.21875 C 12.863281 -2.21875 14.351562 -2.914062 15.40625 -4.3125 C 16.46875 -5.71875 17.007812 -7.726562 17.03125 -10.34375 Z M 17.03125 -12.03125 \"\n }))))), _g5 || (_g5 = /*#__PURE__*/React.createElement(\"g\", {\n fill: \"#FFFFFF\",\n fillOpacity: 1\n }, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(240.309609, 234.373728)\"\n }, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M 10.90625 -9.140625 L 5.609375 -9.140625 L 5.609375 0 L 2.609375 0 L 2.609375 -22.59375 L 10.09375 -22.59375 C 12.632812 -22.59375 14.585938 -22.015625 15.953125 -20.859375 C 17.328125 -19.703125 18.015625 -18.015625 18.015625 -15.796875 C 18.015625 -14.390625 17.632812 -13.160156 16.875 -12.109375 C 16.113281 -11.066406 15.054688 -10.289062 13.703125 -9.78125 L 19.015625 -0.1875 L 19.015625 0 L 15.8125 0 Z M 5.609375 -11.578125 L 10.1875 -11.578125 C 11.664062 -11.578125 12.835938 -11.957031 13.703125 -12.71875 C 14.578125 -13.488281 15.015625 -14.515625 15.015625 -15.796875 C 15.015625 -17.191406 14.597656 -18.257812 13.765625 -19 C 12.929688 -19.75 11.734375 -20.128906 10.171875 -20.140625 L 5.609375 -20.140625 Z M 5.609375 -11.578125 \"\n }))))), _g6 || (_g6 = /*#__PURE__*/React.createElement(\"g\", {\n fill: \"#FFFFFF\",\n fillOpacity: 1\n }, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(264.320195, 234.373728)\"\n }, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M 19.296875 -2.96875 C 18.535156 -1.863281 17.46875 -1.039062 16.09375 -0.5 C 14.726562 0.0390625 13.132812 0.3125 11.3125 0.3125 C 9.46875 0.3125 7.832031 -0.117188 6.40625 -0.984375 C 4.976562 -1.847656 3.875 -3.078125 3.09375 -4.671875 C 2.3125 -6.265625 1.910156 -8.113281 1.890625 -10.21875 L 1.890625 -12.1875 C 1.890625 -15.582031 2.679688 -18.21875 4.265625 -20.09375 C 5.859375 -21.96875 8.09375 -22.90625 10.96875 -22.90625 C 13.332031 -22.90625 15.234375 -22.300781 16.671875 -21.09375 C 18.109375 -19.894531 18.984375 -18.1875 19.296875 -15.96875 L 16.328125 -15.96875 C 15.765625 -18.957031 13.984375 -20.453125 10.984375 -20.453125 C 8.984375 -20.453125 7.46875 -19.75 6.4375 -18.34375 C 5.414062 -16.945312 4.898438 -14.921875 4.890625 -12.265625 L 4.890625 -10.40625 C 4.890625 -7.875 5.46875 -5.859375 6.625 -4.359375 C 7.78125 -2.867188 9.347656 -2.125 11.328125 -2.125 C 12.441406 -2.125 13.414062 -2.25 14.25 -2.5 C 15.09375 -2.75 15.789062 -3.164062 16.34375 -3.75 L 16.34375 -8.828125 L 11.109375 -8.828125 L 11.109375 -11.25 L 19.296875 -11.25 Z M 19.296875 -2.96875 \"\n }))))), _g7 || (_g7 = /*#__PURE__*/React.createElement(\"g\", {\n fill: \"#ffffff\",\n fillOpacity: 1\n }, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(290.409437, 234.373728)\"\n }, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M 15.390625 -10.4375 L 5.609375 -10.4375 L 5.609375 -2.4375 L 16.984375 -2.4375 L 16.984375 0 L 2.625 0 L 2.625 -22.59375 L 16.828125 -22.59375 L 16.828125 -20.140625 L 5.609375 -20.140625 L 5.609375 -12.875 L 15.390625 -12.875 Z M 15.390625 -10.4375 \"\n }))))));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgGrailsForge);\nexport default __webpack_public_path__ + \"static/media/grails-forge.4609c6fa.svg\";\nexport { ForwardRef as ReactComponent };","import OtherCommands from './OtherCommands.js'\nimport './other-commands.css'\n\nexport default OtherCommands\n","// Footer.js\nimport React, { useMemo } from 'react'\nimport { Button } from 'react-materialize'\nimport Col from 'react-materialize/lib/Col'\nimport Modal from 'react-materialize/lib/Modal'\nimport Row from 'react-materialize/lib/Row'\nimport { useCreateCommand } from '../../state/store'\nimport CopyToClipboard from '../CopyToClipboard'\n\nexport default function OtherCommands({ theme, trigger }) {\n const createCommand = useCreateCommand()\n const actions = useMemo(() => {\n if (!createCommand) return []\n return [\n { link: createCommand.toCli(), title: 'Using the Grails CLI' },\n { link: createCommand.toCurl(), title: 'Using cURL' },\n ]\n }, [createCommand])\n\n return (\n <Modal\n header=\"Other ways to build this configuration.\"\n className={`modal-lg ${theme} next-steps other-configuration`}\n fixedFooter\n actions={\n <Button waves=\"light\" modal=\"close\" flat>\n Close\n </Button>\n }\n trigger={trigger}\n >\n {actions.map((action) => {\n return (\n <div key={action.link} className=\"next-steps-wrapper\">\n <h6 className=\"heading\">{action.title}</h6>\n <Row className=\"next-steps-row multi-line\">\n <Col className=\"text\">{action.link}</Col>\n <Col className=\"icon\">\n <CopyToClipboard value={action.link} />\n </Col>\n </Row>\n </div>\n )\n })}\n </Modal>\n )\n}\n","import React from 'react'\nimport Button from 'react-materialize/lib/Button'\nimport Dropdown from 'react-materialize/lib/Dropdown'\nimport Icon from 'react-materialize/lib/Icon'\n\nimport messages from '../../constants/messages.json'\n\nimport { GENERATE_SHORTCUT } from '../../constants/shortcuts'\nimport useKeyboardShortcuts from '../../hooks/useKeyboardShortcuts'\nimport { useStarterForm } from '../../state/store'\nimport OtherCommands from '../OtherCommands'\nimport { TooltipWrapper } from '../TooltipButton'\n\nconst GenerateButtons = ({\n disabled,\n theme,\n generateProject,\n cloneProject,\n baseUrl,\n}) => {\n const createPayload = useStarterForm()\n\n useKeyboardShortcuts(GENERATE_SHORTCUT.keys, generateProject, disabled)\n\n return (\n <Dropdown\n id=\"build_now_dropdown\"\n trigger={\n <Button\n options={{\n alignment: 'left',\n autoTrigger: true,\n closeOnClick: true,\n constrainWidth: true,\n container: null,\n coverTrigger: true,\n hover: false,\n inDuration: 150,\n onCloseEnd: null,\n onCloseStart: null,\n onOpenEnd: null,\n onOpenStart: null,\n outDuration: 250,\n }}\n disabled={disabled}\n style={{ width: '100%' }}\n className={theme}\n node=\"button\"\n tabIndex={1}\n >\n <Icon className=\"action-button-icon\" left>\n build\n </Icon>\n Generate project\n </Button>\n }\n >\n <TooltipWrapper tooltip={messages.tooltips.generate}>\n <a\n role=\"button\"\n href=\"#create\"\n tooltip={messages.tooltips.generate}\n disabled={disabled}\n waves=\"light\"\n className={theme}\n onClick={generateProject}\n >\n <Icon className=\"action-button-icon\" left>\n get_app\n </Icon>\n Download Zip\n </a>\n </TooltipWrapper>\n\n <OtherCommands\n baseUrl={baseUrl}\n createPayload={createPayload}\n theme={theme}\n trigger={\n <a role=\"button\" href=\"#other-commands\" waves=\"light\">\n <Icon className=\"action-button-icon\" left>\n code\n </Icon>\n Commands\n </a>\n }\n />\n </Dropdown>\n )\n}\n\nexport default GenerateButtons\n","// Header.js\nimport React from 'react'\n\nimport {ReactComponent as GrailsLaunchLogo} from '../../images/grails-forge.svg'\n\nconst Header = () => {\n\n return (\n <div className=\"grails-header\">\n <div className=\"logo-wrapper\">\n <div className=\"container\">\n <a href=\"https://grails.apache.org\">\n <GrailsLaunchLogo />\n </a>\n </div>\n </div>\n\n </div>\n )\n}\n\nexport default Header\n","import Header from './Header'\nimport './header.css'\n\nexport default Header\n","import React, { useMemo, useState } from 'react'\nimport { Icon, Row, Col, Button } from 'react-materialize'\nimport Modal from 'react-materialize/lib/Modal'\nimport { useStarterForm } from '../../state/store'\nimport { guessOs, osOpts, OS_WINDOWS, OS_NIX } from '../../utility'\nimport CopyToClipboard from '../CopyToClipboard'\n\nconst guessedOs = guessOs()\nconst sortedOsOpts = osOpts.sort((a, b) => {\n return a.value === guessedOs\n ? -1\n : b.value === guessedOs\n ? 0\n : a.value > b.value\n ? 0\n : -1\n})\n\nconst NextSteps = ({ info, theme = 'light', onClose, onStartOver }) => {\n const { name } = useStarterForm()\n const { htmlUrl, cloneUrl } = info\n const [os, setOs] = useState(guessedOs)\n\n const unpackCommand = useMemo(() => {\n switch (info.type.toLowerCase()) {\n case 'clone':\n const all = `git clone ${cloneUrl}`\n const cmd = { [OS_NIX]: all, [OS_WINDOWS]: all }\n return { action: 'Clone the repo', cmd }\n case 'zip':\n const nix = `unzip ${name}.zip`\n const unzip = { [OS_NIX]: nix }\n return { action: 'Unzip the archive', cmd: unzip }\n default:\n return null\n }\n }, [info.type, cloneUrl, name])\n\n const cdCommand = useMemo(() => {\n const cd = `cd ${name}`\n return {\n action: 'cd into the project',\n cmd: {\n [OS_NIX]: cd,\n [OS_WINDOWS]: cd,\n },\n }\n }, [name])\n\n const launchCommand = useMemo(() => {\n const cmd = { action: 'Run Application!' }\n cmd.cmd = {\n [OS_NIX]: './gradlew bootRun',\n [OS_WINDOWS]: 'gradlew bootRun',\n }\n return cmd\n }, [])\n\n return (\n <Modal\n open={info.show}\n options={{ onCloseEnd: onClose }}\n header=\"Your Grails app is ready for takeoff.\"\n className={`modal-lg ${theme} next-steps`}\n actions={[\n <Button waves=\"light\" modal=\"close\" flat>\n Close\n </Button>,\n <Button waves=\"light\" onClick={onStartOver} flat>\n Start Over\n </Button>,\n ]}\n >\n <div className=\"os-select-opt-row\">\n {sortedOsOpts.map((anOs) => (\n <div key={anOs.value} className=\"os-select-opt-col\">\n <span\n className={['os-select', anOs.value === os && 'active'].join(' ')}\n role=\"button\"\n onClick={() => setOs(anOs.value)}\n >\n {anOs.label}\n </span>\n </div>\n ))}\n </div>\n\n {htmlUrl && (\n <div className=\"next-steps-wrapper\">\n <h5 className=\"heading\">View your new repo on GitHub</h5>\n <Row className=\"next-steps-row\">\n <Col className=\"text\">{htmlUrl}</Col>\n <Col className=\"icon\">\n <a target=\"_blank\" rel=\"noopener noreferrer\" href={htmlUrl}>\n <Icon>link</Icon>\n </a>\n </Col>\n </Row>\n </div>\n )}\n\n {unpackCommand && (\n <div className=\"next-steps-wrapper\">\n <h5 className=\"heading\">{unpackCommand.action}</h5>\n {unpackCommand.cmd[os] && (\n <Row className=\"next-steps-row\">\n <Col className=\"text\">{unpackCommand.cmd[os]}</Col>\n <Col className=\"icon\">\n <CopyToClipboard value={unpackCommand.cmd[os]} />\n </Col>\n </Row>\n )}\n </div>\n )}\n\n <div className=\"next-steps-wrapper\">\n <h5 className=\"heading\">cd into the project</h5>\n <Row className=\"next-steps-row\">\n <Col className=\"text\">{cdCommand.cmd[os]}</Col>\n <Col className=\"icon\">\n <CopyToClipboard value={cdCommand.cmd[os]} />\n </Col>\n </Row>\n </div>\n\n <div className=\"next-steps-wrapper\">\n <h5 className=\"heading\">{launchCommand.action}</h5>\n <Row className=\"next-steps-row\">\n <Col className=\"text\">{launchCommand.cmd[os]}</Col>\n <Col className=\"icon\">\n <CopyToClipboard value={launchCommand.cmd[os]} />\n </Col>\n </Row>\n </div>\n\n <p className=\"info\">\n Once you’ve gotten your new project started, you can continue your\n journey by reviewing our{' '}\n <a href=\"https://grails.apache.org/documentation.html\">documentation</a> and{' '}\n <a href=\"https://guides.grails.org/index.html\">Grails Guides</a>\n </p>\n </Modal>\n )\n}\n\nexport default NextSteps\n","import NextSteps from './NextSteps'\nimport './next-steps.css'\n\nexport default NextSteps\n","// Select.js\nimport React from 'react'\nimport FormControl from '@material-ui/core/FormControl'\nimport InputLabel from '@material-ui/core/InputLabel'\nimport MenuItem from '@material-ui/core/MenuItem'\nimport SelectProxy from '@material-ui/core/Select'\n\nconst Select = ({\n name,\n label,\n options,\n id,\n value,\n onChange,\n tabIndex = '0',\n}) => {\n return (\n <div className=\"MuiFormControlOverrides select-wrapper input-field col\">\n <FormControl>\n <InputLabel id={id}>{label}</InputLabel>\n <SelectProxy\n name={name}\n labelId={`${id}-select-label`}\n id={`${id}-select`}\n value={value}\n onChange={onChange}\n tabIndex={tabIndex}\n >\n {options.map((opt, idx) => (\n <MenuItem key={`select-${opt.value}-${idx}`} value={opt.value}>\n {opt.label}\n </MenuItem>\n ))}\n </SelectProxy>\n </FormControl>\n </div>\n )\n}\n\nexport default Select\n","import Select from './Select'\nimport './select.css'\n\nexport default Select\n","import { useCallback } from 'react'\nimport {\n NEXT_APP_TYPE_SHORTCUT,\n NEXT_GORM_SHORTCUT,\n NEXT_JDK_SHORTCUT,\n NEXT_SERVLET_SHORTCUT,\n NEXT_TEST_SHORTCUT,\n NEXT_VERSION_SHORTCUT,\n} from '../../constants/shortcuts'\n\nimport useKeyboardShortcuts from '../../hooks/useKeyboardShortcuts'\n\nexport const useOptHandler = (name, value, opts, handleChange) => {\n return useCallback(() => {\n if (opts.length <= 1 || !value) return // One or less opt, nothing to do here\n\n const idx = opts.findIndex((l) => l.value === value)\n if (idx === opts.length - 1) {\n handleChange({ target: { name, value: opts[0].value } })\n } else {\n handleChange({\n target: { name, value: opts[idx + 1].value },\n })\n }\n }, [name, value, opts, handleChange])\n}\n\nexport function useStarterVersionKeyboardEvents(\n handleVersionChange,\n version,\n versions\n) {\n const nextVersion = useOptHandler(\n 'version',\n version?.value,\n versions,\n handleVersionChange\n )\n useKeyboardShortcuts(NEXT_VERSION_SHORTCUT.keys, nextVersion)\n}\n\nexport function useStarterFormKeyboardEvents(\n handleChange,\n form,\n { TEST_OPTS, APP_TYPES, JAVA_OPTS, GORM_OPTS, SERVLET_OPTS }\n) {\n const nextType = useOptHandler('type', form.type, APP_TYPES, handleChange)\n useKeyboardShortcuts(NEXT_APP_TYPE_SHORTCUT.keys, nextType)\n\n const nextJavaVersion = useOptHandler('javaVersion', form.javaVersion, JAVA_OPTS, handleChange)\n useKeyboardShortcuts(NEXT_JDK_SHORTCUT.keys, nextJavaVersion)\n\n const nextGormImpl = useOptHandler('gorm', form.gorm, GORM_OPTS, handleChange)\n useKeyboardShortcuts(NEXT_GORM_SHORTCUT.keys, nextGormImpl)\n\n const nextServlet = useOptHandler('servlet', form.servlet, SERVLET_OPTS, handleChange)\n useKeyboardShortcuts(NEXT_SERVLET_SHORTCUT.keys, nextServlet)\n\n const nextTest = useOptHandler('test', form.test, TEST_OPTS, handleChange)\n useKeyboardShortcuts(NEXT_TEST_SHORTCUT.keys, nextTest)\n}\n","import { NEXT_APP_TYPE_SHORTCUT } from '../../constants/shortcuts'\nimport useKeyboardShortcuts from '../../hooks/useKeyboardShortcuts'\nimport { useApplicationType } from '../../state/store'\nimport Select from '../Select'\nimport { useOptHandler } from './useStarterFormKeyboardEvents'\n\nexport default function StarterFormApplicationType() {\n const [value, setter, select] = useApplicationType()\n const handleChange = (event) => setter(event.target.value)\n\n const next = useOptHandler('type', value, select?.options ?? [], handleChange)\n useKeyboardShortcuts(NEXT_APP_TYPE_SHORTCUT.keys, next)\n\n return (\n <Select\n tabIndex={1}\n className=\"mn-input\"\n label=\"Project Type\"\n name=\"type\"\n value={value}\n onChange={handleChange}\n options={select?.options ?? [{ value, name: 'Loading' }]}\n ></Select>\n )\n}\n","// RadioGroup.js\nimport React from 'react'\n\nconst RadioGroup = ({\n name,\n label,\n options,\n id,\n value,\n onChange,\n expected = 3,\n loading = false,\n tabIndex = 0,\n}) => {\n const finalOpts = loading\n ? new Array(expected).fill().map((i) => ({ value: '', label: '...' }))\n : options\n\n return (\n <div className={['radio-group', loading ? 'loading' : ''].join(' ')}>\n {typeof label === 'string' && (\n <label className=\"input-field\">{label}</label>\n )}\n {finalOpts.map((option, idx) => {\n return (\n <div key={idx.toString()} className=\"radio-row\">\n <label\n key={`${idx}-${option.value}`}\n className=\"radio-label\"\n htmlFor={`${id}-radio-${idx}`}\n >\n <input\n tabIndex={tabIndex}\n id={`${id}-radio-${idx}`}\n type=\"radio\"\n name={name}\n value={option.value}\n checked={loading ? undefined : value === option.value}\n onChange={loading ? undefined : onChange}\n />\n <span className=\"radio-text\">{option.label}</span>\n </label>\n <div className=\"loading-wrapper\">\n <div className=\"loading-ghost\" />\n </div>\n </div>\n )\n })}\n </div>\n )\n}\n\nexport default RadioGroup\n","import {NEXT_GORM_SHORTCUT} from '../../constants/shortcuts'\nimport useKeyboardShortcuts from '../../hooks/useKeyboardShortcuts'\nimport {useGorm} from '../../state/store'\nimport RadioGroup from '../RadioGroup'\nimport { useOptHandler } from './useStarterFormKeyboardEvents'\n\nexport default function StarterFormGorm() {\n const [value, setter, select] = useGorm()\n const handleChange = (event) => setter(event.target.value)\n\n const next = useOptHandler('gorm', value, select?.options ?? [], handleChange)\n useKeyboardShortcuts(NEXT_GORM_SHORTCUT.keys, next)\n\n return (\n <RadioGroup\n tabIndex={1}\n label=\"GORM Implementation\"\n id=\"gorm\"\n name=\"gorm\"\n value={value}\n onChange={handleChange}\n options={select?.options ?? []}\n loading={!select}\n expected={3}\n />\n )\n}\n","import { NEXT_JDK_SHORTCUT } from '../../constants/shortcuts'\nimport useKeyboardShortcuts from '../../hooks/useKeyboardShortcuts'\nimport { useJavaVersion } from '../../state/store'\nimport Select from '../Select'\nimport { useOptHandler } from './useStarterFormKeyboardEvents'\n\nexport default function StarterFormJavaVersion() {\n const [value, setter, select] = useJavaVersion()\n const handleChange = (event) => setter(event.target.value)\n\n const next = useOptHandler(\n 'javaVersion',\n value,\n select?.options ?? [],\n handleChange\n )\n useKeyboardShortcuts(NEXT_JDK_SHORTCUT.keys, next)\n\n return (\n <Select\n tabIndex={1}\n label=\"Java Version\"\n value={value}\n name=\"javaVersion\"\n onChange={handleChange}\n options={select?.options ?? [{ value, name: '' }]}\n ></Select>\n )\n}\n","import { useSelectedVersions } from '../../state/store'\nimport RadioGroup from '../RadioGroup'\nimport { useStarterVersionKeyboardEvents } from './useStarterFormKeyboardEvents'\n\nexport default function MicronautVersion() {\n const [version, setter, options] = useSelectedVersions()\n\n const handleVersionChange = (event) => {\n const { value } = event.target\n if (!value) return\n setter(options.find((v) => v.value === value))\n }\n useStarterVersionKeyboardEvents(handleVersionChange, version, options)\n\n return (\n <RadioGroup\n tabIndex={1}\n label=\"Grails Version\"\n id=\"micronautApi\"\n name=\"micronautApi\"\n value={version?.value}\n onChange={handleVersionChange}\n options={options}\n expected={2}\n />\n )\n}\n","import { useAppName } from '../../state/store'\nimport TextInput from '../TextInput'\n\nexport default function StarterFormName() {\n const [value, setter] = useAppName()\n const handleChange = (event) => setter(event.target.value)\n\n return (\n <TextInput\n id=\"starter-form-name-input\"\n required\n tabIndex={1}\n className=\"mn-input\"\n label=\"Name\"\n name=\"name\"\n placeholder=\"ex: myapp\"\n value={value}\n onChange={handleChange}\n />\n )\n}\n","import { useAppPackage } from '../../state/store'\nimport TextInput from '../TextInput'\n\nexport default function StarterFormPackage() {\n const [value, setter] = useAppPackage()\n const handleChange = (event) => setter(event.target.value)\n\n return (\n <TextInput\n id=\"starter-form-package-input\"\n tabIndex={1}\n className=\"mn-input\"\n label=\"Base Package\"\n name=\"package\"\n placeholder=\"ex: com.mycompany\"\n required\n value={value}\n onChange={handleChange}\n />\n )\n}\n","import { NEXT_SERVLET_SHORTCUT } from '../../constants/shortcuts'\nimport useKeyboardShortcuts from '../../hooks/useKeyboardShortcuts'\nimport { useServlet } from '../../state/store'\nimport RadioGroup from '../RadioGroup'\nimport { useOptHandler } from './useStarterFormKeyboardEvents'\n\nexport default function StarterFormServlet() {\n const [value, setter, select] = useServlet()\n const handleChange = (event) => setter(event.target.value)\n\n const next = useOptHandler('servlet', value, select?.options ?? [], handleChange)\n useKeyboardShortcuts(NEXT_SERVLET_SHORTCUT.keys, next)\n\n return (\n <RadioGroup\n tabIndex={1}\n label=\"Embedded Servlet Container\"\n id=\"servlet\"\n name=\"servlet\"\n value={value}\n onChange={handleChange}\n options={select?.options ?? []}\n loading={!select}\n expected={3}\n />\n )\n}\n","import { NEXT_TEST_SHORTCUT } from '../../constants/shortcuts'\nimport useKeyboardShortcuts from '../../hooks/useKeyboardShortcuts'\nimport { useTestFramework } from '../../state/store'\nimport RadioGroup from '../RadioGroup'\nimport { useOptHandler } from './useStarterFormKeyboardEvents'\n\nexport default function StarterFormTestFramework() {\n const [value, setter, select] = useTestFramework()\n const handleChange = (event) => setter(event.target.value)\n\n const next = useOptHandler('test', value, select?.options ?? [], handleChange)\n useKeyboardShortcuts(NEXT_TEST_SHORTCUT.keys, next)\n\n return (\n <RadioGroup\n tabIndex={1}\n label=\"Test Framework\"\n id=\"test\"\n name=\"test\"\n value={value}\n onChange={handleChange}\n options={select?.options ?? []}\n loading={!select}\n expected={2}\n />\n )\n}\n","// StarterForm.js\nimport React from \"react\";\nimport Col from 'react-materialize/lib/Col'\nimport Row from 'react-materialize/lib/Row'\n\nimport StarterFormApplicationType from './StarterFormApplicationType'\nimport StarterFormGorm from \"./StarterFormGorm\";\nimport StarterFormJavaVersion from './StarterFormJavaVersion'\nimport StarterFormMicronautVersion from './StarterFormMicronautVersion'\nimport StarterFormName from './StarterFormName'\nimport StarterFormPackage from './StarterFormPackage'\nimport StarterFormServlet from './StarterFormServlet'\nimport StarterFormTestFramework from './StarterFormTestFramework'\n\nconst StarterForm = ({ onError }) => {\n return (\n <Row className=\"mn-starter-form-main\">\n <Col s={8} m={6} l={3}>\n <StarterFormApplicationType />\n </Col>\n <Col s={4} m={6} l={3}>\n <StarterFormJavaVersion />\n </Col>\n <Col s={8} m={6} l={3}>\n <StarterFormName />\n </Col>\n <Col s={4} m={6} l={3}>\n <StarterFormPackage />\n </Col>\n <Col m={3} s={12} className=\"mn-radio\">\n <StarterFormMicronautVersion />\n </Col>\n <Col m={3} s={12} className=\"mn-radio\">\n <StarterFormGorm />\n </Col>\n <Col m={3} s={12} className=\"mn-radio\">\n <StarterFormServlet />\n </Col>\n <Col m={3} s={12} className=\"mn-radio\">\n <StarterFormTestFramework />\n </Col>\n </Row>\n )\n}\n\nexport default StarterForm\n","var _style, _g;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgGrailsForgeLogo(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 601.2 411.39\",\n style: {\n enableBackground: \"new 0 0 601.2 411.39\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _style || (_style = /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\"\n }, \"\\n\\t.st0{fill:#FBB572;}\\n\")), _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M1.72,85.03c4.29,0,21.47-0.86,80.73-0.86c0.86,0,2.58,0.86,2.58,1.72c16.32,43.8,60.12,80.73,116.8,100.49 c2.58,0.86,2.58,4.29,0,5.15c-5.15,2.58-12.88,5.15-15.46,6.87c-5.15,2.58-12.88,8.59-17.18,15.46 c-3.44,5.15-6.01,12.02-7.73,16.32c-0.86,2.58-0.86,6.87-0.86,12.02c0,11.17,1.72,26.62,6.01,36.93 c4.29,12.02,6.87,15.46,12.02,27.48c2.58,5.15,4.29,10.31,5.15,12.02c0,0.86,0,1.72,0,2.58c-1.72,1.72-4.29,6.01-9.45,8.59 c-8.59,5.15-27.48,6.87-36.93,6.87l0,0c-9.45,0-28.34-1.72-36.93-6.87c-5.15-2.58-8.59-6.87-9.45-8.59 c-0.86-0.86-0.86-1.72,0-2.58c0.86-2.58,3.44-6.87,5.15-12.02c5.15-12.02,7.73-16.32,12.02-27.48 c4.29-10.31,6.01-25.77,6.01-36.93c0-5.15,0-9.45-0.86-12.02c-0.86-4.29-4.29-11.17-7.73-16.32 c-4.29-6.87-12.02-12.88-17.18-15.46c-3.44-1.72-16.32-6.87-20.61-9.45c-6.01-3.44-13.74-8.59-19.75-12.88 c-6.01-4.29-18.04-16.32-22.33-21.47c-8.59-11.17-17.18-24.05-20.61-37.79C0,99.63,0.86,92.76,0,86.74 C0,85.89,0.86,85.03,1.72,85.03\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M520.47,0.86C511.02,0.86,469.79,0,299.74,0S88.46,0.86,79.01,0.86c-1.72,0-3.44,1.72-2.58,3.44 c0.86,8.59,0.86,20.61,8.59,48.1c6.01,22.33,19.75,42.94,33.5,60.98c7.73,9.45,26.62,27.48,36.07,35.21 c8.59,6.87,21.47,15.46,31.78,20.61c7.73,4.29,27.48,12.02,33.5,15.46c8.59,4.29,21.47,13.74,28.34,24.91 c5.15,8.59,10.31,19.75,12.02,26.62c0.86,4.29,1.72,11.17,1.72,19.75c0,18.89-3.44,42.94-9.45,60.12 c-6.87,18.89-11.17,25.77-19.75,45.52c-3.44,8.59-6.87,16.32-8.59,19.75c-0.86,1.72-0.86,3.44,0,5.15 c2.58,3.44,6.87,9.45,15.46,14.6c14.6,7.73,44.66,10.31,60.12,10.31l0,0c15.46,0,45.52-2.58,60.12-10.31 c8.59-4.29,12.88-11.17,15.46-14.6c0.86-1.72,0.86-3.44,0.86-4.29c-1.72-3.44-5.15-12.02-8.59-19.75 c-8.59-19.75-12.02-25.77-19.75-45.52c-6.01-17.18-9.45-42.08-9.45-60.12c0-7.73,0-14.6,1.72-19.75 c1.72-7.73,6.87-18.89,12.02-26.62c6.87-11.17,19.75-20.61,28.34-24.91c6.01-3.44,25.77-11.17,33.5-15.46 c10.31-5.15,23.19-13.74,31.78-20.61c9.45-7.73,28.34-26.62,36.07-35.21c14.6-18.04,27.48-38.65,33.5-60.98 c7.73-27.48,7.73-39.51,8.59-48.1C523.04,2.58,522.18,0.86,520.47,0.86\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M599.48,85.03c-4.29,0-21.47-0.86-80.73-0.86c-0.86,0-2.58,0.86-2.58,1.72 c-16.32,43.8-60.12,80.73-116.8,100.49c-2.58,0.86-2.58,4.29,0,5.15c5.15,2.58,12.88,5.15,15.46,6.87 c5.15,2.58,12.88,8.59,17.18,15.46c3.44,5.15,6.01,12.02,7.73,16.32c0.86,2.58,0.86,6.87,0.86,12.02 c0,11.17-1.72,26.62-6.01,36.93c-4.29,12.02-6.87,15.46-12.02,27.48c-2.58,5.15-4.29,10.31-5.15,12.02c0,0.86,0,1.72,0,2.58 c1.72,1.72,4.29,6.01,9.45,8.59c8.59,5.15,27.48,6.87,36.93,6.87l0,0c9.45,0,28.34-1.72,36.93-6.87c5.15-2.58,7.73-6.87,9.45-8.59 c0.86-0.86,0.86-1.72,0-2.58c-0.86-2.58-3.44-6.87-5.15-12.02c-5.15-12.02-7.73-16.32-12.02-27.48 c-4.29-10.31-6.01-25.77-6.01-36.93c0-5.15,0-9.45,0.86-12.02c0.86-4.29,4.29-11.17,7.73-16.32c4.29-6.87,12.02-12.88,17.18-15.46 c3.44-1.72,16.32-6.87,20.61-9.45c6.01-3.44,13.74-8.59,19.75-12.88c6.01-4.29,18.04-16.32,22.33-21.47 c8.59-11.17,17.18-24.05,20.61-37.79c5.15-17.18,4.29-24.05,5.15-30.06C601.2,85.89,600.34,85.03,599.48,85.03\"\n })), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M564.95,332.87c0,6.25-5.15,11.16-11.86,11.16c-6.64,0-11.93-4.91-11.93-11.16c0-6.12,5.3-11.03,11.93-11.03 C559.8,321.85,564.95,326.75,564.95,332.87z M544.12,332.87c0,4.91,3.81,8.81,9.04,8.81c5.08,0,8.83-3.9,8.83-8.74 c0-4.91-3.74-8.87-8.9-8.87C547.93,324.07,544.12,328.03,544.12,332.87z M551.25,338.65h-2.68v-11.03 c1.06-0.2,2.54-0.34,4.45-0.34c2.19,0,3.18,0.34,4.02,0.81c0.64,0.47,1.13,1.34,1.13,2.42c0,1.21-0.99,2.15-2.4,2.55v0.14 c1.13,0.4,1.77,1.21,2.12,2.69c0.35,1.68,0.56,2.35,0.85,2.76h-2.89c-0.35-0.4-0.56-1.41-0.92-2.69c-0.21-1.21-0.92-1.75-2.4-1.75 h-1.27V338.65z M551.32,332.4h1.27c1.48,0,2.68-0.47,2.68-1.61c0-1.01-0.78-1.68-2.47-1.68c-0.71,0-1.2,0.07-1.48,0.14V332.4z\"\n })))));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgGrailsForgeLogo);\nexport default __webpack_public_path__ + \"static/media/grails-forge-logo.1bcb5fcd.svg\";\nexport { ForwardRef as ReactComponent };","import StarterForm from './StarterForm'\nimport './starter-form.css'\nimport './starter-form-ghosting.css'\n\nexport default StarterForm\n","import { ReactComponent as BackdropImage } from '../../images/grails-forge-logo.svg'\n\nexport function AppLoadingBackdrop({ children }) {\n return (\n <div style={styles.container}>\n <BackdropImage className=\"inverse-theme\" style={styles.image} />\n {children}\n </div>\n )\n}\n\nconst styles = {\n container: {\n position: 'fixed',\n top: 0,\n bottom: 0,\n left: 0,\n right: 0,\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n padding: '1rem',\n },\n image: { position: 'absolute', width: '90%', opacity: 0.1 },\n}\n","import { useEffect, useMemo, useRef, useState } from 'react'\nimport { useInitialData, useStarterForm } from '../../state/store'\n\nconst handlersFactory = (node, setState) => {\n return {\n // calculate relative position to the mouse and set dragging=true\n onMouseDown: function (e) {\n // only left mouse button\n if (e.button !== 0) return\n window.ref = node.current\n const { offsetLeft, offsetTop } = node.current\n setState((state) => ({\n ...state,\n dragging: true,\n rel: {\n x: e.pageX - offsetLeft,\n y: e.pageY - offsetTop,\n },\n }))\n e.stopPropagation()\n e.preventDefault()\n },\n\n onMouseUp: function (e) {\n setState((state) => ({ ...state, dragging: false }))\n e.stopPropagation()\n e.preventDefault()\n },\n\n onMouseMove: function (e) {\n e.stopPropagation()\n e.preventDefault()\n setState((state) => {\n if (!state.dragging) return state\n return {\n ...state,\n pos: {\n x: e.pageX - state.rel.x,\n y: e.pageY - state.rel.y,\n },\n }\n })\n },\n }\n}\n\nconst useDragHandles = (ref) => {\n const [drag, setDrag] = useState({})\n\n const handlers = useMemo(() => {\n return handlersFactory(ref, setDrag)\n }, [ref, setDrag])\n\n useEffect(() => {\n if (drag.dragging) {\n document.addEventListener('mousemove', handlers.onMouseMove)\n document.addEventListener('mouseup', handlers.onMouseUp)\n }\n return () => {\n document.removeEventListener('mousemove', handlers.onMouseMove)\n document.removeEventListener('mouseup', handlers.onMouseUp)\n }\n }, [drag.dragging, handlers])\n\n const position = {\n left: drag?.pos?.x ?? 0 + 'px',\n top: drag?.pos?.y ?? 0 + 'px',\n dragging: drag?.dragging,\n }\n return [position, handlers.onMouseDown]\n}\n\nexport function DebugInfo() {\n const form = useStarterForm()\n const { debug } = useInitialData()\n const ref = useRef()\n const [{ left, top, dragging }, onMouseDown] = useDragHandles(ref)\n\n return (\n debug === 'true' && (\n <div\n ref={ref}\n onMouseDown={onMouseDown}\n style={{\n position: 'fixed',\n left,\n top,\n padding: 10,\n background: 'grey',\n color: 'white',\n maxWidth: '30%',\n maxHeight: '40%',\n overflow: 'scroll',\n fontSize: '8px',\n zIndex: 9999,\n cursor: dragging && 'grabbing',\n }}\n >\n <div\n style={{\n position: 'sticky',\n width: 100,\n background: 'white',\n borderRadius: '2px',\n height: '4px',\n margin: 'auto',\n top: 0,\n left: 0,\n right: 0,\n cursor: dragging ? 'grabbing' : 'grab',\n }}\n ></div>\n <pre>{JSON.stringify(form, null, 2)}</pre>\n </div>\n )\n )\n}\n","// DefaultIncludedFeatureList.js\nimport React, { useMemo } from 'react'\nimport {\n useDefaultIncludedFeaturesValue,\n} from '../../state/store'\n\nexport function DefaultFeature({ feature }) {\n const style = { marginRight: 10 }\n return (\n <div style={style} className=\"chip\">\n {feature.title}\n </div>\n )\n}\n\nexport function DefaultIncludedFeatureList() {\n const defaultIncludedFeatures = useDefaultIncludedFeaturesValue()\n const defaultIncludedFeatureValues = useMemo(\n () =>\n Object.values(defaultIncludedFeatures).sort((a, b) => {\n return a.title > b.title ? 1 : -1\n }),\n [defaultIncludedFeatures]\n )\n const sRows = useMemo(() => {\n return defaultIncludedFeatureValues.map((f, idx) => (\n <DefaultFeature\n key={`${f.name}-${idx}`}\n feature={f}\n />\n ))\n }, [defaultIncludedFeatureValues])\n\n return (\n <div className=\"col s12\">\n <h6>Default Included Features ({defaultIncludedFeatureValues.length})</h6>\n {sRows}\n </div>\n )\n}\n","import { useEffect, useRef } from 'react'\n\nimport { resolveActionRoute, isDeepLinkReferral } from '../../helpers/Routing'\n\nimport { useCurrenSdk } from '../../state/store'\n\nexport function useOnMountRouting(initialData, routingHandlers, onError) {\n const sdk = useCurrenSdk()\n useHandleRepoClonedRouteEvent(\n initialData,\n routingHandlers.onRepoCreated,\n onError\n )\n useHandleShareLinkRouteEffect(sdk, initialData, routingHandlers)\n}\n\nexport function useHandleRepoClonedRouteEvent(\n initialData,\n onRepoCreated,\n onError\n) {\n // Use Effect Hook For Error Handling and\n // GitHub on complete callback\n useEffect(() => {\n const { error, htmlUrl, cloneUrl } = initialData\n if (!error && !htmlUrl) {\n return // nothing more to do\n }\n setTimeout(() => {\n if (cloneUrl) {\n onRepoCreated({\n cloneUrl,\n htmlUrl,\n show: true,\n type: 'clone',\n })\n } else if (error) {\n onError(new Error(error.replaceAll('+', ' ')))\n }\n }, 500)\n }, [initialData, onRepoCreated, onError])\n}\n\nexport function useHandleShareLinkRouteEffect(\n sdk,\n initialData,\n routingHandlers = {}\n) {\n const isReferral = isDeepLinkReferral(initialData)\n const shareData = useRef(initialData)\n\n // Deep Linking\n useEffect(() => {\n function handleDeepLink() {\n const activity = resolveActionRoute(shareData.current)\n if (!activity) {\n return\n }\n\n // If we're not able to handle the route,\n // discard and reset the history state\n if (!isReferral || !Object.keys(routingHandlers).includes(activity)) {\n return\n }\n\n // This is a common react problem\n // Since we have to wait for the SDK to get initialized\n // but can't watch the create / features objects,\n // we need to rebuild at routing time.\n const { showing, ...payload } = shareData.current\n // Trigger the route handler\n routingHandlers[activity](payload, sdk, { showing })\n }\n\n if (sdk?.baseUrl && shareData.current) {\n handleDeepLink()\n // Null out the share data now that the route was handled\n shareData.current = null\n }\n }, [sdk, routingHandlers, isReferral, shareData])\n}\n","import React, { Fragment, useState, useRef, useMemo, useCallback } from 'react'\nimport { ProgressBar } from 'react-materialize'\nimport Col from 'react-materialize/lib/Col'\nimport Row from 'react-materialize/lib/Row'\n\nimport Lang from '../../helpers/Lang'\nimport { resetRoute } from '../../helpers/Routing'\nimport useAppTheme from '../../hooks/useAppTheme'\n\nimport ApplicationState from '../../state/ApplicationState'\nimport {\n useGetStarterForm,\n useInitialData,\n useConfigureInitialVersionEffect,\n useResetStarterForm,\n} from '../../state/store'\nimport { downloadBlob } from '../../utility'\n\nimport AltFooter from '../AltFooter'\nimport CodePreview from '../CodePreview'\nimport Diff from '../Diff'\nimport ErrorView, { ErrorViewData } from '../ErrorView'\nimport { errorHandlersFactory } from '../ErrorView/ErrorViewData'\nimport { FeatureSelectorModal } from '../FeatureSelector'\nimport { FeatureSelectedList } from '../FeatureSelector'\nimport GenerateButtons from '../GenerateButtons/GenerateButtons'\nimport Header from '../Header'\nimport NextSteps from '../NextSteps'\nimport StarterForm from '../StarterForm'\nimport { AppLoadingBackdrop } from './AppLoadingBackdrop'\nimport { DebugInfo } from './DebugInfo'\nimport { DefaultIncludedFeatureList } from './DefaultIncludedFeatureList'\nimport { useOnMountRouting } from './useOnMountRouting'\n\nexport function Root() {\n return (\n <ApplicationState>\n <App />\n </ApplicationState>\n )\n}\n\nexport function App() {\n const initialData = useInitialData()\n // Error Handling\n const [error, setError] = useState(ErrorViewData.ofSuccess(''))\n const hasError = Boolean(error.message)\n\n const errorHandlers = useMemo(() => {\n return errorHandlersFactory(setError)\n }, [setError])\n\n return (\n <React.Suspense fallback={<AppLoadingBackdrop />}>\n <AppContainer initialData={initialData} errorHandlers={errorHandlers} />\n <ErrorView\n hasError={hasError}\n severity={error.severity}\n message={error.message}\n link={error.link}\n clipboard={error.clipboard}\n onClose={errorHandlers.onClear}\n />\n <DebugInfo />\n </React.Suspense>\n )\n}\n\nexport function AppContainer({ initialData, errorHandlers }) {\n // Refs\n const previewView = useRef()\n const diffView = useRef()\n\n // UI\n const [theme, toggleTheme] = useAppTheme()\n const [loading, setLoading] = useState(false)\n\n // Next Steps\n const [nextStepsInfo, setNextStepsInfo] = useState({})\n const onCloseNextSteps = () => setNextStepsInfo({})\n\n // Start Over\n const resetForm = useResetStarterForm()\n const onStartOver = () => {\n onCloseNextSteps()\n resetForm()\n }\n\n useConfigureInitialVersionEffect(\n useCallback(\n ({ requested, using }) => {\n const message = Lang.trans('error.versionNoLongerSupported', {\n requestedVersion: requested,\n currentVersion: using,\n })\n errorHandlers.onWarn(message)\n },\n [errorHandlers]\n )\n )\n\n // Routing\n const routingHandlers = useMemo(() => {\n return {\n onRepoCreated: (repoCreatedInfo) => {\n setNextStepsInfo(repoCreatedInfo)\n },\n\n preview: async (payload, sdk, opts = { showing: null }) => {\n try {\n const json = await sdk.preview(payload)\n previewView.current.show(json, opts.showing)\n } catch (error) {\n errorHandlers.onResponseError(error)\n } finally {\n setLoading(false)\n }\n },\n\n diff: async (payload, sdk) => {\n try {\n const text = await sdk.diff(payload)\n if (text === '') {\n throw new Error(\n 'No features have been selected. Please choose one or more features and try again.'\n )\n }\n diffView.current.show(text)\n } catch (error) {\n errorHandlers.onResponseError(error)\n } finally {\n setLoading(false)\n }\n },\n\n create: async (payload, sdk) => {\n try {\n const blob = await sdk.create(payload)\n downloadBlob(blob, `${payload.name}.zip`)\n setNextStepsInfo({ show: true, type: 'zip' })\n } catch (error) {\n errorHandlers.onResponseError(error)\n } finally {\n setLoading(false)\n }\n },\n }\n }, [errorHandlers])\n\n // Share Initial Routing Routing\n useOnMountRouting(initialData, routingHandlers, errorHandlers.onResponseError)\n\n // Preflight for any async activity\n const requestPrep = (event) => {\n if (event && event.preventDefault instanceof Function) {\n event.preventDefault()\n }\n errorHandlers.onClear()\n setLoading(true)\n }\n\n const getFormData = useGetStarterForm()\n\n // GitHub Clone Feat\n const onCloneProject = async (e) => {\n setLoading(true)\n }\n\n // Create Feat\n const onGenerateProject = async (e) => {\n requestPrep(e)\n const { createPayload, sdk } = await getFormData()\n routingHandlers.create(createPayload, sdk)\n }\n\n // Preview Feat\n const onLoadPreview = async (e) => {\n requestPrep(e)\n const { createPayload, sdk } = await getFormData()\n routingHandlers.preview(createPayload, sdk)\n }\n const onClearPreview = () => resetRoute()\n\n // Diff Feat\n const onLoadDiff = async (e) => {\n requestPrep(e)\n const { createPayload, sdk } = await getFormData()\n routingHandlers.diff(createPayload, sdk)\n }\n const onClearDiff = () => resetRoute()\n\n const disabled = loading\n\n return (\n <Fragment>\n <div id=\"mn-main-container\" className=\"mn-main-container sticky\">\n <div className=\"container-fluid\">\n <Header theme={theme} onToggleTheme={toggleTheme} />\n\n <div className=\"container\">\n <div className=\"mn-container\">\n <form onSubmit={onGenerateProject} autoComplete=\"off\">\n <StarterForm\n theme={theme}\n onError={errorHandlers.onResponseError}\n />\n\n <Row className=\"button-row\">\n <Col s={3} className=\"xs6\">\n <FeatureSelectorModal theme={theme} />\n </Col>\n <Col s={3} className=\"xs6\">\n <Diff\n ref={diffView}\n theme={theme}\n disabled={disabled}\n onLoad={onLoadDiff}\n onClose={onClearDiff}\n />\n </Col>\n <Col s={3} className=\"xs6\">\n <CodePreview\n ref={previewView}\n theme={theme}\n disabled={disabled}\n onLoad={onLoadPreview}\n onClose={onClearPreview}\n />\n </Col>\n <Col s={3} className=\"xs6\">\n <GenerateButtons\n theme={theme}\n disabled={disabled}\n cloneProject={onCloneProject}\n generateProject={onGenerateProject}\n />\n </Col>\n </Row>\n </form>\n <div className=\"progress-container\">\n {loading && <ProgressBar />}\n </div>\n </div>\n </div>\n </div>\n </div>\n <div className=\"container\">\n <div className=\"mn-feature-container\">\n <DefaultIncludedFeatureList theme={theme} />\n </div>\n </div>\n <div className=\"container\">\n <div className=\"mn-feature-container\">\n <FeatureSelectedList theme={theme} />\n </div>\n </div>\n <AltFooter theme={theme} onToggleTheme={toggleTheme} />\n {nextStepsInfo.show && (\n <NextSteps\n onClose={onCloseNextSteps}\n onStartOver={onStartOver}\n info={nextStepsInfo}\n theme={theme}\n />\n )}\n </Fragment>\n )\n}\n","import React from 'react'\nimport ReactDOM from 'react-dom'\nimport { Root } from './components/Application/App'\n\nimport './style.css'\nimport './styles/button-row.css'\nimport './styles/utility.css'\nimport './styles/modal-overrides.css'\nimport './styles/font-overrides.css'\nimport './styles/z-index-overrides.css'\n\nReactDOM.render(<Root />, document.getElementById('root'))\n"],"sourceRoot":""}
\ No newline at end of file
diff --git a/static/js/runtime-main.03c37b46.js b/static/js/runtime-main.03c37b46.js
new file mode 100644
index 0000000..b350acf
--- /dev/null
+++ b/static/js/runtime-main.03c37b46.js
@@ -0,0 +1,2 @@
+!function(e){function r(r){for(var n,p,l=r[0],a=r[1],f=r[2],c=0,s=[];c<l.length;c++)p=l[c],Object.prototype.hasOwnProperty.call(o,p)&&o[p]&&s.push(o[p][0]),o[p]=0;for(n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n]);for(i&&i(r);s.length;)s.shift()();return u.push.apply(u,f||[]),t()}function t(){for(var e,r=0;r<u.length;r++){for(var t=u[r],n=!0,l=1;l<t.length;l++){var a=t[l];0!==o[a]&&(n=!1)}n&&(u.splice(r--,1),e=p(p.s=t[0]))}return e}var n={},o={1:0},u=[];function p(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,p),t.l=!0,t.exports}p.m=e,p.c=n,p.d=function(e,r,t){p.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},p.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},p.t=function(e,r){if(1&r&&(e=p(e)),8&r)return e;if(4&r&&"object"===typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(p.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)p.d(t,n,function(r){return e[r]}.bind(null,n));return t},p.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return p.d(r,"a",r),r},p.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},p.p="./";var l=this.webpackJsonpapp=this.webpackJsonpapp||[],a=l.push.bind(l);l.push=r,l=l.slice();for(var f=0;f<l.length;f++)r(l[f]);var i=a;t()}([]);
+//# sourceMappingURL=runtime-main.03c37b46.js.map
\ No newline at end of file
diff --git a/static/js/runtime-main.03c37b46.js.map b/static/js/runtime-main.03c37b46.js.map
new file mode 100644
index 0000000..e00a776
--- /dev/null
+++ b/static/js/runtime-main.03c37b46.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["../webpack/bootstrap"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","this","oldJsonpFunction","slice"],"mappings":"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","file":"static/js/runtime-main.03c37b46.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t1: 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"./\";\n\n \tvar jsonpArray = this[\"webpackJsonpapp\"] = this[\"webpackJsonpapp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// run deferred modules from other chunks\n \tcheckDeferredModules();\n"],"sourceRoot":""}
\ No newline at end of file