Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/firstrunwizard.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon L <szaimen@e.mail.de>2022-04-07 20:57:06 +0300
committerGitHub <noreply@github.com>2022-04-07 20:57:06 +0300
commit2e548da348c791e1b3711ce22d35878ade780fdc (patch)
treed56b3e7fa69affce4d4cc6821168904b29e0a274
parent0593686ef8b832458fd127111edaf74e761cbb4e (diff)
parent1275b416208ad2707031424c658b75a256bf1d12 (diff)
Merge pull request #691 from nextcloud/enh/689/make-buttons-roundv24.0.0beta3
make the buttons round
-rw-r--r--js/firstrunwizard-main.js4
-rw-r--r--js/firstrunwizard-main.js.map2
-rw-r--r--src/App.vue2
3 files changed, 5 insertions, 3 deletions
diff --git a/js/firstrunwizard-main.js b/js/firstrunwizard-main.js
index 502481c2..036298f9 100644
--- a/js/firstrunwizard-main.js
+++ b/js/firstrunwizard-main.js
@@ -1,3 +1,3 @@
/*! For license information please see firstrunwizard-main.js.LICENSE.txt */
-(()=>{var e={2200:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"getRequestToken",{enumerable:!0,get:function(){return r.getRequestToken}}),Object.defineProperty(e,"onRequestTokenUpdate",{enumerable:!0,get:function(){return r.onRequestTokenUpdate}}),Object.defineProperty(e,"getCurrentUser",{enumerable:!0,get:function(){return o.getCurrentUser}});var r=n(1894),o=n(1618)},1894:(t,e,n)=>{"use strict";var r=n(5108);n(9554),Object.defineProperty(e,"__esModule",{value:!0}),e.getRequestToken=function(){return a},e.onRequestTokenUpdate=function(t){s.push(t)};var o=n(7594),i=document.getElementsByTagName("head")[0],a=i?i.getAttribute("data-requesttoken"):null,s=[];(0,o.subscribe)("csrf-token-update",(function(t){a=t.token,s.forEach((function(e){try{e(t.token)}catch(t){r.error("error updating CSRF token observer",t)}}))}))},1618:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getCurrentUser=function(){if(null===r)return null;return{uid:r,displayName:i,isAdmin:a}};var n=document.getElementsByTagName("head")[0],r=n?n.getAttribute("data-user"):null,o=document.getElementsByTagName("head")[0],i=o?o.getAttribute("data-user-displayname"):null,a="undefined"!=typeof OC&&OC.isUserAdmin()},4820:(t,e,n)=>{"use strict";e.Z=void 0;var r,o,i=(r=n(9669))&&r.__esModule?r:{default:r},a=n(2200);const s=i.default.create({headers:{requesttoken:null!==(o=(0,a.getRequestToken)())&&void 0!==o?o:""}}),l=Object.assign(s,{CancelToken:i.default.CancelToken,isCancel:i.default.isCancel});(0,a.onRequestTokenUpdate)((t=>s.defaults.headers.requesttoken=t));var u=l;e.Z=u},4201:(t,e,n)=>{"use strict";var r=n(5108);Object.defineProperty(e,"__esModule",{value:!0}),e.ProxyBus=void 0;var o=a(n(6397)),i=a(n(8679));function a(t){return t&&t.__esModule?t:{default:t}}function s(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}var l="1.2.0",u=function(){function t(e){var n,a,s;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),s=void 0,(a="bus")in(n=this)?Object.defineProperty(n,a,{value:s,enumerable:!0,configurable:!0,writable:!0}):n[a]=s,"function"==typeof e.getVersion&&(0,o.default)(e.getVersion())?(0,i.default)(e.getVersion())!==(0,i.default)(this.getVersion())&&r.warn("Proxying an event bus of version "+e.getVersion()+" with "+this.getVersion()):r.warn("Proxying an event bus with an unknown or invalid version"),this.bus=e}var e,n,a;return e=t,(n=[{key:"getVersion",value:function(){return l}},{key:"subscribe",value:function(t,e){this.bus.subscribe(t,e)}},{key:"unsubscribe",value:function(t,e){this.bus.unsubscribe(t,e)}},{key:"emit",value:function(t,e){this.bus.emit(t,e)}}])&&s(e.prototype,n),a&&s(e,a),t}();e.ProxyBus=u},6936:(t,e,n)=>{"use strict";var r=n(5108);function o(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}n(2222),n(7327),n(9554),n(6992),n(1532),n(1539),n(8783),n(4747),n(3948),Object.defineProperty(e,"__esModule",{value:!0}),e.SimpleBus=void 0;var i="1.2.0",a=function(){function t(){var e,n,r;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),e=this,n="handlers",r=new Map,n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r}var e,n,a;return e=t,(n=[{key:"getVersion",value:function(){return i}},{key:"subscribe",value:function(t,e){this.handlers.set(t,(this.handlers.get(t)||[]).concat(e))}},{key:"unsubscribe",value:function(t,e){this.handlers.set(t,(this.handlers.get(t)||[]).filter((function(t){return t!=e})))}},{key:"emit",value:function(t,e){(this.handlers.get(t)||[]).forEach((function(t){try{t(e)}catch(t){r.error("could not invoke event listener",t)}}))}}])&&o(e.prototype,n),a&&o(e,a),t}();e.SimpleBus=a},7594:(t,e,n)=>{"use strict";var r=n(5108);Object.defineProperty(e,"__esModule",{value:!0}),e.subscribe=function(t,e){a.subscribe(t,e)},e.unsubscribe=function(t,e){a.unsubscribe(t,e)},e.emit=function(t,e){a.emit(t,e)};var o=n(4201),i=n(6936);var a=(void 0!==window.OC&&window.OC._eventBus&&void 0===window._nc_event_bus&&(r.warn("found old event bus instance at OC._eventBus. Update your version!"),window._nc_event_bus=window.OC._eventBus),void 0!==window._nc_event_bus?new o.ProxyBus(window._nc_event_bus):window._nc_event_bus=new i.SimpleBus)},3955:(t,e,n)=>{"use strict";n(1539),n(4916),n(9714),n(5306),Object.defineProperty(e,"__esModule",{value:!0}),e.getGettextBuilder=function(){return new u};var r,o=(r=n(7699))&&r.__esModule?r:{default:r},i=n(9944);function a(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function l(t,e,n){return e&&s(t.prototype,e),n&&s(t,n),t}var u=function(){function t(){a(this,t),this.translations={},this.debug=!1}return l(t,[{key:"setLanguage",value:function(t){return this.locale=t,this}},{key:"detectLocale",value:function(){return this.setLanguage((0,i.getLanguage)().replace("-","_"))}},{key:"addTranslation",value:function(t,e){return this.translations[t]=e,this}},{key:"enableDebugMode",value:function(){return this.debug=!0,this}},{key:"build",value:function(){return new c(this.locale||"en",this.translations,this.debug)}}]),t}(),c=function(){function t(e,n,r){for(var i in a(this,t),this.gt=new o.default({debug:r,sourceLocale:"en"}),n)this.gt.addTranslations(i,"messages",n[i]);this.gt.setLocale(e)}return l(t,[{key:"subtitudePlaceholders",value:function(t,e){return t.replace(/{([^{}]*)}/g,(function(t,n){var r=e[n];return"string"==typeof r||"number"==typeof r?r.toString():t}))}},{key:"gettext",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.subtitudePlaceholders(this.gt.gettext(t),e)}},{key:"ngettext",value:function(t,e,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return this.subtitudePlaceholders(this.gt.ngettext(t,e,n).replace(/%n/g,n.toString()),r)}}]),t}()},9944:(t,e,n)=>{"use strict";var r=n(5108);function o(){return"undefined"==typeof OC?(r.warn("No OC found"),"en"):OC.getLocale()}n(4916),n(5306),Object.defineProperty(e,"__esModule",{value:!0}),e.getLocale=o,e.getCanonicalLocale=function(){return o().replace(/_/g,"-")},e.getLanguage=function(){if("undefined"==typeof OC)return r.warn("No OC found"),"en";return OC.getLanguage()},e.translate=function(t,e,n,o,i){if("undefined"==typeof OC)return r.warn("No OC found"),e;return OC.L10N.translate(t,e,n,o,i)},e.translatePlural=function(t,e,n,o,i,a){if("undefined"==typeof OC)return r.warn("No OC found"),e;return OC.L10N.translatePlural(t,e,n,o,i,a)},e.getFirstDay=function(){if(void 0===window.firstDay)return r.warn("No firstDay found"),1;return window.firstDay},e.getDayNames=function(){if(void 0===window.dayNames)return r.warn("No dayNames found"),["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];return window.dayNames},e.getDayNamesShort=function(){if(void 0===window.dayNamesShort)return r.warn("No dayNamesShort found"),["Sun.","Mon.","Tue.","Wed.","Thu.","Fri.","Sat."];return window.dayNamesShort},e.getDayNamesMin=function(){if(void 0===window.dayNamesMin)return r.warn("No dayNamesMin found"),["Su","Mo","Tu","We","Th","Fr","Sa"];return window.dayNamesMin},e.getMonthNames=function(){if(void 0===window.monthNames)return r.warn("No monthNames found"),["January","February","March","April","May","June","July","August","September","October","November","December"];return window.monthNames},e.getMonthNamesShort=function(){if(void 0===window.monthNamesShort)return r.warn("No monthNamesShort found"),["Jan.","Feb.","Mar.","Apr.","May.","Jun.","Jul.","Aug.","Sep.","Oct.","Nov.","Dec."];return window.monthNamesShort}},9753:(t,e,n)=>{"use strict";n(2772),n(9601),n(1539),n(4916),n(9714),n(5306),e.FW=e.nu=void 0;e.nu=function(t,e,n){var r=Object.assign({escape:!0,noRewrite:!1},n||{}),i=function(t,e){return e=e||{},t.replace(/{([^{}]*)}/g,(function(t,n){var o=e[n];return r.escape?"string"==typeof o||"number"==typeof o?encodeURIComponent(o.toString()):encodeURIComponent(t):"string"==typeof o||"number"==typeof o?o.toString():t}))};return"/"!==t.charAt(0)&&(t="/"+t),!0!==OC.config.modRewriteWorking||r.noRewrite?o()+"/index.php"+i(t,e||{}):o()+i(t,e||{})};var r=function(t,e,n){var r=-1!==OC.coreApps.indexOf(t),i=o();return"php"!==n.substring(n.length-3)||r?"php"===n.substring(n.length-3)||r?(i+="settings"!==t&&"core"!==t&&"search"!==t||"ajax"!==e?"/":"/index.php/",r||(i+="apps/"),""!==t&&(i+=t+="/"),e&&(i+=e+"/"),i+=n):(i=OC.appswebroots[t],e&&(i+="/"+e+"/"),"/"!==i.substring(i.length-1)&&(i+="/"),i+=n):(i+="/index.php/apps/"+t,"index.php"!==n&&(i+="/",e&&(i+=encodeURI(e+"/")),i+=n)),i};e.FW=r;var o=function(){return OC.webroot}},7450:(t,e,n)=>{window,t.exports=function(t){var e={};function n(r){if(e[r])return e[r].exports;var o=e[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)n.d(r,o,function(e){return t[e]}.bind(null,o));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="/dist/",n(n.s=108)}([function(t,e,n){"use strict";function r(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=t&&("undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"]);if(null!=n){var r,o,i=[],a=!0,s=!1;try{for(n=n.call(t);!(a=(r=n.next()).done)&&(i.push(r.value),!e||i.length!==e);a=!0);}catch(t){s=!0,o=t}finally{try{a||null==n.return||n.return()}finally{if(s)throw o}}return i}}(t,e)||function(t,e){if(t){if("string"==typeof t)return o(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?o(t,e):void 0}}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}t.exports=function(t){var e=r(t,4),n=e[1],o=e[3];if(!o)return n;if("function"==typeof btoa){var i=btoa(unescape(encodeURIComponent(JSON.stringify(o)))),a="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(i),s="/*# ".concat(a," */"),l=o.sources.map((function(t){return"/*# sourceURL=".concat(o.sourceRoot||"").concat(t," */")}));return[n].concat(l).concat([s]).join("\n")}return[n].join("\n")}},function(t,e,n){"use strict";t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var n=t(e);return e[2]?"@media ".concat(e[2]," {").concat(n,"}"):n})).join("")},e.i=function(t,n,r){"string"==typeof t&&(t=[[null,t,""]]);var o={};if(r)for(var i=0;i<this.length;i++){var a=this[i][0];null!=a&&(o[a]=!0)}for(var s=0;s<t.length;s++){var l=[].concat(t[s]);r&&o[l[0]]||(n&&(l[2]?l[2]="".concat(n," and ").concat(l[2]):l[2]=n),e.push(l))}},e}},function(t,e,n){"use strict";var r,o=function(){return void 0===r&&(r=Boolean(window&&document&&document.all&&!window.atob)),r},i=function(){var t={};return function(e){if(void 0===t[e]){var n=document.querySelector(e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(t){n=null}t[e]=n}return t[e]}}(),a=[];function s(t){for(var e=-1,n=0;n<a.length;n++)if(a[n].identifier===t){e=n;break}return e}function l(t,e){for(var n={},r=[],o=0;o<t.length;o++){var i=t[o],l=e.base?i[0]+e.base:i[0],u=n[l]||0,c="".concat(l," ").concat(u);n[l]=u+1;var p=s(c),f={css:i[1],media:i[2],sourceMap:i[3]};-1!==p?(a[p].references++,a[p].updater(f)):a.push({identifier:c,updater:v(f,e),references:1}),r.push(c)}return r}function u(t){var e=document.createElement("style"),r=t.attributes||{};if(void 0===r.nonce){var o=n.nc;o&&(r.nonce=o)}if(Object.keys(r).forEach((function(t){e.setAttribute(t,r[t])})),"function"==typeof t.insert)t.insert(e);else{var a=i(t.insert||"head");if(!a)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");a.appendChild(e)}return e}var c,p=(c=[],function(t,e){return c[t]=e,c.filter(Boolean).join("\n")});function f(t,e,n,r){var o=n?"":r.media?"@media ".concat(r.media," {").concat(r.css,"}"):r.css;if(t.styleSheet)t.styleSheet.cssText=p(e,o);else{var i=document.createTextNode(o),a=t.childNodes;a[e]&&t.removeChild(a[e]),a.length?t.insertBefore(i,a[e]):t.appendChild(i)}}function d(t,e,n){var r=n.css,o=n.media,i=n.sourceMap;if(o?t.setAttribute("media",o):t.removeAttribute("media"),i&&"undefined"!=typeof btoa&&(r+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i))))," */")),t.styleSheet)t.styleSheet.cssText=r;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(r))}}var h=null,m=0;function v(t,e){var n,r,o;if(e.singleton){var i=m++;n=h||(h=u(e)),r=f.bind(null,n,i,!1),o=f.bind(null,n,i,!0)}else n=u(e),r=d.bind(null,n,e),o=function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(n)};return r(t),function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap)return;r(t=e)}else o()}}t.exports=function(t,e){(e=e||{}).singleton||"boolean"==typeof e.singleton||(e.singleton=o());var n=l(t=t||[],e);return function(t){if(t=t||[],"[object Array]"===Object.prototype.toString.call(t)){for(var r=0;r<n.length;r++){var o=s(n[r]);a[o].references--}for(var i=l(t,e),u=0;u<n.length;u++){var c=s(n[u]);0===a[c].references&&(a[c].updater(),a.splice(c,1))}n=i}}}},function(t,e,n){"use strict";function r(t,e,n,r,o,i,a,s){var l,u="function"==typeof t?t.options:t;if(e&&(u.render=e,u.staticRenderFns=n,u._compiled=!0),r&&(u.functional=!0),i&&(u._scopeId="data-v-"+i),a?(l=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),o&&o.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(a)},u._ssrRegister=l):o&&(l=s?function(){o.call(this,(u.functional?this.parent:this).$root.$options.shadowRoot)}:o),l)if(u.functional){u._injectStyles=l;var c=u.render;u.render=function(t,e){return l.call(e),c(t,e)}}else{var p=u.beforeCreate;u.beforeCreate=p?[].concat(p,l):[l]}return{exports:t,options:u}}n.d(e,"a",(function(){return r}))},function(t,e,n){"use strict";n.d(e,"b",(function(){return s})),n.d(e,"a",(function(){return a}));var r=n(11),o=Object(r.getGettextBuilder)().detectLocale();[{locale:"ar",translations:{"{tag} (invisible)":"{tag} (غير مرئي)","{tag} (restricted)":"{tag} (مقيد)",Actions:"الإجراءات",Activities:"النشاطات","Animals & Nature":"الحيوانات والطبيعة","Avatar of {displayName}":"صورة {displayName} الرمزية","Avatar of {displayName}, {status}":"صورة {displayName} الرمزية، {status}","Cancel changes":"إلغاء التغييرات",Choose:"إختيار",Close:"أغلق","Close navigation":"إغلاق المتصفح","Confirm changes":"تأكيد التغييرات",Custom:"مخصص","Edit item":"تعديل عنصر","External documentation for {title}":"الوثائق الخارجية لـ{title}",Flags:"الأعلام","Food & Drink":"الطعام والشراب","Frequently used":"كثيرا ما تستخدم",Global:"عالمي","Go back to the list":"العودة إلى القائمة","Message limit of {count} characters reached":"تم الوصول إلى الحد الأقصى لعدد الأحرف في الرسالة: {count} حرف",Next:"التالي","No emoji found":"لم يتم العثور على أي رمز تعبيري","No results":"ليس هناك أية نتيجة",Objects:"الأشياء","Open navigation":"فتح المتصفح","Pause slideshow":"إيقاف العرض مؤقتًا","People & Body":"الناس والجسم","Pick an emoji":"اختر رمزًا تعبيريًا","Please select a time zone:":"الرجاء تحديد المنطقة الزمنية:",Previous:"السابق",Search:"بحث","Search results":"نتائج البحث","Select a tag":"اختر علامة",Settings:"الإعدادات","Settings navigation":"إعدادات المتصفح","Smileys & Emotion":"الوجوه و الرموز التعبيرية","Start slideshow":"بدء العرض",Submit:"إرسال",Symbols:"الرموز","Travel & Places":"السفر والأماكن","Type to search time zone":"اكتب للبحث عن منطقة زمنية","Unable to search the group":"تعذر البحث في المجموعة","Undo changes":"التراجع عن التغييرات","Write message, @ to mention someone, : for emoji autocompletion …":"اكتب رسالة، @ للإشارة إلى شخص ما، : للإكمال التلقائي للرموز التعبيرية ..."}},{locale:"br",translations:{"{tag} (invisible)":"{tag} (diwelus)","{tag} (restricted)":"{tag} (bevennet)",Actions:"Oberioù",Activities:"Oberiantizoù","Animals & Nature":"Loened & Natur",Choose:"Dibab",Close:"Serriñ",Custom:"Personelañ",Flags:"Bannieloù","Food & Drink":"Boued & Evajoù","Frequently used":"Implijet alies",Next:"Da heul","No emoji found":"Emoji ebet kavet","No results":"Disoc'h ebet",Objects:"Traoù","Pause slideshow":"Arsav an diaporama","People & Body":"Tud & Korf","Pick an emoji":"Choaz un emoji",Previous:"A-raok",Search:"Klask","Search results":"Disoc'hoù an enklask","Select a tag":"Choaz ur c'hlav",Settings:"Arventennoù","Smileys & Emotion":"Smileyioù & Fromoù","Start slideshow":"Kregiñ an diaporama",Symbols:"Arouezioù","Travel & Places":"Beaj & Lec'hioù","Unable to search the group":"Dibosupl eo klask ar strollad"}},{locale:"ca",translations:{"{tag} (invisible)":"{tag} (invisible)","{tag} (restricted)":"{tag} (restringit)",Actions:"Accions",Activities:"Activitats","Animals & Nature":"Animals i natura","Cancel changes":"Cancel·la els canvis",Choose:"Tria",Close:"Tanca","Confirm changes":"Confirmeu els canvis",Custom:"Personalitzat","External documentation for {title}":"Documentació externa per a {title}",Flags:"Marques","Food & Drink":"Menjar i begudes","Frequently used":"Utilitzats recentment","Message limit of {count} characters reached":"S'ha arribat al límit de {count} caràcters per missatge",Next:"Següent","No emoji found":"No s'ha trobat cap emoji","No results":"Sense resultats",Objects:"Objectes","Pause slideshow":"Atura la presentació","People & Body":"Persones i cos","Pick an emoji":"Trieu un emoji",Previous:"Anterior",Search:"Cerca","Search results":"Resultats de cerca","Select a tag":"Selecciona una etiqueta",Settings:"Paràmetres","Settings navigation":"Navegació d'opcions","Smileys & Emotion":"Cares i emocions","Start slideshow":"Inicia la presentació",Submit:"Envia",Symbols:"Símbols","Travel & Places":"Viatges i llocs","Unable to search the group":"No es pot cercar el grup","Write message, @ to mention someone …":"Escriu un missatge, @ per mencionar algú..."}},{locale:"cs_CZ",translations:{"{tag} (invisible)":"{tag} (neviditelné)","{tag} (restricted)":"{tag} (omezené)",Actions:"Akce",Activities:"Aktivity","Animals & Nature":"Zvířata a příroda","Avatar of {displayName}":"Zástupný obrázek uživatele {displayName}","Avatar of {displayName}, {status}":"Zástupný obrázek uživatele {displayName}, {status}","Cancel changes":"Zrušit změny",Choose:"Zvolit",Close:"Zavřít","Close navigation":"Zavřít navigaci","Confirm changes":"Potvrdit změny",Custom:"Uživatelsky určené","Edit item":"Upravit položku","External documentation for {title}":"Externí dokumentace k {title}",Flags:"Příznaky","Food & Drink":"Jídlo a pití","Frequently used":"Často používané",Global:"Globální","Go back to the list":"Jít zpět na seznam","Message limit of {count} characters reached":"Dosaženo limitu počtu ({count}) znaků zprávy",Next:"Následující","No emoji found":"Nenalezeno žádné emoji","No results":"Nic nenalezeno",Objects:"Objekty","Open navigation":"Otevřít navigaci","Pause slideshow":"Pozastavit prezentaci","People & Body":"Lidé a tělo","Pick an emoji":"Vybrat emoji","Please select a time zone:":"Vyberte časovou zónu:",Previous:"Předchozí",Search:"Hledat","Search results":"Výsledky hledání","Select a tag":"Vybrat štítek",Settings:"Nastavení","Settings navigation":"Pohyb po nastavení","Smileys & Emotion":"Úsměvy a emoce","Start slideshow":"Spustit prezentaci",Submit:"Odeslat",Symbols:"Symboly","Travel & Places":"Cestování a místa","Type to search time zone":"Psaním vyhledejte časovou zónu","Unable to search the group":"Nedaří se hledat skupinu","Undo changes":"Vzít změny zpět","Write message, @ to mention someone, : for emoji autocompletion …":"Napište zprávu – pokud chcete někoho zmínit, napište před jeho uživatelským jménem @ (zavináč); automatické doplňování emotikonů zahájíte napsáním : (dvojtečky)…"}},{locale:"da",translations:{"{tag} (invisible)":"{tag} (usynlig)","{tag} (restricted)":"{tag} (begrænset)",Actions:"Handlinger",Activities:"Aktiviteter","Animals & Nature":"Dyr & Natur",Choose:"Vælg",Close:"Luk",Custom:"Brugerdefineret",Flags:"Flag","Food & Drink":"Mad & Drikke","Frequently used":"Ofte brugt","Message limit of {count} characters reached":"Begrænsning på {count} tegn er nået",Next:"Videre","No emoji found":"Ingen emoji fundet","No results":"Ingen resultater",Objects:"Objekter","Pause slideshow":"Suspender fremvisning","People & Body":"Mennesker & Menneskekroppen","Pick an emoji":"Vælg en emoji",Previous:"Forrige",Search:"Søg","Search results":"Søgeresultater","Select a tag":"Vælg et mærke",Settings:"Indstillinger","Settings navigation":"Naviger i indstillinger","Smileys & Emotion":"Smileys & Emotion","Start slideshow":"Start fremvisning",Symbols:"Symboler","Travel & Places":"Rejser & Rejsemål","Unable to search the group":"Kan ikke søge på denne gruppe","Write message, @ to mention someone …":"Skriv i meddelelse, @ for at nævne nogen …"}},{locale:"de",translations:{"{tag} (invisible)":"{tag} (unsichtbar)","{tag} (restricted)":"{tag} (eingeschränkt)",Actions:"Aktionen",Activities:"Aktivitäten","Animals & Nature":"Tiere & Natur","Avatar of {displayName}":"Avatar von {displayName}","Avatar of {displayName}, {status}":"Avatar von {displayName}, {status}","Cancel changes":"Änderungen verwerfen",Choose:"Auswählen",Close:"Schließen","Close navigation":"Navigation schließen","Confirm changes":"Änderungen bestätigen",Custom:"Benutzerdefiniert","Edit item":"Objekt bearbeiten","External documentation for {title}":"Externe Dokumentation für {title}",Flags:"Flaggen","Food & Drink":"Essen & Trinken","Frequently used":"Häufig verwendet",Global:"Global","Go back to the list":"Zurück zur Liste","Message limit of {count} characters reached":"Nachrichtenlimit von {count} Zeichen erreicht",Next:"Weiter","No emoji found":"Kein Emoji gefunden","No results":"Keine Ergebnisse",Objects:"Gegenstände","Open navigation":"Navigation öffnen","Pause slideshow":"Diashow pausieren","People & Body":"Menschen & Körper","Pick an emoji":"Ein Emoji auswählen","Please select a time zone:":"Bitte wählen Sie eine Zeitzone:",Previous:"Vorherige",Search:"Suche","Search results":"Suchergebnisse","Select a tag":"Schlagwort auswählen",Settings:"Einstellungen","Settings navigation":"Einstellungen für die Navigation","Smileys & Emotion":"Smileys & Emotionen","Start slideshow":"Diashow starten",Submit:"Einreichen",Symbols:"Symbole","Travel & Places":"Reisen & Orte","Type to search time zone":"Tippen, um Zeitzone zu suchen","Unable to search the group":"Die Gruppe konnte nicht durchsucht werden","Undo changes":"Änderungen rückgängig machen","Write message, @ to mention someone, : for emoji autocompletion …":"Nachricht schreiben, @, um jemanden zu erwähnen, : für die automatische Vervollständigung von Emojis … "}},{locale:"de_DE",translations:{"{tag} (invisible)":"{tag} (unsichtbar)","{tag} (restricted)":"{tag} (eingeschränkt)",Actions:"Aktionen",Activities:"Aktivitäten","Animals & Nature":"Tiere & Natur","Avatar of {displayName}":"Avatar von {displayName}","Avatar of {displayName}, {status}":"Avatar von {displayName}, {status}","Cancel changes":"Änderungen verwerfen",Choose:"Auswählen",Close:"Schließen","Close navigation":"Navigation schließen","Confirm changes":"Änderungen bestätigen",Custom:"Benutzerdefiniert","Edit item":"Objekt bearbeiten","External documentation for {title}":"Externe Dokumentation für {title}",Flags:"Flaggen","Food & Drink":"Essen & Trinken","Frequently used":"Häufig verwendet",Global:"Global","Go back to the list":"Zurück zur Liste","Message limit of {count} characters reached":"Nachrichtenlimit von {count} Zeichen erreicht",Next:"Weiter","No emoji found":"Kein Emoji gefunden","No results":"Keine Ergebnisse",Objects:"Objekte","Open navigation":"Navigation öffnen","Pause slideshow":"Diashow pausieren","People & Body":"Menschen & Körper","Pick an emoji":"Ein Emoji auswählen","Please select a time zone:":"Bitte eine Zeitzone auswählen:",Previous:"Vorherige",Search:"Suche","Search results":"Suchergebnisse","Select a tag":"Schlagwort auswählen",Settings:"Einstellungen","Settings navigation":"Einstellungen für die Navigation","Smileys & Emotion":"Smileys & Emotionen","Start slideshow":"Diashow starten",Submit:"Einreichen",Symbols:"Symbole","Travel & Places":"Reisen & Orte","Type to search time zone":"Tippen, um eine Zeitzone zu suchen","Unable to search the group":"Die Gruppe kann nicht durchsucht werden","Undo changes":"Änderungen rückgängig machen","Write message, @ to mention someone, : for emoji autocompletion …":"Nachricht schreiben, @, um jemanden zu erwähnen, : für die automatische Vervollständigung von Emojis …"}},{locale:"el",translations:{"{tag} (invisible)":"{tag} (αόρατο)","{tag} (restricted)":"{tag} (περιορισμένο)",Actions:"Ενέργειες",Activities:"Δραστηριότητες","Animals & Nature":"Ζώα & Φύση","Avatar of {displayName}":"Άβαταρ του {displayName}","Cancel changes":"Ακύρωση αλλαγών",Choose:"Επιλογή",Close:"Κλείσιμο","Close navigation":"Κλείσιμο πλοήγησης","Confirm changes":"Επιβεβαίωση αλλαγών",Custom:"Προσαρμογή","Edit item":"Επεξεργασία","External documentation for {title}":"Εξωτερική τεκμηρίωση για {title}",Flags:"Σημαίες","Food & Drink":"Φαγητό & Ποτό","Frequently used":"Συχνά χρησιμοποιούμενο",Global:"Καθολικό","Go back to the list":"Επιστροφή στην αρχική λίστα ","Message limit of {count} characters reached":"Συμπληρώθηκε το όριο των {count} χαρακτήρων του μηνύματος",Next:"Επόμενο","No emoji found":"Δεν βρέθηκε emoji","No results":"Κανένα αποτέλεσμα",Objects:"Αντικείμενα","Open navigation":"Άνοιγμα πλοήγησης","Pause slideshow":"Παύση προβολής διαφανειών","People & Body":"Άνθρωποι & Σώμα","Pick an emoji":"Επιλέξτε ένα emoji","Please select a time zone:":"Παρακαλούμε επιλέξτε μια ζώνη ώρας:",Previous:"Προηγούμενο",Search:"Αναζήτηση","Search results":"Αποτελέσματα αναζήτησης","Select a tag":"Επιλογή ετικέτας",Settings:"Ρυθμίσεις","Settings navigation":"Πλοήγηση ρυθμίσεων","Smileys & Emotion":"Φατσούλες & Συναίσθημα","Start slideshow":"Έναρξη προβολής διαφανειών",Submit:"Υποβολή",Symbols:"Σύμβολα","Travel & Places":"Ταξίδια & Τοποθεσίες","Type to search time zone":"Πληκτρολογήστε για αναζήτηση ζώνης ώρας","Unable to search the group":"Δεν είναι δυνατή η αναζήτηση της ομάδας","Undo changes":"Αναίρεση Αλλαγών","Write message, @ to mention someone …":"Γράψτε ένα μήνυμα, και με το σύμβολο @, μνημονεύστε κάποιον …"}},{locale:"eo",translations:{"{tag} (invisible)":"{tag} (kaŝita)","{tag} (restricted)":"{tag} (limigita)",Actions:"Agoj",Activities:"Aktiveco","Animals & Nature":"Bestoj & Naturo",Choose:"Elektu",Close:"Fermu",Custom:"Propra",Flags:"Flagoj","Food & Drink":"Manĝaĵo & Trinkaĵo","Frequently used":"Ofte uzataj","Message limit of {count} characters reached":"La limo je {count} da literoj atingita",Next:"Sekva","No emoji found":"La emoĝio forestas","No results":"La rezulto forestas",Objects:"Objektoj","Pause slideshow":"Payzi bildprezenton","People & Body":"Homoj & Korpo","Pick an emoji":"Elekti emoĝion ",Previous:"Antaŭa",Search:"Serĉi","Search results":"Serĉrezultoj","Select a tag":"Elektu etikedon",Settings:"Agordo","Settings navigation":"Agorda navigado","Smileys & Emotion":"Ridoj kaj Emocioj","Start slideshow":"Komenci bildprezenton",Symbols:"Signoj","Travel & Places":"Vojaĵoj & Lokoj","Unable to search the group":"Ne eblas serĉi en la grupo","Write message, @ to mention someone …":"Mesaĝi, uzu @ por mencii iun ..."}},{locale:"es",translations:{"{tag} (invisible)":"{tag} (invisible)","{tag} (restricted)":"{tag} (restringido)",Actions:"Acciones",Activities:"Actividades","Animals & Nature":"Animales y naturaleza","Avatar of {displayName}":"Avatar de {displayName}","Avatar of {displayName}, {status}":"Avatar de {displayName}, {status}","Cancel changes":"Cancelar cambios",Choose:"Elegir",Close:"Cerrar","Close navigation":"Cerrar navegación","Confirm changes":"Confirmar cambios",Custom:"Personalizado","Edit item":"Editar elemento","External documentation for {title}":"Documentacion externa de {title}",Flags:"Banderas","Food & Drink":"Comida y bebida","Frequently used":"Usado con frecuenca",Global:"Global","Go back to the list":"Volver a la lista","Message limit of {count} characters reached":"El mensaje ha alcanzado el límite de {count} caracteres",Next:"Siguiente","No emoji found":"No hay ningún emoji","No results":" Ningún resultado",Objects:"Objetos","Open navigation":"Abrir navegación","Pause slideshow":"Pausar la presentación ","People & Body":"Personas y cuerpos","Pick an emoji":"Elegir un emoji","Please select a time zone:":"Por favor elige un huso de horario:",Previous:"Anterior",Search:"Buscar","Search results":"Resultados de la búsqueda","Select a tag":"Seleccione una etiqueta",Settings:"Ajustes","Settings navigation":"Navegación por ajustes","Smileys & Emotion":"Smileys y emoticonos","Start slideshow":"Iniciar la presentación",Submit:"Enviar",Symbols:"Símbolos","Travel & Places":"Viajes y lugares","Type to search time zone":"Escribe para buscar un huso de horario","Unable to search the group":"No es posible buscar en el grupo","Undo changes":"Deshacer cambios","Write message, @ to mention someone …":"Escriba un mensaje, @ para mencionar a alguien..."}},{locale:"eu",translations:{"{tag} (invisible)":"{tag} (ikusezina)","{tag} (restricted)":"{tag} (mugatua)",Actions:"Ekintzak",Activities:"Jarduerak","Animals & Nature":"Animaliak eta Natura","Avatar of {displayName}":"{displayName}-(e)n irudia","Cancel changes":"Ezeztatu aldaketak",Choose:"Aukeratu",Close:"Itxi","Close navigation":"Itxi nabigazioa","Confirm changes":"Baieztatu aldaketak",Custom:"Pertsonalizatua","External documentation for {title}":"Kanpoko dokumentazioa {title}(r)entzat",Flags:"Banderak","Food & Drink":"Janaria eta edariak","Frequently used":"Askotan erabilia",Global:"Globala","Go back to the list":"Bueltatu zerrendara","Message limit of {count} characters reached":"Mezuaren {count} karaketere-limitera heldu zara",Next:"Hurrengoa","No emoji found":"Ez da emojirik aurkitu","No results":"Emaitzarik ez",Objects:"Objektuak","Open navigation":"Ireki nabigazioa","Pause slideshow":"Pausatu diaporama","People & Body":"Jendea eta gorputza","Pick an emoji":"Aukeratu emoji bat","Please select a time zone:":"Mesedez hautatu ordu-zona bat:",Previous:"Aurrekoa",Search:"Bilatu","Search results":"Bilaketa emaitzak","Select a tag":"Hautatu etiketa bat",Settings:"Ezarpenak","Settings navigation":"Nabigazio ezarpenak","Smileys & Emotion":"Smileyak eta emozioa","Start slideshow":"Hasi diaporama",Submit:"Bidali",Symbols:"Sinboloak","Travel & Places":"Bidaiak eta lekuak","Type to search time zone":"Idatzi ordu-zona bat bilatzeko","Unable to search the group":"Ezin izan da taldea bilatu","Write message, @ to mention someone …":"Idatzi mezua, @ norbait aipatzeko …"}},{locale:"fi_FI",translations:{"{tag} (invisible)":"{tag} (näkymätön)","{tag} (restricted)":"{tag} (rajoitettu)",Actions:"Toiminnot",Activities:"Aktiviteetit","Animals & Nature":"Eläimet & luonto","Avatar of {displayName}":"Käyttäjän {displayName} avatar","Avatar of {displayName}, {status}":"Käyttäjän {displayName} avatar, {status}","Cancel changes":"Peruuta muutokset",Choose:"Valitse",Close:"Sulje","Close navigation":"Sulje navigaatio","Confirm changes":"Vahvista muutokset",Custom:"Mukautettu","Edit item":"Muokkaa kohdetta","External documentation for {title}":"Ulkoinen dokumentaatio kohteelle {title}",Flags:"Liput","Food & Drink":"Ruoka & juoma","Frequently used":"Usein käytetyt",Global:"Yleinen","Go back to the list":"Siirry takaisin listaan","Message limit of {count} characters reached":"Viestin merkken enimmäisimäärä {count} täynnä ",Next:"Seuraava","No emoji found":"Emojia ei löytynyt","No results":"Ei tuloksia",Objects:"Esineet & asiat","Open navigation":"Avaa navigaatio","Pause slideshow":"Keskeytä diaesitys","People & Body":"Ihmiset & keho","Pick an emoji":"Valitse emoji","Please select a time zone:":"Valitse aikavyöhyke:",Previous:"Edellinen",Search:"Etsi","Search results":"Hakutulokset","Select a tag":"Valitse tagi",Settings:"Asetukset","Settings navigation":"Asetusnavigaatio","Smileys & Emotion":"Hymiöt & tunteet","Start slideshow":"Aloita diaesitys",Submit:"Lähetä",Symbols:"Symbolit","Travel & Places":"Matkustus & kohteet","Type to search time zone":"Kirjoita etsiäksesi aikavyöhyke","Unable to search the group":"Ryhmää ei voi hakea","Undo changes":"Kumoa muutokset","Write message, @ to mention someone …":"Kirjoita viesti, @ mainitaksesi jonkun..."}},{locale:"fr",translations:{"{tag} (invisible)":"{tag} (invisible)","{tag} (restricted)":"{tag} (restreint)",Actions:"Actions",Activities:"Activités","Animals & Nature":"Animaux & Nature","Avatar of {displayName}":"Avatar de {displayName}","Avatar of {displayName}, {status}":"Avatar de {displayName}, {status}","Cancel changes":"Annuler les modifications",Choose:"Choisir",Close:"Fermer","Close navigation":"Fermer la navigation","Confirm changes":"Confirmer les modifications",Custom:"Personnalisé","Edit item":"Éditer l'élément","External documentation for {title}":"Documentation externe pour {title}",Flags:"Drapeaux","Food & Drink":"Nourriture & Boissons","Frequently used":"Utilisés fréquemment",Global:"Global","Go back to the list":"Retourner à la liste","Message limit of {count} characters reached":"Limite de messages de {count} caractères atteinte",Next:"Suivant","No emoji found":"Pas d’émoji trouvé","No results":"Aucun résultat",Objects:"Objets","Open navigation":"Ouvrir la navigation","Pause slideshow":"Mettre le diaporama en pause","People & Body":"Personnes & Corps","Pick an emoji":"Choisissez un émoji","Please select a time zone:":"Sélectionnez un fuseau horaire : ",Previous:"Précédent",Search:"Chercher","Search results":"Résultats de recherche","Select a tag":"Sélectionnez une balise",Settings:"Paramètres","Settings navigation":"Navigation dans les paramètres","Smileys & Emotion":"Smileys & Émotions","Start slideshow":"Démarrer le diaporama",Submit:"Valider",Symbols:"Symboles","Travel & Places":"Voyage & Lieux","Type to search time zone":"Saisissez les premiers lettres pour rechercher un fuseau horaire","Unable to search the group":"Impossible de chercher le groupe","Undo changes":"Annuler les changements","Write message, @ to mention someone …":"Écrivez un message, @ pour mentionner quelqu'un…"}},{locale:"gl",translations:{"{tag} (invisible)":"{tag} (invisíbel)","{tag} (restricted)":"{tag} (restrinxido)",Actions:"Accións",Activities:"Actividades","Animals & Nature":"Animais e natureza","Cancel changes":"Cancelar os cambios",Choose:"Escoller",Close:"Pechar","Confirm changes":"Confirma os cambios",Custom:"Personalizado","External documentation for {title}":"Documentación externa para {title}",Flags:"Bandeiras","Food & Drink":"Comida e bebida","Frequently used":"Usado con frecuencia","Message limit of {count} characters reached":"Acadouse o límite de {count} caracteres por mensaxe",Next:"Seguinte","No emoji found":"Non se atopou ningún «emoji»","No results":"Sen resultados",Objects:"Obxectos","Pause slideshow":"Pausar o diaporama","People & Body":"Persoas e corpo","Pick an emoji":"Escolla un «emoji»",Previous:"Anterir",Search:"Buscar","Search results":"Resultados da busca","Select a tag":"Seleccione unha etiqueta",Settings:"Axustes","Settings navigation":"Navegación polos axustes","Smileys & Emotion":"Sorrisos e emocións","Start slideshow":"Iniciar o diaporama",Submit:"Enviar",Symbols:"Símbolos","Travel & Places":"Viaxes e lugares","Unable to search the group":"Non foi posíbel buscar o grupo","Write message, @ to mention someone …":"Escriba a mensaxe, @ para mencionar a alguén…"}},{locale:"he",translations:{"{tag} (invisible)":"{tag} (נסתר)","{tag} (restricted)":"{tag} (מוגבל)",Actions:"פעולות",Activities:"פעילויות","Animals & Nature":"חיות וטבע",Choose:"בחירה",Close:"סגירה",Custom:"בהתאמה אישית",Flags:"דגלים","Food & Drink":"מזון ומשקאות","Frequently used":"בשימוש תדיר",Next:"הבא","No emoji found":"לא נמצא אמוג׳י","No results":"אין תוצאות",Objects:"חפצים","Pause slideshow":"השהיית מצגת","People & Body":"אנשים וגוף","Pick an emoji":"נא לבחור אמוג׳י",Previous:"הקודם",Search:"חיפוש","Search results":"תוצאות חיפוש","Select a tag":"בחירת תגית",Settings:"הגדרות","Smileys & Emotion":"חייכנים ורגשונים","Start slideshow":"התחלת המצגת",Symbols:"סמלים","Travel & Places":"טיולים ומקומות","Unable to search the group":"לא ניתן לחפש בקבוצה"}},{locale:"hu_HU",translations:{"{tag} (invisible)":"{tag} (láthatatlan)","{tag} (restricted)":"{tag} (korlátozott)",Actions:"Műveletek",Activities:"Tevékenységek","Animals & Nature":"Állatok és természet","Avatar of {displayName}":"{displayName} profilképe","Cancel changes":"Változtatások elvetése",Choose:"Válassszon",Close:"Bezárás","Confirm changes":"Változtatások megerősítése",Custom:"Egyéni","External documentation for {title}":"Külső dokumentáció ehhez: {title}",Flags:"Zászló","Food & Drink":"Étel és ital","Frequently used":"Gyakran használt",Global:"Globális","Message limit of {count} characters reached":"{count} karakteres üzenetkorlát elérve",Next:"Következő","No emoji found":"Nem található emodzsi","No results":"Nincs találat",Objects:"Tárgyak","Pause slideshow":"Diavetítés szüneteltetése","People & Body":"Emberek és test","Pick an emoji":"Válasszon egy emodzsit","Please select a time zone:":"Válasszon időzónát:",Previous:"Előző",Search:"Keresés","Search results":"Találatok","Select a tag":"Válasszon címkét",Settings:"Beállítások","Settings navigation":"Navigáció a beállításokban","Smileys & Emotion":"Mosolyok és érzelmek","Start slideshow":"Diavetítés indítása",Submit:"Beküldés",Symbols:"Szimbólumok","Travel & Places":"Utazás és helyek","Type to search time zone":"Gépeljen az időzóna kereséséhez","Unable to search the group":"A csoport nem kereshető","Write message, @ to mention someone …":"Írjon üzenetet, @ valaki megemlítéséhez…"}},{locale:"is",translations:{"{tag} (invisible)":"{tag} (ósýnilegt)","{tag} (restricted)":"{tag} (takmarkað)",Actions:"Aðgerðir",Activities:"Aðgerðir","Animals & Nature":"Dýr og náttúra",Choose:"Velja",Close:"Loka",Custom:"Sérsniðið",Flags:"Flögg","Food & Drink":"Matur og drykkur","Frequently used":"Oftast notað",Next:"Næsta","No emoji found":"Ekkert tjáningartákn fannst","No results":"Engar niðurstöður",Objects:"Hlutir","Pause slideshow":"Gera hlé á skyggnusýningu","People & Body":"Fólk og líkami","Pick an emoji":"Veldu tjáningartákn",Previous:"Fyrri",Search:"Leita","Search results":"Leitarniðurstöður","Select a tag":"Veldu merki",Settings:"Stillingar","Smileys & Emotion":"Broskallar og tilfinningar","Start slideshow":"Byrja skyggnusýningu",Symbols:"Tákn","Travel & Places":"Staðir og ferðalög","Unable to search the group":"Get ekki leitað í hópnum"}},{locale:"it",translations:{"{tag} (invisible)":"{tag} (invisibile)","{tag} (restricted)":"{tag} (limitato)",Actions:"Azioni",Activities:"Attività","Animals & Nature":"Animali e natura","Avatar of {displayName}":"Avatar di {displayName}","Cancel changes":"Annulla modifiche",Choose:"Scegli",Close:"Chiudi","Confirm changes":"Conferma modifiche",Custom:"Personalizzato","External documentation for {title}":"Documentazione esterna per {title}",Flags:"Bandiere","Food & Drink":"Cibo e bevande","Frequently used":"Usati di frequente","Message limit of {count} characters reached":"Limite dei messaggi di {count} caratteri raggiunto",Next:"Successivo","No emoji found":"Nessun emoji trovato","No results":"Nessun risultato",Objects:"Oggetti","Pause slideshow":"Presentazione in pausa","People & Body":"Persone e corpo","Pick an emoji":"Scegli un emoji",Previous:"Precedente",Search:"Cerca","Search results":"Risultati di ricerca","Select a tag":"Seleziona un'etichetta",Settings:"Impostazioni","Settings navigation":"Navigazione delle impostazioni","Smileys & Emotion":"Faccine ed emozioni","Start slideshow":"Avvia presentazione",Submit:"Invia",Symbols:"Simboli","Travel & Places":"Viaggi e luoghi","Unable to search the group":"Impossibile cercare il gruppo","Write message, @ to mention someone …":"Scrivi messaggio, @ per menzionare qualcuno…"}},{locale:"ja_JP",translations:{"{tag} (invisible)":"{タグ} (不可視)","{tag} (restricted)":"{タグ} (制限付)",Actions:"操作",Activities:"アクティビティ","Animals & Nature":"動物と自然","Avatar of {displayName}":"{displayName} のアバター","Cancel changes":"変更をキャンセル",Choose:"選択",Close:"閉じる","Confirm changes":"変更を承認",Custom:"カスタム","External documentation for {title}":"{title} のための添付文書",Flags:"国旗","Food & Drink":"食べ物と飲み物","Frequently used":"よく使うもの",Global:"全体","Message limit of {count} characters reached":"{count} 文字のメッセージ上限に達しています",Next:"次","No emoji found":"絵文字が見つかりません","No results":"なし",Objects:"物","Pause slideshow":"スライドショーを一時停止","People & Body":"様々な人と体の部位","Pick an emoji":"絵文字を選択","Please select a time zone:":"タイムゾーンを選んで下さい:",Previous:"前",Search:"検索","Search results":"検索結果","Select a tag":"タグを選択",Settings:"設定","Settings navigation":"ナビゲーション設定","Smileys & Emotion":"感情表現","Start slideshow":"スライドショーを開始",Submit:"提出",Symbols:"記号","Travel & Places":"旅行と場所","Type to search time zone":"タイムゾーン検索のため入力してください","Unable to search the group":"グループを検索できません","Write message, @ to mention someone …":"メッセージを記入 @をつけるとその人に通知が行きます"}},{locale:"lt_LT",translations:{"{tag} (invisible)":"{tag} (nematoma)","{tag} (restricted)":"{tag} (apribota)",Actions:"Veiksmai",Activities:"Veiklos","Animals & Nature":"Gyvūnai ir gamta",Choose:"Pasirinkti",Close:"Užverti",Custom:"Tinkinti","External documentation for {title}":"Išorinė {title} dokumentacija",Flags:"Vėliavos","Food & Drink":"Maistas ir gėrimai","Frequently used":"Dažniausiai naudoti","Message limit of {count} characters reached":"Pasiekta {count} simbolių žinutės riba",Next:"Kitas","No emoji found":"Nerasta jaustukų","No results":"Nėra rezultatų",Objects:"Objektai","Pause slideshow":"Pristabdyti skaidrių rodymą","People & Body":"Žmonės ir kūnas","Pick an emoji":"Pasirinkti jaustuką",Previous:"Ankstesnis",Search:"Ieškoti","Search results":"Paieškos rezultatai","Select a tag":"Pasirinkti žymę",Settings:"Nustatymai","Settings navigation":"Naršymas nustatymuose","Smileys & Emotion":"Šypsenos ir emocijos","Start slideshow":"Pradėti skaidrių rodymą",Submit:"Pateikti",Symbols:"Simboliai","Travel & Places":"Kelionės ir vietos","Unable to search the group":"Nepavyko atlikti paiešką grupėje","Write message, @ to mention someone …":"Rašykite žinutę, naudokite @ norėdami kažką paminėti…"}},{locale:"lv",translations:{"{tag} (invisible)":"{tag} (neredzams)","{tag} (restricted)":"{tag} (ierobežots)",Choose:"Izvēlēties",Close:"Aizvērt",Next:"Nākamais","No results":"Nav rezultātu","Pause slideshow":"Pauzēt slaidrādi",Previous:"Iepriekšējais","Select a tag":"Izvēlēties birku",Settings:"Iestatījumi","Start slideshow":"Sākt slaidrādi"}},{locale:"mk",translations:{"{tag} (invisible)":"{tag} (невидливо)","{tag} (restricted)":"{tag} (ограничено)",Actions:"Акции",Activities:"Активности","Animals & Nature":"Животни & Природа",Choose:"Избери",Close:"Затвори",Custom:"Прилагодени",Flags:"Знамиња","Food & Drink":"Храна & Пијалоци","Frequently used":"Најчесто користени","Message limit of {count} characters reached":"Ограничувањето на должината на пораката од {count} карактери е надминато",Next:"Следно","No emoji found":"Не се пронајдени емотикони","No results":"Нема резултати",Objects:"Објекти","Pause slideshow":"Пузирај слајдшоу","People & Body":"Луѓе & Тело","Pick an emoji":"Избери емотикон",Previous:"Предходно",Search:"Барај","Search results":"Резултати од барувањето","Select a tag":"Избери ознака",Settings:"Параметри","Settings navigation":"Параметри за навигација","Smileys & Emotion":"Смешковци & Емотикони","Start slideshow":"Стартувај слајдшоу",Symbols:"Симболи","Travel & Places":"Патувања & Места","Unable to search the group":"Неможе да се принајде групата","Write message, @ to mention someone …":"Напиши порака, @ за да спомнеш некој …"}},{locale:"my",translations:{"{tag} (invisible)":"{tag} (ကွယ်ဝှက်ထား)","{tag} (restricted)":"{tag} (ကန့်သတ်)",Actions:"လုပ်ဆောင်ချက်များ",Activities:"ပြုလုပ်ဆောင်တာများ","Animals & Nature":"တိရစ္ဆာန်များနှင့် သဘာဝ","Avatar of {displayName}":"{displayName} ၏ ကိုယ်ပွား","Cancel changes":"ပြောင်းလဲမှုများ ပယ်ဖျက်ရန်",Choose:"ရွေးချယ်ရန်",Close:"ပိတ်ရန်","Confirm changes":"ပြောင်းလဲမှုများ အတည်ပြုရန်",Custom:"အလိုကျချိန်ညှိမှု","External documentation for {title}":"{title} အတွက် ပြင်ပ စာရွက်စာတမ်း",Flags:"အလံများ","Food & Drink":"အစားအသောက်","Frequently used":"မကြာခဏအသုံးပြုသော",Global:"ကမ္ဘာလုံးဆိုင်ရာ","Message limit of {count} characters reached":"ကန့်သတ် စာလုံးရေ {count} လုံး ပြည့်ပါပြီ",Next:"နောက်သို့ဆက်ရန်","No emoji found":"အီမိုဂျီ ရှာဖွေမတွေ့နိုင်ပါ","No results":"ရလဒ်မရှိပါ",Objects:"အရာဝတ္ထုများ","Pause slideshow":"စလိုက်ရှိုး ခေတ္တရပ်ရန်","People & Body":"လူပုဂ္ဂိုလ်များနှင့် ခန္ဓာကိုယ်","Pick an emoji":"အီမိုဂျီရွေးရန်","Please select a time zone:":"ဒေသစံတော်ချိန် ရွေးချယ်ပေးပါ",Previous:"ယခင်",Search:"ရှာဖွေရန်","Search results":"ရှာဖွေမှု ရလဒ်များ","Select a tag":"tag ရွေးချယ်ရန်",Settings:"ချိန်ညှိချက်များ","Settings navigation":"ချိန်ညှိချက်အညွှန်း","Smileys & Emotion":"စမိုင်လီများနှင့် အီမိုရှင်း","Start slideshow":"စလိုက်ရှိုးအား စတင်ရန်",Submit:"တင်သွင်းရန်",Symbols:"သင်္ကေတများ","Travel & Places":"ခရီးသွားလာခြင်းနှင့် နေရာများ","Type to search time zone":"ဒေသစံတော်ချိန်များ ရှာဖွေရန် စာရိုက်ပါ","Unable to search the group":"အဖွဲ့အား ရှာဖွေ၍ မရနိုင်ပါ","Write message, @ to mention someone …":"စာရေးသားရန်၊ တစ်စုံတစ်ဦးအား @ အသုံးပြု ရည်ညွှန်းရန်..."}},{locale:"nb_NO",translations:{"{tag} (invisible)":"{tag} (usynlig)","{tag} (restricted)":"{tag} (beskyttet)",Actions:"Handlinger",Activities:"Aktiviteter","Animals & Nature":"Dyr og natur","Avatar of {displayName}":"Avataren til {displayName}","Avatar of {displayName}, {status}":"{displayName}'s avatar, {status}","Cancel changes":"Avbryt endringer",Choose:"Velg",Close:"Lukk","Close navigation":"Lukk navigasjon","Confirm changes":"Bekreft endringer",Custom:"Tilpasset","Edit item":"Rediger","External documentation for {title}":"Ekstern dokumentasjon for {title}",Flags:"Flagg","Food & Drink":"Mat og drikke","Frequently used":"Ofte brukt",Global:"Global","Go back to the list":"Gå tilbake til listen","Message limit of {count} characters reached":"Karakter begrensing {count} nådd i melding",Next:"Neste","No emoji found":"Fant ingen emoji","No results":"Ingen resultater",Objects:"Objekter","Open navigation":"Åpne navigasjon","Pause slideshow":"Pause lysbildefremvisning","People & Body":"Mennesker og kropp","Pick an emoji":"Velg en emoji","Please select a time zone:":"Vennligst velg tidssone",Previous:"Forrige",Search:"Søk","Search results":"Søkeresultater","Select a tag":"Velg en merkelapp",Settings:"Innstillinger","Settings navigation":"Navigasjons instillinger","Smileys & Emotion":"Smilefjes og følelser","Start slideshow":"Start lysbildefremvisning",Submit:"Send",Symbols:"Symboler","Travel & Places":"Reise og steder","Type to search time zone":"Skriv for å søke etter tidssone","Unable to search the group":"Kunne ikke søke i gruppen","Undo changes":"Tilbakestill endringer","Write message, @ to mention someone …":"Bruk @ for å nevne noen i en melding"}},{locale:"nl",translations:{"{tag} (invisible)":"{tag} (onzichtbaar)","{tag} (restricted)":"{tag} (beperkt)",Actions:"Acties",Activities:"Activiteiten","Animals & Nature":"Dieren & Natuur","Avatar of {displayName}":"Avatar van {displayName}","Avatar of {displayName}, {status}":"Avatar van {displayName}, {status}","Cancel changes":"Wijzigingen annuleren",Choose:"Kies",Close:"Sluiten","Close navigation":"Navigatie sluiten","Confirm changes":"Wijzigingen bevestigen",Custom:"Aangepast","Edit item":"Item bewerken","External documentation for {title}":"Externe documentatie voor {title}",Flags:"Vlaggen","Food & Drink":"Eten & Drinken","Frequently used":"Vaak gebruikt",Global:"Globaal","Go back to the list":"Ga terug naar de lijst","Message limit of {count} characters reached":"Berichtlimiet van {count} karakters bereikt",Next:"Volgende","No emoji found":"Geen emoji gevonden","No results":"Geen resultaten",Objects:"Objecten","Open navigation":"Navigatie openen","Pause slideshow":"Pauzeer diavoorstelling","People & Body":"Mensen & Lichaam","Pick an emoji":"Kies een emoji","Please select a time zone:":"Selecteer een tijdzone:",Previous:"Vorige",Search:"Zoeken","Search results":"Zoekresultaten","Select a tag":"Selecteer een label",Settings:"Instellingen","Settings navigation":"Instellingen navigatie","Smileys & Emotion":"Smileys & Emotie","Start slideshow":"Start diavoorstelling",Submit:"Verwerken",Symbols:"Symbolen","Travel & Places":"Reizen & Plaatsen","Type to search time zone":"Type om de tijdzone te zoeken","Unable to search the group":"Kan niet in de groep zoeken","Undo changes":"Wijzigingen ongedaan maken","Write message, @ to mention someone, : for emoji autocompletion …":"Schrijf bericht, @ om iemand te noemen, : voor emoji auto-aanvullen ..."}},{locale:"oc",translations:{"{tag} (invisible)":"{tag} (invisible)","{tag} (restricted)":"{tag} (limit)",Actions:"Accions",Choose:"Causir",Close:"Tampar",Next:"Seguent","No results":"Cap de resultat","Pause slideshow":"Metre en pausa lo diaporama",Previous:"Precedent","Select a tag":"Seleccionar una etiqueta",Settings:"Paramètres","Start slideshow":"Lançar lo diaporama"}},{locale:"pl",translations:{"{tag} (invisible)":"{tag} (niewidoczna)","{tag} (restricted)":"{tag} (ograniczona)",Actions:"Działania",Activities:"Aktywność","Animals & Nature":"Zwierzęta i natura","Avatar of {displayName}":"Awatar {displayName}","Avatar of {displayName}, {status}":"Awatar {displayName}, {status}","Cancel changes":"Anuluj zmiany",Choose:"Wybierz",Close:"Zamknij","Close navigation":"Zamknij nawigację","Confirm changes":"Potwierdź zmiany",Custom:"Zwyczajne","Edit item":"Edytuj element","External documentation for {title}":"Dokumentacja zewnętrzna dla {title}",Flags:"Flagi","Food & Drink":"Jedzenie i picie","Frequently used":"Często używane",Global:"Globalnie","Go back to the list":"Powrót do listy","Message limit of {count} characters reached":"Przekroczono limit wiadomości wynoszący {count} znaków",Next:"Następny","No emoji found":"Nie znaleziono emotikonów","No results":"Brak wyników",Objects:"Obiekty","Open navigation":"Otwórz nawigację","Pause slideshow":"Wstrzymaj pokaz slajdów","People & Body":"Ludzie i ciało","Pick an emoji":"Wybierz emoji","Please select a time zone:":"Wybierz strefę czasową:",Previous:"Poprzedni",Search:"Szukaj","Search results":"Wyniki wyszukiwania","Select a tag":"Wybierz etykietę",Settings:"Ustawienia","Settings navigation":"Ustawienia nawigacji","Smileys & Emotion":"Buźki i emotikony","Start slideshow":"Rozpocznij pokaz slajdów",Submit:"Wyślij",Symbols:"Symbole","Travel & Places":"Podróże i miejsca","Type to search time zone":"Wpisz, aby wyszukać strefę czasową","Unable to search the group":"Nie można przeszukać grupy","Undo changes":"Cofnij zmiany","Write message, @ to mention someone, : for emoji autocompletion …":"Napisz wiadomość, @ aby o kimś wspomnieć, : dla autouzupełniania emotikonów…"}},{locale:"pt_BR",translations:{"{tag} (invisible)":"{tag} (invisível)","{tag} (restricted)":"{tag} (restrito) ",Actions:"Ações",Activities:"Atividades","Animals & Nature":"Animais & Natureza","Avatar of {displayName}":"Avatar de {displayName}","Avatar of {displayName}, {status}":"Avatar de {displayName}, {status}","Cancel changes":"Cancelar alterações",Choose:"Escolher",Close:"Fechar","Close navigation":"Fechar navegação","Confirm changes":"Confirmar alterações",Custom:"Personalizado","Edit item":"Editar item","External documentation for {title}":"Documentação externa para {title}",Flags:"Bandeiras","Food & Drink":"Comida & Bebida","Frequently used":"Mais usados",Global:"Global","Go back to the list":"Volte para a lista","Message limit of {count} characters reached":"Limite de mensagem de {count} caracteres atingido",Next:"Próximo","No emoji found":"Nenhum emoji encontrado","No results":"Sem resultados",Objects:"Objetos","Open navigation":"Abrir navegação","Pause slideshow":"Pausar apresentação de slides","People & Body":"Pessoas & Corpo","Pick an emoji":"Escolha um emoji","Please select a time zone:":"Selecione um fuso horário: ",Previous:"Anterior",Search:"Pesquisar","Search results":"Resultados da pesquisa","Select a tag":"Selecionar uma tag",Settings:"Configurações","Settings navigation":"Navegação de configurações","Smileys & Emotion":"Smiles & Emoções","Start slideshow":"Iniciar apresentação de slides",Submit:"Enviar",Symbols:"Símbolo","Travel & Places":"Viagem & Lugares","Type to search time zone":"Digite para pesquisar o fuso horário ","Unable to search the group":"Não foi possível pesquisar o grupo","Undo changes":"Desfazer modificações","Write message, @ to mention someone, : for emoji autocompletion …":"Escreva mensagem, @ para mencionar alguém, : para autocompleção emoji..."}},{locale:"pt_PT",translations:{"{tag} (invisible)":"{tag} (invisivel)","{tag} (restricted)":"{tag} (restrito)",Actions:"Ações",Choose:"Escolher",Close:"Fechar",Next:"Seguinte","No results":"Sem resultados","Pause slideshow":"Pausar diaporama",Previous:"Anterior","Select a tag":"Selecionar uma etiqueta",Settings:"Definições","Start slideshow":"Iniciar diaporama","Unable to search the group":"Não é possível pesquisar o grupo"}},{locale:"ru",translations:{"{tag} (invisible)":"{tag} (невидимое)","{tag} (restricted)":"{tag} (ограниченное)",Actions:"Действия ",Activities:"События","Animals & Nature":"Животные и природа ","Avatar of {displayName}":"Аватар {displayName}","Cancel changes":"Отменить изменения",Choose:"Выберите",Close:"Закрыть","Confirm changes":"Подтвердить изменения",Custom:"Пользовательское","External documentation for {title}":"Внешняя документация для {title}",Flags:"Флаги","Food & Drink":"Еда, напиток","Frequently used":"Часто используемый",Global:"Глобальный","Message limit of {count} characters reached":"Достигнуто ограничение на количество символов в {count}",Next:"Следующее","No emoji found":"Эмодзи не найдено","No results":"Результаты отсуствуют",Objects:"Объекты","Pause slideshow":"Приостановить показ слйдов","People & Body":"Люди и тело","Pick an emoji":"Выберите эмодзи","Please select a time zone:":"Пожалуйста, выберите часовой пояс:",Previous:"Предыдущее",Search:"Поиск","Search results":"Результаты поиска","Select a tag":"Выберите метку",Settings:"Параметры","Settings navigation":"Навигация по настройкам","Smileys & Emotion":"Смайлики и эмоции","Start slideshow":"Начать показ слайдов",Submit:"Утвердить",Symbols:"Символы","Travel & Places":"Путешествия и места","Type to search time zone":"Введите для поиска часового пояса","Unable to search the group":"Невозможно найти группу","Write message, @ to mention someone …":"Напишите сообщение, используйте @ чтобы упомянуть кого-то…"}},{locale:"sk_SK",translations:{"{tag} (invisible)":"{tag} (neviditeľný)","{tag} (restricted)":"{tag} (obmedzený)",Actions:"Akcie",Activities:"Aktivity","Animals & Nature":"Zvieratá a príroda","Avatar of {displayName}":"Avatar {displayName}","Cancel changes":"Zrušiť zmeny",Choose:"Vybrať",Close:"Zatvoriť","Close navigation":"Zavrieť navigáciu","Confirm changes":"Potvrdiť zmeny",Custom:"Zvyk","Edit item":"Upraviť položku","External documentation for {title}":"Externá dokumentácia pre {title}",Flags:"Vlajky","Food & Drink":"Jedlo a nápoje","Frequently used":"Často používané",Global:"Globálne","Go back to the list":"Naspäť na zoznam","Message limit of {count} characters reached":"Limit správy na {count} znakov dosiahnutý",Next:"Ďalší","No emoji found":"Nenašli sa žiadne emodži","No results":"Žiadne výsledky",Objects:"Objekty","Open navigation":"Otvoriť navigáciu","Pause slideshow":"Pozastaviť prezentáciu","People & Body":"Ľudia a telo","Pick an emoji":"Vyberte si emodži","Please select a time zone:":"Prosím vyberte časovú zónu:",Previous:"Predchádzajúci",Search:"Hľadať","Search results":"Výsledky vyhľadávania","Select a tag":"Vybrať štítok",Settings:"Nastavenia","Settings navigation":"Navigácia v nastaveniach","Smileys & Emotion":"Smajlíky a emócie","Start slideshow":"Začať prezentáciu",Submit:"Odoslať",Symbols:"Symboly","Travel & Places":"Cestovanie a miesta","Type to search time zone":"Začníte písať pre vyhľadávanie časovej zóny","Unable to search the group":"Skupinu sa nepodarilo nájsť","Undo changes":"Vrátiť zmeny","Write message, @ to mention someone …":"Napíšte správu, @ pre spomenutie niekoho ..."}},{locale:"sl",translations:{"{tag} (invisible)":"{tag} (nevidno)","{tag} (restricted)":"{tag} (omejeno)",Actions:"Dejanja",Activities:"Dejavnosti","Animals & Nature":"Živali in Narava","Avatar of {displayName}":"Podoba {displayName}","Cancel changes":"Prekliči spremembe",Choose:"Izbor",Close:"Zapri","Confirm changes":"Potrdi spremembe",Custom:"Po meri","External documentation for {title}":"Zunanja dokumentacija za {title}",Flags:"Zastavice","Food & Drink":"Hrana in Pijača","Frequently used":"Pogostost uporabe",Global:"Splošno","Message limit of {count} characters reached":"Dosežena omejitev {count} znakov na sporočilo.",Next:"Naslednji","No emoji found":"Ni najdenih izraznih ikon","No results":"Ni zadetkov",Objects:"Predmeti","Pause slideshow":"Ustavi predstavitev","People & Body":"Ljudje in Telo","Pick an emoji":"Izbor izrazne ikone","Please select a time zone:":"Izbor časovnega pasu:",Previous:"Predhodni",Search:"Iskanje","Search results":"Zadetki iskanja","Select a tag":"Izbor oznake",Settings:"Nastavitve","Settings navigation":"Krmarjenje nastavitev","Smileys & Emotion":"Izrazne ikone","Start slideshow":"Začni predstavitev",Submit:"Pošlji",Symbols:"Simboli","Travel & Places":"Potovanja in Kraji","Type to search time zone":"Vpišite niz za iskanje časovnega pasu","Unable to search the group":"Ni mogoče iskati po skupini","Write message, @ to mention someone …":"Napišite sporočilo, z @ omenite osebo ..."}},{locale:"sv",translations:{"{tag} (invisible)":"{tag} (osynlig)","{tag} (restricted)":"{tag} (begränsad)",Actions:"Åtgärder",Activities:"Aktiviteter","Animals & Nature":"Djur & Natur","Avatar of {displayName}":"{displayName}s avatar","Avatar of {displayName}, {status}":"{displayName}s avatar, {status}","Cancel changes":"Avbryt ändringar",Choose:"Välj",Close:"Stäng","Close navigation":"Stäng navigering","Confirm changes":"Bekräfta ändringar",Custom:"Anpassad","Edit item":"Ändra","External documentation for {title}":"Extern dokumentation för {title}",Flags:"Flaggor","Food & Drink":"Mat & Dryck","Frequently used":"Används ofta",Global:"Global","Go back to the list":"Gå tillbaka till listan","Message limit of {count} characters reached":"Meddelandegräns {count} tecken används",Next:"Nästa","No emoji found":"Hittade inga emojis","No results":"Inga resultat",Objects:"Objekt","Open navigation":"Öppna navigering","Pause slideshow":"Pausa bildspelet","People & Body":"Kropp & Själ","Pick an emoji":"Välj en emoji","Please select a time zone:":"Välj tidszon:",Previous:"Föregående",Search:"Sök","Search results":"Sökresultat","Select a tag":"Välj en tag",Settings:"Inställningar","Settings navigation":"Inställningsmeny","Smileys & Emotion":"Selfies & Känslor","Start slideshow":"Starta bildspelet",Submit:"Skicka",Symbols:"Symboler","Travel & Places":"Resor & Sevärdigheter","Type to search time zone":"Skriv för att välja tidszon","Unable to search the group":"Kunde inte söka i gruppen","Undo changes":"Ångra ändringar","Write message, @ to mention someone, : for emoji autocompletion …":"Skriv meddelande, @ för att nämna någon, : för automatiska emojiförslag ..."}},{locale:"tr",translations:{"{tag} (invisible)":"{tag} (görünmez)","{tag} (restricted)":"{tag} (kısıtlı)",Actions:"İşlemler",Activities:"Etkinlikler","Animals & Nature":"Hayvanlar ve Doğa","Avatar of {displayName}":"{displayName} avatarı","Avatar of {displayName}, {status}":"{displayName}, {status} avatarı","Cancel changes":"Değişiklikleri iptal et",Choose:"Seçin",Close:"Kapat","Close navigation":"Gezinmeyi kapat","Confirm changes":"Değişiklikleri onayla",Custom:"Özel","Edit item":"Ögeyi düzenle","External documentation for {title}":"{title} için dış belgeler",Flags:"Bayraklar","Food & Drink":"Yeme ve İçme","Frequently used":"Sık kullanılanlar",Global:"Evrensel","Go back to the list":"Listeye dön","Message limit of {count} characters reached":"{count} karakter ileti sınırına ulaşıldı",Next:"Sonraki","No emoji found":"Herhangi bir emoji bulunamadı","No results":"Herhangi bir sonuç bulunamadı",Objects:"Nesneler","Open navigation":"Gezinmeyi aç","Pause slideshow":"Slayt sunumunu duraklat","People & Body":"İnsanlar ve Beden","Pick an emoji":"Bir emoji seçin","Please select a time zone:":"Lütfen bir saat dilimi seçin:",Previous:"Önceki",Search:"Arama","Search results":"Arama sonuçları","Select a tag":"Bir etiket seçin",Settings:"Ayarlar","Settings navigation":"Gezinme ayarları","Smileys & Emotion":"İfadeler ve Duygular","Start slideshow":"Slayt sunumunu başlat",Submit:"Gönder",Symbols:"Simgeler","Travel & Places":"Gezi ve Yerler","Type to search time zone":"Saat dilimi aramak için yazmaya başlayın","Unable to search the group":"Grupta arama yapılamadı","Undo changes":"Değişiklikleri geri al","Write message, @ to mention someone, : for emoji autocompletion …":"İleti yazın, birini anmak için @, otomatik emoji tamamlamak için : kullanın…"}},{locale:"uk",translations:{"{tag} (invisible)":"{tag} (invisible)","{tag} (restricted)":"{tag} (restricted)",Actions:"Дії",Activities:"Діяльність","Animals & Nature":"Тварини та природа",Choose:"Виберіть",Close:"Закрити",Custom:"Власне",Flags:"Прапори","Food & Drink":"Їжа та напитки","Frequently used":"Найчастіші",Next:"Вперед","No emoji found":"Емоційки відсутні","No results":"Відсутні результати",Objects:"Об'єкти","Pause slideshow":"Пауза у показі слайдів","People & Body":"Люди та жести","Pick an emoji":"Виберіть емоційку",Previous:"Назад",Search:"Пошук","Search results":"Результати пошуку","Select a tag":"Виберіть позначку",Settings:"Налаштування","Smileys & Emotion":"Усміхайлики та емоційки","Start slideshow":"Почати показ слайдів",Symbols:"Символи","Travel & Places":"Поїздки та місця","Unable to search the group":"Неможливо шукати в групі"}},{locale:"zh_CN",translations:{"{tag} (invisible)":"{tag} (不可见)","{tag} (restricted)":"{tag} (受限)",Actions:"行为",Activities:"活动","Animals & Nature":"动物 & 自然","Avatar of {displayName}":"{displayName}的头像","Avatar of {displayName}, {status}":"{displayName}的头像,{status}","Cancel changes":"取消更改",Choose:"选择",Close:"关闭","Close navigation":"关闭导航","Confirm changes":"确认更改",Custom:"自定义","Edit item":"编辑项目","External documentation for {title}":"{title}的外部文档",Flags:"旗帜","Food & Drink":"食物 & 饮品","Frequently used":"经常使用",Global:"全局","Go back to the list":"返回至列表","Message limit of {count} characters reached":"已达到 {count} 个字符的消息限制",Next:"下一个","No emoji found":"表情未找到","No results":"无结果",Objects:"物体","Open navigation":"开启导航","Pause slideshow":"暂停幻灯片","People & Body":"人 & 身体","Pick an emoji":"选择一个表情","Please select a time zone:":"请选择一个时区:",Previous:"上一个",Search:"搜索","Search results":"搜索结果","Select a tag":"选择一个标签",Settings:"设置","Settings navigation":"设置向导","Smileys & Emotion":"笑脸 & 情感","Start slideshow":"开始幻灯片",Submit:"提交",Symbols:"符号","Travel & Places":"旅游 & 地点","Type to search time zone":"打字以搜索时区","Unable to search the group":"无法搜索分组","Undo changes":"撤销更改","Write message, @ to mention someone, : for emoji autocompletion …":"写信息,@ 提到某人,: 用于表情符号自动完成 ..."}},{locale:"zh_HK",translations:{"{tag} (invisible)":"{tag} (隱藏)","{tag} (restricted)":"{tag} (受限)",Actions:"動作",Activities:"活動","Animals & Nature":"動物與自然","Avatar of {displayName}":"{displayName} 的頭像","Avatar of {displayName}, {status}":"{displayName}的頭像,{status}","Cancel changes":"取消更改",Choose:"選擇",Close:"關閉","Close navigation":"關閉導航","Confirm changes":"確認更改",Custom:"自定義","Edit item":"編輯項目","External documentation for {title}":"{title} 的外部文檔",Flags:"旗幟","Food & Drink":"食物與飲料","Frequently used":"經常使用",Global:"全球的","Go back to the list":"返回清單","Message limit of {count} characters reached":"已達到訊息最多 {count} 字元限制",Next:"下一個","No emoji found":"未找到表情符號","No results":"無結果",Objects:"物件","Open navigation":"開啟導航","Pause slideshow":"暫停幻燈片","People & Body":"人物","Pick an emoji":"選擇表情符號","Please select a time zone:":"請選擇時區:",Previous:"上一個",Search:"搜尋","Search results":"搜尋結果","Select a tag":"選擇標籤",Settings:"設定","Settings navigation":"設定值導覽","Smileys & Emotion":"表情","Start slideshow":"開始幻燈片",Submit:"提交",Symbols:"標誌","Travel & Places":"旅遊與景點","Type to search time zone":"鍵入以搜索時區","Unable to search the group":"無法搜尋群組","Undo changes":"取消更改","Write message, @ to mention someone …":"輸入訊息時可使用 @ 來標示某人..."}},{locale:"zh_TW",translations:{"{tag} (invisible)":"{tag} (隱藏)","{tag} (restricted)":"{tag} (受限)",Actions:"動作",Activities:"活動","Animals & Nature":"動物與自然",Choose:"選擇",Close:"關閉",Custom:"自定義",Flags:"旗幟","Food & Drink":"食物與飲料","Frequently used":"最近使用","Message limit of {count} characters reached":"已達到訊息最多 {count} 字元限制",Next:"下一個","No emoji found":"未找到表情符號","No results":"無結果",Objects:"物件","Pause slideshow":"暫停幻燈片","People & Body":"人物","Pick an emoji":"選擇表情符號",Previous:"上一個",Search:"搜尋","Search results":"搜尋結果","Select a tag":"選擇標籤",Settings:"設定","Settings navigation":"設定值導覽","Smileys & Emotion":"表情","Start slideshow":"開始幻燈片",Symbols:"標誌","Travel & Places":"旅遊與景點","Unable to search the group":"無法搜尋群組","Write message, @ to mention someone …":"輸入訊息時可使用 @ 來標示某人..."}}].forEach((function(t){var e={};for(var n in t.translations)t.translations[n].pluralId?e[n]={msgid:n,msgid_plural:t.translations[n].pluralId,msgstr:t.translations[n].msgstr}:e[n]={msgid:n,msgstr:[t.translations[n]]};o.addTranslation(t.locale,{translations:{"":e}})}));var i=o.build(),a=i.ngettext.bind(i),s=i.gettext.bind(i)},function(t,e){t.exports=n(2998)},function(t,e){t.exports=n(144)},,function(t,e,n){"use strict";var r=n(0),o=n.n(r),i=n(1),a=n.n(i)()(o.a);a.push([t.i,".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.popover{z-index:100000;display:block !important;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.popover__inner{padding:0;color:var(--color-main-text);border-radius:var(--border-radius);background:var(--color-main-background)}.popover__arrow{position:absolute;z-index:1;width:0;height:0;margin:10px;border-style:solid;border-color:var(--color-main-background)}.popover[x-placement^='top']{margin-bottom:10px}.popover[x-placement^='top'] .popover__arrow{bottom:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent !important;border-bottom-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='bottom']{margin-top:10px}.popover[x-placement^='bottom'] .popover__arrow{top:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent !important;border-right-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='right']{margin-left:10px}.popover[x-placement^='right'] .popover__arrow{top:calc(50% - $arrow-width);left:-10px;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent !important;border-bottom-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='left']{margin-right:10px}.popover[x-placement^='left'] .popover__arrow{top:calc(50% - $arrow-width);right:-10px;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent !important;border-right-color:transparent !important;border-bottom-color:transparent !important}.popover[aria-hidden='true']{visibility:hidden;transition:opacity var(--animation-quick),visibility var(--animation-quick);opacity:0}.popover[aria-hidden='false']{visibility:visible;transition:opacity var(--animation-quick);opacity:1}\n","",{version:3,sources:["webpack://./../../assets/material-icons.css","webpack://./Popover.vue"],names:[],mappings:"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC0GxB,SACC,cAAe,CACf,wBAAyB,CAEzB,sDAAuD,CAEvD,gBACC,SAAU,CACV,4BAA6B,CAC7B,kCAAmC,CACnC,uCAAwC,CACxC,gBAGA,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,WApBgB,CAqBhB,kBAAmB,CACnB,yCAA0C,CApB5C,6BAwBE,kBA1BgB,CAElB,6CA2BG,YA7Be,CA8Bf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,6BAjCe,CAkCf,yCAA0C,CAC1C,0CAA2C,CAC3C,wCAAyC,CAlC5C,gCAuCE,eAzCgB,CAElB,gDA0CG,SA5Ce,CA6Cf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,6BAhDe,CAiDf,uCAAwC,CACxC,yCAA0C,CAC1C,wCAAyC,CAjD5C,+BAsDE,gBAxDgB,CAElB,+CAyDG,4BAA6B,CAC7B,UA5De,CA6Df,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,uCAAwC,CACxC,0CAA2C,CAC3C,wCAAyC,CAhE5C,8BAqEE,iBAvEgB,CAElB,8CAwEG,4BAA6B,CAC7B,WA3Ee,CA4Ef,cAAe,CACf,aAAc,CACd,6BA9Ee,CA+Ef,uCAAwC,CACxC,yCAA0C,CAC1C,0CAA2C,CA/E9C,6BAoFE,iBAAkB,CAClB,2EAA6E,CAC7E,SAAU,CAtFZ,8BA0FE,kBAAmB,CACnB,yCAA0C,CAC1C,SAAU",sourcesContent:["/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n\tdisplay: flex;\n\talign-self: center;\n\tjustify-self: center;\n\talign-items: center;\n\tjustify-content: center;\n}\n","$scope_version:\"75cef38\"; @import 'variables'; @import 'material-icons';\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n$arrow-width: 10px;\n\n.popover {\n\tz-index: 100000;\n\tdisplay: block !important;\n\n\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\n\n\t&__inner {\n\t\tpadding: 0;\n\t\tcolor: var(--color-main-text);\n\t\tborder-radius: var(--border-radius);\n\t\tbackground: var(--color-main-background);\n\t}\n\n\t&__arrow {\n\t\tposition: absolute;\n\t\tz-index: 1;\n\t\twidth: 0;\n\t\theight: 0;\n\t\tmargin: $arrow-width;\n\t\tborder-style: solid;\n\t\tborder-color: var(--color-main-background);\n\t}\n\n\t&[x-placement^='top'] {\n\t\tmargin-bottom: $arrow-width;\n\n\t\t.popover__arrow {\n\t\t\tbottom: -$arrow-width;\n\t\t\tleft: calc(50% - $arrow-width);\n\t\t\tmargin-top: 0;\n\t\t\tmargin-bottom: 0;\n\t\t\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\n\t\t\tborder-right-color: transparent !important;\n\t\t\tborder-bottom-color: transparent !important;\n\t\t\tborder-left-color: transparent !important;\n\t\t}\n\t}\n\n\t&[x-placement^='bottom'] {\n\t\tmargin-top: $arrow-width;\n\n\t\t.popover__arrow {\n\t\t\ttop: -$arrow-width;\n\t\t\tleft: calc(50% - $arrow-width);\n\t\t\tmargin-top: 0;\n\t\t\tmargin-bottom: 0;\n\t\t\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\n\t\t\tborder-top-color: transparent !important;\n\t\t\tborder-right-color: transparent !important;\n\t\t\tborder-left-color: transparent !important;\n\t\t}\n\t}\n\n\t&[x-placement^='right'] {\n\t\tmargin-left: $arrow-width;\n\n\t\t.popover__arrow {\n\t\t\ttop: calc(50% - $arrow-width);\n\t\t\tleft: -$arrow-width;\n\t\t\tmargin-right: 0;\n\t\t\tmargin-left: 0;\n\t\t\tborder-width: $arrow-width $arrow-width $arrow-width 0;\n\t\t\tborder-top-color: transparent !important;\n\t\t\tborder-bottom-color: transparent !important;\n\t\t\tborder-left-color: transparent !important;\n\t\t}\n\t}\n\n\t&[x-placement^='left'] {\n\t\tmargin-right: $arrow-width;\n\n\t\t.popover__arrow {\n\t\t\ttop: calc(50% - $arrow-width);\n\t\t\tright: -$arrow-width;\n\t\t\tmargin-right: 0;\n\t\t\tmargin-left: 0;\n\t\t\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\n\t\t\tborder-top-color: transparent !important;\n\t\t\tborder-right-color: transparent !important;\n\t\t\tborder-bottom-color: transparent !important;\n\t\t}\n\t}\n\n\t&[aria-hidden='true'] {\n\t\tvisibility: hidden;\n\t\ttransition: opacity var(--animation-quick), visibility var(--animation-quick);\n\t\topacity: 0;\n\t}\n\n\t&[aria-hidden='false'] {\n\t\tvisibility: visible;\n\t\ttransition: opacity var(--animation-quick);\n\t\topacity: 1;\n\t}\n}\n\n"],sourceRoot:""}]),e.a=a},function(t,e){},function(t,e,n){"use strict";n.r(e);var r=n(5),o=n(2),i=n.n(o),a=n(12),s={insert:"head",singleton:!1};i()(a.a,s),a.a.locals,r.VTooltip.options.defaultTemplate='<div class="vue-tooltip" role="tooltip" data-v-'.concat("75cef38",'><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'),r.VTooltip.options.defaultHtml=!1,r.VTooltip.options.defaultDelay={show:500,hide:200},e.default=r.VTooltip},function(t,e){t.exports=n(3955)},function(t,e,n){"use strict";var r=n(0),o=n.n(r),i=n(1),a=n.n(i)()(o.a);a.push([t.i,".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.vue-tooltip[data-v-75cef38]{position:absolute;z-index:100000;right:auto;left:auto;display:block;margin:0;margin-top:-3px;padding:10px 0;text-align:left;text-align:start;opacity:0;line-height:1.6;line-break:auto;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.vue-tooltip[data-v-75cef38][x-placement^='top'] .tooltip-arrow{bottom:0;margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-75cef38][x-placement^='bottom'] .tooltip-arrow{top:0;margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent;border-right-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-75cef38][x-placement^='right'] .tooltip-arrow{right:100%;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-75cef38][x-placement^='left'] .tooltip-arrow{left:100%;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent;border-right-color:transparent;border-bottom-color:transparent}.vue-tooltip[data-v-75cef38][aria-hidden='true']{visibility:hidden;transition:opacity .15s, visibility .15s;opacity:0}.vue-tooltip[data-v-75cef38][aria-hidden='false']{visibility:visible;transition:opacity .15s;opacity:1}.vue-tooltip[data-v-75cef38] .tooltip-inner{max-width:350px;padding:5px 8px;text-align:center;color:var(--color-main-text);border-radius:var(--border-radius);background-color:var(--color-main-background)}.vue-tooltip[data-v-75cef38] .tooltip-arrow{position:absolute;z-index:1;width:0;height:0;margin:0;border-style:solid;border-color:var(--color-main-background)}\n","",{version:3,sources:["webpack://./../../assets/material-icons.css","webpack://./index.scss"],names:[],mappings:"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCOxB,6BACC,iBAAkB,CAClB,cAAe,CACf,UAAW,CACX,SAAU,CACV,aAAc,CACd,QAAS,CAET,eAAgB,CAChB,cAAe,CACf,eAAgB,CAChB,gBAAiB,CACjB,SAAU,CACV,eAAgB,CAEhB,eAAgB,CAChB,sDAAuD,CAhBxD,gEAqBG,QAAS,CACT,YAAa,CACb,eAAgB,CAChB,6BA1Be,CA2Bf,8BAA+B,CAC/B,+BAAgC,CAChC,6BAA8B,CA3BjC,mEAkCG,KAAM,CACN,YAAa,CACb,eAAgB,CAChB,6BAvCe,CAwCf,4BAA6B,CAC7B,8BAA+B,CAC/B,6BAA8B,CAxCjC,kEA+CG,UAAW,CACX,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,4BAA6B,CAC7B,+BAAgC,CAChC,6BAA8B,CArDjC,iEA4DG,SAAU,CACV,cAAe,CACf,aAAc,CACd,6BAjEe,CAkEf,4BAA6B,CAC7B,8BAA+B,CAC/B,+BAAgC,CAlEnC,iDAwEE,iBAAkB,CAClB,wCAAyC,CACzC,SAAU,CA1EZ,kDA6EE,kBAAmB,CACnB,uBAAwB,CACxB,SAAU,CA/EZ,4CAoFE,eAAgB,CAChB,eAAgB,CAChB,iBAAkB,CAClB,4BAA6B,CAC7B,kCAAmC,CACnC,6CAA8C,CAzFhD,4CA8FE,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,QAAS,CACT,kBAAmB,CACnB,yCAA0C",sourcesContent:["/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n\tdisplay: flex;\n\talign-self: center;\n\tjustify-self: center;\n\talign-items: center;\n\tjustify-content: center;\n}\n","$scope_version:\"75cef38\"; @import 'variables'; @import 'material-icons';\n/**\n* @copyright Copyright (c) 2016, John Molakvoæ <skjnldsv@protonmail.com>\n* @copyright Copyright (c) 2016, Robin Appelman <robin@icewind.nl>\n* @copyright Copyright (c) 2016, Jan-Christoph Borchardt <hey@jancborchardt.net>\n* @copyright Copyright (c) 2016, Erik Pellikka <erik@pellikka.org>\n* @copyright Copyright (c) 2015, Vincent Petry <pvince81@owncloud.com>\n*\n* Bootstrap v3.3.5 (http://getbootstrap.com)\n* Copyright 2011-2015 Twitter, Inc.\n* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n*/\n\n$arrow-width: 10px;\n\n.vue-tooltip[data-v-#{$scope_version}] {\n\tposition: absolute;\n\tz-index: 100000;\n\tright: auto;\n\tleft: auto;\n\tdisplay: block;\n\tmargin: 0;\n\t/* default to top */\n\tmargin-top: -3px;\n\tpadding: 10px 0;\n\ttext-align: left;\n\ttext-align: start;\n\topacity: 0;\n\tline-height: 1.6;\n\n\tline-break: auto;\n\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\n\n\t// TOP\n\t&[x-placement^='top'] {\n\t\t.tooltip-arrow {\n\t\t\tbottom: 0;\n\t\t\tmargin-top: 0;\n\t\t\tmargin-bottom: 0;\n\t\t\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\n\t\t\tborder-right-color: transparent;\n\t\t\tborder-bottom-color: transparent;\n\t\t\tborder-left-color: transparent;\n\t\t}\n\t}\n\n\t// BOTTOM\n\t&[x-placement^='bottom'] {\n\t\t.tooltip-arrow {\n\t\t\ttop: 0;\n\t\t\tmargin-top: 0;\n\t\t\tmargin-bottom: 0;\n\t\t\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\n\t\t\tborder-top-color: transparent;\n\t\t\tborder-right-color: transparent;\n\t\t\tborder-left-color: transparent;\n\t\t}\n\t}\n\n\t// RIGHT\n\t&[x-placement^='right'] {\n\t\t.tooltip-arrow {\n\t\t\tright: 100%;\n\t\t\tmargin-right: 0;\n\t\t\tmargin-left: 0;\n\t\t\tborder-width: $arrow-width $arrow-width $arrow-width 0;\n\t\t\tborder-top-color: transparent;\n\t\t\tborder-bottom-color: transparent;\n\t\t\tborder-left-color: transparent;\n\t\t}\n\t}\n\n\t// LEFT\n\t&[x-placement^='left'] {\n\t\t.tooltip-arrow {\n\t\t\tleft: 100%;\n\t\t\tmargin-right: 0;\n\t\t\tmargin-left: 0;\n\t\t\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\n\t\t\tborder-top-color: transparent;\n\t\t\tborder-right-color: transparent;\n\t\t\tborder-bottom-color: transparent;\n\t\t}\n\t}\n\n\t// HIDDEN / SHOWN\n\t&[aria-hidden='true'] {\n\t\tvisibility: hidden;\n\t\ttransition: opacity .15s, visibility .15s;\n\t\topacity: 0;\n\t}\n\t&[aria-hidden='false'] {\n\t\tvisibility: visible;\n\t\ttransition: opacity .15s;\n\t\topacity: 1;\n\t}\n\n\t// CONTENT\n\t.tooltip-inner {\n\t\tmax-width: 350px;\n\t\tpadding: 5px 8px;\n\t\ttext-align: center;\n\t\tcolor: var(--color-main-text);\n\t\tborder-radius: var(--border-radius);\n\t\tbackground-color: var(--color-main-background);\n\t}\n\n\t// ARROW\n\t.tooltip-arrow {\n\t\tposition: absolute;\n\t\tz-index: 1;\n\t\twidth: 0;\n\t\theight: 0;\n\t\tmargin: 0;\n\t\tborder-style: solid;\n\t\tborder-color: var(--color-main-background);\n\t}\n}\n"],sourceRoot:""}]),e.a=a},,function(t,e,n){"use strict";var r={name:"Popover",components:{VPopover:n(5).VPopover},mounted:function(){var t=this;this.$watch((function(){return t.$refs.popover.isOpen}),(function(e){e?t.$emit("after-show"):t.$emit("after-hide")}))}},o=n(2),i=n.n(o),a=n(8),s={insert:"head",singleton:!1},l=(i()(a.a,s),a.a.locals,n(3)),u=n(9),c=n.n(u),p=Object(l.a)(r,(function(){var t=this,e=t.$createElement;return(t._self._c||e)("VPopover",t._g(t._b({ref:"popover",attrs:{"popover-base-class":"popover","popover-wrapper-class":"popover__wrapper","popover-arrow-class":"popover__arrow","popover-inner-class":"popover__inner"},scopedSlots:t._u([{key:"popover",fn:function(){return[t._t("default")]},proxy:!0}],null,!0)},"VPopover",t.$attrs,!1),t.$listeners),[t._t("trigger")],2)}),[],!1,null,null,null);"function"==typeof c.a&&c()(p),e.a=p.exports},function(t,e,n){"use strict";e.a=function(t){return Math.random().toString(36).replace(/[^a-z]+/g,"").substr(0,t||5)}},function(t,e){t.exports=n(9578)},,,function(t,e,n){"use strict";n.r(e);var r=n(14);e.default=r.a},,,,,,function(t,e,n){"use strict";var r=n(6),o=n.n(r);e.a={before:function(){this.$slots.default&&""!==this.text.trim()||(o.a.util.warn("".concat(this.$options.name," cannot be empty and requires a meaningful text content"),this),this.$destroy(),this.$el.remove())},beforeUpdate:function(){this.text=this.getText()},data:function(){return{text:this.getText()}},computed:{isLongText:function(){return this.text&&this.text.trim().length>20}},methods:{getText:function(){return this.$slots.default?this.$slots.default[0].text.trim():""}}}},function(t,e,n){"use strict";var r=n(4);e.a={methods:{n:r.a,t:r.b}}},,function(t,e,n){"use strict";var r=n(0),o=n.n(r),i=n(1),a=n.n(i)()(o.a);a.push([t.i,".material-design-icon[data-v-6aa4b9df]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.action-item[data-v-6aa4b9df]{position:relative;display:inline-block}.action-item--single[data-v-6aa4b9df]:hover,.action-item--single[data-v-6aa4b9df]:focus,.action-item--single[data-v-6aa4b9df]:active,.action-item__menutoggle[data-v-6aa4b9df]:hover,.action-item__menutoggle[data-v-6aa4b9df]:focus,.action-item__menutoggle[data-v-6aa4b9df]:active{opacity:1;background-color:rgba(127,127,127,0.25) !important}.action-item__menutoggle[data-v-6aa4b9df]:disabled,.action-item--single[data-v-6aa4b9df]:disabled{opacity:.3 !important}.action-item.action-item--open .action-item__menutoggle[data-v-6aa4b9df]{opacity:1;background-color:rgba(127,127,127,0.25)}.action-item--single[data-v-6aa4b9df],.action-item__menutoggle[data-v-6aa4b9df]{box-sizing:border-box;width:auto;min-width:44px;height:44px;margin:0;padding:0;cursor:pointer;border:none;border-radius:22px;background-color:transparent}.action-item--single--with-title[data-v-6aa4b9df],.action-item__menutoggle--with-title[data-v-6aa4b9df]{position:relative;padding:0 14px;padding-left:44px;white-space:nowrap;opacity:1;border:1px solid var(--color-border-dark);background-color:var(--color-background-dark);background-position:14px center;font-size:inherit}.action-item--single--with-title[data-v-6aa4b9df] span,.action-item__menutoggle--with-title[data-v-6aa4b9df] span{width:24px;height:24px;line-height:16px;position:absolute;top:0;left:0}.action-item[data-v-6aa4b9df] .material-design-icon{width:44px;height:44px;opacity:1}.action-item[data-v-6aa4b9df] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-item__menutoggle[data-v-6aa4b9df]{display:flex;align-items:center;justify-content:center;opacity:.7;font-weight:bold;line-height:16px}.action-item__menutoggle--primary[data-v-6aa4b9df]{opacity:1;color:var(--color-primary-text);border:none;background-color:var(--color-primary-element)}.action-item--open .action-item__menutoggle--primary[data-v-6aa4b9df],.action-item__menutoggle--primary[data-v-6aa4b9df]:hover,.action-item__menutoggle--primary[data-v-6aa4b9df]:focus,.action-item__menutoggle--primary[data-v-6aa4b9df]:active{color:var(--color-primary-text) !important;background-color:var(--color-primary-element-light) !important}.action-item--single[data-v-6aa4b9df]{opacity:.7}.action-item--single[data-v-6aa4b9df]:hover,.action-item--single[data-v-6aa4b9df]:focus,.action-item--single[data-v-6aa4b9df]:active{opacity:1}.action-item--single>[hidden][data-v-6aa4b9df]{display:none}.ie .action-item__menu[data-v-6aa4b9df],.ie .action-item__menu .action-item__menu_arrow[data-v-6aa4b9df],.edge .action-item__menu[data-v-6aa4b9df],.edge .action-item__menu .action-item__menu_arrow[data-v-6aa4b9df]{border:1px solid var(--color-border)}\n","",{version:3,sources:["webpack://./../../assets/material-icons.css","webpack://./Actions.vue","webpack://./../../assets/variables.scss"],names:[],mappings:"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC+oBxB,8BACC,iBAAkB,CAClB,oBAAqB,CAIrB,sRAMC,SCvnBc,CDynBd,kDAA2C,CAC3C,kGAKA,qBAAsB,CApBxB,yEAwBE,SCnoBc,CDooBd,uCChoBgD,CDioBhD,gFAKA,qBAAsB,CACtB,UAAW,CACX,cC/pBmB,CDgqBnB,WChqBmB,CDiqBnB,QAAS,CACT,SAAU,CACV,cAAe,CACf,WAAY,CACZ,kBAAkC,CAClC,4BAA6B,CAE7B,wGACC,iBAAkB,CAClB,cClqB6C,CDmqB7C,iBC3qBkB,CD4qBlB,kBAAmB,CACnB,SC1pBa,CD2pBb,yCAA0C,CAE1C,6CAA8C,CAC9C,+BAAwC,CACxC,iBAAkB,CAVlB,kHAeC,UAAW,CACX,WAAY,CACZ,gBCrrBY,CDsrBZ,iBAAkB,CAClB,KAAM,CACN,MAAO,CA9DX,oDAoEE,UClsBmB,CDmsBnB,WCnsBmB,CDosBnB,SCjrBc,CD2mBhB,+EAyEG,qBAAsB,CACtB,0CAMD,YAAa,CACb,kBAAmB,CACnB,sBAAuB,CACvB,UC/rBiB,CDgsBjB,gBAAiB,CACjB,gBC/sBc,CDitBd,mDACC,SCnsBa,CDosBb,+BAAgC,CAChC,WAAY,CACZ,6CAA8C,CAC9C,kPAIC,0CAA2C,CAC3C,8DAA+D,CAC/D,sCAKF,UCntBiB,CDktBjB,qIAKC,SCttBa,CDitBd,+CASC,YAAa,CACb,sNAQD,oCAAqC",sourcesContent:["/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n\tdisplay: flex;\n\talign-self: center;\n\tjustify-self: center;\n\talign-items: center;\n\tjustify-content: center;\n}\n","$scope_version:\"75cef38\"; @import 'variables'; @import 'material-icons';\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.action-item {\n\tposition: relative;\n\tdisplay: inline-block;\n\n\t// put a grey round background when menu is opened\n\t// or hover-focused\n\t&--single:hover,\n\t&--single:focus,\n\t&--single:active,\n\t&__menutoggle:hover,\n\t&__menutoggle:focus,\n\t&__menutoggle:active {\n\t\topacity: $opacity_full;\n\t\t// good looking on dark AND white bg, override server styling\n\t\tbackground-color: $icon-focus-bg !important;\n\t}\n\n\t// TODO: handle this in the future button component\n\t&__menutoggle:disabled,\n\t&--single:disabled {\n\t\topacity: .3 !important;\n\t}\n\n\t&.action-item--open .action-item__menutoggle {\n\t\topacity: $opacity_full;\n\t\tbackground-color: $action-background-hover;\n\t}\n\n\t// icons\n\t&--single,\n\t&__menutoggle {\n\t\tbox-sizing: border-box;\n\t\twidth: auto;\n\t\tmin-width: $clickable-area;\n\t\theight: $clickable-area;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\tcursor: pointer;\n\t\tborder: none;\n\t\tborder-radius: $clickable-area / 2;\n\t\tbackground-color: transparent;\n\n\t\t&--with-title {\n\t\t\tposition: relative;\n\t\t\tpadding: 0 $icon-margin;\n\t\t\tpadding-left: $clickable-area;\n\t\t\twhite-space: nowrap;\n\t\t\topacity: $opacity_full;\n\t\t\tborder: 1px solid var(--color-border-dark);\n\t\t\t// with a title, we need to display this as a real button\n\t\t\tbackground-color: var(--color-background-dark);\n\t\t\tbackground-position: $icon-margin center;\n\t\t\tfont-size: inherit;\n\n\t\t\t// non-background icon class\n\t\t\t// image slot\n\t\t\t/deep/ span {\n\t\t\t\twidth: 24px;\n\t\t\t\theight: 24px;\n\t\t\t\tline-height: $icon-size;\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: 0;\n\t\t\t\tleft: 0;\n\t\t\t}\n\t\t}\n\t}\n\n\t&::v-deep .material-design-icon {\n\t\twidth: $clickable-area;\n\t\theight: $clickable-area;\n\t\topacity: $opacity_full;\n\n\t\t.material-design-icon__svg {\n\t\t\tvertical-align: middle;\n\t\t}\n\t}\n\n\t// icon-more\n\t&__menutoggle {\n\t\t// align menu icon in center\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\topacity: $opacity_normal;\n\t\tfont-weight: bold;\n\t\tline-height: $icon-size;\n\n\t\t&--primary {\n\t\t\topacity: $opacity_full;\n\t\t\tcolor: var(--color-primary-text);\n\t\t\tborder: none;\n\t\t\tbackground-color: var(--color-primary-element);\n\t\t\t.action-item--open &,\n\t\t\t&:hover,\n\t\t\t&:focus,\n\t\t\t&:active {\n\t\t\t\tcolor: var(--color-primary-text) !important;\n\t\t\t\tbackground-color: var(--color-primary-element-light) !important;\n\t\t\t}\n\t\t}\n\t}\n\n\t&--single {\n\t\topacity: $opacity_normal;\n\t\t&:hover,\n\t\t&:focus,\n\t\t&:active {\n\t\t\topacity: $opacity_full;\n\t\t}\n\t\t// hide anything the slot is displaying\n\t\t& > [hidden] {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n}\n\n.ie,\n.edge {\n\t.action-item__menu,\n\t.action-item__menu .action-item__menu_arrow {\n\t\tborder: 1px solid var(--color-border);\n\t}\n}\n\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: ($clickable-area - $icon-size) / 2;\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n"],sourceRoot:""}]),e.a=a},function(t,e){},,function(t,e,n){"use strict";var r=n(25),o=function(t,e){for(var n=t.$parent;n;){if(n.$options.name===e)return n;n=n.$parent}};e.a={mixins:[r.a],props:{icon:{type:String,default:""},title:{type:String,default:""},closeAfterClick:{type:Boolean,default:!1},ariaLabel:{type:String,default:""}},computed:{isIconUrl:function(){try{return new URL(this.icon)}catch(t){return!1}}},methods:{onClick:function(t){if(this.$emit("click",t),this.closeAfterClick){var e=o(this,"Actions");e&&e.closeMenu&&e.closeMenu()}}}}},,,,,,function(t,e,n){"use strict";var r=n(16),o=n.n(r),i=n(10),a=n(15),s=n(4),l=n(19);function u(t){return function(t){if(Array.isArray(t))return c(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return c(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?c(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function c(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function p(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function f(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?p(Object(n),!0).forEach((function(e){d(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):p(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function d(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var h={name:"Actions",directives:{tooltip:i.default},components:{DotsHorizontal:o.a,Popover:l.default,VNodes:{functional:!0,render:function(t,e){return e.props.vnodes}}},props:{open:{type:Boolean,default:!1},forceMenu:{type:Boolean,default:!1},forceTitle:{type:Boolean,default:!1},menuTitle:{type:String,default:null},primary:{type:Boolean,default:!1},defaultIcon:{type:String,default:""},ariaLabel:{type:String,default:Object(s.b)("Actions")},placement:{type:String,default:"bottom"},boundariesElement:{type:Element,default:function(){return document.querySelector("body")}},container:{type:String,default:"body"},disabled:{type:Boolean,default:!1}},data:function(){return{actions:[],opened:this.open,focusIndex:0,randomId:"menu-"+Object(a.a)(),children:this.$children}},computed:{hasMultipleActions:function(){return this.actions.length>1},isValidSingleAction:function(){return 1===this.actions.length&&null!==this.firstActionElement},singleActionTitle:function(){return this.forceTitle?this.menuTitle:""},isDisabled:function(){var t,e;return this.disabled||1===this.actions.length&&(null===(t=this.firstAction)||void 0===t||null===(e=t.$props)||void 0===e?void 0:e.disabled)},firstActionVNode:function(){return this.actions[0]},firstAction:function(){return this.children[0]?this.children[0]:{}},firstActionBinding:function(){if(this.firstActionVNode&&this.firstActionVNode.componentOptions){var t=this.firstActionVNode.componentOptions.tag;if("ActionLink"===t)return f(f({is:"a",href:this.firstAction.href,target:this.firstAction.target,"aria-label":this.firstAction.ariaLabel},this.firstAction.$attrs),this.firstAction.$props);if("ActionRouter"===t)return f(f({is:"router-link",to:this.firstAction.to,exact:this.firstAction.exact,"aria-label":this.firstAction.ariaLabel},this.firstAction.$attrs),this.firstAction.$props);if("ActionButton"===t)return f(f({is:"button","aria-label":this.firstAction.ariaLabel},this.firstAction.$attrs),this.firstAction.$props)}return null},firstActionEvent:function(){var t,e,n;return null===(t=this.firstActionVNode)||void 0===t||null===(e=t.componentOptions)||void 0===e||null===(n=e.listeners)||void 0===n?void 0:n.click},firstActionEventBinding:function(){return this.firstActionEvent?"click":null},firstActionIconSlot:function(){var t,e;return null===(t=this.firstAction)||void 0===t||null===(e=t.$slots)||void 0===e?void 0:e.icon},firstActionClass:function(){return((this.firstActionVNode&&this.firstActionVNode.data.staticClass)+" "+(this.firstActionVNode&&this.firstActionVNode.data.class)).trim()},iconSlotIsPopulated:function(){return!!this.$slots.icon}},watch:{open:function(t){t!==this.opened&&(this.opened=t)}},beforeMount:function(){this.initActions()},beforeUpdate:function(){this.initActions()},methods:{openMenu:function(t){this.opened||(this.opened=!0,this.$emit("update:open",!0),this.$emit("open"))},closeMenu:function(t){this.opened&&(this.opened=!1,this.$emit("update:open",!1),this.$emit("close"),this.opened=!1,this.focusIndex=0,this.$refs.menuButton.focus())},onOpen:function(t){var e=this;this.$nextTick((function(){e.focusFirstAction(t)}))},onMouseFocusAction:function(t){if(document.activeElement!==t.target){var e=t.target.closest("li");if(e){var n=e.querySelector(".focusable");if(n){var r=u(this.$refs.menu.querySelectorAll(".focusable")).indexOf(n);r>-1&&(this.focusIndex=r,this.focusAction())}}}},removeCurrentActive:function(){var t=this.$refs.menu.querySelector("li.active");t&&t.classList.remove("active")},focusAction:function(){var t=this.$refs.menu.querySelectorAll(".focusable")[this.focusIndex];if(t){this.removeCurrentActive();var e=t.closest("li.action");t.focus(),e&&e.classList.add("active")}},focusPreviousAction:function(t){this.opened&&(0===this.focusIndex?this.closeMenu():(this.preventIfEvent(t),this.focusIndex=this.focusIndex-1),this.focusAction())},focusNextAction:function(t){if(this.opened){var e=this.$refs.menu.querySelectorAll(".focusable").length-1;this.focusIndex===e?this.closeMenu():(this.preventIfEvent(t),this.focusIndex=this.focusIndex+1),this.focusAction()}},focusFirstAction:function(t){this.opened&&(this.preventIfEvent(t),this.focusIndex=0,this.focusAction())},focusLastAction:function(t){this.opened&&(this.preventIfEvent(t),this.focusIndex=this.$el.querySelectorAll(".focusable").length-1,this.focusAction())},preventIfEvent:function(t){t&&(t.preventDefault(),t.stopPropagation())},execFirstAction:function(t){this.firstActionEvent&&this.firstActionEvent(t)},initActions:function(){this.actions=(this.$slots.default||[]).filter((function(t){return!!t&&!!t.componentOptions}))},onFocus:function(t){this.$emit("focus",t)},onBlur:function(t){this.$emit("blur",t)}}},m=n(2),v=n.n(m),g=n(28),y={insert:"head",singleton:!1},A=(v()(g.a,y),g.a.locals,n(3)),b=n(29),C=n.n(b),w=Object(A.a)(h,(function(){var t,e=this,n=e.$createElement,r=e._self._c||n;return e.isValidSingleAction&&!e.forceMenu?r("element",e._b({directives:[{name:"tooltip",rawName:"v-tooltip.auto",value:e.firstAction.text,expression:"firstAction.text",modifiers:{auto:!0}}],staticClass:"action-item action-item--single",class:(t={},t[e.firstAction.icon]=e.firstAction.icon,t[e.firstActionClass]=e.firstActionClass,t["action-item--single--with-title"]=e.singleActionTitle,t),attrs:{rel:"nofollow noreferrer noopener",disabled:e.isDisabled},on:e._d({focus:e.onFocus,blur:e.onBlur},[e.firstActionEventBinding,e.execFirstAction])},"element",e.firstActionBinding,!1),[r("VNodes",{attrs:{vnodes:e.firstActionIconSlot}}),e._v("\n\n\t"+e._s(e.singleActionTitle)+"\n\n\t"),e._v(" "),r("span",{attrs:{"aria-hidden":!0,hidden:""}},[e._t("default")],2)],1):r("div",{directives:[{name:"show",rawName:"v-show",value:e.hasMultipleActions||e.forceMenu,expression:"hasMultipleActions || forceMenu"}],staticClass:"action-item",class:{"action-item--open":e.opened}},[r("Popover",{attrs:{delay:0,"handle-resize":!0,open:e.opened,placement:e.placement,"boundaries-element":e.boundariesElement,container:e.container},on:{"update:open":function(t){e.opened=t},show:e.openMenu,"after-show":e.onOpen,hide:e.closeMenu},scopedSlots:e._u([{key:"trigger",fn:function(){var t;return[r("button",{ref:"menuButton",staticClass:"icon action-item__menutoggle",class:(t={},t[e.defaultIcon]=!e.iconSlotIsPopulated,t["action-item__menutoggle--with-title"]=e.menuTitle,t["action-item__menutoggle--with-icon-slot"]=e.iconSlotIsPopulated,t["action-item__menutoggle--default-icon"]=!e.iconSlotIsPopulated&&""===e.defaultIcon,t["action-item__menutoggle--primary"]=e.primary,t),attrs:{disabled:e.disabled,"aria-haspopup":"true","aria-label":e.ariaLabel,"aria-controls":e.randomId,"aria-expanded":e.opened?"true":"false","test-attr":"1",type:"button"},on:{focus:e.onFocus,blur:e.onBlur}},[e.iconSlotIsPopulated?e._t("icon"):""===e.defaultIcon?r("DotsHorizontal",{attrs:{size:20,decorative:""}}):e._e(),e._v("\n\t\t\t\t"+e._s(e.menuTitle)+"\n\t\t\t")],2)]},proxy:!0}],null,!0)},[e._v(" "),r("div",{directives:[{name:"show",rawName:"v-show",value:e.opened,expression:"opened"}],ref:"menu",class:{open:e.opened},attrs:{tabindex:"-1"},on:{keydown:[function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"up",38,t.key,["Up","ArrowUp"])||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:e.focusPreviousAction(t)},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"down",40,t.key,["Down","ArrowDown"])||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:e.focusNextAction(t)},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"tab",9,t.key,"Tab")||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:e.focusNextAction(t)},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"tab",9,t.key,"Tab")?null:t.shiftKey?t.ctrlKey||t.altKey||t.metaKey?null:e.focusPreviousAction(t):null},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"page-up",void 0,t.key,void 0)||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:e.focusFirstAction(t)},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"page-down",void 0,t.key,void 0)||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:e.focusLastAction(t)},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"esc",27,t.key,["Esc","Escape"])||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),e.closeMenu(t))}],mousemove:e.onMouseFocusAction}},[r("ul",{attrs:{id:e.randomId,tabindex:"-1"}},[e.opened?[e._t("default")]:e._e()],2)])])],1)}),[],!1,null,"6aa4b9df",null);"function"==typeof C.a&&C()(w),e.a=w.exports},,,,,,,,,,,,,,,,function(t,e,n){"use strict";n.r(e);var r=n(37);e.default=r.a},,,,,,function(t,e,n){"use strict";e.a=function(t){t.mounted?Array.isArray(t.mounted)||(t.mounted=[t.mounted]):t.mounted=[],t.mounted.push((function(){this.$el.setAttribute("data-v-".concat("75cef38"),"")}))}},,,function(t,e,n){"use strict";var r=n(0),o=n.n(r),i=n(1),a=n.n(i)()(o.a);a.push([t.i,".material-design-icon[data-v-71ea20d2]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.active[data-v-71ea20d2]{background-color:var(--color-background-hover)}.action--disabled[data-v-71ea20d2]{pointer-events:none;opacity:.5}.action--disabled[data-v-71ea20d2]:hover,.action--disabled[data-v-71ea20d2]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-71ea20d2]{opacity:1 !important}.action-button[data-v-71ea20d2]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;padding-right:14px;box-sizing:border-box;cursor:pointer;white-space:nowrap;opacity:.7;color:var(--color-main-text);border:0;border-radius:0;background-color:transparent;box-shadow:none;font-weight:normal;font-size:var(--default-font-size);line-height:44px}.action-button[data-v-71ea20d2]:hover,.action-button[data-v-71ea20d2]:focus{opacity:1}.action-button>span[data-v-71ea20d2]{cursor:pointer;white-space:nowrap}.action-button__icon[data-v-71ea20d2]{width:44px;height:44px;opacity:1;background-position:14px center;background-size:16px;background-repeat:no-repeat}.action-button[data-v-71ea20d2] .material-design-icon{width:44px;height:44px;opacity:1}.action-button[data-v-71ea20d2] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-button p[data-v-71ea20d2]{max-width:220px;line-height:1.6em;padding:10.8px 0;cursor:pointer;text-align:left;overflow:hidden;text-overflow:ellipsis}.action-button__longtext[data-v-71ea20d2]{cursor:pointer;white-space:pre-wrap}.action-button__title[data-v-71ea20d2]{font-weight:bold;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%;display:inline-block}\n","",{version:3,sources:["webpack://./../../assets/material-icons.css","webpack://./../../assets/action.scss","webpack://./../../assets/variables.scss"],names:[],mappings:"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CACvB,2BCiBE,8CAA+C,CAC/C,mCAMD,mBAAoB,CACpB,UCQmB,CDVpB,kFAIE,cAAe,CACf,UCKkB,CDVpB,qCAQE,oBAAqB,CACrB,gCAOD,YAAa,CACb,sBAAuB,CAEvB,UAAW,CACX,WAAY,CACZ,QAAS,CACT,SAAU,CACV,kBCtB8C,CDuB9C,qBAAsB,CAEtB,cAAe,CACf,kBAAmB,CAEnB,UClBiB,CDmBjB,4BAA6B,CAC7B,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,eAAgB,CAEhB,kBAAmB,CACnB,kCAAmC,CACnC,gBC7CmB,CDsBpB,4EA2BE,SC9Ba,CDGf,qCA+BE,cAAe,CACf,kBAAmB,CACnB,sCAGA,UC1DkB,CD2DlB,WC3DkB,CD4DlB,SCzCa,CD0Cb,+BAAwC,CACxC,oBC1Da,CD2Db,2BAA4B,CAzC9B,sDA6CE,UCnEkB,CDoElB,WCpEkB,CDqElB,SClDa,CDGf,iFAkDG,qBAAsB,CAlDzB,kCAwDE,eAAgB,CAChB,iBAAkB,CAGlB,gBAA8C,CAE9C,cAAe,CACf,eAAgB,CAGhB,eAAgB,CAChB,sBAAuB,CACvB,0CAGA,cAAe,CAEf,oBAAqB,CACrB,uCAGA,gBAAiB,CACjB,sBAAuB,CACvB,eAAgB,CAChB,kBAAmB,CACnB,cAAe,CACf,oBAAqB",sourcesContent:["/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n\tdisplay: flex;\n\talign-self: center;\n\tjustify-self: center;\n\talign-items: center;\n\tjustify-content: center;\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Marco Ambrosini <marcoambrosini@pm.me>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n@mixin action-active {\n\tli {\n\t\t&.active {\n\t\t\tbackground-color: var(--color-background-hover);\n\t\t}\n\t}\n}\n\n@mixin action--disabled {\n\t.action--disabled {\n\t\tpointer-events: none;\n\t\topacity: $opacity_disabled;\n\t\t&:hover, &:focus {\n\t\t\tcursor: default;\n\t\t\topacity: $opacity_disabled;\n\t\t}\n\t\t& * {\n\t\t\topacity: 1 !important;\n\t\t}\n\t}\n}\n\n\n@mixin action-item($name) {\n\t.action-#{$name} {\n\t\tdisplay: flex;\n\t\talign-items: flex-start;\n\n\t\twidth: 100%;\n\t\theight: auto;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\tpadding-right: $icon-margin;\n\t\tbox-sizing: border-box; // otherwise router-link overflows in Firefox\n\n\t\tcursor: pointer;\n\t\twhite-space: nowrap;\n\n\t\topacity: $opacity_normal;\n\t\tcolor: var(--color-main-text);\n\t\tborder: 0;\n\t\tborder-radius: 0; // otherwise Safari will cut the border-radius area\n\t\tbackground-color: transparent;\n\t\tbox-shadow: none;\n\n\t\tfont-weight: normal;\n\t\tfont-size: var(--default-font-size);\n\t\tline-height: $clickable-area;\n\n\t\t&:hover,\n\t\t&:focus {\n\t\t\topacity: $opacity_full;\n\t\t}\n\n\t\t& > span {\n\t\t\tcursor: pointer;\n\t\t\twhite-space: nowrap;\n\t\t}\n\n\t\t&__icon {\n\t\t\twidth: $clickable-area;\n\t\t\theight: $clickable-area;\n\t\t\topacity: $opacity_full;\n\t\t\tbackground-position: $icon-margin center;\n\t\t\tbackground-size: $icon-size;\n\t\t\tbackground-repeat: no-repeat;\n\t\t}\n\n\t\t&::v-deep .material-design-icon {\n\t\t\twidth: $clickable-area;\n\t\t\theight: $clickable-area;\n\t\t\topacity: $opacity_full;\n\n\t\t\t.material-design-icon__svg {\n\t\t\t\tvertical-align: middle;\n\t\t\t}\n\t\t}\n\n\t\t// long text area\n\t\tp {\n\t\t\tmax-width: 220px;\n\t\t\tline-height: 1.6em;\n\n\t\t\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\n\t\t\tpadding: #{($clickable-area - 1.6*14px) / 2} 0;\n\n\t\t\tcursor: pointer;\n\t\t\ttext-align: left;\n\n\t\t\t// in case there are no spaces like long email addresses\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t}\n\n\t\t&__longtext {\n\t\t\tcursor: pointer;\n\t\t\t// allow the use of `\\n`\n\t\t\twhite-space: pre-wrap;\n\t\t}\n\n\t\t&__title {\n\t\t\tfont-weight: bold;\n\t\t\ttext-overflow: ellipsis;\n\t\t\toverflow: hidden;\n\t\t\twhite-space: nowrap;\n\t\t\tmax-width: 100%;\n\t\t\tdisplay: inline-block;\n\t\t}\n\t}\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: ($clickable-area - $icon-size) / 2;\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n"],sourceRoot:""}]),e.a=a},function(t,e){},,,,,,function(t,e,n){"use strict";var r={name:"ActionButton",mixins:[n(31).a],props:{disabled:{type:Boolean,default:!1}},computed:{isFocusable:function(){return!this.disabled}}},o=n(2),i=n.n(o),a=n(62),s={insert:"head",singleton:!1},l=(i()(a.a,s),a.a.locals,n(3)),u=n(63),c=n.n(u),p=Object(l.a)(r,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("li",{staticClass:"action",class:{"action--disabled":t.disabled}},[n("button",{staticClass:"action-button",class:{focusable:t.isFocusable},attrs:{"aria-label":t.ariaLabel,type:"button"},on:{click:t.onClick}},[t._t("icon",[n("span",{staticClass:"action-button__icon",class:[t.isIconUrl?"action-button__icon--url":t.icon],style:{backgroundImage:t.isIconUrl?"url("+t.icon+")":null}})]),t._v(" "),t.title?n("p",[n("strong",{staticClass:"action-button__title"},[t._v("\n\t\t\t\t"+t._s(t.title)+"\n\t\t\t")]),t._v(" "),n("br"),t._v(" "),n("span",{staticClass:"action-button__longtext",domProps:{textContent:t._s(t.text)}})]):t.isLongText?n("p",{staticClass:"action-button__longtext",domProps:{textContent:t._s(t.text)}}):n("span",{staticClass:"action-button__text"},[t._v(t._s(t.text))]),t._v(" "),t._e()],2)])}),[],!1,null,"71ea20d2",null);"function"==typeof c.a&&c()(p),e.a=p.exports},,,function(t,e){t.exports=n(8039)},,,function(t,e){t.exports=n(1567)},,,,function(t,e){t.exports=n(840)},function(t,e,n){"use strict";n.r(e);var r=n(69);e.default=r.a},,,,,,,,,,,,,function(t,e,n){"use strict";var r=n(0),o=n.n(r),i=n(1),a=n.n(i)()(o.a);a.push([t.i,".material-design-icon[data-v-3e8e4882]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.modal-mask[data-v-3e8e4882]{position:fixed;z-index:9998;top:0;left:0;display:block;width:100%;height:100%;background-color:rgba(0,0,0,0.5)}.modal-mask--dark[data-v-3e8e4882]{background-color:rgba(0,0,0,0.92)}.modal-header[data-v-3e8e4882]{position:absolute;z-index:10001;top:0;right:0;left:0;display:flex !important;align-items:center;justify-content:center;width:100%;height:50px;transition:opacity 250ms, visibility 250ms}.modal-header.invisible[style*='display:none'][data-v-3e8e4882],.modal-header.invisible[style*='display: none'][data-v-3e8e4882]{visibility:hidden}.modal-header .modal-title[data-v-3e8e4882]{overflow-x:hidden;box-sizing:border-box;width:100%;padding:0 132px 0 12px;transition:padding ease 100ms;white-space:nowrap;text-overflow:ellipsis;color:#fff;font-size:14px}@media only screen and (min-width: 512px){.modal-header .modal-title[data-v-3e8e4882]{padding-left:132px;text-align:center}}.modal-header .icons-menu[data-v-3e8e4882]{position:absolute;right:0;display:flex;align-items:center;justify-content:flex-end}.modal-header .icons-menu .header-close[data-v-3e8e4882]{display:flex;align-items:center;justify-content:center;box-sizing:border-box;margin:3px;padding:0}.modal-header .icons-menu .play-pause-icons[data-v-3e8e4882]{position:relative;width:50px;height:50px;margin:0;padding:0;cursor:pointer;border:none;background-color:transparent}.modal-header .icons-menu .play-pause-icons:hover .play-pause-icons__play[data-v-3e8e4882],.modal-header .icons-menu .play-pause-icons:hover .play-pause-icons__pause[data-v-3e8e4882],.modal-header .icons-menu .play-pause-icons:focus .play-pause-icons__play[data-v-3e8e4882],.modal-header .icons-menu .play-pause-icons:focus .play-pause-icons__pause[data-v-3e8e4882]{opacity:1;border-radius:22px;background-color:rgba(127,127,127,0.25)}.modal-header .icons-menu .play-pause-icons__play[data-v-3e8e4882],.modal-header .icons-menu .play-pause-icons__pause[data-v-3e8e4882]{box-sizing:border-box;width:44px;height:44px;margin:3px;cursor:pointer;opacity:.7}.modal-header .icons-menu .header-actions[data-v-3e8e4882]{margin:3px;color:white}.modal-header .icons-menu .action-item--single[data-v-3e8e4882]{box-sizing:border-box;width:44px;height:44px;cursor:pointer;background-position:center;background-size:22px}.modal-header .icons-menu[data-v-3e8e4882] button{color:#fff}.modal-header .icons-menu[data-v-3e8e4882] .action-item__menutoggle{padding:0}.modal-header .icons-menu[data-v-3e8e4882] .action-item__menutoggle span,.modal-header .icons-menu[data-v-3e8e4882] .action-item__menutoggle svg{width:var(--icon-size);height:var(--icon-size)}.modal-wrapper[data-v-3e8e4882]{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;height:100%}.modal-wrapper .prev[data-v-3e8e4882],.modal-wrapper .next[data-v-3e8e4882]{z-index:10000;display:flex !important;align-items:center;justify-content:center;width:8%;min-width:44px;height:35vw;position:absolute;transition:opacity 250ms, visibility 250ms}.modal-wrapper .prev.invisible[style*='display:none'][data-v-3e8e4882],.modal-wrapper .prev.invisible[style*='display: none'][data-v-3e8e4882],.modal-wrapper .next.invisible[style*='display:none'][data-v-3e8e4882],.modal-wrapper .next.invisible[style*='display: none'][data-v-3e8e4882]{visibility:hidden}.modal-wrapper .prev[data-v-3e8e4882]{left:0}.modal-wrapper .next[data-v-3e8e4882]{right:0}.modal-wrapper .icon-next[data-v-3e8e4882],.modal-wrapper .icon-previous[data-v-3e8e4882]{box-sizing:border-box;width:44px;height:44px;color:white;background-image:none;display:flex}.modal-wrapper .modal-container[data-v-3e8e4882]{display:block;overflow:auto;padding:0;transition:transform 300ms ease;border-radius:var(--border-radius-large);background-color:var(--color-main-background);box-shadow:0 0 40px rgba(0,0,0,0.2)}.modal-wrapper--small .modal-container[data-v-3e8e4882]{width:330px;max-height:90%}.modal-wrapper--normal .modal-container[data-v-3e8e4882]{max-width:90%;width:600px;max-height:90%;height:600px}.modal-wrapper--large .modal-container[data-v-3e8e4882]{max-width:90%;width:900px;max-height:90%;height:700px}.modal-wrapper--full .modal-container[data-v-3e8e4882]{width:100%;height:calc(100% - var(--header-height));position:absolute;top:50px;border-radius:0}@media only screen and (max-width: 512px){.modal-wrapper:not(.modal-wrapper--small) .modal-container[data-v-3e8e4882]{max-width:initial;width:100%;max-height:initial;height:calc(100% - var(--header-height));position:absolute;top:50px;border-radius:0}}.fade-enter-active[data-v-3e8e4882],.fade-leave-active[data-v-3e8e4882]{transition:opacity 250ms}.fade-enter[data-v-3e8e4882],.fade-leave-to[data-v-3e8e4882]{opacity:0}.fade-visibility-enter[data-v-3e8e4882],.fade-visibility-leave-to[data-v-3e8e4882]{visibility:hidden;opacity:0}.modal-in-enter-active[data-v-3e8e4882],.modal-in-leave-active[data-v-3e8e4882],.modal-out-enter-active[data-v-3e8e4882],.modal-out-leave-active[data-v-3e8e4882]{transition:opacity 250ms}.modal-in-enter[data-v-3e8e4882],.modal-in-leave-to[data-v-3e8e4882],.modal-out-enter[data-v-3e8e4882],.modal-out-leave-to[data-v-3e8e4882]{opacity:0}.modal-in-enter .modal-container[data-v-3e8e4882],.modal-in-leave-to .modal-container[data-v-3e8e4882]{transform:scale(0.9)}.modal-out-enter .modal-container[data-v-3e8e4882],.modal-out-leave-to .modal-container[data-v-3e8e4882]{transform:scale(1.1)}.modal-mask .play-pause-icons .progress-ring[data-v-3e8e4882]{position:absolute;top:0;left:0;transform:rotate(-90deg)}.modal-mask .play-pause-icons .progress-ring .progress-ring__circle[data-v-3e8e4882]{transition:100ms stroke-dashoffset;transform-origin:50% 50%;animation:progressring-data-v-3e8e4882 linear var(--slideshow-duration) infinite;stroke-linecap:round;stroke-dashoffset:94.24778;stroke-dasharray:94.24778}.modal-mask .play-pause-icons--paused .icon-pause[data-v-3e8e4882]{animation:breath-data-v-3e8e4882 2s cubic-bezier(0.4, 0, 0.2, 1) infinite}.modal-mask .play-pause-icons--paused .progress-ring__circle[data-v-3e8e4882]{animation-play-state:paused !important}@keyframes progressring-data-v-3e8e4882{from{stroke-dashoffset:94.24778}to{stroke-dashoffset:0}}@keyframes breath-data-v-3e8e4882{0%{opacity:1}50%{opacity:0}100%{opacity:1}}\n","",{version:3,sources:["webpack://./../../assets/material-icons.css","webpack://./Modal.vue","webpack://./../../assets/variables.scss"],names:[],mappings:"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",sourcesContent:["/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n\tdisplay: flex;\n\talign-self: center;\n\tjustify-self: center;\n\talign-items: center;\n\tjustify-content: center;\n}\n","$scope_version:\"75cef38\"; @import 'variables'; @import 'material-icons';\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.modal-mask {\n\tposition: fixed;\n\tz-index: 9998;\n\ttop: 0;\n\tleft: 0;\n\tdisplay: block;\n\twidth: 100%;\n\theight: 100%;\n\tbackground-color: rgba(0, 0, 0, .5);\n\t&--dark {\n\t\tbackground-color: rgba(0, 0, 0, .92);\n\t}\n}\n\n.modal-header {\n\tposition: absolute;\n\tz-index: 10001;\n\ttop: 0;\n\tright: 0;\n\tleft: 0;\n\t// prevent vue show to use display:none and reseting\n\t// the circle animation loop\n\tdisplay: flex !important;\n\talign-items: center;\n\tjustify-content: center;\n\twidth: 100%;\n\theight: $header-height;\n\ttransition: opacity 250ms,\n\t\tvisibility 250ms;\n\n\t// replace display by visibility\n\t&.invisible[style*='display:none'],\n\t&.invisible[style*='display: none'] {\n\t\tvisibility: hidden;\n\t}\n\n\t.modal-title {\n\t\toverflow-x: hidden;\n\t\tbox-sizing: border-box;\n\t\twidth: 100%;\n\t\tpadding: 0 #{$clickable-area * 3} 0 12px; // maximum actions is 3\n\t\ttransition: padding ease 100ms;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\tcolor: #fff;\n\t\tfont-size: $icon-margin;\n\t}\n\n\t// On wider screens the title can be centered\n\t@media only screen and (min-width: $breakpoint-mobile/2) {\n\t\t.modal-title {\n\t\t\tpadding-left: #{$clickable-area * 3}; // maximum actions is 3\n\t\t\ttext-align: center;\n\t\t}\n\t}\n\n\t.icons-menu {\n\t\tposition: absolute;\n\t\tright: 0;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: flex-end;\n\n\t\t.header-close {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: center;\n\t\t\tbox-sizing: border-box;\n\t\t\tmargin: ($header-height - $clickable-area) / 2;\n\t\t\tpadding: 0;\n\t\t}\n\n\t\t.play-pause-icons {\n\t\t\tposition: relative;\n\t\t\twidth: $header-height;\n\t\t\theight: $header-height;\n\t\t\tmargin: 0;\n\t\t\tpadding: 0;\n\t\t\tcursor: pointer;\n\t\t\tborder: none;\n\t\t\tbackground-color: transparent;\n\t\t\t&:hover,\n\t\t\t&:focus {\n\t\t\t\t.play-pause-icons__play,\n\t\t\t\t.play-pause-icons__pause {\n\t\t\t\t\topacity: $opacity_full;\n\t\t\t\t\tborder-radius: $clickable-area / 2;\n\t\t\t\t\tbackground-color: $icon-focus-bg;\n\t\t\t\t}\n\t\t\t}\n\t\t\t&__play,\n\t\t\t&__pause {\n\t\t\t\tbox-sizing: border-box;\n\t\t\t\twidth: $clickable-area;\n\t\t\t\theight: $clickable-area;\n\t\t\t\tmargin: ($header-height - $clickable-area) / 2;\n\t\t\t\tcursor: pointer;\n\t\t\t\topacity: $opacity_normal;\n\t\t\t}\n\t\t}\n\n\t\t.header-actions {\n\t\t\tmargin: ($header-height - $clickable-area) / 2;\n\t\t\tcolor: white;\n\t\t}\n\n\t\t.action-item--single {\n\t\t\tbox-sizing: border-box;\n\t\t\twidth: $clickable-area;\n\t\t\theight: $clickable-area;\n\t\t\tcursor: pointer;\n\t\t\tbackground-position: center;\n\t\t\tbackground-size: 22px;\n\t\t}\n\n\t\t::v-deep button {\n\t\t\t// force white instead of default main text\n\t\t\tcolor: #fff;\n\t\t}\n\n\t\t// Force the Actions menu icon to be the same size as other icons\n\t\t&::v-deep .action-item__menutoggle {\n\t\t\tpadding: 0;\n\t\t\tspan, svg {\n\t\t\t\twidth: var(--icon-size);\n\t\t\t\theight: var(--icon-size);\n\t\t\t}\n\t\t}\n\t}\n}\n\n.modal-wrapper {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tbox-sizing: border-box;\n\twidth: 100%;\n\theight: 100%;\n\n\t/* Navigation buttons */\n\t.prev,\n\t.next {\n\t\tz-index: 10000;\n\t\t// ignore display: none\n\t\tdisplay: flex !important;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\twidth: 8%;\n\t\tmin-width: $clickable-area;\n\t\theight: 35vw;\n\t\tposition: absolute;\n\t\ttransition: opacity 250ms,\n\t\t\tvisibility 250ms;\n\n\t\t// we want to keep the elements on page\n\t\t// even if hidden to avoid having a unbalanced\n\t\t// centered content\n\t\t// replace display by visibility\n\t\t&.invisible[style*='display:none'],\n\t\t&.invisible[style*='display: none'] {\n\t\t\tvisibility: hidden;\n\t\t}\n\t}\n\t.prev {\n\t\tleft: 0;\n\t}\n\t.next {\n\t\tright: 0;\n\t}\n\n\t// buttons/icons\n\t.icon-next,\n\t.icon-previous {\n\t\tbox-sizing: border-box;\n\t\twidth: $clickable-area;\n\t\theight: $clickable-area;\n\t\tcolor: white;\n\t\tbackground-image: none;\n\t\tdisplay: flex;\n\t}\n\n\t/* Content */\n\t.modal-container {\n\t\tdisplay: block;\n\t\toverflow: auto; // avoids unecessary hacks if the content should be bigger than the modal\n\t\tpadding: 0;\n\t\ttransition: transform 300ms ease;\n\t\tborder-radius: var(--border-radius-large);\n\t\tbackground-color: var(--color-main-background);\n\t\tbox-shadow: 0 0 40px rgba(0, 0, 0, .2);\n\t}\n\n\t// Sizing\n\t&--small {\n\t\t.modal-container {\n\t\t\twidth: 330px;\n\t\t\tmax-height: 90%;\n\t\t}\n\t}\n\t&--normal {\n\t\t.modal-container {\n\t\t\tmax-width: 90%;\n\t\t\twidth: 600px;\n\t\t\tmax-height: 90%;\n\t\t\theight: 600px;\n\t\t}\n\t}\n\t&--large {\n\t\t.modal-container {\n\t\t\tmax-width: 90%;\n\t\t\twidth: 900px;\n\t\t\tmax-height: 90%;\n\t\t\theight: 700px;\n\t\t}\n\t}\n\t&--full {\n\t\t.modal-container {\n\t\t\twidth: 100%;\n\t\t\theight: calc(100% - var(--header-height));\n\t\t\tposition: absolute;\n\t\t\ttop: $header-height;\n\t\t\tborder-radius: 0;\n\t\t}\n\t}\n\n\t// Make modal full screen on mobile\n\t@media only screen and (max-width: $breakpoint-mobile/2) {\n\t\t&:not(&--small) .modal-container {\n\t\t\tmax-width: initial;\n\t\t\twidth: 100%;\n\t\t\tmax-height: initial;\n\t\t\theight: calc(100% - var(--header-height));\n\t\t\tposition: absolute;\n\t\t\ttop: $header-height;\n\t\t\tborder-radius: 0;\n\t\t}\n\t}\n}\n\n/* TRANSITIONS */\n.fade-enter-active,\n.fade-leave-active {\n\ttransition: opacity 250ms;\n}\n\n.fade-enter,\n.fade-leave-to {\n\topacity: 0;\n}\n\n.fade-visibility-enter,\n.fade-visibility-leave-to {\n\tvisibility: hidden;\n\topacity: 0;\n}\n\n.modal-in-enter-active,\n.modal-in-leave-active,\n.modal-out-enter-active,\n.modal-out-leave-active {\n\ttransition: opacity 250ms;\n}\n\n.modal-in-enter,\n.modal-in-leave-to,\n.modal-out-enter,\n.modal-out-leave-to {\n\topacity: 0;\n}\n\n.modal-in-enter .modal-container,\n.modal-in-leave-to .modal-container {\n\ttransform: scale(.9);\n}\n\n.modal-out-enter .modal-container,\n.modal-out-leave-to .modal-container {\n\ttransform: scale(1.1);\n}\n\n// animated circle\n$radius: 15;\n$pi: 3.14159265358979;\n\n.modal-mask .play-pause-icons {\n\t.progress-ring {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\ttransform: rotate(-90deg);\n\t\t.progress-ring__circle {\n\t\t\ttransition: 100ms stroke-dashoffset;\n\t\t\ttransform-origin: 50% 50%; // axis compensation\n\t\t\tanimation: progressring linear var(--slideshow-duration) infinite;\n\n\t\t\tstroke-linecap: round;\n\t\t\tstroke-dashoffset: $radius * 2 * $pi; // radius * 2 * PI\n\t\t\tstroke-dasharray: $radius * 2 * $pi; // radius * 2 * PI\n\t\t}\n\t}\n\t&--paused {\n\t\t.icon-pause {\n\t\t\tanimation: breath 2s cubic-bezier(.4, 0, .2, 1) infinite;\n\t\t}\n\t\t.progress-ring__circle {\n\t\t\tanimation-play-state: paused !important;\n\t\t}\n\t}\n}\n\n// keyframes get scoped too and break the animation name, we need them unscoped\n@keyframes progressring {\n\tfrom {\n\t\tstroke-dashoffset: $radius * 2 * $pi; // radius * 2 * PI\n\t}\n\tto {\n\t\tstroke-dashoffset: 0;\n\t}\n}\n\n@keyframes breath {\n\t0% {\n\t\topacity: 1;\n\t}\n\t50% {\n\t\topacity: 0;\n\t}\n\t100% {\n\t\topacity: 1;\n\t}\n}\n\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: ($clickable-area - $icon-size) / 2;\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n"],sourceRoot:""}]),e.a=a},function(t,e){},,,,,,,,,,,,,,function(t,e,n){"use strict";n.r(e);var r=n(59),o=n(79),i=n.n(o),a=n(125),s=n.n(a),l=n(75),u=n.n(l),c=n(72),p=n.n(c),f=n(126),d=n.n(f),h=n(127),m=n.n(h),v=n(53),g=n(80),y=n(26),A=n(4),b=n(10);function C(t,e){var n,r,o,i=e;this.start=function(){o=!0,r=new Date,n=setTimeout(t,i)},this.pause=function(){o=!1,clearTimeout(n),i-=new Date-r},this.clear=function(){o=!1,clearTimeout(n),i=0},this.getTimeLeft=function(){return o&&(this.pause(),this.start()),i},this.getStateRunning=function(){return o},this.start()}var w={name:"Modal",components:{ActionButton:g.default,Actions:v.default,ChevronLeft:s.a,ChevronRight:u.a,Close:p.a,Pause:d.a,Play:m.a},directives:{tooltip:b.default},mixins:[y.a],props:{title:{type:String,default:""},hasPrevious:{type:Boolean,default:!1},hasNext:{type:Boolean,default:!1},outTransition:{type:Boolean,default:!1},enableSlideshow:{type:Boolean,default:!1},clearViewDelay:{type:Number,default:5e3},slideshowDelay:{type:Number,default:5e3},slideshowPaused:{type:Boolean,default:!1},enableSwipe:{type:Boolean,default:!0},spreadNavigation:{type:Boolean,default:!1},size:{type:String,default:"normal",validator:function(t){return["small","normal","large","full"].includes(t)}},canClose:{type:Boolean,default:!0},dark:{type:Boolean,default:!1},container:{type:String,default:"body"}},data:function(){return{mc:null,showModal:!1,clearView:!1,clearViewTimeout:null,playing:!1,slideshowTimeout:null,iconSize:24}},computed:{modalTransitionName:function(){return"modal-".concat(this.outTransition?"out":"in")},playPauseTitle:function(){return this.playing?Object(A.b)("Pause slideshow"):Object(A.b)("Start slideshow")},cssVariables:function(){return{"--slideshow-duration":this.slideshowDelay+"ms","--icon-size":this.iconSize+"px"}}},watch:{slideshowPaused:function(t){this.slideshowTimeout&&(t?this.slideshowTimeout.pause():this.slideshowTimeout.start())}},beforeMount:function(){window.addEventListener("keydown",this.handleKeydown)},beforeDestroy:function(){window.removeEventListener("keydown",this.handleKeydown),this.mc.off("swipeleft swiperight"),this.mc.destroy()},mounted:function(){var t=this;this.showModal=!0,this.handleMouseMove(),this.mc=new i.a(this.$refs.mask),this.mc.on("swipeleft swiperight",(function(e){t.handleSwipe(e)})),"body"===this.container?document.body.insertBefore(this.$el,document.body.lastChild):document.querySelector(this.container).appendChild(this.$el)},destroyed:function(){this.$el.remove()},methods:{previous:function(t){this.hasPrevious&&(t&&this.resetSlideshow(),this.$emit("previous",t))},next:function(t){this.hasNext&&(t&&this.resetSlideshow(),this.$emit("next",t))},close:function(t){var e=this;this.canClose&&(this.showModal=!1,setTimeout((function(){e.$emit("close",t)}),300))},handleKeydown:function(t){switch(t.keyCode){case 37:this.previous(t);break;case 13:case 39:this.next(t);break;case 27:this.close(t)}},handleSwipe:function(t){this.enableSwipe&&("swipeleft"===t.type?this.next(t):"swiperight"===t.type&&this.previous(t))},handleMouseMove:function(){var t=this;this.clearViewDelay>0&&(this.clearView=!1,clearTimeout(this.clearViewTimeout),this.clearViewTimeout=setTimeout((function(){t.clearView=!0}),this.clearViewDelay))},togglePlayPause:function(){this.playing=!this.playing,this.playing?this.handleSlideshow():this.clearSlideshowTimeout()},resetSlideshow:function(){this.playing=!this.playing,this.clearSlideshowTimeout(),this.$nextTick((function(){this.togglePlayPause()}))},handleSlideshow:function(){var t=this;this.playing=!0,this.hasNext?this.slideshowTimeout=new C((function(){t.next(),t.handleSlideshow()}),this.slideshowDelay):(this.playing=!1,this.clearSlideshowTimeout())},clearSlideshowTimeout:function(){this.slideshowTimeout&&this.slideshowTimeout.clear()}}},x=n(2),_=n.n(x),S=n(93),k={insert:"head",singleton:!1},E=(_()(S.a,k),S.a.locals,n(3)),O=n(94),j=n.n(O),T=Object(E.a)(w,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("transition",{attrs:{name:"fade"}},[n("div",{ref:"mask",staticClass:"modal-mask",class:{"modal-mask--dark":t.dark},style:t.cssVariables,on:{click:t.handleMouseMove,mousemove:t.handleMouseMove,touchmove:t.handleMouseMove}},[n("transition",{attrs:{name:"fade-visibility"}},[n("div",{directives:[{name:"show",rawName:"v-show",value:!t.clearView,expression:"!clearView"}],staticClass:"modal-header",class:{invisible:t.clearView}},[""!==t.title.trim()?n("div",{staticClass:"modal-title"},[t._v("\n\t\t\t\t\t"+t._s(t.title)+"\n\t\t\t\t")]):t._e(),t._v(" "),n("div",{staticClass:"icons-menu"},[t.hasNext&&t.enableSlideshow?n("button",{directives:[{name:"tooltip",rawName:"v-tooltip.auto",value:t.playPauseTitle,expression:"playPauseTitle",modifiers:{auto:!0}}],staticClass:"play-pause-icons",class:{"play-pause-icons--paused":t.slideshowPaused},attrs:{type:"button"},on:{click:t.togglePlayPause}},[t.playing?n("Pause",{staticClass:"play-pause-icons__pause",attrs:{size:t.iconSize,title:"",decorative:""}}):n("Play",{staticClass:"play-pause-icons__play",attrs:{size:t.iconSize,title:"",decorative:""}}),t._v(" "),n("span",{staticClass:"hidden-visually"},[t._v("\n\t\t\t\t\t\t\t"+t._s(t.playPauseTitle)+"\n\t\t\t\t\t\t")]),t._v(" "),t.playing?n("svg",{staticClass:"progress-ring",attrs:{height:"50",width:"50"}},[n("circle",{staticClass:"progress-ring__circle",attrs:{stroke:"white","stroke-width":"2",fill:"transparent",r:"15",cx:"25",cy:"25"}})]):t._e()],1):t._e(),t._v(" "),n("Actions",{staticClass:"header-actions"},[t._t("actions")],2),t._v(" "),t.canClose?n("Actions",{staticClass:"header-close"},[n("ActionButton",{on:{click:t.close},scopedSlots:t._u([{key:"icon",fn:function(){return[n("Close",{attrs:{size:t.iconSize,title:"",decorative:""}})]},proxy:!0}],null,!1,1372351874)},[t._v("\n\t\t\t\t\t\t\t"+t._s(t.t("Close"))+"\n\t\t\t\t\t\t")])],1):t._e()],1)])]),t._v(" "),n("transition",{attrs:{name:t.modalTransitionName}},[n("div",{directives:[{name:"show",rawName:"v-show",value:t.showModal,expression:"showModal"}],staticClass:"modal-wrapper",class:["modal-wrapper--"+t.size,t.spreadNavigation?"modal-wrapper--spread-navigation":""],on:{mousedown:function(e){return e.target!==e.currentTarget?null:t.close(e)}}},[n("transition",{attrs:{name:"fade-visibility"}},[n("a",{directives:[{name:"show",rawName:"v-show",value:t.hasPrevious&&!t.clearView,expression:"hasPrevious && !clearView"}],staticClass:"prev",class:{invisible:t.clearView||!t.hasPrevious},attrs:{href:"#"},on:{click:function(e){return e.preventDefault(),e.stopPropagation(),t.previous(e)}}},[n("span",{staticClass:"icon-previous"},[n("ChevronLeft",{attrs:{size:40,title:"",decorative:""}}),t._v(" "),n("span",{staticClass:"hidden-visually"},[t._v("\n\t\t\t\t\t\t\t\t"+t._s(t.t("Previous"))+"\n\t\t\t\t\t\t\t")])],1)])]),t._v(" "),n("div",{staticClass:"modal-container"},[t._t("default")],2),t._v(" "),n("transition",{attrs:{name:"fade-visibility"}},[n("a",{directives:[{name:"show",rawName:"v-show",value:t.hasNext&&!t.clearView,expression:"hasNext && !clearView"}],staticClass:"next",class:{invisible:t.clearView||!t.hasNext},attrs:{href:"#"},on:{click:function(e){return e.preventDefault(),e.stopPropagation(),t.next(e)}}},[n("span",{staticClass:"icon-next"},[n("ChevronRight",{attrs:{size:40,title:"",decorative:""}}),t._v(" "),n("span",{staticClass:"hidden-visually"},[t._v("\n\t\t\t\t\t\t\t\t"+t._s(t.t("Next"))+"\n\t\t\t\t\t\t\t")])],1)])])],1)])],1)])}),[],!1,null,"3e8e4882",null);"function"==typeof j.a&&j()(T);var B=T.exports;Object(r.a)(B),e.default=B},,,,,,,,,,,,,,,,,function(t,e){t.exports=n(1889)},function(t,e){t.exports=n(3817)},function(t,e){t.exports=n(1170)}])},6314:(t,e,n)=>{"use strict";var r=["BigInt64Array","BigUint64Array","Float32Array","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Uint8Array","Uint8ClampedArray"],o="undefined"==typeof globalThis?n.g:globalThis;t.exports=function(){for(var t=[],e=0;e<r.length;e++)"function"==typeof o[r[e]]&&(t[t.length]=r[e]);return t}},9669:(t,e,n)=>{t.exports=n(1609)},5448:(t,e,n)=>{"use strict";var r=n(4867),o=n(6026),i=n(4372),a=n(5327),s=n(4097),l=n(4109),u=n(7985),c=n(5061),p=n(5655),f=n(5263);t.exports=function(t){return new Promise((function(e,n){var d,h=t.data,m=t.headers,v=t.responseType;function g(){t.cancelToken&&t.cancelToken.unsubscribe(d),t.signal&&t.signal.removeEventListener("abort",d)}r.isFormData(h)&&delete m["Content-Type"];var y=new XMLHttpRequest;if(t.auth){var A=t.auth.username||"",b=t.auth.password?unescape(encodeURIComponent(t.auth.password)):"";m.Authorization="Basic "+btoa(A+":"+b)}var C=s(t.baseURL,t.url);function w(){if(y){var r="getAllResponseHeaders"in y?l(y.getAllResponseHeaders()):null,i={data:v&&"text"!==v&&"json"!==v?y.response:y.responseText,status:y.status,statusText:y.statusText,headers:r,config:t,request:y};o((function(t){e(t),g()}),(function(t){n(t),g()}),i),y=null}}if(y.open(t.method.toUpperCase(),a(C,t.params,t.paramsSerializer),!0),y.timeout=t.timeout,"onloadend"in y?y.onloadend=w:y.onreadystatechange=function(){y&&4===y.readyState&&(0!==y.status||y.responseURL&&0===y.responseURL.indexOf("file:"))&&setTimeout(w)},y.onabort=function(){y&&(n(c("Request aborted",t,"ECONNABORTED",y)),y=null)},y.onerror=function(){n(c("Network Error",t,null,y)),y=null},y.ontimeout=function(){var e=t.timeout?"timeout of "+t.timeout+"ms exceeded":"timeout exceeded",r=t.transitional||p.transitional;t.timeoutErrorMessage&&(e=t.timeoutErrorMessage),n(c(e,t,r.clarifyTimeoutError?"ETIMEDOUT":"ECONNABORTED",y)),y=null},r.isStandardBrowserEnv()){var x=(t.withCredentials||u(C))&&t.xsrfCookieName?i.read(t.xsrfCookieName):void 0;x&&(m[t.xsrfHeaderName]=x)}"setRequestHeader"in y&&r.forEach(m,(function(t,e){void 0===h&&"content-type"===e.toLowerCase()?delete m[e]:y.setRequestHeader(e,t)})),r.isUndefined(t.withCredentials)||(y.withCredentials=!!t.withCredentials),v&&"json"!==v&&(y.responseType=t.responseType),"function"==typeof t.onDownloadProgress&&y.addEventListener("progress",t.onDownloadProgress),"function"==typeof t.onUploadProgress&&y.upload&&y.upload.addEventListener("progress",t.onUploadProgress),(t.cancelToken||t.signal)&&(d=function(t){y&&(n(!t||t&&t.type?new f("canceled"):t),y.abort(),y=null)},t.cancelToken&&t.cancelToken.subscribe(d),t.signal&&(t.signal.aborted?d():t.signal.addEventListener("abort",d))),h||(h=null),y.send(h)}))}},1609:(t,e,n)=>{"use strict";var r=n(4867),o=n(1849),i=n(321),a=n(7185);var s=function t(e){var n=new i(e),s=o(i.prototype.request,n);return r.extend(s,i.prototype,n),r.extend(s,n),s.create=function(n){return t(a(e,n))},s}(n(5655));s.Axios=i,s.Cancel=n(5263),s.CancelToken=n(4972),s.isCancel=n(6502),s.VERSION=n(7288).version,s.all=function(t){return Promise.all(t)},s.spread=n(8713),s.isAxiosError=n(6268),t.exports=s,t.exports.default=s},5263:t=>{"use strict";function e(t){this.message=t}e.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},e.prototype.__CANCEL__=!0,t.exports=e},4972:(t,e,n)=>{"use strict";var r=n(5263);function o(t){if("function"!=typeof t)throw new TypeError("executor must be a function.");var e;this.promise=new Promise((function(t){e=t}));var n=this;this.promise.then((function(t){if(n._listeners){var e,r=n._listeners.length;for(e=0;e<r;e++)n._listeners[e](t);n._listeners=null}})),this.promise.then=function(t){var e,r=new Promise((function(t){n.subscribe(t),e=t})).then(t);return r.cancel=function(){n.unsubscribe(e)},r},t((function(t){n.reason||(n.reason=new r(t),e(n.reason))}))}o.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},o.prototype.subscribe=function(t){this.reason?t(this.reason):this._listeners?this._listeners.push(t):this._listeners=[t]},o.prototype.unsubscribe=function(t){if(this._listeners){var e=this._listeners.indexOf(t);-1!==e&&this._listeners.splice(e,1)}},o.source=function(){var t;return{token:new o((function(e){t=e})),cancel:t}},t.exports=o},6502:t=>{"use strict";t.exports=function(t){return!(!t||!t.__CANCEL__)}},321:(t,e,n)=>{"use strict";var r=n(4867),o=n(5327),i=n(782),a=n(3572),s=n(7185),l=n(4875),u=l.validators;function c(t){this.defaults=t,this.interceptors={request:new i,response:new i}}c.prototype.request=function(t){"string"==typeof t?(t=arguments[1]||{}).url=arguments[0]:t=t||{},(t=s(this.defaults,t)).method?t.method=t.method.toLowerCase():this.defaults.method?t.method=this.defaults.method.toLowerCase():t.method="get";var e=t.transitional;void 0!==e&&l.assertOptions(e,{silentJSONParsing:u.transitional(u.boolean),forcedJSONParsing:u.transitional(u.boolean),clarifyTimeoutError:u.transitional(u.boolean)},!1);var n=[],r=!0;this.interceptors.request.forEach((function(e){"function"==typeof e.runWhen&&!1===e.runWhen(t)||(r=r&&e.synchronous,n.unshift(e.fulfilled,e.rejected))}));var o,i=[];if(this.interceptors.response.forEach((function(t){i.push(t.fulfilled,t.rejected)})),!r){var c=[a,void 0];for(Array.prototype.unshift.apply(c,n),c=c.concat(i),o=Promise.resolve(t);c.length;)o=o.then(c.shift(),c.shift());return o}for(var p=t;n.length;){var f=n.shift(),d=n.shift();try{p=f(p)}catch(t){d(t);break}}try{o=a(p)}catch(t){return Promise.reject(t)}for(;i.length;)o=o.then(i.shift(),i.shift());return o},c.prototype.getUri=function(t){return t=s(this.defaults,t),o(t.url,t.params,t.paramsSerializer).replace(/^\?/,"")},r.forEach(["delete","get","head","options"],(function(t){c.prototype[t]=function(e,n){return this.request(s(n||{},{method:t,url:e,data:(n||{}).data}))}})),r.forEach(["post","put","patch"],(function(t){c.prototype[t]=function(e,n,r){return this.request(s(r||{},{method:t,url:e,data:n}))}})),t.exports=c},782:(t,e,n)=>{"use strict";var r=n(4867);function o(){this.handlers=[]}o.prototype.use=function(t,e,n){return this.handlers.push({fulfilled:t,rejected:e,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1},o.prototype.eject=function(t){this.handlers[t]&&(this.handlers[t]=null)},o.prototype.forEach=function(t){r.forEach(this.handlers,(function(e){null!==e&&t(e)}))},t.exports=o},4097:(t,e,n)=>{"use strict";var r=n(1793),o=n(7303);t.exports=function(t,e){return t&&!r(e)?o(t,e):e}},5061:(t,e,n)=>{"use strict";var r=n(481);t.exports=function(t,e,n,o,i){var a=new Error(t);return r(a,e,n,o,i)}},3572:(t,e,n)=>{"use strict";var r=n(4867),o=n(8527),i=n(6502),a=n(5655),s=n(5263);function l(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new s("canceled")}t.exports=function(t){return l(t),t.headers=t.headers||{},t.data=o.call(t,t.data,t.headers,t.transformRequest),t.headers=r.merge(t.headers.common||{},t.headers[t.method]||{},t.headers),r.forEach(["delete","get","head","post","put","patch","common"],(function(e){delete t.headers[e]})),(t.adapter||a.adapter)(t).then((function(e){return l(t),e.data=o.call(t,e.data,e.headers,t.transformResponse),e}),(function(e){return i(e)||(l(t),e&&e.response&&(e.response.data=o.call(t,e.response.data,e.response.headers,t.transformResponse))),Promise.reject(e)}))}},481:t=>{"use strict";t.exports=function(t,e,n,r,o){return t.config=e,n&&(t.code=n),t.request=r,t.response=o,t.isAxiosError=!0,t.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code,status:this.response&&this.response.status?this.response.status:null}},t}},7185:(t,e,n)=>{"use strict";var r=n(4867);t.exports=function(t,e){e=e||{};var n={};function o(t,e){return r.isPlainObject(t)&&r.isPlainObject(e)?r.merge(t,e):r.isPlainObject(e)?r.merge({},e):r.isArray(e)?e.slice():e}function i(n){return r.isUndefined(e[n])?r.isUndefined(t[n])?void 0:o(void 0,t[n]):o(t[n],e[n])}function a(t){if(!r.isUndefined(e[t]))return o(void 0,e[t])}function s(n){return r.isUndefined(e[n])?r.isUndefined(t[n])?void 0:o(void 0,t[n]):o(void 0,e[n])}function l(n){return n in e?o(t[n],e[n]):n in t?o(void 0,t[n]):void 0}var u={url:a,method:a,data:a,baseURL:s,transformRequest:s,transformResponse:s,paramsSerializer:s,timeout:s,timeoutMessage:s,withCredentials:s,adapter:s,responseType:s,xsrfCookieName:s,xsrfHeaderName:s,onUploadProgress:s,onDownloadProgress:s,decompress:s,maxContentLength:s,maxBodyLength:s,transport:s,httpAgent:s,httpsAgent:s,cancelToken:s,socketPath:s,responseEncoding:s,validateStatus:l};return r.forEach(Object.keys(t).concat(Object.keys(e)),(function(t){var e=u[t]||i,o=e(t);r.isUndefined(o)&&e!==l||(n[t]=o)})),n}},6026:(t,e,n)=>{"use strict";var r=n(5061);t.exports=function(t,e,n){var o=n.config.validateStatus;n.status&&o&&!o(n.status)?e(r("Request failed with status code "+n.status,n.config,null,n.request,n)):t(n)}},8527:(t,e,n)=>{"use strict";var r=n(4867),o=n(5655);t.exports=function(t,e,n){var i=this||o;return r.forEach(n,(function(n){t=n.call(i,t,e)})),t}},5655:(t,e,n)=>{"use strict";var r=n(4155),o=n(4867),i=n(6016),a=n(481),s={"Content-Type":"application/x-www-form-urlencoded"};function l(t,e){!o.isUndefined(t)&&o.isUndefined(t["Content-Type"])&&(t["Content-Type"]=e)}var u,c={transitional:{silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},adapter:(("undefined"!=typeof XMLHttpRequest||void 0!==r&&"[object process]"===Object.prototype.toString.call(r))&&(u=n(5448)),u),transformRequest:[function(t,e){return i(e,"Accept"),i(e,"Content-Type"),o.isFormData(t)||o.isArrayBuffer(t)||o.isBuffer(t)||o.isStream(t)||o.isFile(t)||o.isBlob(t)?t:o.isArrayBufferView(t)?t.buffer:o.isURLSearchParams(t)?(l(e,"application/x-www-form-urlencoded;charset=utf-8"),t.toString()):o.isObject(t)||e&&"application/json"===e["Content-Type"]?(l(e,"application/json"),function(t,e,n){if(o.isString(t))try{return(e||JSON.parse)(t),o.trim(t)}catch(t){if("SyntaxError"!==t.name)throw t}return(n||JSON.stringify)(t)}(t)):t}],transformResponse:[function(t){var e=this.transitional||c.transitional,n=e&&e.silentJSONParsing,r=e&&e.forcedJSONParsing,i=!n&&"json"===this.responseType;if(i||r&&o.isString(t)&&t.length)try{return JSON.parse(t)}catch(t){if(i){if("SyntaxError"===t.name)throw a(t,this,"E_JSON_PARSE");throw t}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};o.forEach(["delete","get","head"],(function(t){c.headers[t]={}})),o.forEach(["post","put","patch"],(function(t){c.headers[t]=o.merge(s)})),t.exports=c},7288:t=>{t.exports={version:"0.24.0"}},1849:t=>{"use strict";t.exports=function(t,e){return function(){for(var n=new Array(arguments.length),r=0;r<n.length;r++)n[r]=arguments[r];return t.apply(e,n)}}},5327:(t,e,n)=>{"use strict";var r=n(4867);function o(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}t.exports=function(t,e,n){if(!e)return t;var i;if(n)i=n(e);else if(r.isURLSearchParams(e))i=e.toString();else{var a=[];r.forEach(e,(function(t,e){null!=t&&(r.isArray(t)?e+="[]":t=[t],r.forEach(t,(function(t){r.isDate(t)?t=t.toISOString():r.isObject(t)&&(t=JSON.stringify(t)),a.push(o(e)+"="+o(t))})))})),i=a.join("&")}if(i){var s=t.indexOf("#");-1!==s&&(t=t.slice(0,s)),t+=(-1===t.indexOf("?")?"?":"&")+i}return t}},7303:t=>{"use strict";t.exports=function(t,e){return e?t.replace(/\/+$/,"")+"/"+e.replace(/^\/+/,""):t}},4372:(t,e,n)=>{"use strict";var r=n(4867);t.exports=r.isStandardBrowserEnv()?{write:function(t,e,n,o,i,a){var s=[];s.push(t+"="+encodeURIComponent(e)),r.isNumber(n)&&s.push("expires="+new Date(n).toGMTString()),r.isString(o)&&s.push("path="+o),r.isString(i)&&s.push("domain="+i),!0===a&&s.push("secure"),document.cookie=s.join("; ")},read:function(t){var e=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove:function(t){this.write(t,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},1793:t=>{"use strict";t.exports=function(t){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(t)}},6268:t=>{"use strict";t.exports=function(t){return"object"==typeof t&&!0===t.isAxiosError}},7985:(t,e,n)=>{"use strict";var r=n(4867);t.exports=r.isStandardBrowserEnv()?function(){var t,e=/(msie|trident)/i.test(navigator.userAgent),n=document.createElement("a");function o(t){var r=t;return e&&(n.setAttribute("href",r),r=n.href),n.setAttribute("href",r),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:"/"===n.pathname.charAt(0)?n.pathname:"/"+n.pathname}}return t=o(window.location.href),function(e){var n=r.isString(e)?o(e):e;return n.protocol===t.protocol&&n.host===t.host}}():function(){return!0}},6016:(t,e,n)=>{"use strict";var r=n(4867);t.exports=function(t,e){r.forEach(t,(function(n,r){r!==e&&r.toUpperCase()===e.toUpperCase()&&(t[e]=n,delete t[r])}))}},4109:(t,e,n)=>{"use strict";var r=n(4867),o=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];t.exports=function(t){var e,n,i,a={};return t?(r.forEach(t.split("\n"),(function(t){if(i=t.indexOf(":"),e=r.trim(t.substr(0,i)).toLowerCase(),n=r.trim(t.substr(i+1)),e){if(a[e]&&o.indexOf(e)>=0)return;a[e]="set-cookie"===e?(a[e]?a[e]:[]).concat([n]):a[e]?a[e]+", "+n:n}})),a):a}},8713:t=>{"use strict";t.exports=function(t){return function(e){return t.apply(null,e)}}},4875:(t,e,n)=>{"use strict";var r=n(5108),o=n(7288).version,i={};["object","boolean","number","function","string","symbol"].forEach((function(t,e){i[t]=function(n){return typeof n===t||"a"+(e<1?"n ":" ")+t}}));var a={};i.transitional=function(t,e,n){function i(t,e){return"[Axios v"+o+"] Transitional option '"+t+"'"+e+(n?". "+n:"")}return function(n,o,s){if(!1===t)throw new Error(i(o," has been removed"+(e?" in "+e:"")));return e&&!a[o]&&(a[o]=!0,r.warn(i(o," has been deprecated since v"+e+" and will be removed in the near future"))),!t||t(n,o,s)}},t.exports={assertOptions:function(t,e,n){if("object"!=typeof t)throw new TypeError("options must be an object");for(var r=Object.keys(t),o=r.length;o-- >0;){var i=r[o],a=e[i];if(a){var s=t[i],l=void 0===s||a(s,i,t);if(!0!==l)throw new TypeError("option "+i+" must be "+l)}else if(!0!==n)throw Error("Unknown option "+i)}},validators:i}},4867:(t,e,n)=>{"use strict";var r=n(1849),o=Object.prototype.toString;function i(t){return"[object Array]"===o.call(t)}function a(t){return void 0===t}function s(t){return null!==t&&"object"==typeof t}function l(t){if("[object Object]"!==o.call(t))return!1;var e=Object.getPrototypeOf(t);return null===e||e===Object.prototype}function u(t){return"[object Function]"===o.call(t)}function c(t,e){if(null!=t)if("object"!=typeof t&&(t=[t]),i(t))for(var n=0,r=t.length;n<r;n++)e.call(null,t[n],n,t);else for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.call(null,t[o],o,t)}t.exports={isArray:i,isArrayBuffer:function(t){return"[object ArrayBuffer]"===o.call(t)},isBuffer:function(t){return null!==t&&!a(t)&&null!==t.constructor&&!a(t.constructor)&&"function"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)},isFormData:function(t){return"undefined"!=typeof FormData&&t instanceof FormData},isArrayBufferView:function(t){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(t):t&&t.buffer&&t.buffer instanceof ArrayBuffer},isString:function(t){return"string"==typeof t},isNumber:function(t){return"number"==typeof t},isObject:s,isPlainObject:l,isUndefined:a,isDate:function(t){return"[object Date]"===o.call(t)},isFile:function(t){return"[object File]"===o.call(t)},isBlob:function(t){return"[object Blob]"===o.call(t)},isFunction:u,isStream:function(t){return s(t)&&u(t.pipe)},isURLSearchParams:function(t){return"undefined"!=typeof URLSearchParams&&t instanceof URLSearchParams},isStandardBrowserEnv:function(){return("undefined"==typeof navigator||"ReactNative"!==navigator.product&&"NativeScript"!==navigator.product&&"NS"!==navigator.product)&&("undefined"!=typeof window&&"undefined"!=typeof document)},forEach:c,merge:function t(){var e={};function n(n,r){l(e[r])&&l(n)?e[r]=t(e[r],n):l(n)?e[r]=t({},n):i(n)?e[r]=n.slice():e[r]=n}for(var r=0,o=arguments.length;r<o;r++)c(arguments[r],n);return e},extend:function(t,e,n){return c(e,(function(e,o){t[o]=n&&"function"==typeof e?r(e,n):e})),t},trim:function(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")},stripBOM:function(t){return 65279===t.charCodeAt(0)&&(t=t.slice(1)),t}}},1924:(t,e,n)=>{"use strict";var r=n(210),o=n(5559),i=o(r("String.prototype.indexOf"));t.exports=function(t,e){var n=r(t,!!e);return"function"==typeof n&&i(t,".prototype.")>-1?o(n):n}},5559:(t,e,n)=>{"use strict";var r=n(8612),o=n(210),i=o("%Function.prototype.apply%"),a=o("%Function.prototype.call%"),s=o("%Reflect.apply%",!0)||r.call(a,i),l=o("%Object.getOwnPropertyDescriptor%",!0),u=o("%Object.defineProperty%",!0),c=o("%Math.max%");if(u)try{u({},"a",{value:1})}catch(t){u=null}t.exports=function(t){var e=s(r,a,arguments);if(l&&u){var n=l(e,"length");n.configurable&&u(e,"length",{value:1+c(0,t.length-(arguments.length-1))})}return e};var p=function(){return s(r,i,arguments)};u?u(t.exports,"apply",{value:p}):t.exports.apply=p},5108:(t,e,n)=>{var r=n(374),o=n(686);function i(){return(new Date).getTime()}var a,s=Array.prototype.slice,l={};a=void 0!==n.g&&n.g.console?n.g.console:"undefined"!=typeof window&&window.console?window.console:{};for(var u=[[function(){},"log"],[function(){a.log.apply(a,arguments)},"info"],[function(){a.log.apply(a,arguments)},"warn"],[function(){a.warn.apply(a,arguments)},"error"],[function(t){l[t]=i()},"time"],[function(t){var e=l[t];if(!e)throw new Error("No such label: "+t);delete l[t];var n=i()-e;a.log(t+": "+n+"ms")},"timeEnd"],[function(){var t=new Error;t.name="Trace",t.message=r.format.apply(null,arguments),a.error(t.stack)},"trace"],[function(t){a.log(r.inspect(t)+"\n")},"dir"],[function(t){if(!t){var e=s.call(arguments,1);o.ok(!1,r.format.apply(null,e))}},"assert"]],c=0;c<u.length;c++){var p=u[c],f=p[0],d=p[1];a[d]||(a[d]=f)}t.exports=a},3099:t=>{t.exports=function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return t}},6077:(t,e,n)=>{var r=n(111);t.exports=function(t){if(!r(t)&&null!==t)throw TypeError("Can't set "+String(t)+" as a prototype");return t}},1223:(t,e,n)=>{var r=n(5112),o=n(30),i=n(3070),a=r("unscopables"),s=Array.prototype;null==s[a]&&i.f(s,a,{configurable:!0,value:o(null)}),t.exports=function(t){s[a][t]=!0}},1530:(t,e,n)=>{"use strict";var r=n(8710).charAt;t.exports=function(t,e,n){return e+(n?r(t,e).length:1)}},5787:t=>{t.exports=function(t,e,n){if(!(t instanceof e))throw TypeError("Incorrect "+(n?n+" ":"")+"invocation");return t}},9670:(t,e,n)=>{var r=n(111);t.exports=function(t){if(!r(t))throw TypeError(String(t)+" is not an object");return t}},8533:(t,e,n)=>{"use strict";var r=n(2092).forEach,o=n(9341),i=n(9207),a=o("forEach"),s=i("forEach");t.exports=a&&s?[].forEach:function(t){return r(this,t,arguments.length>1?arguments[1]:void 0)}},1318:(t,e,n)=>{var r=n(5656),o=n(7466),i=n(1400),a=function(t){return function(e,n,a){var s,l=r(e),u=o(l.length),c=i(a,u);if(t&&n!=n){for(;u>c;)if((s=l[c++])!=s)return!0}else for(;u>c;c++)if((t||c in l)&&l[c]===n)return t||c||0;return!t&&-1}};t.exports={includes:a(!0),indexOf:a(!1)}},2092:(t,e,n)=>{var r=n(9974),o=n(8361),i=n(7908),a=n(7466),s=n(5417),l=[].push,u=function(t){var e=1==t,n=2==t,u=3==t,c=4==t,p=6==t,f=5==t||p;return function(d,h,m,v){for(var g,y,A=i(d),b=o(A),C=r(h,m,3),w=a(b.length),x=0,_=v||s,S=e?_(d,w):n?_(d,0):void 0;w>x;x++)if((f||x in b)&&(y=C(g=b[x],x,A),t))if(e)S[x]=y;else if(y)switch(t){case 3:return!0;case 5:return g;case 6:return x;case 2:l.call(S,g)}else if(c)return!1;return p?-1:u||c?c:S}};t.exports={forEach:u(0),map:u(1),filter:u(2),some:u(3),every:u(4),find:u(5),findIndex:u(6)}},1194:(t,e,n)=>{var r=n(7293),o=n(5112),i=n(7392),a=o("species");t.exports=function(t){return i>=51||!r((function(){var e=[];return(e.constructor={})[a]=function(){return{foo:1}},1!==e[t](Boolean).foo}))}},9341:(t,e,n)=>{"use strict";var r=n(7293);t.exports=function(t,e){var n=[][t];return!!n&&r((function(){n.call(null,e||function(){throw 1},1)}))}},9207:(t,e,n)=>{var r=n(9781),o=n(7293),i=n(6656),a=Object.defineProperty,s={},l=function(t){throw t};t.exports=function(t,e){if(i(s,t))return s[t];e||(e={});var n=[][t],u=!!i(e,"ACCESSORS")&&e.ACCESSORS,c=i(e,0)?e[0]:l,p=i(e,1)?e[1]:void 0;return s[t]=!!n&&!o((function(){if(u&&!r)return!0;var t={length:-1};u?a(t,1,{enumerable:!0,get:l}):t[1]=1,n.call(t,c,p)}))}},5417:(t,e,n)=>{var r=n(111),o=n(3157),i=n(5112)("species");t.exports=function(t,e){var n;return o(t)&&("function"!=typeof(n=t.constructor)||n!==Array&&!o(n.prototype)?r(n)&&null===(n=n[i])&&(n=void 0):n=void 0),new(void 0===n?Array:n)(0===e?0:e)}},3411:(t,e,n)=>{var r=n(9670);t.exports=function(t,e,n,o){try{return o?e(r(n)[0],n[1]):e(n)}catch(e){var i=t.return;throw void 0!==i&&r(i.call(t)),e}}},7072:(t,e,n)=>{var r=n(5112)("iterator"),o=!1;try{var i=0,a={next:function(){return{done:!!i++}},return:function(){o=!0}};a[r]=function(){return this},Array.from(a,(function(){throw 2}))}catch(t){}t.exports=function(t,e){if(!e&&!o)return!1;var n=!1;try{var i={};i[r]=function(){return{next:function(){return{done:n=!0}}}},t(i)}catch(t){}return n}},4326:t=>{var e={}.toString;t.exports=function(t){return e.call(t).slice(8,-1)}},648:(t,e,n)=>{var r=n(1694),o=n(4326),i=n(5112)("toStringTag"),a="Arguments"==o(function(){return arguments}());t.exports=r?o:function(t){var e,n,r;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=function(t,e){try{return t[e]}catch(t){}}(e=Object(t),i))?n:a?o(e):"Object"==(r=o(e))&&"function"==typeof e.callee?"Arguments":r}},5631:(t,e,n)=>{"use strict";var r=n(3070).f,o=n(30),i=n(2248),a=n(9974),s=n(5787),l=n(408),u=n(654),c=n(6340),p=n(9781),f=n(2423).fastKey,d=n(9909),h=d.set,m=d.getterFor;t.exports={getConstructor:function(t,e,n,u){var c=t((function(t,r){s(t,c,e),h(t,{type:e,index:o(null),first:void 0,last:void 0,size:0}),p||(t.size=0),null!=r&&l(r,t[u],t,n)})),d=m(e),v=function(t,e,n){var r,o,i=d(t),a=g(t,e);return a?a.value=n:(i.last=a={index:o=f(e,!0),key:e,value:n,previous:r=i.last,next:void 0,removed:!1},i.first||(i.first=a),r&&(r.next=a),p?i.size++:t.size++,"F"!==o&&(i.index[o]=a)),t},g=function(t,e){var n,r=d(t),o=f(e);if("F"!==o)return r.index[o];for(n=r.first;n;n=n.next)if(n.key==e)return n};return i(c.prototype,{clear:function(){for(var t=d(this),e=t.index,n=t.first;n;)n.removed=!0,n.previous&&(n.previous=n.previous.next=void 0),delete e[n.index],n=n.next;t.first=t.last=void 0,p?t.size=0:this.size=0},delete:function(t){var e=this,n=d(e),r=g(e,t);if(r){var o=r.next,i=r.previous;delete n.index[r.index],r.removed=!0,i&&(i.next=o),o&&(o.previous=i),n.first==r&&(n.first=o),n.last==r&&(n.last=i),p?n.size--:e.size--}return!!r},forEach:function(t){for(var e,n=d(this),r=a(t,arguments.length>1?arguments[1]:void 0,3);e=e?e.next:n.first;)for(r(e.value,e.key,this);e&&e.removed;)e=e.previous},has:function(t){return!!g(this,t)}}),i(c.prototype,n?{get:function(t){var e=g(this,t);return e&&e.value},set:function(t,e){return v(this,0===t?0:t,e)}}:{add:function(t){return v(this,t=0===t?0:t,t)}}),p&&r(c.prototype,"size",{get:function(){return d(this).size}}),c},setStrong:function(t,e,n){var r=e+" Iterator",o=m(e),i=m(r);u(t,e,(function(t,e){h(this,{type:r,target:t,state:o(t),kind:e,last:void 0})}),(function(){for(var t=i(this),e=t.kind,n=t.last;n&&n.removed;)n=n.previous;return t.target&&(t.last=n=n?n.next:t.state.first)?"keys"==e?{value:n.key,done:!1}:"values"==e?{value:n.value,done:!1}:{value:[n.key,n.value],done:!1}:(t.target=void 0,{value:void 0,done:!0})}),n?"entries":"values",!n,!0),c(e)}}},7710:(t,e,n)=>{"use strict";var r=n(2109),o=n(7854),i=n(4705),a=n(1320),s=n(2423),l=n(408),u=n(5787),c=n(111),p=n(7293),f=n(7072),d=n(8003),h=n(9587);t.exports=function(t,e,n){var m=-1!==t.indexOf("Map"),v=-1!==t.indexOf("Weak"),g=m?"set":"add",y=o[t],A=y&&y.prototype,b=y,C={},w=function(t){var e=A[t];a(A,t,"add"==t?function(t){return e.call(this,0===t?0:t),this}:"delete"==t?function(t){return!(v&&!c(t))&&e.call(this,0===t?0:t)}:"get"==t?function(t){return v&&!c(t)?void 0:e.call(this,0===t?0:t)}:"has"==t?function(t){return!(v&&!c(t))&&e.call(this,0===t?0:t)}:function(t,n){return e.call(this,0===t?0:t,n),this})};if(i(t,"function"!=typeof y||!(v||A.forEach&&!p((function(){(new y).entries().next()})))))b=n.getConstructor(e,t,m,g),s.REQUIRED=!0;else if(i(t,!0)){var x=new b,_=x[g](v?{}:-0,1)!=x,S=p((function(){x.has(1)})),k=f((function(t){new y(t)})),E=!v&&p((function(){for(var t=new y,e=5;e--;)t[g](e,e);return!t.has(-0)}));k||((b=e((function(e,n){u(e,b,t);var r=h(new y,e,b);return null!=n&&l(n,r[g],r,m),r}))).prototype=A,A.constructor=b),(S||E)&&(w("delete"),w("has"),m&&w("get")),(E||_)&&w(g),v&&A.clear&&delete A.clear}return C[t]=b,r({global:!0,forced:b!=y},C),d(b,t),v||n.setStrong(b,t,m),b}},9920:(t,e,n)=>{var r=n(6656),o=n(3887),i=n(1236),a=n(3070);t.exports=function(t,e){for(var n=o(e),s=a.f,l=i.f,u=0;u<n.length;u++){var c=n[u];r(t,c)||s(t,c,l(e,c))}}},8544:(t,e,n)=>{var r=n(7293);t.exports=!r((function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype}))},4994:(t,e,n)=>{"use strict";var r=n(3383).IteratorPrototype,o=n(30),i=n(9114),a=n(8003),s=n(7497),l=function(){return this};t.exports=function(t,e,n){var u=e+" Iterator";return t.prototype=o(r,{next:i(1,n)}),a(t,u,!1,!0),s[u]=l,t}},8880:(t,e,n)=>{var r=n(9781),o=n(3070),i=n(9114);t.exports=r?function(t,e,n){return o.f(t,e,i(1,n))}:function(t,e,n){return t[e]=n,t}},9114:t=>{t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},6135:(t,e,n)=>{"use strict";var r=n(7593),o=n(3070),i=n(9114);t.exports=function(t,e,n){var a=r(e);a in t?o.f(t,a,i(0,n)):t[a]=n}},654:(t,e,n)=>{"use strict";var r=n(2109),o=n(4994),i=n(9518),a=n(7674),s=n(8003),l=n(8880),u=n(1320),c=n(5112),p=n(1913),f=n(7497),d=n(3383),h=d.IteratorPrototype,m=d.BUGGY_SAFARI_ITERATORS,v=c("iterator"),g="keys",y="values",A="entries",b=function(){return this};t.exports=function(t,e,n,c,d,C,w){o(n,e,c);var x,_,S,k=function(t){if(t===d&&B)return B;if(!m&&t in j)return j[t];switch(t){case g:case y:case A:return function(){return new n(this,t)}}return function(){return new n(this)}},E=e+" Iterator",O=!1,j=t.prototype,T=j[v]||j["@@iterator"]||d&&j[d],B=!m&&T||k(d),N="Array"==e&&j.entries||T;if(N&&(x=i(N.call(new t)),h!==Object.prototype&&x.next&&(p||i(x)===h||(a?a(x,h):"function"!=typeof x[v]&&l(x,v,b)),s(x,E,!0,!0),p&&(f[E]=b))),d==y&&T&&T.name!==y&&(O=!0,B=function(){return T.call(this)}),p&&!w||j[v]===B||l(j,v,B),f[e]=B,d)if(_={values:k(y),keys:C?B:k(g),entries:k(A)},w)for(S in _)(m||O||!(S in j))&&u(j,S,_[S]);else r({target:e,proto:!0,forced:m||O},_);return _}},9781:(t,e,n)=>{var r=n(7293);t.exports=!r((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},317:(t,e,n)=>{var r=n(7854),o=n(111),i=r.document,a=o(i)&&o(i.createElement);t.exports=function(t){return a?i.createElement(t):{}}},8324:t=>{t.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},8113:(t,e,n)=>{var r=n(5005);t.exports=r("navigator","userAgent")||""},7392:(t,e,n)=>{var r,o,i=n(7854),a=n(8113),s=i.process,l=s&&s.versions,u=l&&l.v8;u?o=(r=u.split("."))[0]+r[1]:a&&(!(r=a.match(/Edge\/(\d+)/))||r[1]>=74)&&(r=a.match(/Chrome\/(\d+)/))&&(o=r[1]),t.exports=o&&+o},748:t=>{t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},2109:(t,e,n)=>{var r=n(7854),o=n(1236).f,i=n(8880),a=n(1320),s=n(3505),l=n(9920),u=n(4705);t.exports=function(t,e){var n,c,p,f,d,h=t.target,m=t.global,v=t.stat;if(n=m?r:v?r[h]||s(h,{}):(r[h]||{}).prototype)for(c in e){if(f=e[c],p=t.noTargetGet?(d=o(n,c))&&d.value:n[c],!u(m?c:h+(v?".":"#")+c,t.forced)&&void 0!==p){if(typeof f==typeof p)continue;l(f,p)}(t.sham||p&&p.sham)&&i(f,"sham",!0),a(n,c,f,t)}}},7293:t=>{t.exports=function(t){try{return!!t()}catch(t){return!0}}},7007:(t,e,n)=>{"use strict";n(4916);var r=n(1320),o=n(7293),i=n(5112),a=n(2261),s=n(8880),l=i("species"),u=!o((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$<a>")})),c="$0"==="a".replace(/./,"$0"),p=i("replace"),f=!!/./[p]&&""===/./[p]("a","$0"),d=!o((function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var n="ab".split(t);return 2!==n.length||"a"!==n[0]||"b"!==n[1]}));t.exports=function(t,e,n,p){var h=i(t),m=!o((function(){var e={};return e[h]=function(){return 7},7!=""[t](e)})),v=m&&!o((function(){var e=!1,n=/a/;return"split"===t&&((n={}).constructor={},n.constructor[l]=function(){return n},n.flags="",n[h]=/./[h]),n.exec=function(){return e=!0,null},n[h](""),!e}));if(!m||!v||"replace"===t&&(!u||!c||f)||"split"===t&&!d){var g=/./[h],y=n(h,""[t],(function(t,e,n,r,o){return e.exec===a?m&&!o?{done:!0,value:g.call(e,n,r)}:{done:!0,value:t.call(n,e,r)}:{done:!1}}),{REPLACE_KEEPS_$0:c,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:f}),A=y[0],b=y[1];r(String.prototype,t,A),r(RegExp.prototype,h,2==e?function(t,e){return b.call(t,this,e)}:function(t){return b.call(t,this)})}p&&s(RegExp.prototype[h],"sham",!0)}},6677:(t,e,n)=>{var r=n(7293);t.exports=!r((function(){return Object.isExtensible(Object.preventExtensions({}))}))},9974:(t,e,n)=>{var r=n(3099);t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 0:return function(){return t.call(e)};case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,o){return t.call(e,n,r,o)}}return function(){return t.apply(e,arguments)}}},5005:(t,e,n)=>{var r=n(857),o=n(7854),i=function(t){return"function"==typeof t?t:void 0};t.exports=function(t,e){return arguments.length<2?i(r[t])||i(o[t]):r[t]&&r[t][e]||o[t]&&o[t][e]}},1246:(t,e,n)=>{var r=n(648),o=n(7497),i=n(5112)("iterator");t.exports=function(t){if(null!=t)return t[i]||t["@@iterator"]||o[r(t)]}},7854:(t,e,n)=>{var r=function(t){return t&&t.Math==Math&&t};t.exports=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof n.g&&n.g)||Function("return this")()},6656:t=>{var e={}.hasOwnProperty;t.exports=function(t,n){return e.call(t,n)}},3501:t=>{t.exports={}},490:(t,e,n)=>{var r=n(5005);t.exports=r("document","documentElement")},4664:(t,e,n)=>{var r=n(9781),o=n(7293),i=n(317);t.exports=!r&&!o((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},8361:(t,e,n)=>{var r=n(7293),o=n(4326),i="".split;t.exports=r((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==o(t)?i.call(t,""):Object(t)}:Object},9587:(t,e,n)=>{var r=n(111),o=n(7674);t.exports=function(t,e,n){var i,a;return o&&"function"==typeof(i=e.constructor)&&i!==n&&r(a=i.prototype)&&a!==n.prototype&&o(t,a),t}},2788:(t,e,n)=>{var r=n(5465),o=Function.toString;"function"!=typeof r.inspectSource&&(r.inspectSource=function(t){return o.call(t)}),t.exports=r.inspectSource},2423:(t,e,n)=>{var r=n(3501),o=n(111),i=n(6656),a=n(3070).f,s=n(9711),l=n(6677),u=s("meta"),c=0,p=Object.isExtensible||function(){return!0},f=function(t){a(t,u,{value:{objectID:"O"+ ++c,weakData:{}}})},d=t.exports={REQUIRED:!1,fastKey:function(t,e){if(!o(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!i(t,u)){if(!p(t))return"F";if(!e)return"E";f(t)}return t[u].objectID},getWeakData:function(t,e){if(!i(t,u)){if(!p(t))return!0;if(!e)return!1;f(t)}return t[u].weakData},onFreeze:function(t){return l&&d.REQUIRED&&p(t)&&!i(t,u)&&f(t),t}};r[u]=!0},9909:(t,e,n)=>{var r,o,i,a=n(8536),s=n(7854),l=n(111),u=n(8880),c=n(6656),p=n(6200),f=n(3501),d=s.WeakMap;if(a){var h=new d,m=h.get,v=h.has,g=h.set;r=function(t,e){return g.call(h,t,e),e},o=function(t){return m.call(h,t)||{}},i=function(t){return v.call(h,t)}}else{var y=p("state");f[y]=!0,r=function(t,e){return u(t,y,e),e},o=function(t){return c(t,y)?t[y]:{}},i=function(t){return c(t,y)}}t.exports={set:r,get:o,has:i,enforce:function(t){return i(t)?o(t):r(t,{})},getterFor:function(t){return function(e){var n;if(!l(e)||(n=o(e)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return n}}}},7659:(t,e,n)=>{var r=n(5112),o=n(7497),i=r("iterator"),a=Array.prototype;t.exports=function(t){return void 0!==t&&(o.Array===t||a[i]===t)}},3157:(t,e,n)=>{var r=n(4326);t.exports=Array.isArray||function(t){return"Array"==r(t)}},4705:(t,e,n)=>{var r=n(7293),o=/#|\.prototype\./,i=function(t,e){var n=s[a(t)];return n==u||n!=l&&("function"==typeof e?r(e):!!e)},a=i.normalize=function(t){return String(t).replace(o,".").toLowerCase()},s=i.data={},l=i.NATIVE="N",u=i.POLYFILL="P";t.exports=i},111:t=>{t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},1913:t=>{t.exports=!1},408:(t,e,n)=>{var r=n(9670),o=n(7659),i=n(7466),a=n(9974),s=n(1246),l=n(3411),u=function(t,e){this.stopped=t,this.result=e};(t.exports=function(t,e,n,c,p){var f,d,h,m,v,g,y,A=a(e,n,c?2:1);if(p)f=t;else{if("function"!=typeof(d=s(t)))throw TypeError("Target is not iterable");if(o(d)){for(h=0,m=i(t.length);m>h;h++)if((v=c?A(r(y=t[h])[0],y[1]):A(t[h]))&&v instanceof u)return v;return new u(!1)}f=d.call(t)}for(g=f.next;!(y=g.call(f)).done;)if("object"==typeof(v=l(f,A,y.value,c))&&v&&v instanceof u)return v;return new u(!1)}).stop=function(t){return new u(!0,t)}},3383:(t,e,n)=>{"use strict";var r,o,i,a=n(9518),s=n(8880),l=n(6656),u=n(5112),c=n(1913),p=u("iterator"),f=!1;[].keys&&("next"in(i=[].keys())?(o=a(a(i)))!==Object.prototype&&(r=o):f=!0),null==r&&(r={}),c||l(r,p)||s(r,p,(function(){return this})),t.exports={IteratorPrototype:r,BUGGY_SAFARI_ITERATORS:f}},7497:t=>{t.exports={}},133:(t,e,n)=>{var r=n(7293);t.exports=!!Object.getOwnPropertySymbols&&!r((function(){return!String(Symbol())}))},8536:(t,e,n)=>{var r=n(7854),o=n(2788),i=r.WeakMap;t.exports="function"==typeof i&&/native code/.test(o(i))},1574:(t,e,n)=>{"use strict";var r=n(9781),o=n(7293),i=n(1956),a=n(5181),s=n(5296),l=n(7908),u=n(8361),c=Object.assign,p=Object.defineProperty;t.exports=!c||o((function(){if(r&&1!==c({b:1},c(p({},"a",{enumerable:!0,get:function(){p(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var t={},e={},n=Symbol(),o="abcdefghijklmnopqrst";return t[n]=7,o.split("").forEach((function(t){e[t]=t})),7!=c({},t)[n]||i(c({},e)).join("")!=o}))?function(t,e){for(var n=l(t),o=arguments.length,c=1,p=a.f,f=s.f;o>c;)for(var d,h=u(arguments[c++]),m=p?i(h).concat(p(h)):i(h),v=m.length,g=0;v>g;)d=m[g++],r&&!f.call(h,d)||(n[d]=h[d]);return n}:c},30:(t,e,n)=>{var r,o=n(9670),i=n(6048),a=n(748),s=n(3501),l=n(490),u=n(317),c=n(6200),p=c("IE_PROTO"),f=function(){},d=function(t){return"<script>"+t+"</"+"script>"},h=function(){try{r=document.domain&&new ActiveXObject("htmlfile")}catch(t){}var t,e;h=r?function(t){t.write(d("")),t.close();var e=t.parentWindow.Object;return t=null,e}(r):((e=u("iframe")).style.display="none",l.appendChild(e),e.src=String("javascript:"),(t=e.contentWindow.document).open(),t.write(d("document.F=Object")),t.close(),t.F);for(var n=a.length;n--;)delete h.prototype[a[n]];return h()};s[p]=!0,t.exports=Object.create||function(t,e){var n;return null!==t?(f.prototype=o(t),n=new f,f.prototype=null,n[p]=t):n=h(),void 0===e?n:i(n,e)}},6048:(t,e,n)=>{var r=n(9781),o=n(3070),i=n(9670),a=n(1956);t.exports=r?Object.defineProperties:function(t,e){i(t);for(var n,r=a(e),s=r.length,l=0;s>l;)o.f(t,n=r[l++],e[n]);return t}},3070:(t,e,n)=>{var r=n(9781),o=n(4664),i=n(9670),a=n(7593),s=Object.defineProperty;e.f=r?s:function(t,e,n){if(i(t),e=a(e,!0),i(n),o)try{return s(t,e,n)}catch(t){}if("get"in n||"set"in n)throw TypeError("Accessors not supported");return"value"in n&&(t[e]=n.value),t}},1236:(t,e,n)=>{var r=n(9781),o=n(5296),i=n(9114),a=n(5656),s=n(7593),l=n(6656),u=n(4664),c=Object.getOwnPropertyDescriptor;e.f=r?c:function(t,e){if(t=a(t),e=s(e,!0),u)try{return c(t,e)}catch(t){}if(l(t,e))return i(!o.f.call(t,e),t[e])}},8006:(t,e,n)=>{var r=n(6324),o=n(748).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return r(t,o)}},5181:(t,e)=>{e.f=Object.getOwnPropertySymbols},9518:(t,e,n)=>{var r=n(6656),o=n(7908),i=n(6200),a=n(8544),s=i("IE_PROTO"),l=Object.prototype;t.exports=a?Object.getPrototypeOf:function(t){return t=o(t),r(t,s)?t[s]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?l:null}},6324:(t,e,n)=>{var r=n(6656),o=n(5656),i=n(1318).indexOf,a=n(3501);t.exports=function(t,e){var n,s=o(t),l=0,u=[];for(n in s)!r(a,n)&&r(s,n)&&u.push(n);for(;e.length>l;)r(s,n=e[l++])&&(~i(u,n)||u.push(n));return u}},1956:(t,e,n)=>{var r=n(6324),o=n(748);t.exports=Object.keys||function(t){return r(t,o)}},5296:(t,e)=>{"use strict";var n={}.propertyIsEnumerable,r=Object.getOwnPropertyDescriptor,o=r&&!n.call({1:2},1);e.f=o?function(t){var e=r(this,t);return!!e&&e.enumerable}:n},7674:(t,e,n)=>{var r=n(9670),o=n(6077);t.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,n={};try{(t=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(n,[]),e=n instanceof Array}catch(t){}return function(n,i){return r(n),o(i),e?t.call(n,i):n.__proto__=i,n}}():void 0)},288:(t,e,n)=>{"use strict";var r=n(1694),o=n(648);t.exports=r?{}.toString:function(){return"[object "+o(this)+"]"}},3887:(t,e,n)=>{var r=n(5005),o=n(8006),i=n(5181),a=n(9670);t.exports=r("Reflect","ownKeys")||function(t){var e=o.f(a(t)),n=i.f;return n?e.concat(n(t)):e}},857:(t,e,n)=>{var r=n(7854);t.exports=r},2248:(t,e,n)=>{var r=n(1320);t.exports=function(t,e,n){for(var o in e)r(t,o,e[o],n);return t}},1320:(t,e,n)=>{var r=n(7854),o=n(8880),i=n(6656),a=n(3505),s=n(2788),l=n(9909),u=l.get,c=l.enforce,p=String(String).split("String");(t.exports=function(t,e,n,s){var l=!!s&&!!s.unsafe,u=!!s&&!!s.enumerable,f=!!s&&!!s.noTargetGet;"function"==typeof n&&("string"!=typeof e||i(n,"name")||o(n,"name",e),c(n).source=p.join("string"==typeof e?e:"")),t!==r?(l?!f&&t[e]&&(u=!0):delete t[e],u?t[e]=n:o(t,e,n)):u?t[e]=n:a(e,n)})(Function.prototype,"toString",(function(){return"function"==typeof this&&u(this).source||s(this)}))},7651:(t,e,n)=>{var r=n(4326),o=n(2261);t.exports=function(t,e){var n=t.exec;if("function"==typeof n){var i=n.call(t,e);if("object"!=typeof i)throw TypeError("RegExp exec method returned something other than an Object or null");return i}if("RegExp"!==r(t))throw TypeError("RegExp#exec called on incompatible receiver");return o.call(t,e)}},2261:(t,e,n)=>{"use strict";var r,o,i=n(7066),a=n(2999),s=RegExp.prototype.exec,l=String.prototype.replace,u=s,c=(r=/a/,o=/b*/g,s.call(r,"a"),s.call(o,"a"),0!==r.lastIndex||0!==o.lastIndex),p=a.UNSUPPORTED_Y||a.BROKEN_CARET,f=void 0!==/()??/.exec("")[1];(c||f||p)&&(u=function(t){var e,n,r,o,a=this,u=p&&a.sticky,d=i.call(a),h=a.source,m=0,v=t;return u&&(-1===(d=d.replace("y","")).indexOf("g")&&(d+="g"),v=String(t).slice(a.lastIndex),a.lastIndex>0&&(!a.multiline||a.multiline&&"\n"!==t[a.lastIndex-1])&&(h="(?: "+h+")",v=" "+v,m++),n=new RegExp("^(?:"+h+")",d)),f&&(n=new RegExp("^"+h+"$(?!\\s)",d)),c&&(e=a.lastIndex),r=s.call(u?n:a,v),u?r?(r.input=r.input.slice(m),r[0]=r[0].slice(m),r.index=a.lastIndex,a.lastIndex+=r[0].length):a.lastIndex=0:c&&r&&(a.lastIndex=a.global?r.index+r[0].length:e),f&&r&&r.length>1&&l.call(r[0],n,(function(){for(o=1;o<arguments.length-2;o++)void 0===arguments[o]&&(r[o]=void 0)})),r}),t.exports=u},7066:(t,e,n)=>{"use strict";var r=n(9670);t.exports=function(){var t=r(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.dotAll&&(e+="s"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e}},2999:(t,e,n)=>{"use strict";var r=n(7293);function o(t,e){return RegExp(t,e)}e.UNSUPPORTED_Y=r((function(){var t=o("a","y");return t.lastIndex=2,null!=t.exec("abcd")})),e.BROKEN_CARET=r((function(){var t=o("^r","gy");return t.lastIndex=2,null!=t.exec("str")}))},4488:t=>{t.exports=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t}},3505:(t,e,n)=>{var r=n(7854),o=n(8880);t.exports=function(t,e){try{o(r,t,e)}catch(n){r[t]=e}return e}},6340:(t,e,n)=>{"use strict";var r=n(5005),o=n(3070),i=n(5112),a=n(9781),s=i("species");t.exports=function(t){var e=r(t),n=o.f;a&&e&&!e[s]&&n(e,s,{configurable:!0,get:function(){return this}})}},8003:(t,e,n)=>{var r=n(3070).f,o=n(6656),i=n(5112)("toStringTag");t.exports=function(t,e,n){t&&!o(t=n?t:t.prototype,i)&&r(t,i,{configurable:!0,value:e})}},6200:(t,e,n)=>{var r=n(2309),o=n(9711),i=r("keys");t.exports=function(t){return i[t]||(i[t]=o(t))}},5465:(t,e,n)=>{var r=n(7854),o=n(3505),i="__core-js_shared__",a=r[i]||o(i,{});t.exports=a},2309:(t,e,n)=>{var r=n(1913),o=n(5465);(t.exports=function(t,e){return o[t]||(o[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.6.5",mode:r?"pure":"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})},8710:(t,e,n)=>{var r=n(9958),o=n(4488),i=function(t){return function(e,n){var i,a,s=String(o(e)),l=r(n),u=s.length;return l<0||l>=u?t?"":void 0:(i=s.charCodeAt(l))<55296||i>56319||l+1===u||(a=s.charCodeAt(l+1))<56320||a>57343?t?s.charAt(l):i:t?s.slice(l,l+2):a-56320+(i-55296<<10)+65536}};t.exports={codeAt:i(!1),charAt:i(!0)}},1400:(t,e,n)=>{var r=n(9958),o=Math.max,i=Math.min;t.exports=function(t,e){var n=r(t);return n<0?o(n+e,0):i(n,e)}},5656:(t,e,n)=>{var r=n(8361),o=n(4488);t.exports=function(t){return r(o(t))}},9958:t=>{var e=Math.ceil,n=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?n:e)(t)}},7466:(t,e,n)=>{var r=n(9958),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},7908:(t,e,n)=>{var r=n(4488);t.exports=function(t){return Object(r(t))}},7593:(t,e,n)=>{var r=n(111);t.exports=function(t,e){if(!r(t))return t;var n,o;if(e&&"function"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;if("function"==typeof(n=t.valueOf)&&!r(o=n.call(t)))return o;if(!e&&"function"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},1694:(t,e,n)=>{var r={};r[n(5112)("toStringTag")]="z",t.exports="[object z]"===String(r)},9711:t=>{var e=0,n=Math.random();t.exports=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++e+n).toString(36)}},3307:(t,e,n)=>{var r=n(133);t.exports=r&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},5112:(t,e,n)=>{var r=n(7854),o=n(2309),i=n(6656),a=n(9711),s=n(133),l=n(3307),u=o("wks"),c=r.Symbol,p=l?c:c&&c.withoutSetter||a;t.exports=function(t){return i(u,t)||(s&&i(c,t)?u[t]=c[t]:u[t]=p("Symbol."+t)),u[t]}},2222:(t,e,n)=>{"use strict";var r=n(2109),o=n(7293),i=n(3157),a=n(111),s=n(7908),l=n(7466),u=n(6135),c=n(5417),p=n(1194),f=n(5112),d=n(7392),h=f("isConcatSpreadable"),m=9007199254740991,v="Maximum allowed index exceeded",g=d>=51||!o((function(){var t=[];return t[h]=!1,t.concat()[0]!==t})),y=p("concat"),A=function(t){if(!a(t))return!1;var e=t[h];return void 0!==e?!!e:i(t)};r({target:"Array",proto:!0,forced:!g||!y},{concat:function(t){var e,n,r,o,i,a=s(this),p=c(a,0),f=0;for(e=-1,r=arguments.length;e<r;e++)if(A(i=-1===e?a:arguments[e])){if(f+(o=l(i.length))>m)throw TypeError(v);for(n=0;n<o;n++,f++)n in i&&u(p,f,i[n])}else{if(f>=m)throw TypeError(v);u(p,f++,i)}return p.length=f,p}})},7327:(t,e,n)=>{"use strict";var r=n(2109),o=n(2092).filter,i=n(1194),a=n(9207),s=i("filter"),l=a("filter");r({target:"Array",proto:!0,forced:!s||!l},{filter:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}})},9554:(t,e,n)=>{"use strict";var r=n(2109),o=n(8533);r({target:"Array",proto:!0,forced:[].forEach!=o},{forEach:o})},2772:(t,e,n)=>{"use strict";var r=n(2109),o=n(1318).indexOf,i=n(9341),a=n(9207),s=[].indexOf,l=!!s&&1/[1].indexOf(1,-0)<0,u=i("indexOf"),c=a("indexOf",{ACCESSORS:!0,1:0});r({target:"Array",proto:!0,forced:l||!u||!c},{indexOf:function(t){return l?s.apply(this,arguments)||0:o(this,t,arguments.length>1?arguments[1]:void 0)}})},6992:(t,e,n)=>{"use strict";var r=n(5656),o=n(1223),i=n(7497),a=n(9909),s=n(654),l="Array Iterator",u=a.set,c=a.getterFor(l);t.exports=s(Array,"Array",(function(t,e){u(this,{type:l,target:r(t),index:0,kind:e})}),(function(){var t=c(this),e=t.target,n=t.kind,r=t.index++;return!e||r>=e.length?(t.target=void 0,{value:void 0,done:!0}):"keys"==n?{value:r,done:!1}:"values"==n?{value:e[r],done:!1}:{value:[r,e[r]],done:!1}}),"values"),i.Arguments=i.Array,o("keys"),o("values"),o("entries")},1532:(t,e,n)=>{"use strict";var r=n(7710),o=n(5631);t.exports=r("Map",(function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}}),o)},9601:(t,e,n)=>{var r=n(2109),o=n(1574);r({target:"Object",stat:!0,forced:Object.assign!==o},{assign:o})},1539:(t,e,n)=>{var r=n(1694),o=n(1320),i=n(288);r||o(Object.prototype,"toString",i,{unsafe:!0})},4916:(t,e,n)=>{"use strict";var r=n(2109),o=n(2261);r({target:"RegExp",proto:!0,forced:/./.exec!==o},{exec:o})},9714:(t,e,n)=>{"use strict";var r=n(1320),o=n(9670),i=n(7293),a=n(7066),s="toString",l=RegExp.prototype,u=l.toString,c=i((function(){return"/a/b"!=u.call({source:"a",flags:"b"})})),p=u.name!=s;(c||p)&&r(RegExp.prototype,s,(function(){var t=o(this),e=String(t.source),n=t.flags;return"/"+e+"/"+String(void 0===n&&t instanceof RegExp&&!("flags"in l)?a.call(t):n)}),{unsafe:!0})},8783:(t,e,n)=>{"use strict";var r=n(8710).charAt,o=n(9909),i=n(654),a="String Iterator",s=o.set,l=o.getterFor(a);i(String,"String",(function(t){s(this,{type:a,string:String(t),index:0})}),(function(){var t,e=l(this),n=e.string,o=e.index;return o>=n.length?{value:void 0,done:!0}:(t=r(n,o),e.index+=t.length,{value:t,done:!1})}))},5306:(t,e,n)=>{"use strict";var r=n(7007),o=n(9670),i=n(7908),a=n(7466),s=n(9958),l=n(4488),u=n(1530),c=n(7651),p=Math.max,f=Math.min,d=Math.floor,h=/\$([$&'`]|\d\d?|<[^>]*>)/g,m=/\$([$&'`]|\d\d?)/g;r("replace",2,(function(t,e,n,r){var v=r.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,g=r.REPLACE_KEEPS_$0,y=v?"$":"$0";return[function(n,r){var o=l(this),i=null==n?void 0:n[t];return void 0!==i?i.call(n,o,r):e.call(String(o),n,r)},function(t,r){if(!v&&g||"string"==typeof r&&-1===r.indexOf(y)){var i=n(e,t,this,r);if(i.done)return i.value}var l=o(t),d=String(this),h="function"==typeof r;h||(r=String(r));var m=l.global;if(m){var b=l.unicode;l.lastIndex=0}for(var C=[];;){var w=c(l,d);if(null===w)break;if(C.push(w),!m)break;""===String(w[0])&&(l.lastIndex=u(d,a(l.lastIndex),b))}for(var x,_="",S=0,k=0;k<C.length;k++){w=C[k];for(var E=String(w[0]),O=p(f(s(w.index),d.length),0),j=[],T=1;T<w.length;T++)j.push(void 0===(x=w[T])?x:String(x));var B=w.groups;if(h){var N=[E].concat(j,O,d);void 0!==B&&N.push(B);var P=String(r.apply(void 0,N))}else P=A(E,d,O,j,B,r);O>=S&&(_+=d.slice(S,O)+P,S=O+E.length)}return _+d.slice(S)}];function A(t,n,r,o,a,s){var l=r+t.length,u=o.length,c=m;return void 0!==a&&(a=i(a),c=h),e.call(s,c,(function(e,i){var s;switch(i.charAt(0)){case"$":return"$";case"&":return t;case"`":return n.slice(0,r);case"'":return n.slice(l);case"<":s=a[i.slice(1,-1)];break;default:var c=+i;if(0===c)return e;if(c>u){var p=d(c/10);return 0===p?e:p<=u?void 0===o[p-1]?i.charAt(1):o[p-1]+i.charAt(1):e}s=o[c-1]}return void 0===s?"":s}))}}))},4747:(t,e,n)=>{var r=n(7854),o=n(8324),i=n(8533),a=n(8880);for(var s in o){var l=r[s],u=l&&l.prototype;if(u&&u.forEach!==i)try{a(u,"forEach",i)}catch(t){u.forEach=i}}},3948:(t,e,n)=>{var r=n(7854),o=n(8324),i=n(6992),a=n(8880),s=n(5112),l=s("iterator"),u=s("toStringTag"),c=i.values;for(var p in o){var f=r[p],d=f&&f.prototype;if(d){if(d[l]!==c)try{a(d,l,c)}catch(t){d[l]=c}if(d[u]||a(d,u,p),o[p])for(var h in i)if(d[h]!==i[h])try{a(d,h,i[h])}catch(t){d[h]=i[h]}}}},6060:(t,e,n)=>{"use strict";n.d(e,{Z:()=>s});var r=n(7537),o=n.n(r),i=n(3645),a=n.n(i)()(o());a.push([t.id,"#firstrunwizard .page{display:flex;flex-direction:row;flex-wrap:wrap;margin:auto}#firstrunwizard .page h3{margin:10px 0 10px;line-height:120%;padding:0}#firstrunwizard .page .image{padding:20px;max-width:calc(50% - 40px);flex-grow:1}#firstrunwizard .page .image img{width:100%}#firstrunwizard .page .content{padding:20px;width:100%}#firstrunwizard .page p{margin-bottom:20px}#firstrunwizard .page .description-block:first-child{margin-bottom:20px}#firstrunwizard .page .description{margin:20px;width:auto;flex-grow:1;max-width:calc(50% - 40px)}#firstrunwizard .page ul{margin:10px}#firstrunwizard .page ul li{margin-left:20px;margin-bottom:10px;list-style:circle outside}#firstrunwizard .page a:not(.button):hover,#firstrunwizard .page a:not(.button):focus{text-decoration:underline}#firstrunwizard .page .button{display:inline-block}#firstrunwizard .page .button img{width:16px;height:16px;opacity:.5;margin-top:-3px;vertical-align:middle}#firstrunwizard .content-clients{width:100%;text-align:center}#firstrunwizard .content-clients a{text-decoration:none;display:inline-block}#firstrunwizard .content-clients .clientslinks .appsmall{height:32px;width:32px;position:relative;opacity:.5;vertical-align:middle}#firstrunwizard .content-clients .clientslinks .button{display:inline-block;padding:8px;font-weight:normal;font-size:14px}#firstrunwizard .content-final h3{background-position:0;background-size:16px 16px;padding-left:26px;opacity:.7}#firstrunwizard p a{font-weight:bold;color:var(--color-primary)}#firstrunwizard p a:hover,#firstrunwizard p a:focus{color:var(color-text-light)}#firstrunwizard .footnote{margin-top:40px}#firstrunwizard .modal-wrapper .icon-next{background-color:var(--color-primary);color:var(--color-primary-text);box-shadow:0 2px 8px rgba(0,0,0,.33);left:22px}#firstrunwizard .modal-wrapper .icon-previous{background-color:var(--color-primary-light);color:var(--color-primary-light-text);box-shadow:0 2px 8px rgba(0,0,0,.33);left:22px}.clientslinks{margin-top:20px;margin-bottom:20px}#wizard-values{list-style-type:none;display:flex;flex-wrap:wrap;margin:0}#wizard-values li{display:block;min-width:250px;width:33%;flex-grow:1;margin:20px 0 20px 0}#wizard-values li span{opacity:.7;display:block;height:50px;width:50px;background-size:40px;margin:auto}#wizard-values li h3{margin:10px 0 10px 0;font-size:130%;text-align:center}.details-link{text-align:center}@media only screen and (max-width: 680px){#firstrunwizard .firstrunwizard-header div.logo{background-size:120px}#firstrunwizard h2{font-size:20px}#firstrunwizard .page>div{max-width:100% !important;width:100%}#firstrunwizard .page #wizard-values li{min-width:100%;overflow:hidden;display:flex}#firstrunwizard .page #wizard-values li span{width:44px !important;padding-right:20px;flex-grow:0}#firstrunwizard .page #wizard-values li h3{font-size:12px;text-align:left;flex-grow:1}#firstrunwizard .page.content-final{padding-bottom:50px}.modal-mask .modal-wrapper .next,.prev{top:220px;align-items:start !important}}","",{version:3,sources:["webpack://./src/App.vue"],names:[],mappings:"AA4CC,sBACC,YAAA,CACA,kBAAA,CACA,cAAA,CACA,WAAA,CAEA,yBACC,kBAAA,CACA,gBAAA,CACA,SAAA,CAED,6BACC,YAAA,CACA,0BAAA,CACA,WAAA,CACA,iCACC,UAAA,CAGF,+BACC,YAAA,CACA,UAAA,CAED,wBACC,kBAAA,CAED,qDACC,kBAAA,CAED,mCACC,WAAA,CACA,UAAA,CACA,WAAA,CACA,0BAAA,CAED,yBACC,WAAA,CACA,4BACC,gBAAA,CACA,kBAAA,CACA,yBAAA,CAID,sFAEC,yBAAA,CAGF,8BACC,oBAAA,CAEA,kCACC,UAAA,CACA,WAAA,CACA,UAAA,CACA,eAAA,CACA,qBAAA,CAKH,iCACC,UAAA,CACA,iBAAA,CACA,mCACC,oBAAA,CACA,oBAAA,CAED,yDACC,WAAA,CACA,UAAA,CACA,iBAAA,CACA,UAAA,CACA,qBAAA,CAED,uDACC,oBAAA,CACA,WAAA,CACA,kBAAA,CACA,cAAA,CAID,kCACC,qBAAA,CACA,yBAAA,CACA,iBAAA,CACA,UAAA,CAGF,oBACC,gBAAA,CACA,0BAAA,CACA,oDAEC,2BAAA,CAIF,0BACC,eAAA,CAKA,0CACC,qCAAA,CACA,+BAAA,CACA,oCAAA,CACA,SAAA,CAGD,8CACC,2CAAA,CACA,qCAAA,CACA,oCAAA,CACA,SAAA,CAKH,cACC,eAAA,CACA,kBAAA,CAGD,eACC,oBAAA,CACA,YAAA,CACA,cAAA,CACA,QAAA,CACA,kBACC,aAAA,CACA,eAAA,CACA,SAAA,CACA,WAAA,CACA,oBAAA,CACA,uBACC,UAAA,CACA,aAAA,CACA,WAAA,CACA,UAAA,CACA,oBAAA,CACA,WAAA,CAED,qBACC,oBAAA,CACA,cAAA,CACA,iBAAA,CAKH,cACC,iBAAA,CAGD,0CAEE,gDACC,qBAAA,CAED,mBACC,cAAA,CAED,0BACC,yBAAA,CACA,UAAA,CAGA,wCACC,cAAA,CACA,eAAA,CACA,YAAA,CACA,6CACC,qBAAA,CACA,kBAAA,CACA,WAAA,CAED,2CACC,cAAA,CACA,eAAA,CACA,WAAA,CAIF,oCACC,mBAAA,CAKH,uCACC,SAAA,CACA,4BAAA,CAAA",sourcesContent:["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/* Page styling needs to be unscoped, since we load it separately from the server */\n#firstrunwizard {\n\n\t.page {\n\t\tdisplay: flex;\n\t\tflex-direction: row;\n\t\tflex-wrap: wrap;\n\t\tmargin: auto;\n\n\t\th3 {\n\t\t\tmargin: 10px 0 10px;\n\t\t\tline-height: 120%;\n\t\t\tpadding: 0;\n\t\t}\n\t\t.image {\n\t\t\tpadding: 20px;\n\t\t\tmax-width: calc(50% - 40px);\n\t\t\tflex-grow: 1;\n\t\t\timg {\n\t\t\t\twidth: 100%;\n\t\t\t}\n\t\t}\n\t\t.content {\n\t\t\tpadding: 20px;\n\t\t\twidth: 100%;\n\t\t}\n\t\tp {\n\t\t\tmargin-bottom: 20px;\n\t\t}\n\t\t.description-block:first-child {\n\t\t\tmargin-bottom: 20px;\n\t\t}\n\t\t.description {\n\t\t\tmargin: 20px;\n\t\t\twidth: auto;\n\t\t\tflex-grow: 1;\n\t\t\tmax-width: calc(50% - 40px);\n\t\t}\n\t\tul {\n\t\t\tmargin: 10px;\n\t\t\tli {\n\t\t\t\tmargin-left: 20px;\n\t\t\t\tmargin-bottom: 10px;\n\t\t\t\tlist-style: circle outside;\n\t\t\t}\n\t\t}\n\t\ta:not(.button) {\n\t\t\t&:hover,\n\t\t\t&:focus {\n\t\t\t\ttext-decoration: underline;\n\t\t\t}\n\t\t}\n\t\t.button {\n\t\t\tdisplay: inline-block;\n\n\t\t\timg {\n\t\t\t\twidth: 16px;\n\t\t\t\theight: 16px;\n\t\t\t\topacity: .5;\n\t\t\t\tmargin-top: -3px;\n\t\t\t\tvertical-align: middle;\n\t\t\t}\n\t\t}\n\t}\n\n\t.content-clients {\n\t\twidth: 100%;\n\t\ttext-align: center;\n\t\ta {\n\t\t\ttext-decoration: none;\n\t\t\tdisplay: inline-block;\n\t\t}\n\t\t.clientslinks .appsmall {\n\t\t\theight: 32px;\n\t\t\twidth: 32px;\n\t\t\tposition: relative;\n\t\t\topacity: .5;\n\t\t\tvertical-align: middle;\n\t\t}\n\t\t.clientslinks .button {\n\t\t\tdisplay: inline-block;\n\t\t\tpadding: 8px;\n\t\t\tfont-weight: normal;\n\t\t\tfont-size: 14px;\n\t\t}\n\t}\n\t.content-final {\n\t\th3 {\n\t\t\tbackground-position: 0;\n\t\t\tbackground-size: 16px 16px;\n\t\t\tpadding-left: 26px;\n\t\t\topacity: .7;\n\t\t}\n\t}\n\tp a {\n\t\tfont-weight: bold;\n\t\tcolor: var(--color-primary);\n\t\t&:hover,\n\t\t&:focus {\n\t\t\tcolor: var(color-text-light);\n\t\t}\n\t}\n\n\t.footnote {\n\t\tmargin-top: 40px;\n\t}\n\n\t// primary on next button\n\t.modal-wrapper {\n\t\t.icon-next {\n\t\t\tbackground-color: var(--color-primary);\n\t\t\tcolor: var(--color-primary-text);\n\t\t\tbox-shadow: 0 2px 8px rgba(0, 0, 0, .33);\n\t\t\tleft: 22px;\n\t\t}\n\n\t\t.icon-previous {\n\t\t\tbackground-color: var(--color-primary-light);\n\t\t\tcolor: var(--color-primary-light-text);\n\t\t\tbox-shadow: 0 2px 8px rgba(0, 0, 0, .33);\n\t\t\tleft: 22px;\n\t\t}\n\t}\n}\n\n.clientslinks {\n\tmargin-top: 20px;\n\tmargin-bottom: 20px;\n}\n\n#wizard-values {\n\tlist-style-type: none;\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\tmargin: 0;\n\tli {\n\t\tdisplay: block;\n\t\tmin-width: 250px;\n\t\twidth: 33%;\n\t\tflex-grow: 1;\n\t\tmargin: 20px 0 20px 0;\n\t\tspan {\n\t\t\topacity: .7;\n\t\t\tdisplay: block;\n\t\t\theight: 50px;\n\t\t\twidth: 50px;\n\t\t\tbackground-size: 40px;\n\t\t\tmargin: auto;\n\t\t}\n\t\th3 {\n\t\t\tmargin: 10px 0 10px 0;\n\t\t\tfont-size: 130%;\n\t\t\ttext-align: center;\n\t\t}\n\t}\n}\n\n.details-link {\n\ttext-align: center;\n}\n\n@media only screen and (max-width: 680px) {\n\t#firstrunwizard {\n\t\t.firstrunwizard-header div.logo {\n\t\t\tbackground-size: 120px;\n\t\t}\n\t\th2 {\n\t\t\tfont-size: 20px;\n\t\t}\n\t\t.page > div {\n\t\t\tmax-width: 100% !important;\n\t\t\twidth: 100%;\n\t\t}\n\t\t.page {\n\t\t\t#wizard-values li {\n\t\t\t\tmin-width: 100%;\n\t\t\t\toverflow: hidden;\n\t\t\t\tdisplay: flex;\n\t\t\t\tspan {\n\t\t\t\t\twidth: 44px !important;\n\t\t\t\t\tpadding-right: 20px;\n\t\t\t\t\tflex-grow: 0;\n\t\t\t\t}\n\t\t\t\th3 {\n\t\t\t\t\tfont-size: 12px;\n\t\t\t\t\ttext-align: left;\n\t\t\t\t\tflex-grow: 1;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t&.content-final {\n\t\t\t\tpadding-bottom: 50px;\n\t\t\t}\n\t\t}\n\t}\n\t// fix button position on mobile (so that they don't overlap with text)\n\t.modal-mask .modal-wrapper .next, .prev {\n\t\ttop: 220px;\n\t\talign-items: start !important;\n\t}\n}\n"],sourceRoot:""}]);const s=a},4165:(t,e,n)=>{"use strict";n.d(e,{Z:()=>s});var r=n(7537),o=n.n(r),i=n(3645),a=n.n(i)()(o());a.push([t.id,".modal-mask[data-v-e75b1dfa]{background-color:rgba(0,0,0,.7)}.modal-mask[data-v-e75b1dfa] .modal-wrapper{position:relative}.modal-mask[data-v-e75b1dfa] .modal-container{display:flex;flex-direction:column;position:relative}.modal-mask .modal-body[data-v-e75b1dfa]{flex-grow:1;display:flex;overflow-x:hidden;overflow-y:auto}.modal-mask .modal-body>div[data-v-e75b1dfa]{display:flex;flex-grow:1;align-items:center;justify-content:center}.modal-header[data-v-e75b1dfa]{flex-shrink:0}.modal-header .firstrunwizard-header[data-v-e75b1dfa]{padding:20px 12px;background:var(--color-primary) var(--image-login-background) no-repeat 50% 50%;background-size:cover;color:var(--color-primary-text);text-align:center}.modal-header .firstrunwizard-header .logo[data-v-e75b1dfa]{background:var(--image-logo) no-repeat center;background-size:contain;width:175px;height:100px;max-height:20vh;margin:0 auto}.modal-header .firstrunwizard-header h2[data-v-e75b1dfa]{font-size:20px;margin-top:7px;line-height:150%;color:var(--color-primary-text);font-weight:300;padding:0 0 10px}.modal-default-button[data-v-e75b1dfa]{align-self:flex-end}.modal-footer[data-v-e75b1dfa]{overflow:hidden;position:absolute;display:flex;bottom:0;right:0}.modal-footer button[data-v-e75b1dfa]{margin:10px}.next-enter-active[data-v-e75b1dfa],.next-leave-active[data-v-e75b1dfa],.previous-enter-active[data-v-e75b1dfa],.previous-leave-active[data-v-e75b1dfa]{transition:transform .1s,opacity .25s}.next-enter[data-v-e75b1dfa]{transform:translateX(50%);opacity:0}.next-leave-to[data-v-e75b1dfa]{transform:translateX(-50%);opacity:0}.previous-enter[data-v-e75b1dfa]{transform:translateX(-50%);opacity:0}.previous-leave-to[data-v-e75b1dfa]{transform:translateX(50%);opacity:0}","",{version:3,sources:["webpack://./src/App.vue"],names:[],mappings:"AAqPA,6BACC,+BAAA,CAEA,4CACC,iBAAA,CAGD,8CACC,YAAA,CACA,qBAAA,CACA,iBAAA,CAGD,yCACC,WAAA,CACA,YAAA,CACA,iBAAA,CACA,eAAA,CAEA,6CACC,YAAA,CACA,WAAA,CACA,kBAAA,CACA,sBAAA,CAKH,+BACC,aAAA,CAEA,sDACC,iBAAA,CACA,+EAAA,CACA,qBAAA,CACA,+BAAA,CACA,iBAAA,CACA,4DACC,6CAAA,CACA,uBAAA,CACA,WAAA,CACA,YAAA,CACA,eAAA,CACA,aAAA,CAED,yDACC,cAAA,CACA,cAAA,CACA,gBAAA,CACA,+BAAA,CACA,eAAA,CACA,gBAAA,CAKH,uCACC,mBAAA,CAGD,+BACC,eAAA,CACA,iBAAA,CACA,YAAA,CACA,QAAA,CACA,OAAA,CAGD,sCACC,WAAA,CAID,wJAEC,qCAAA,CAGD,6BACC,yBAAA,CACA,SAAA,CAGD,gCACC,0BAAA,CACA,SAAA,CAGD,iCACC,0BAAA,CACA,SAAA,CAGD,oCACC,yBAAA,CACA,SAAA",sourcesContent:["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.modal-mask {\n\tbackground-color: rgba(0, 0, 0, 0.7);\n\n\t&::v-deep .modal-wrapper {\n\t\tposition: relative;\n\t}\n\n\t&::v-deep .modal-container {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tposition: relative;\n\t}\n\n\t.modal-body {\n\t\tflex-grow: 1;\n\t\tdisplay: flex;\n\t\toverflow-x: hidden;\n\t\toverflow-y: auto;\n\n\t\t& > div {\n\t\t\tdisplay: flex;\n\t\t\tflex-grow: 1;\n\t\t\talign-items: center;\n\t\t\tjustify-content: center;\n\t\t}\n\t}\n}\n\n.modal-header {\n\tflex-shrink: 0;\n\n\t.firstrunwizard-header {\n\t\tpadding: 20px 12px;\n\t\tbackground: var(--color-primary) var(--image-login-background) no-repeat 50% 50%;\n\t\tbackground-size: cover;\n\t\tcolor: var(--color-primary-text);\n\t\ttext-align: center;\n\t\t.logo {\n\t\t\tbackground: var(--image-logo) no-repeat center;\n\t\t\tbackground-size: contain;\n\t\t\twidth: 175px;\n\t\t\theight: 100px;\n\t\t\tmax-height: 20vh;\n\t\t\tmargin: 0 auto;\n\t\t}\n\t\th2 {\n\t\t\tfont-size: 20px;\n\t\t\tmargin-top: 7px;\n\t\t\tline-height: 150%;\n\t\t\tcolor: var(--color-primary-text);\n\t\t\tfont-weight: 300;\n\t\t\tpadding: 0 0 10px;\n\t\t}\n\t}\n}\n\n.modal-default-button {\n\talign-self: flex-end;\n}\n\n.modal-footer {\n\toverflow: hidden;\n\tposition: absolute;\n\tdisplay: flex;\n\tbottom: 0;\n\tright: 0;\n}\n\n.modal-footer button {\n\tmargin: 10px;\n}\n\n/* Transitions */\n.next-enter-active, .next-leave-active,\n.previous-enter-active, .previous-leave-active {\n\ttransition: transform .1s, opacity .25s;\n}\n\n.next-enter {\n\ttransform: translateX(50%);\n\topacity: 0;\n}\n\n.next-leave-to {\n\ttransform: translateX(-50%);\n\topacity: 0;\n}\n\n.previous-enter {\n\ttransform: translateX(-50%);\n\topacity: 0;\n}\n\n.previous-leave-to {\n\ttransform: translateX(50%);\n\topacity: 0;\n}\n"],sourceRoot:""}]);const s=a},3392:(t,e,n)=>{"use strict";n.d(e,{Z:()=>s});var r=n(7537),o=n.n(r),i=n(3645),a=n.n(i)()(o());a.push([t.id,"video[data-v-70de3a6e]{width:100%;height:100%;object-fit:cover}.video-wrapper[data-v-70de3a6e]{background-color:var(--color-primary)}","",{version:3,sources:["webpack://./src/components/IntroVideo.vue"],names:[],mappings:"AAuDA,uBACC,UAAA,CACA,WAAA,CACA,gBAAA,CAGD,gCACC,qCAAA",sourcesContent:["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvideo {\n\twidth: 100%;\n\theight: 100%;\n\tobject-fit: cover;\n}\n\n.video-wrapper {\n\tbackground-color: var(--color-primary);\n}\n"],sourceRoot:""}]);const s=a},3645:t=>{"use strict";t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var n="",r=void 0!==e[5];return e[4]&&(n+="@supports (".concat(e[4],") {")),e[2]&&(n+="@media ".concat(e[2]," {")),r&&(n+="@layer".concat(e[5].length>0?" ".concat(e[5]):""," {")),n+=t(e),r&&(n+="}"),e[2]&&(n+="}"),e[4]&&(n+="}"),n})).join("")},e.i=function(t,n,r,o,i){"string"==typeof t&&(t=[[null,t,void 0]]);var a={};if(r)for(var s=0;s<this.length;s++){var l=this[s][0];null!=l&&(a[l]=!0)}for(var u=0;u<t.length;u++){var c=[].concat(t[u]);r&&a[c[0]]||(void 0!==i&&(void 0===c[5]||(c[1]="@layer".concat(c[5].length>0?" ".concat(c[5]):""," {").concat(c[1],"}")),c[5]=i),n&&(c[2]?(c[1]="@media ".concat(c[2]," {").concat(c[1],"}"),c[2]=n):c[2]=n),o&&(c[4]?(c[1]="@supports (".concat(c[4],") {").concat(c[1],"}"),c[4]=o):c[4]="".concat(o)),e.push(c))}},e}},7537:t=>{"use strict";t.exports=function(t){var e=t[1],n=t[3];if(!n)return e;if("function"==typeof btoa){var r=btoa(unescape(encodeURIComponent(JSON.stringify(n)))),o="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(r),i="/*# ".concat(o," */"),a=n.sources.map((function(t){return"/*# sourceURL=".concat(n.sourceRoot||"").concat(t," */")}));return[e].concat(a).concat([i]).join("\n")}return[e].join("\n")}},4289:(t,e,n)=>{"use strict";var r=n(2215),o="function"==typeof Symbol&&"symbol"==typeof Symbol("foo"),i=Object.prototype.toString,a=Array.prototype.concat,s=Object.defineProperty,l=s&&function(){var t={};try{for(var e in s(t,"x",{enumerable:!1,value:t}),t)return!1;return t.x===t}catch(t){return!1}}(),u=function(t,e,n,r){var o;(!(e in t)||"function"==typeof(o=r)&&"[object Function]"===i.call(o)&&r())&&(l?s(t,e,{configurable:!0,enumerable:!1,value:n,writable:!0}):t[e]=n)},c=function(t,e){var n=arguments.length>2?arguments[2]:{},i=r(e);o&&(i=a.call(i,Object.getOwnPropertySymbols(e)));for(var s=0;s<i.length;s+=1)u(t,i[s],e[i[s]],n[i[s]])};c.supportsDescriptors=!!l,t.exports=c},4079:(t,e,n)=>{"use strict";var r=n(210)("%Object.getOwnPropertyDescriptor%",!0);if(r)try{r([],"length")}catch(t){r=null}t.exports=r},8091:t=>{"use strict";function e(t,e){if(null==t)throw new TypeError("Cannot convert first argument to object");for(var n=Object(t),r=1;r<arguments.length;r++){var o=arguments[r];if(null!=o)for(var i=Object.keys(Object(o)),a=0,s=i.length;a<s;a++){var l=i[a],u=Object.getOwnPropertyDescriptor(o,l);void 0!==u&&u.enumerable&&(n[l]=o[l])}}return n}t.exports={assign:e,polyfill:function(){Object.assign||Object.defineProperty(Object,"assign",{enumerable:!1,configurable:!0,writable:!0,value:e})}}},9804:t=>{var e=Object.prototype.hasOwnProperty,n=Object.prototype.toString;t.exports=function(t,r,o){if("[object Function]"!==n.call(r))throw new TypeError("iterator must be a function");var i=t.length;if(i===+i)for(var a=0;a<i;a++)r.call(o,t[a],a,t);else for(var s in t)e.call(t,s)&&r.call(o,t[s],s,t)}},7648:t=>{"use strict";var e="Function.prototype.bind called on incompatible ",n=Array.prototype.slice,r=Object.prototype.toString,o="[object Function]";t.exports=function(t){var i=this;if("function"!=typeof i||r.call(i)!==o)throw new TypeError(e+i);for(var a,s=n.call(arguments,1),l=function(){if(this instanceof a){var e=i.apply(this,s.concat(n.call(arguments)));return Object(e)===e?e:this}return i.apply(t,s.concat(n.call(arguments)))},u=Math.max(0,i.length-s.length),c=[],p=0;p<u;p++)c.push("$"+p);if(a=Function("binder","return function ("+c.join(",")+"){ return binder.apply(this,arguments); }")(l),i.prototype){var f=function(){};f.prototype=i.prototype,a.prototype=new f,f.prototype=null}return a}},8612:(t,e,n)=>{"use strict";var r=n(7648);t.exports=Function.prototype.bind||r},210:(t,e,n)=>{"use strict";var r,o=SyntaxError,i=Function,a=TypeError,s=function(t){try{return i('"use strict"; return ('+t+").constructor;")()}catch(t){}},l=Object.getOwnPropertyDescriptor;if(l)try{l({},"")}catch(t){l=null}var u=function(){throw new a},c=l?function(){try{return u}catch(t){try{return l(arguments,"callee").get}catch(t){return u}}}():u,p=n(1405)(),f=Object.getPrototypeOf||function(t){return t.__proto__},d={},h="undefined"==typeof Uint8Array?r:f(Uint8Array),m={"%AggregateError%":"undefined"==typeof AggregateError?r:AggregateError,"%Array%":Array,"%ArrayBuffer%":"undefined"==typeof ArrayBuffer?r:ArrayBuffer,"%ArrayIteratorPrototype%":p?f([][Symbol.iterator]()):r,"%AsyncFromSyncIteratorPrototype%":r,"%AsyncFunction%":d,"%AsyncGenerator%":d,"%AsyncGeneratorFunction%":d,"%AsyncIteratorPrototype%":d,"%Atomics%":"undefined"==typeof Atomics?r:Atomics,"%BigInt%":"undefined"==typeof BigInt?r:BigInt,"%Boolean%":Boolean,"%DataView%":"undefined"==typeof DataView?r:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":"undefined"==typeof Float32Array?r:Float32Array,"%Float64Array%":"undefined"==typeof Float64Array?r:Float64Array,"%FinalizationRegistry%":"undefined"==typeof FinalizationRegistry?r:FinalizationRegistry,"%Function%":i,"%GeneratorFunction%":d,"%Int8Array%":"undefined"==typeof Int8Array?r:Int8Array,"%Int16Array%":"undefined"==typeof Int16Array?r:Int16Array,"%Int32Array%":"undefined"==typeof Int32Array?r:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":p?f(f([][Symbol.iterator]())):r,"%JSON%":"object"==typeof JSON?JSON:r,"%Map%":"undefined"==typeof Map?r:Map,"%MapIteratorPrototype%":"undefined"!=typeof Map&&p?f((new Map)[Symbol.iterator]()):r,"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":"undefined"==typeof Promise?r:Promise,"%Proxy%":"undefined"==typeof Proxy?r:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":"undefined"==typeof Reflect?r:Reflect,"%RegExp%":RegExp,"%Set%":"undefined"==typeof Set?r:Set,"%SetIteratorPrototype%":"undefined"!=typeof Set&&p?f((new Set)[Symbol.iterator]()):r,"%SharedArrayBuffer%":"undefined"==typeof SharedArrayBuffer?r:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":p?f(""[Symbol.iterator]()):r,"%Symbol%":p?Symbol:r,"%SyntaxError%":o,"%ThrowTypeError%":c,"%TypedArray%":h,"%TypeError%":a,"%Uint8Array%":"undefined"==typeof Uint8Array?r:Uint8Array,"%Uint8ClampedArray%":"undefined"==typeof Uint8ClampedArray?r:Uint8ClampedArray,"%Uint16Array%":"undefined"==typeof Uint16Array?r:Uint16Array,"%Uint32Array%":"undefined"==typeof Uint32Array?r:Uint32Array,"%URIError%":URIError,"%WeakMap%":"undefined"==typeof WeakMap?r:WeakMap,"%WeakRef%":"undefined"==typeof WeakRef?r:WeakRef,"%WeakSet%":"undefined"==typeof WeakSet?r:WeakSet},v=function t(e){var n;if("%AsyncFunction%"===e)n=s("async function () {}");else if("%GeneratorFunction%"===e)n=s("function* () {}");else if("%AsyncGeneratorFunction%"===e)n=s("async function* () {}");else if("%AsyncGenerator%"===e){var r=t("%AsyncGeneratorFunction%");r&&(n=r.prototype)}else if("%AsyncIteratorPrototype%"===e){var o=t("%AsyncGenerator%");o&&(n=f(o.prototype))}return m[e]=n,n},g={"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},y=n(8612),A=n(7642),b=y.call(Function.call,Array.prototype.concat),C=y.call(Function.apply,Array.prototype.splice),w=y.call(Function.call,String.prototype.replace),x=y.call(Function.call,String.prototype.slice),_=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,S=/\\(\\)?/g,k=function(t){var e=x(t,0,1),n=x(t,-1);if("%"===e&&"%"!==n)throw new o("invalid intrinsic syntax, expected closing `%`");if("%"===n&&"%"!==e)throw new o("invalid intrinsic syntax, expected opening `%`");var r=[];return w(t,_,(function(t,e,n,o){r[r.length]=n?w(o,S,"$1"):e||t})),r},E=function(t,e){var n,r=t;if(A(g,r)&&(r="%"+(n=g[r])[0]+"%"),A(m,r)){var i=m[r];if(i===d&&(i=v(r)),void 0===i&&!e)throw new a("intrinsic "+t+" exists, but is not available. Please file an issue!");return{alias:n,name:r,value:i}}throw new o("intrinsic "+t+" does not exist!")};t.exports=function(t,e){if("string"!=typeof t||0===t.length)throw new a("intrinsic name must be a non-empty string");if(arguments.length>1&&"boolean"!=typeof e)throw new a('"allowMissing" argument must be a boolean');var n=k(t),r=n.length>0?n[0]:"",i=E("%"+r+"%",e),s=i.name,u=i.value,c=!1,p=i.alias;p&&(r=p[0],C(n,b([0,1],p)));for(var f=1,d=!0;f<n.length;f+=1){var h=n[f],v=x(h,0,1),g=x(h,-1);if(('"'===v||"'"===v||"`"===v||'"'===g||"'"===g||"`"===g)&&v!==g)throw new o("property names with quotes must have matching quotes");if("constructor"!==h&&d||(c=!0),A(m,s="%"+(r+="."+h)+"%"))u=m[s];else if(null!=u){if(!(h in u)){if(!e)throw new a("base intrinsic for "+t+" exists, but the property is not available.");return}if(l&&f+1>=n.length){var y=l(u,h);u=(d=!!y)&&"get"in y&&!("originalValue"in y.get)?y.get:u[h]}else d=A(u,h),u=u[h];d&&!c&&(m[s]=u)}}return u}},840:(t,e,n)=>{var r;!function(o,i,a,s){"use strict";var l,u=["","webkit","Moz","MS","ms","o"],c=i.createElement("div"),p=Math.round,f=Math.abs,d=Date.now;function h(t,e,n){return setTimeout(C(t,n),e)}function m(t,e,n){return!!Array.isArray(t)&&(v(t,n[e],n),!0)}function v(t,e,n){var r;if(t)if(t.forEach)t.forEach(e,n);else if(t.length!==s)for(r=0;r<t.length;)e.call(n,t[r],r,t),r++;else for(r in t)t.hasOwnProperty(r)&&e.call(n,t[r],r,t)}function g(t,e,n){var r="DEPRECATED METHOD: "+e+"\n"+n+" AT \n";return function(){var e=new Error("get-stack-trace"),n=e&&e.stack?e.stack.replace(/^[^\(]+?[\n$]/gm,"").replace(/^\s+at\s+/gm,"").replace(/^Object.<anonymous>\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",i=o.console&&(o.console.warn||o.console.log);return i&&i.call(o.console,r,n),t.apply(this,arguments)}}l="function"!=typeof Object.assign?function(t){if(t===s||null===t)throw new TypeError("Cannot convert undefined or null to object");for(var e=Object(t),n=1;n<arguments.length;n++){var r=arguments[n];if(r!==s&&null!==r)for(var o in r)r.hasOwnProperty(o)&&(e[o]=r[o])}return e}:Object.assign;var y=g((function(t,e,n){for(var r=Object.keys(e),o=0;o<r.length;)(!n||n&&t[r[o]]===s)&&(t[r[o]]=e[r[o]]),o++;return t}),"extend","Use `assign`."),A=g((function(t,e){return y(t,e,!0)}),"merge","Use `assign`.");function b(t,e,n){var r,o=e.prototype;(r=t.prototype=Object.create(o)).constructor=t,r._super=o,n&&l(r,n)}function C(t,e){return function(){return t.apply(e,arguments)}}function w(t,e){return"function"==typeof t?t.apply(e&&e[0]||s,e):t}function x(t,e){return t===s?e:t}function _(t,e,n){v(O(e),(function(e){t.addEventListener(e,n,!1)}))}function S(t,e,n){v(O(e),(function(e){t.removeEventListener(e,n,!1)}))}function k(t,e){for(;t;){if(t==e)return!0;t=t.parentNode}return!1}function E(t,e){return t.indexOf(e)>-1}function O(t){return t.trim().split(/\s+/g)}function j(t,e,n){if(t.indexOf&&!n)return t.indexOf(e);for(var r=0;r<t.length;){if(n&&t[r][n]==e||!n&&t[r]===e)return r;r++}return-1}function T(t){return Array.prototype.slice.call(t,0)}function B(t,e,n){for(var r=[],o=[],i=0;i<t.length;){var a=e?t[i][e]:t[i];j(o,a)<0&&r.push(t[i]),o[i]=a,i++}return n&&(r=e?r.sort((function(t,n){return t[e]>n[e]})):r.sort()),r}function N(t,e){for(var n,r,o=e[0].toUpperCase()+e.slice(1),i=0;i<u.length;){if((r=(n=u[i])?n+o:e)in t)return r;i++}return s}var P=1;function $(t){var e=t.ownerDocument||t;return e.defaultView||e.parentWindow||o}var I="ontouchstart"in o,z=N(o,"PointerEvent")!==s,F=I&&/mobile|tablet|ip(ad|hone|od)|android/i.test(navigator.userAgent),D="touch",L="mouse",R=24,M=["x","y"],U=["clientX","clientY"];function G(t,e){var n=this;this.manager=t,this.callback=e,this.element=t.element,this.target=t.options.inputTarget,this.domHandler=function(e){w(t.options.enable,[t])&&n.handler(e)},this.init()}function q(t,e,n){var r=n.pointers.length,o=n.changedPointers.length,i=1&e&&r-o==0,a=12&e&&r-o==0;n.isFirst=!!i,n.isFinal=!!a,i&&(t.session={}),n.eventType=e,function(t,e){var n=t.session,r=e.pointers,o=r.length;n.firstInput||(n.firstInput=V(e));o>1&&!n.firstMultiple?n.firstMultiple=V(e):1===o&&(n.firstMultiple=!1);var i=n.firstInput,a=n.firstMultiple,l=a?a.center:i.center,u=e.center=W(r);e.timeStamp=d(),e.deltaTime=e.timeStamp-i.timeStamp,e.angle=X(l,u),e.distance=K(l,u),function(t,e){var n=e.center,r=t.offsetDelta||{},o=t.prevDelta||{},i=t.prevInput||{};1!==e.eventType&&4!==i.eventType||(o=t.prevDelta={x:i.deltaX||0,y:i.deltaY||0},r=t.offsetDelta={x:n.x,y:n.y});e.deltaX=o.x+(n.x-r.x),e.deltaY=o.y+(n.y-r.y)}(n,e),e.offsetDirection=Y(e.deltaX,e.deltaY);var c=H(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=c.x,e.overallVelocityY=c.y,e.overallVelocity=f(c.x)>f(c.y)?c.x:c.y,e.scale=a?(p=a.pointers,h=r,K(h[0],h[1],U)/K(p[0],p[1],U)):1,e.rotation=a?function(t,e){return X(e[1],e[0],U)+X(t[1],t[0],U)}(a.pointers,r):0,e.maxPointers=n.prevInput?e.pointers.length>n.prevInput.maxPointers?e.pointers.length:n.prevInput.maxPointers:e.pointers.length,function(t,e){var n,r,o,i,a=t.lastInterval||e,l=e.timeStamp-a.timeStamp;if(8!=e.eventType&&(l>25||a.velocity===s)){var u=e.deltaX-a.deltaX,c=e.deltaY-a.deltaY,p=H(l,u,c);r=p.x,o=p.y,n=f(p.x)>f(p.y)?p.x:p.y,i=Y(u,c),t.lastInterval=e}else n=a.velocity,r=a.velocityX,o=a.velocityY,i=a.direction;e.velocity=n,e.velocityX=r,e.velocityY=o,e.direction=i}(n,e);var p,h;var m=t.element;k(e.srcEvent.target,m)&&(m=e.srcEvent.target);e.target=m}(t,n),t.emit("hammer.input",n),t.recognize(n),t.session.prevInput=n}function V(t){for(var e=[],n=0;n<t.pointers.length;)e[n]={clientX:p(t.pointers[n].clientX),clientY:p(t.pointers[n].clientY)},n++;return{timeStamp:d(),pointers:e,center:W(e),deltaX:t.deltaX,deltaY:t.deltaY}}function W(t){var e=t.length;if(1===e)return{x:p(t[0].clientX),y:p(t[0].clientY)};for(var n=0,r=0,o=0;o<e;)n+=t[o].clientX,r+=t[o].clientY,o++;return{x:p(n/e),y:p(r/e)}}function H(t,e,n){return{x:e/t||0,y:n/t||0}}function Y(t,e){return t===e?1:f(t)>=f(e)?t<0?2:4:e<0?8:16}function K(t,e,n){n||(n=M);var r=e[n[0]]-t[n[0]],o=e[n[1]]-t[n[1]];return Math.sqrt(r*r+o*o)}function X(t,e,n){n||(n=M);var r=e[n[0]]-t[n[0]],o=e[n[1]]-t[n[1]];return 180*Math.atan2(o,r)/Math.PI}G.prototype={handler:function(){},init:function(){this.evEl&&_(this.element,this.evEl,this.domHandler),this.evTarget&&_(this.target,this.evTarget,this.domHandler),this.evWin&&_($(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&S(this.element,this.evEl,this.domHandler),this.evTarget&&S(this.target,this.evTarget,this.domHandler),this.evWin&&S($(this.element),this.evWin,this.domHandler)}};var Z={mousedown:1,mousemove:2,mouseup:4},J="mousedown",Q="mousemove mouseup";function tt(){this.evEl=J,this.evWin=Q,this.pressed=!1,G.apply(this,arguments)}b(tt,G,{handler:function(t){var e=Z[t.type];1&e&&0===t.button&&(this.pressed=!0),2&e&&1!==t.which&&(e=4),this.pressed&&(4&e&&(this.pressed=!1),this.callback(this.manager,e,{pointers:[t],changedPointers:[t],pointerType:L,srcEvent:t}))}});var et={pointerdown:1,pointermove:2,pointerup:4,pointercancel:8,pointerout:8},nt={2:D,3:"pen",4:L,5:"kinect"},rt="pointerdown",ot="pointermove pointerup pointercancel";function it(){this.evEl=rt,this.evWin=ot,G.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}o.MSPointerEvent&&!o.PointerEvent&&(rt="MSPointerDown",ot="MSPointerMove MSPointerUp MSPointerCancel"),b(it,G,{handler:function(t){var e=this.store,n=!1,r=t.type.toLowerCase().replace("ms",""),o=et[r],i=nt[t.pointerType]||t.pointerType,a=i==D,s=j(e,t.pointerId,"pointerId");1&o&&(0===t.button||a)?s<0&&(e.push(t),s=e.length-1):12&o&&(n=!0),s<0||(e[s]=t,this.callback(this.manager,o,{pointers:e,changedPointers:[t],pointerType:i,srcEvent:t}),n&&e.splice(s,1))}});var at={touchstart:1,touchmove:2,touchend:4,touchcancel:8},st="touchstart",lt="touchstart touchmove touchend touchcancel";function ut(){this.evTarget=st,this.evWin=lt,this.started=!1,G.apply(this,arguments)}function ct(t,e){var n=T(t.touches),r=T(t.changedTouches);return 12&e&&(n=B(n.concat(r),"identifier",!0)),[n,r]}b(ut,G,{handler:function(t){var e=at[t.type];if(1===e&&(this.started=!0),this.started){var n=ct.call(this,t,e);12&e&&n[0].length-n[1].length==0&&(this.started=!1),this.callback(this.manager,e,{pointers:n[0],changedPointers:n[1],pointerType:D,srcEvent:t})}}});var pt={touchstart:1,touchmove:2,touchend:4,touchcancel:8},ft="touchstart touchmove touchend touchcancel";function dt(){this.evTarget=ft,this.targetIds={},G.apply(this,arguments)}function ht(t,e){var n=T(t.touches),r=this.targetIds;if(3&e&&1===n.length)return r[n[0].identifier]=!0,[n,n];var o,i,a=T(t.changedTouches),s=[],l=this.target;if(i=n.filter((function(t){return k(t.target,l)})),1===e)for(o=0;o<i.length;)r[i[o].identifier]=!0,o++;for(o=0;o<a.length;)r[a[o].identifier]&&s.push(a[o]),12&e&&delete r[a[o].identifier],o++;return s.length?[B(i.concat(s),"identifier",!0),s]:void 0}b(dt,G,{handler:function(t){var e=pt[t.type],n=ht.call(this,t,e);n&&this.callback(this.manager,e,{pointers:n[0],changedPointers:n[1],pointerType:D,srcEvent:t})}});function mt(){G.apply(this,arguments);var t=C(this.handler,this);this.touch=new dt(this.manager,t),this.mouse=new tt(this.manager,t),this.primaryTouch=null,this.lastTouches=[]}function vt(t,e){1&t?(this.primaryTouch=e.changedPointers[0].identifier,gt.call(this,e)):12&t&&gt.call(this,e)}function gt(t){var e=t.changedPointers[0];if(e.identifier===this.primaryTouch){var n={x:e.clientX,y:e.clientY};this.lastTouches.push(n);var r=this.lastTouches;setTimeout((function(){var t=r.indexOf(n);t>-1&&r.splice(t,1)}),2500)}}function yt(t){for(var e=t.srcEvent.clientX,n=t.srcEvent.clientY,r=0;r<this.lastTouches.length;r++){var o=this.lastTouches[r],i=Math.abs(e-o.x),a=Math.abs(n-o.y);if(i<=25&&a<=25)return!0}return!1}b(mt,G,{handler:function(t,e,n){var r=n.pointerType==D,o=n.pointerType==L;if(!(o&&n.sourceCapabilities&&n.sourceCapabilities.firesTouchEvents)){if(r)vt.call(this,e,n);else if(o&&yt.call(this,n))return;this.callback(t,e,n)}},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});var At=N(c.style,"touchAction"),bt=At!==s,Ct="compute",wt="auto",xt="manipulation",_t="none",St="pan-x",kt="pan-y",Et=function(){if(!bt)return!1;var t={},e=o.CSS&&o.CSS.supports;return["auto","manipulation","pan-y","pan-x","pan-x pan-y","none"].forEach((function(n){t[n]=!e||o.CSS.supports("touch-action",n)})),t}();function Ot(t,e){this.manager=t,this.set(e)}Ot.prototype={set:function(t){t==Ct&&(t=this.compute()),bt&&this.manager.element.style&&Et[t]&&(this.manager.element.style[At]=t),this.actions=t.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var t=[];return v(this.manager.recognizers,(function(e){w(e.options.enable,[e])&&(t=t.concat(e.getTouchAction()))})),function(t){if(E(t,_t))return _t;var e=E(t,St),n=E(t,kt);if(e&&n)return _t;if(e||n)return e?St:kt;if(E(t,xt))return xt;return wt}(t.join(" "))},preventDefaults:function(t){var e=t.srcEvent,n=t.offsetDirection;if(this.manager.session.prevented)e.preventDefault();else{var r=this.actions,o=E(r,_t)&&!Et.none,i=E(r,kt)&&!Et["pan-y"],a=E(r,St)&&!Et["pan-x"];if(o){var s=1===t.pointers.length,l=t.distance<2,u=t.deltaTime<250;if(s&&l&&u)return}if(!a||!i)return o||i&&6&n||a&&n&R?this.preventSrc(e):void 0}},preventSrc:function(t){this.manager.session.prevented=!0,t.preventDefault()}};var jt=32;function Tt(t){this.options=l({},this.defaults,t||{}),this.id=P++,this.manager=null,this.options.enable=x(this.options.enable,!0),this.state=1,this.simultaneous={},this.requireFail=[]}function Bt(t){return 16&t?"cancel":8&t?"end":4&t?"move":2&t?"start":""}function Nt(t){return 16==t?"down":8==t?"up":2==t?"left":4==t?"right":""}function Pt(t,e){var n=e.manager;return n?n.get(t):t}function $t(){Tt.apply(this,arguments)}function It(){$t.apply(this,arguments),this.pX=null,this.pY=null}function zt(){$t.apply(this,arguments)}function Ft(){Tt.apply(this,arguments),this._timer=null,this._input=null}function Dt(){$t.apply(this,arguments)}function Lt(){$t.apply(this,arguments)}function Rt(){Tt.apply(this,arguments),this.pTime=!1,this.pCenter=!1,this._timer=null,this._input=null,this.count=0}function Mt(t,e){return(e=e||{}).recognizers=x(e.recognizers,Mt.defaults.preset),new Ut(t,e)}Tt.prototype={defaults:{},set:function(t){return l(this.options,t),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(t){if(m(t,"recognizeWith",this))return this;var e=this.simultaneous;return e[(t=Pt(t,this)).id]||(e[t.id]=t,t.recognizeWith(this)),this},dropRecognizeWith:function(t){return m(t,"dropRecognizeWith",this)||(t=Pt(t,this),delete this.simultaneous[t.id]),this},requireFailure:function(t){if(m(t,"requireFailure",this))return this;var e=this.requireFail;return-1===j(e,t=Pt(t,this))&&(e.push(t),t.requireFailure(this)),this},dropRequireFailure:function(t){if(m(t,"dropRequireFailure",this))return this;t=Pt(t,this);var e=j(this.requireFail,t);return e>-1&&this.requireFail.splice(e,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(t){return!!this.simultaneous[t.id]},emit:function(t){var e=this,n=this.state;function r(n){e.manager.emit(n,t)}n<8&&r(e.options.event+Bt(n)),r(e.options.event),t.additionalEvent&&r(t.additionalEvent),n>=8&&r(e.options.event+Bt(n))},tryEmit:function(t){if(this.canEmit())return this.emit(t);this.state=jt},canEmit:function(){for(var t=0;t<this.requireFail.length;){if(!(33&this.requireFail[t].state))return!1;t++}return!0},recognize:function(t){var e=l({},t);if(!w(this.options.enable,[this,e]))return this.reset(),void(this.state=jt);56&this.state&&(this.state=1),this.state=this.process(e),30&this.state&&this.tryEmit(e)},process:function(t){},getTouchAction:function(){},reset:function(){}},b($t,Tt,{defaults:{pointers:1},attrTest:function(t){var e=this.options.pointers;return 0===e||t.pointers.length===e},process:function(t){var e=this.state,n=t.eventType,r=6&e,o=this.attrTest(t);return r&&(8&n||!o)?16|e:r||o?4&n?8|e:2&e?4|e:2:jt}}),b(It,$t,{defaults:{event:"pan",threshold:10,pointers:1,direction:30},getTouchAction:function(){var t=this.options.direction,e=[];return 6&t&&e.push(kt),t&R&&e.push(St),e},directionTest:function(t){var e=this.options,n=!0,r=t.distance,o=t.direction,i=t.deltaX,a=t.deltaY;return o&e.direction||(6&e.direction?(o=0===i?1:i<0?2:4,n=i!=this.pX,r=Math.abs(t.deltaX)):(o=0===a?1:a<0?8:16,n=a!=this.pY,r=Math.abs(t.deltaY))),t.direction=o,n&&r>e.threshold&&o&e.direction},attrTest:function(t){return $t.prototype.attrTest.call(this,t)&&(2&this.state||!(2&this.state)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=Nt(t.direction);e&&(t.additionalEvent=this.options.event+e),this._super.emit.call(this,t)}}),b(zt,$t,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[_t]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||2&this.state)},emit:function(t){if(1!==t.scale){var e=t.scale<1?"in":"out";t.additionalEvent=this.options.event+e}this._super.emit.call(this,t)}}),b(Ft,Tt,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[wt]},process:function(t){var e=this.options,n=t.pointers.length===e.pointers,r=t.distance<e.threshold,o=t.deltaTime>e.time;if(this._input=t,!r||!n||12&t.eventType&&!o)this.reset();else if(1&t.eventType)this.reset(),this._timer=h((function(){this.state=8,this.tryEmit()}),e.time,this);else if(4&t.eventType)return 8;return jt},reset:function(){clearTimeout(this._timer)},emit:function(t){8===this.state&&(t&&4&t.eventType?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=d(),this.manager.emit(this.options.event,this._input)))}}),b(Dt,$t,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[_t]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||2&this.state)}}),b(Lt,$t,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:30,pointers:1},getTouchAction:function(){return It.prototype.getTouchAction.call(this)},attrTest:function(t){var e,n=this.options.direction;return 30&n?e=t.overallVelocity:6&n?e=t.overallVelocityX:n&R&&(e=t.overallVelocityY),this._super.attrTest.call(this,t)&&n&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&&f(e)>this.options.velocity&&4&t.eventType},emit:function(t){var e=Nt(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),b(Rt,Tt,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[xt]},process:function(t){var e=this.options,n=t.pointers.length===e.pointers,r=t.distance<e.threshold,o=t.deltaTime<e.time;if(this.reset(),1&t.eventType&&0===this.count)return this.failTimeout();if(r&&o&&n){if(4!=t.eventType)return this.failTimeout();var i=!this.pTime||t.timeStamp-this.pTime<e.interval,a=!this.pCenter||K(this.pCenter,t.center)<e.posThreshold;if(this.pTime=t.timeStamp,this.pCenter=t.center,a&&i?this.count+=1:this.count=1,this._input=t,0===this.count%e.taps)return this.hasRequireFailures()?(this._timer=h((function(){this.state=8,this.tryEmit()}),e.interval,this),2):8}return jt},failTimeout:function(){return this._timer=h((function(){this.state=jt}),this.options.interval,this),jt},reset:function(){clearTimeout(this._timer)},emit:function(){8==this.state&&(this._input.tapCount=this.count,this.manager.emit(this.options.event,this._input))}}),Mt.VERSION="2.0.7",Mt.defaults={domEvents:!1,touchAction:Ct,enable:!0,inputTarget:null,inputClass:null,preset:[[Dt,{enable:!1}],[zt,{enable:!1},["rotate"]],[Lt,{direction:6}],[It,{direction:6},["swipe"]],[Rt],[Rt,{event:"doubletap",taps:2},["tap"]],[Ft]],cssProps:{userSelect:"none",touchSelect:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}};function Ut(t,e){var n;this.options=l({},Mt.defaults,e||{}),this.options.inputTarget=this.options.inputTarget||t,this.handlers={},this.session={},this.recognizers=[],this.oldCssProps={},this.element=t,this.input=new((n=this).options.inputClass||(z?it:F?dt:I?mt:tt))(n,q),this.touchAction=new Ot(this,this.options.touchAction),Gt(this,!0),v(this.options.recognizers,(function(t){var e=this.add(new t[0](t[1]));t[2]&&e.recognizeWith(t[2]),t[3]&&e.requireFailure(t[3])}),this)}function Gt(t,e){var n,r=t.element;r.style&&(v(t.options.cssProps,(function(o,i){n=N(r.style,i),e?(t.oldCssProps[n]=r.style[n],r.style[n]=o):r.style[n]=t.oldCssProps[n]||""})),e||(t.oldCssProps={}))}Ut.prototype={set:function(t){return l(this.options,t),t.touchAction&&this.touchAction.update(),t.inputTarget&&(this.input.destroy(),this.input.target=t.inputTarget,this.input.init()),this},stop:function(t){this.session.stopped=t?2:1},recognize:function(t){var e=this.session;if(!e.stopped){var n;this.touchAction.preventDefaults(t);var r=this.recognizers,o=e.curRecognizer;(!o||o&&8&o.state)&&(o=e.curRecognizer=null);for(var i=0;i<r.length;)n=r[i],2===e.stopped||o&&n!=o&&!n.canRecognizeWith(o)?n.reset():n.recognize(t),!o&&14&n.state&&(o=e.curRecognizer=n),i++}},get:function(t){if(t instanceof Tt)return t;for(var e=this.recognizers,n=0;n<e.length;n++)if(e[n].options.event==t)return e[n];return null},add:function(t){if(m(t,"add",this))return this;var e=this.get(t.options.event);return e&&this.remove(e),this.recognizers.push(t),t.manager=this,this.touchAction.update(),t},remove:function(t){if(m(t,"remove",this))return this;if(t=this.get(t)){var e=this.recognizers,n=j(e,t);-1!==n&&(e.splice(n,1),this.touchAction.update())}return this},on:function(t,e){if(t!==s&&e!==s){var n=this.handlers;return v(O(t),(function(t){n[t]=n[t]||[],n[t].push(e)})),this}},off:function(t,e){if(t!==s){var n=this.handlers;return v(O(t),(function(t){e?n[t]&&n[t].splice(j(n[t],e),1):delete n[t]})),this}},emit:function(t,e){this.options.domEvents&&function(t,e){var n=i.createEvent("Event");n.initEvent(t,!0,!0),n.gesture=e,e.target.dispatchEvent(n)}(t,e);var n=this.handlers[t]&&this.handlers[t].slice();if(n&&n.length){e.type=t,e.preventDefault=function(){e.srcEvent.preventDefault()};for(var r=0;r<n.length;)n[r](e),r++}},destroy:function(){this.element&&Gt(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null}},l(Mt,{INPUT_START:1,INPUT_MOVE:2,INPUT_END:4,INPUT_CANCEL:8,STATE_POSSIBLE:1,STATE_BEGAN:2,STATE_CHANGED:4,STATE_ENDED:8,STATE_RECOGNIZED:8,STATE_CANCELLED:16,STATE_FAILED:jt,DIRECTION_NONE:1,DIRECTION_LEFT:2,DIRECTION_RIGHT:4,DIRECTION_UP:8,DIRECTION_DOWN:16,DIRECTION_HORIZONTAL:6,DIRECTION_VERTICAL:R,DIRECTION_ALL:30,Manager:Ut,Input:G,TouchAction:Ot,TouchInput:dt,MouseInput:tt,PointerEventInput:it,TouchMouseInput:mt,SingleTouchInput:ut,Recognizer:Tt,AttrRecognizer:$t,Tap:Rt,Pan:It,Swipe:Lt,Pinch:zt,Rotate:Dt,Press:Ft,on:_,off:S,each:v,merge:A,extend:y,assign:l,inherit:b,bindFn:C,prefixed:N}),(void 0!==o?o:"undefined"!=typeof self?self:{}).Hammer=Mt,(r=function(){return Mt}.call(e,n,e,t))===s||(t.exports=r)}(window,document)},1405:(t,e,n)=>{"use strict";var r="undefined"!=typeof Symbol&&Symbol,o=n(5419);t.exports=function(){return"function"==typeof r&&("function"==typeof Symbol&&("symbol"==typeof r("foo")&&("symbol"==typeof Symbol("bar")&&o())))}},5419:t=>{"use strict";t.exports=function(){if("function"!=typeof Symbol||"function"!=typeof Object.getOwnPropertySymbols)return!1;if("symbol"==typeof Symbol.iterator)return!0;var t={},e=Symbol("test"),n=Object(e);if("string"==typeof e)return!1;if("[object Symbol]"!==Object.prototype.toString.call(e))return!1;if("[object Symbol]"!==Object.prototype.toString.call(n))return!1;for(e in t[e]=42,t)return!1;if("function"==typeof Object.keys&&0!==Object.keys(t).length)return!1;if("function"==typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(t).length)return!1;var r=Object.getOwnPropertySymbols(t);if(1!==r.length||r[0]!==e)return!1;if(!Object.prototype.propertyIsEnumerable.call(t,e))return!1;if("function"==typeof Object.getOwnPropertyDescriptor){var o=Object.getOwnPropertyDescriptor(t,e);if(42!==o.value||!0!==o.enumerable)return!1}return!0}},6410:(t,e,n)=>{"use strict";var r=n(5419);t.exports=function(){return r()&&!!Symbol.toStringTag}},7642:(t,e,n)=>{"use strict";var r=n(8612);t.exports=r.call(Function.call,Object.prototype.hasOwnProperty)},2584:(t,e,n)=>{"use strict";var r=n(6410)(),o=n(1924)("Object.prototype.toString"),i=function(t){return!(r&&t&&"object"==typeof t&&Symbol.toStringTag in t)&&"[object Arguments]"===o(t)},a=function(t){return!!i(t)||null!==t&&"object"==typeof t&&"number"==typeof t.length&&t.length>=0&&"[object Array]"!==o(t)&&"[object Function]"===o(t.callee)},s=function(){return i(arguments)}();i.isLegacyArguments=a,t.exports=s?i:a},8662:(t,e,n)=>{"use strict";var r,o=Object.prototype.toString,i=Function.prototype.toString,a=/^\s*(?:function)?\*/,s=n(6410)(),l=Object.getPrototypeOf;t.exports=function(t){if("function"!=typeof t)return!1;if(a.test(i.call(t)))return!0;if(!s)return"[object GeneratorFunction]"===o.call(t);if(!l)return!1;if(void 0===r){var e=function(){if(!s)return!1;try{return Function("return function*() {}")()}catch(t){}}();r=!!e&&l(e)}return l(t)===r}},8611:t=>{"use strict";t.exports=function(t){return t!=t}},360:(t,e,n)=>{"use strict";var r=n(5559),o=n(4289),i=n(8611),a=n(9415),s=n(3194),l=r(a(),Number);o(l,{getPolyfill:a,implementation:i,shim:s}),t.exports=l},9415:(t,e,n)=>{"use strict";var r=n(8611);t.exports=function(){return Number.isNaN&&Number.isNaN(NaN)&&!Number.isNaN("a")?Number.isNaN:r}},3194:(t,e,n)=>{"use strict";var r=n(4289),o=n(9415);t.exports=function(){var t=o();return r(Number,{isNaN:t},{isNaN:function(){return Number.isNaN!==t}}),t}},5692:(t,e,n)=>{"use strict";var r=n(9804),o=n(6314),i=n(1924),a=i("Object.prototype.toString"),s=n(6410)(),l="undefined"==typeof globalThis?n.g:globalThis,u=o(),c=i("Array.prototype.indexOf",!0)||function(t,e){for(var n=0;n<t.length;n+=1)if(t[n]===e)return n;return-1},p=i("String.prototype.slice"),f={},d=n(4079),h=Object.getPrototypeOf;s&&d&&h&&r(u,(function(t){var e=new l[t];if(Symbol.toStringTag in e){var n=h(e),r=d(n,Symbol.toStringTag);if(!r){var o=h(n);r=d(o,Symbol.toStringTag)}f[t]=r.get}}));t.exports=function(t){if(!t||"object"!=typeof t)return!1;if(!s||!(Symbol.toStringTag in t)){var e=p(a(t),8,-1);return c(u,e)>-1}return!!d&&function(t){var e=!1;return r(f,(function(n,r){if(!e)try{e=n.call(t)===r}catch(t){}})),e}(t)}},9208:(t,e,n)=>{var r="__lodash_hash_undefined__",o="[object Function]",i="[object GeneratorFunction]",a=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,s=/^\w*$/,l=/^\./,u=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,c=/\\(\\)?/g,p=/^\[object .+?Constructor\]$/,f="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,d="object"==typeof self&&self&&self.Object===Object&&self,h=f||d||Function("return this")();var m,v=Array.prototype,g=Function.prototype,y=Object.prototype,A=h["__core-js_shared__"],b=(m=/[^.]+$/.exec(A&&A.keys&&A.keys.IE_PROTO||""))?"Symbol(src)_1."+m:"",C=g.toString,w=y.hasOwnProperty,x=y.toString,_=RegExp("^"+C.call(w).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),S=h.Symbol,k=v.splice,E=D(h,"Map"),O=D(Object,"create"),j=S?S.prototype:void 0,T=j?j.toString:void 0;function B(t){var e=-1,n=t?t.length:0;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function N(t){var e=-1,n=t?t.length:0;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function P(t){var e=-1,n=t?t.length:0;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function $(t,e){for(var n,r,o=t.length;o--;)if((n=t[o][0])===(r=e)||n!=n&&r!=r)return o;return-1}function I(t,e){var n;e=function(t,e){if(U(t))return!1;var n=typeof t;if("number"==n||"symbol"==n||"boolean"==n||null==t||q(t))return!0;return s.test(t)||!a.test(t)||null!=e&&t in Object(e)}(e,t)?[e]:U(n=e)?n:L(n);for(var r=0,o=e.length;null!=t&&r<o;)t=t[R(e[r++])];return r&&r==o?t:void 0}function z(t){if(!G(t)||(e=t,b&&b in e))return!1;var e,n=function(t){var e=G(t)?x.call(t):"";return e==o||e==i}(t)||function(t){var e=!1;if(null!=t&&"function"!=typeof t.toString)try{e=!!(t+"")}catch(t){}return e}(t)?_:p;return n.test(function(t){if(null!=t){try{return C.call(t)}catch(t){}try{return t+""}catch(t){}}return""}(t))}function F(t,e){var n,r,o=t.__data__;return("string"==(r=typeof(n=e))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?o["string"==typeof e?"string":"hash"]:o.map}function D(t,e){var n=function(t,e){return null==t?void 0:t[e]}(t,e);return z(n)?n:void 0}B.prototype.clear=function(){this.__data__=O?O(null):{}},B.prototype.delete=function(t){return this.has(t)&&delete this.__data__[t]},B.prototype.get=function(t){var e=this.__data__;if(O){var n=e[t];return n===r?void 0:n}return w.call(e,t)?e[t]:void 0},B.prototype.has=function(t){var e=this.__data__;return O?void 0!==e[t]:w.call(e,t)},B.prototype.set=function(t,e){return this.__data__[t]=O&&void 0===e?r:e,this},N.prototype.clear=function(){this.__data__=[]},N.prototype.delete=function(t){var e=this.__data__,n=$(e,t);return!(n<0)&&(n==e.length-1?e.pop():k.call(e,n,1),!0)},N.prototype.get=function(t){var e=this.__data__,n=$(e,t);return n<0?void 0:e[n][1]},N.prototype.has=function(t){return $(this.__data__,t)>-1},N.prototype.set=function(t,e){var n=this.__data__,r=$(n,t);return r<0?n.push([t,e]):n[r][1]=e,this},P.prototype.clear=function(){this.__data__={hash:new B,map:new(E||N),string:new B}},P.prototype.delete=function(t){return F(this,t).delete(t)},P.prototype.get=function(t){return F(this,t).get(t)},P.prototype.has=function(t){return F(this,t).has(t)},P.prototype.set=function(t,e){return F(this,t).set(t,e),this};var L=M((function(t){var e;t=null==(e=t)?"":function(t){if("string"==typeof t)return t;if(q(t))return T?T.call(t):"";var e=t+"";return"0"==e&&1/t==-1/0?"-0":e}(e);var n=[];return l.test(t)&&n.push(""),t.replace(u,(function(t,e,r,o){n.push(r?o.replace(c,"$1"):e||t)})),n}));function R(t){if("string"==typeof t||q(t))return t;var e=t+"";return"0"==e&&1/t==-1/0?"-0":e}function M(t,e){if("function"!=typeof t||e&&"function"!=typeof e)throw new TypeError("Expected a function");var n=function(){var r=arguments,o=e?e.apply(this,r):r[0],i=n.cache;if(i.has(o))return i.get(o);var a=t.apply(this,r);return n.cache=i.set(o,a),a};return n.cache=new(M.Cache||P),n}M.Cache=P;var U=Array.isArray;function G(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function q(t){return"symbol"==typeof t||function(t){return!!t&&"object"==typeof t}(t)&&"[object Symbol]"==x.call(t)}t.exports=function(t,e,n){var r=null==t?void 0:I(t,e);return void 0===r?n:r}},8552:(t,e,n)=>{var r=n(852)(n(5639),"DataView");t.exports=r},1989:(t,e,n)=>{var r=n(1789),o=n(401),i=n(7667),a=n(1327),s=n(1866);function l(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}l.prototype.clear=r,l.prototype.delete=o,l.prototype.get=i,l.prototype.has=a,l.prototype.set=s,t.exports=l},8407:(t,e,n)=>{var r=n(7040),o=n(4125),i=n(2117),a=n(7518),s=n(3399);function l(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}l.prototype.clear=r,l.prototype.delete=o,l.prototype.get=i,l.prototype.has=a,l.prototype.set=s,t.exports=l},7071:(t,e,n)=>{var r=n(852)(n(5639),"Map");t.exports=r},3369:(t,e,n)=>{var r=n(4785),o=n(1285),i=n(6e3),a=n(9916),s=n(5265);function l(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}l.prototype.clear=r,l.prototype.delete=o,l.prototype.get=i,l.prototype.has=a,l.prototype.set=s,t.exports=l},3818:(t,e,n)=>{var r=n(852)(n(5639),"Promise");t.exports=r},8525:(t,e,n)=>{var r=n(852)(n(5639),"Set");t.exports=r},8668:(t,e,n)=>{var r=n(3369),o=n(619),i=n(2385);function a(t){var e=-1,n=null==t?0:t.length;for(this.__data__=new r;++e<n;)this.add(t[e])}a.prototype.add=a.prototype.push=o,a.prototype.has=i,t.exports=a},6384:(t,e,n)=>{var r=n(8407),o=n(7465),i=n(3779),a=n(7599),s=n(4758),l=n(4309);function u(t){var e=this.__data__=new r(t);this.size=e.size}u.prototype.clear=o,u.prototype.delete=i,u.prototype.get=a,u.prototype.has=s,u.prototype.set=l,t.exports=u},2705:(t,e,n)=>{var r=n(5639).Symbol;t.exports=r},1149:(t,e,n)=>{var r=n(5639).Uint8Array;t.exports=r},577:(t,e,n)=>{var r=n(852)(n(5639),"WeakMap");t.exports=r},6874:t=>{t.exports=function(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}},4963:t=>{t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length,o=0,i=[];++n<r;){var a=t[n];e(a,n,t)&&(i[o++]=a)}return i}},4636:(t,e,n)=>{var r=n(2545),o=n(5694),i=n(1469),a=n(4144),s=n(5776),l=n(6719),u=Object.prototype.hasOwnProperty;t.exports=function(t,e){var n=i(t),c=!n&&o(t),p=!n&&!c&&a(t),f=!n&&!c&&!p&&l(t),d=n||c||p||f,h=d?r(t.length,String):[],m=h.length;for(var v in t)!e&&!u.call(t,v)||d&&("length"==v||p&&("offset"==v||"parent"==v)||f&&("buffer"==v||"byteLength"==v||"byteOffset"==v)||s(v,m))||h.push(v);return h}},2488:t=>{t.exports=function(t,e){for(var n=-1,r=e.length,o=t.length;++n<r;)t[o+n]=e[n];return t}},2908:t=>{t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length;++n<r;)if(e(t[n],n,t))return!0;return!1}},6556:(t,e,n)=>{var r=n(9465),o=n(7813);t.exports=function(t,e,n){(void 0!==n&&!o(t[e],n)||void 0===n&&!(e in t))&&r(t,e,n)}},4865:(t,e,n)=>{var r=n(9465),o=n(7813),i=Object.prototype.hasOwnProperty;t.exports=function(t,e,n){var a=t[e];i.call(t,e)&&o(a,n)&&(void 0!==n||e in t)||r(t,e,n)}},8470:(t,e,n)=>{var r=n(7813);t.exports=function(t,e){for(var n=t.length;n--;)if(r(t[n][0],e))return n;return-1}},9465:(t,e,n)=>{var r=n(8777);t.exports=function(t,e,n){"__proto__"==e&&r?r(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[e]=n}},3118:(t,e,n)=>{var r=n(3218),o=Object.create,i=function(){function t(){}return function(e){if(!r(e))return{};if(o)return o(e);t.prototype=e;var n=new t;return t.prototype=void 0,n}}();t.exports=i},8483:(t,e,n)=>{var r=n(5063)();t.exports=r},8866:(t,e,n)=>{var r=n(2488),o=n(1469);t.exports=function(t,e,n){var i=e(t);return o(t)?i:r(i,n(t))}},4239:(t,e,n)=>{var r=n(2705),o=n(9607),i=n(2333),a=r?r.toStringTag:void 0;t.exports=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":a&&a in Object(t)?o(t):i(t)}},9454:(t,e,n)=>{var r=n(4239),o=n(7005);t.exports=function(t){return o(t)&&"[object Arguments]"==r(t)}},939:(t,e,n)=>{var r=n(2492),o=n(7005);t.exports=function t(e,n,i,a,s){return e===n||(null==e||null==n||!o(e)&&!o(n)?e!=e&&n!=n:r(e,n,i,a,t,s))}},2492:(t,e,n)=>{var r=n(6384),o=n(7114),i=n(8351),a=n(6096),s=n(4160),l=n(1469),u=n(4144),c=n(6719),p="[object Arguments]",f="[object Array]",d="[object Object]",h=Object.prototype.hasOwnProperty;t.exports=function(t,e,n,m,v,g){var y=l(t),A=l(e),b=y?f:s(t),C=A?f:s(e),w=(b=b==p?d:b)==d,x=(C=C==p?d:C)==d,_=b==C;if(_&&u(t)){if(!u(e))return!1;y=!0,w=!1}if(_&&!w)return g||(g=new r),y||c(t)?o(t,e,n,m,v,g):i(t,e,b,n,m,v,g);if(!(1&n)){var S=w&&h.call(t,"__wrapped__"),k=x&&h.call(e,"__wrapped__");if(S||k){var E=S?t.value():t,O=k?e.value():e;return g||(g=new r),v(E,O,n,m,g)}}return!!_&&(g||(g=new r),a(t,e,n,m,v,g))}},8458:(t,e,n)=>{var r=n(3560),o=n(5346),i=n(3218),a=n(346),s=/^\[object .+?Constructor\]$/,l=Function.prototype,u=Object.prototype,c=l.toString,p=u.hasOwnProperty,f=RegExp("^"+c.call(p).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");t.exports=function(t){return!(!i(t)||o(t))&&(r(t)?f:s).test(a(t))}},8749:(t,e,n)=>{var r=n(4239),o=n(1780),i=n(7005),a={};a["[object Float32Array]"]=a["[object Float64Array]"]=a["[object Int8Array]"]=a["[object Int16Array]"]=a["[object Int32Array]"]=a["[object Uint8Array]"]=a["[object Uint8ClampedArray]"]=a["[object Uint16Array]"]=a["[object Uint32Array]"]=!0,a["[object Arguments]"]=a["[object Array]"]=a["[object ArrayBuffer]"]=a["[object Boolean]"]=a["[object DataView]"]=a["[object Date]"]=a["[object Error]"]=a["[object Function]"]=a["[object Map]"]=a["[object Number]"]=a["[object Object]"]=a["[object RegExp]"]=a["[object Set]"]=a["[object String]"]=a["[object WeakMap]"]=!1,t.exports=function(t){return i(t)&&o(t.length)&&!!a[r(t)]}},280:(t,e,n)=>{var r=n(5726),o=n(6916),i=Object.prototype.hasOwnProperty;t.exports=function(t){if(!r(t))return o(t);var e=[];for(var n in Object(t))i.call(t,n)&&"constructor"!=n&&e.push(n);return e}},313:(t,e,n)=>{var r=n(3218),o=n(5726),i=n(3498),a=Object.prototype.hasOwnProperty;t.exports=function(t){if(!r(t))return i(t);var e=o(t),n=[];for(var s in t)("constructor"!=s||!e&&a.call(t,s))&&n.push(s);return n}},2980:(t,e,n)=>{var r=n(6384),o=n(6556),i=n(8483),a=n(9783),s=n(3218),l=n(1704),u=n(6390);t.exports=function t(e,n,c,p,f){e!==n&&i(n,(function(i,l){if(f||(f=new r),s(i))a(e,n,l,c,t,p,f);else{var d=p?p(u(e,l),i,l+"",e,n,f):void 0;void 0===d&&(d=i),o(e,l,d)}}),l)}},9783:(t,e,n)=>{var r=n(6556),o=n(4626),i=n(7133),a=n(278),s=n(8517),l=n(5694),u=n(1469),c=n(9246),p=n(4144),f=n(3560),d=n(3218),h=n(8630),m=n(6719),v=n(6390),g=n(9881);t.exports=function(t,e,n,y,A,b,C){var w=v(t,n),x=v(e,n),_=C.get(x);if(_)r(t,n,_);else{var S=b?b(w,x,n+"",t,e,C):void 0,k=void 0===S;if(k){var E=u(x),O=!E&&p(x),j=!E&&!O&&m(x);S=x,E||O||j?u(w)?S=w:c(w)?S=a(w):O?(k=!1,S=o(x,!0)):j?(k=!1,S=i(x,!0)):S=[]:h(x)||l(x)?(S=w,l(w)?S=g(w):d(w)&&!f(w)||(S=s(x))):k=!1}k&&(C.set(x,S),A(S,x,y,b,C),C.delete(x)),r(t,n,S)}}},5976:(t,e,n)=>{var r=n(6557),o=n(5357),i=n(61);t.exports=function(t,e){return i(o(t,e,r),t+"")}},6560:(t,e,n)=>{var r=n(5703),o=n(8777),i=n(6557),a=o?function(t,e){return o(t,"toString",{configurable:!0,enumerable:!1,value:r(e),writable:!0})}:i;t.exports=a},2545:t=>{t.exports=function(t,e){for(var n=-1,r=Array(t);++n<t;)r[n]=e(n);return r}},1717:t=>{t.exports=function(t){return function(e){return t(e)}}},4757:t=>{t.exports=function(t,e){return t.has(e)}},4318:(t,e,n)=>{var r=n(1149);t.exports=function(t){var e=new t.constructor(t.byteLength);return new r(e).set(new r(t)),e}},4626:(t,e,n)=>{t=n.nmd(t);var r=n(5639),o=e&&!e.nodeType&&e,i=o&&t&&!t.nodeType&&t,a=i&&i.exports===o?r.Buffer:void 0,s=a?a.allocUnsafe:void 0;t.exports=function(t,e){if(e)return t.slice();var n=t.length,r=s?s(n):new t.constructor(n);return t.copy(r),r}},7133:(t,e,n)=>{var r=n(4318);t.exports=function(t,e){var n=e?r(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}},278:t=>{t.exports=function(t,e){var n=-1,r=t.length;for(e||(e=Array(r));++n<r;)e[n]=t[n];return e}},8363:(t,e,n)=>{var r=n(4865),o=n(9465);t.exports=function(t,e,n,i){var a=!n;n||(n={});for(var s=-1,l=e.length;++s<l;){var u=e[s],c=i?i(n[u],t[u],u,n,t):void 0;void 0===c&&(c=t[u]),a?o(n,u,c):r(n,u,c)}return n}},4429:(t,e,n)=>{var r=n(5639)["__core-js_shared__"];t.exports=r},1463:(t,e,n)=>{var r=n(5976),o=n(6612);t.exports=function(t){return r((function(e,n){var r=-1,i=n.length,a=i>1?n[i-1]:void 0,s=i>2?n[2]:void 0;for(a=t.length>3&&"function"==typeof a?(i--,a):void 0,s&&o(n[0],n[1],s)&&(a=i<3?void 0:a,i=1),e=Object(e);++r<i;){var l=n[r];l&&t(e,l,r,a)}return e}))}},5063:t=>{t.exports=function(t){return function(e,n,r){for(var o=-1,i=Object(e),a=r(e),s=a.length;s--;){var l=a[t?s:++o];if(!1===n(i[l],l,i))break}return e}}},8777:(t,e,n)=>{var r=n(852),o=function(){try{var t=r(Object,"defineProperty");return t({},"",{}),t}catch(t){}}();t.exports=o},7114:(t,e,n)=>{var r=n(8668),o=n(2908),i=n(4757);t.exports=function(t,e,n,a,s,l){var u=1&n,c=t.length,p=e.length;if(c!=p&&!(u&&p>c))return!1;var f=l.get(t),d=l.get(e);if(f&&d)return f==e&&d==t;var h=-1,m=!0,v=2&n?new r:void 0;for(l.set(t,e),l.set(e,t);++h<c;){var g=t[h],y=e[h];if(a)var A=u?a(y,g,h,e,t,l):a(g,y,h,t,e,l);if(void 0!==A){if(A)continue;m=!1;break}if(v){if(!o(e,(function(t,e){if(!i(v,e)&&(g===t||s(g,t,n,a,l)))return v.push(e)}))){m=!1;break}}else if(g!==y&&!s(g,y,n,a,l)){m=!1;break}}return l.delete(t),l.delete(e),m}},8351:(t,e,n)=>{var r=n(2705),o=n(1149),i=n(7813),a=n(7114),s=n(8776),l=n(1814),u=r?r.prototype:void 0,c=u?u.valueOf:void 0;t.exports=function(t,e,n,r,u,p,f){switch(n){case"[object DataView]":if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case"[object ArrayBuffer]":return!(t.byteLength!=e.byteLength||!p(new o(t),new o(e)));case"[object Boolean]":case"[object Date]":case"[object Number]":return i(+t,+e);case"[object Error]":return t.name==e.name&&t.message==e.message;case"[object RegExp]":case"[object String]":return t==e+"";case"[object Map]":var d=s;case"[object Set]":var h=1&r;if(d||(d=l),t.size!=e.size&&!h)return!1;var m=f.get(t);if(m)return m==e;r|=2,f.set(t,e);var v=a(d(t),d(e),r,u,p,f);return f.delete(t),v;case"[object Symbol]":if(c)return c.call(t)==c.call(e)}return!1}},6096:(t,e,n)=>{var r=n(8234),o=Object.prototype.hasOwnProperty;t.exports=function(t,e,n,i,a,s){var l=1&n,u=r(t),c=u.length;if(c!=r(e).length&&!l)return!1;for(var p=c;p--;){var f=u[p];if(!(l?f in e:o.call(e,f)))return!1}var d=s.get(t),h=s.get(e);if(d&&h)return d==e&&h==t;var m=!0;s.set(t,e),s.set(e,t);for(var v=l;++p<c;){var g=t[f=u[p]],y=e[f];if(i)var A=l?i(y,g,f,e,t,s):i(g,y,f,t,e,s);if(!(void 0===A?g===y||a(g,y,n,i,s):A)){m=!1;break}v||(v="constructor"==f)}if(m&&!v){var b=t.constructor,C=e.constructor;b==C||!("constructor"in t)||!("constructor"in e)||"function"==typeof b&&b instanceof b&&"function"==typeof C&&C instanceof C||(m=!1)}return s.delete(t),s.delete(e),m}},1957:(t,e,n)=>{var r="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g;t.exports=r},8234:(t,e,n)=>{var r=n(8866),o=n(9551),i=n(3674);t.exports=function(t){return r(t,i,o)}},5050:(t,e,n)=>{var r=n(7019);t.exports=function(t,e){var n=t.__data__;return r(e)?n["string"==typeof e?"string":"hash"]:n.map}},852:(t,e,n)=>{var r=n(8458),o=n(7801);t.exports=function(t,e){var n=o(t,e);return r(n)?n:void 0}},5924:(t,e,n)=>{var r=n(5569)(Object.getPrototypeOf,Object);t.exports=r},9607:(t,e,n)=>{var r=n(2705),o=Object.prototype,i=o.hasOwnProperty,a=o.toString,s=r?r.toStringTag:void 0;t.exports=function(t){var e=i.call(t,s),n=t[s];try{t[s]=void 0;var r=!0}catch(t){}var o=a.call(t);return r&&(e?t[s]=n:delete t[s]),o}},9551:(t,e,n)=>{var r=n(4963),o=n(479),i=Object.prototype.propertyIsEnumerable,a=Object.getOwnPropertySymbols,s=a?function(t){return null==t?[]:(t=Object(t),r(a(t),(function(e){return i.call(t,e)})))}:o;t.exports=s},4160:(t,e,n)=>{var r=n(8552),o=n(7071),i=n(3818),a=n(8525),s=n(577),l=n(4239),u=n(346),c="[object Map]",p="[object Promise]",f="[object Set]",d="[object WeakMap]",h="[object DataView]",m=u(r),v=u(o),g=u(i),y=u(a),A=u(s),b=l;(r&&b(new r(new ArrayBuffer(1)))!=h||o&&b(new o)!=c||i&&b(i.resolve())!=p||a&&b(new a)!=f||s&&b(new s)!=d)&&(b=function(t){var e=l(t),n="[object Object]"==e?t.constructor:void 0,r=n?u(n):"";if(r)switch(r){case m:return h;case v:return c;case g:return p;case y:return f;case A:return d}return e}),t.exports=b},7801:t=>{t.exports=function(t,e){return null==t?void 0:t[e]}},1789:(t,e,n)=>{var r=n(4536);t.exports=function(){this.__data__=r?r(null):{},this.size=0}},401:t=>{t.exports=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}},7667:(t,e,n)=>{var r=n(4536),o=Object.prototype.hasOwnProperty;t.exports=function(t){var e=this.__data__;if(r){var n=e[t];return"__lodash_hash_undefined__"===n?void 0:n}return o.call(e,t)?e[t]:void 0}},1327:(t,e,n)=>{var r=n(4536),o=Object.prototype.hasOwnProperty;t.exports=function(t){var e=this.__data__;return r?void 0!==e[t]:o.call(e,t)}},1866:(t,e,n)=>{var r=n(4536);t.exports=function(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=r&&void 0===e?"__lodash_hash_undefined__":e,this}},8517:(t,e,n)=>{var r=n(3118),o=n(5924),i=n(5726);t.exports=function(t){return"function"!=typeof t.constructor||i(t)?{}:r(o(t))}},5776:t=>{var e=/^(?:0|[1-9]\d*)$/;t.exports=function(t,n){var r=typeof t;return!!(n=null==n?9007199254740991:n)&&("number"==r||"symbol"!=r&&e.test(t))&&t>-1&&t%1==0&&t<n}},6612:(t,e,n)=>{var r=n(7813),o=n(1240),i=n(5776),a=n(3218);t.exports=function(t,e,n){if(!a(n))return!1;var s=typeof e;return!!("number"==s?o(n)&&i(e,n.length):"string"==s&&e in n)&&r(n[e],t)}},7019:t=>{t.exports=function(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t}},5346:(t,e,n)=>{var r,o=n(4429),i=(r=/[^.]+$/.exec(o&&o.keys&&o.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"";t.exports=function(t){return!!i&&i in t}},5726:t=>{var e=Object.prototype;t.exports=function(t){var n=t&&t.constructor;return t===("function"==typeof n&&n.prototype||e)}},7040:t=>{t.exports=function(){this.__data__=[],this.size=0}},4125:(t,e,n)=>{var r=n(8470),o=Array.prototype.splice;t.exports=function(t){var e=this.__data__,n=r(e,t);return!(n<0)&&(n==e.length-1?e.pop():o.call(e,n,1),--this.size,!0)}},2117:(t,e,n)=>{var r=n(8470);t.exports=function(t){var e=this.__data__,n=r(e,t);return n<0?void 0:e[n][1]}},7518:(t,e,n)=>{var r=n(8470);t.exports=function(t){return r(this.__data__,t)>-1}},3399:(t,e,n)=>{var r=n(8470);t.exports=function(t,e){var n=this.__data__,o=r(n,t);return o<0?(++this.size,n.push([t,e])):n[o][1]=e,this}},4785:(t,e,n)=>{var r=n(1989),o=n(8407),i=n(7071);t.exports=function(){this.size=0,this.__data__={hash:new r,map:new(i||o),string:new r}}},1285:(t,e,n)=>{var r=n(5050);t.exports=function(t){var e=r(this,t).delete(t);return this.size-=e?1:0,e}},6e3:(t,e,n)=>{var r=n(5050);t.exports=function(t){return r(this,t).get(t)}},9916:(t,e,n)=>{var r=n(5050);t.exports=function(t){return r(this,t).has(t)}},5265:(t,e,n)=>{var r=n(5050);t.exports=function(t,e){var n=r(this,t),o=n.size;return n.set(t,e),this.size+=n.size==o?0:1,this}},8776:t=>{t.exports=function(t){var e=-1,n=Array(t.size);return t.forEach((function(t,r){n[++e]=[r,t]})),n}},4536:(t,e,n)=>{var r=n(852)(Object,"create");t.exports=r},6916:(t,e,n)=>{var r=n(5569)(Object.keys,Object);t.exports=r},3498:t=>{t.exports=function(t){var e=[];if(null!=t)for(var n in Object(t))e.push(n);return e}},1167:(t,e,n)=>{t=n.nmd(t);var r=n(1957),o=e&&!e.nodeType&&e,i=o&&t&&!t.nodeType&&t,a=i&&i.exports===o&&r.process,s=function(){try{var t=i&&i.require&&i.require("util").types;return t||a&&a.binding&&a.binding("util")}catch(t){}}();t.exports=s},2333:t=>{var e=Object.prototype.toString;t.exports=function(t){return e.call(t)}},5569:t=>{t.exports=function(t,e){return function(n){return t(e(n))}}},5357:(t,e,n)=>{var r=n(6874),o=Math.max;t.exports=function(t,e,n){return e=o(void 0===e?t.length-1:e,0),function(){for(var i=arguments,a=-1,s=o(i.length-e,0),l=Array(s);++a<s;)l[a]=i[e+a];a=-1;for(var u=Array(e+1);++a<e;)u[a]=i[a];return u[e]=n(l),r(t,this,u)}}},5639:(t,e,n)=>{var r=n(1957),o="object"==typeof self&&self&&self.Object===Object&&self,i=r||o||Function("return this")();t.exports=i},6390:t=>{t.exports=function(t,e){if(("constructor"!==e||"function"!=typeof t[e])&&"__proto__"!=e)return t[e]}},619:t=>{t.exports=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this}},2385:t=>{t.exports=function(t){return this.__data__.has(t)}},1814:t=>{t.exports=function(t){var e=-1,n=Array(t.size);return t.forEach((function(t){n[++e]=t})),n}},61:(t,e,n)=>{var r=n(6560),o=n(1275)(r);t.exports=o},1275:t=>{var e=Date.now;t.exports=function(t){var n=0,r=0;return function(){var o=e(),i=16-(o-r);if(r=o,i>0){if(++n>=800)return arguments[0]}else n=0;return t.apply(void 0,arguments)}}},7465:(t,e,n)=>{var r=n(8407);t.exports=function(){this.__data__=new r,this.size=0}},3779:t=>{t.exports=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n}},7599:t=>{t.exports=function(t){return this.__data__.get(t)}},4758:t=>{t.exports=function(t){return this.__data__.has(t)}},4309:(t,e,n)=>{var r=n(8407),o=n(7071),i=n(3369);t.exports=function(t,e){var n=this.__data__;if(n instanceof r){var a=n.__data__;if(!o||a.length<199)return a.push([t,e]),this.size=++n.size,this;n=this.__data__=new i(a)}return n.set(t,e),this.size=n.size,this}},346:t=>{var e=Function.prototype.toString;t.exports=function(t){if(null!=t){try{return e.call(t)}catch(t){}try{return t+""}catch(t){}}return""}},5703:t=>{t.exports=function(t){return function(){return t}}},7813:t=>{t.exports=function(t,e){return t===e||t!=t&&e!=e}},6557:t=>{t.exports=function(t){return t}},5694:(t,e,n)=>{var r=n(9454),o=n(7005),i=Object.prototype,a=i.hasOwnProperty,s=i.propertyIsEnumerable,l=r(function(){return arguments}())?r:function(t){return o(t)&&a.call(t,"callee")&&!s.call(t,"callee")};t.exports=l},1469:t=>{var e=Array.isArray;t.exports=e},1240:(t,e,n)=>{var r=n(3560),o=n(1780);t.exports=function(t){return null!=t&&o(t.length)&&!r(t)}},9246:(t,e,n)=>{var r=n(1240),o=n(7005);t.exports=function(t){return o(t)&&r(t)}},4144:(t,e,n)=>{t=n.nmd(t);var r=n(5639),o=n(5062),i=e&&!e.nodeType&&e,a=i&&t&&!t.nodeType&&t,s=a&&a.exports===i?r.Buffer:void 0,l=(s?s.isBuffer:void 0)||o;t.exports=l},8446:(t,e,n)=>{var r=n(939);t.exports=function(t,e){return r(t,e)}},3560:(t,e,n)=>{var r=n(4239),o=n(3218);t.exports=function(t){if(!o(t))return!1;var e=r(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}},1780:t=>{t.exports=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}},3218:t=>{t.exports=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}},7005:t=>{t.exports=function(t){return null!=t&&"object"==typeof t}},8630:(t,e,n)=>{var r=n(4239),o=n(5924),i=n(7005),a=Function.prototype,s=Object.prototype,l=a.toString,u=s.hasOwnProperty,c=l.call(Object);t.exports=function(t){if(!i(t)||"[object Object]"!=r(t))return!1;var e=o(t);if(null===e)return!0;var n=u.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&l.call(n)==c}},6719:(t,e,n)=>{var r=n(8749),o=n(1717),i=n(1167),a=i&&i.isTypedArray,s=a?o(a):r;t.exports=s},3674:(t,e,n)=>{var r=n(4636),o=n(280),i=n(1240);t.exports=function(t){return i(t)?r(t):o(t)}},1704:(t,e,n)=>{var r=n(4636),o=n(313),i=n(1240);t.exports=function(t){return i(t)?r(t,!0):o(t)}},3857:(t,e,n)=>{var r=n(2980),o=n(1463)((function(t,e,n){r(t,e,n)}));t.exports=o},479:t=>{t.exports=function(){return[]}},5062:t=>{t.exports=function(){return!1}},9881:(t,e,n)=>{var r=n(8363),o=n(1704);t.exports=function(t){return r(t,o(t))}},7699:(t,e,n)=>{"use strict";var r=n(5108),o=n(9208),i=n(4587);function a(t){t=t||{},this.catalogs={},this.locale="",this.domain="messages",this.listeners=[],this.sourceLocale="",t.sourceLocale&&("string"==typeof t.sourceLocale?this.sourceLocale=t.sourceLocale:this.warn("The `sourceLocale` option should be a string")),this.debug="debug"in t&&!0===t.debug}t.exports=a,a.prototype.on=function(t,e){this.listeners.push({eventName:t,callback:e})},a.prototype.off=function(t,e){this.listeners=this.listeners.filter((function(n){return!1==(n.eventName===t&&n.callback===e)}))},a.prototype.emit=function(t,e){for(var n=0;n<this.listeners.length;n++){var r=this.listeners[n];r.eventName===t&&r.callback(e)}},a.prototype.warn=function(t){this.debug&&r.warn(t),this.emit("error",new Error(t))},a.prototype.addTranslations=function(t,e,n){this.catalogs[t]||(this.catalogs[t]={}),this.catalogs[t][e]=n},a.prototype.setLocale=function(t){"string"==typeof t?(""===t.trim()&&this.warn("You called setLocale() with an empty value, which makes little sense."),t===this.sourceLocale||this.catalogs[t]||this.warn('You called setLocale() with "'+t+'", but no translations for that locale has been added.'),this.locale=t):this.warn("You called setLocale() with an argument of type "+typeof t+". The locale must be a string.")},a.prototype.setTextDomain=function(t){"string"==typeof t?(""===t.trim()&&this.warn("You called setTextDomain() with an empty `domain` value."),this.domain=t):this.warn("You called setTextDomain() with an argument of type "+typeof t+". The domain must be a string.")},a.prototype.gettext=function(t){return this.dnpgettext(this.domain,"",t)},a.prototype.dgettext=function(t,e){return this.dnpgettext(t,"",e)},a.prototype.ngettext=function(t,e,n){return this.dnpgettext(this.domain,"",t,e,n)},a.prototype.dngettext=function(t,e,n,r){return this.dnpgettext(t,"",e,n,r)},a.prototype.pgettext=function(t,e){return this.dnpgettext(this.domain,t,e)},a.prototype.dpgettext=function(t,e,n){return this.dnpgettext(t,e,n)},a.prototype.npgettext=function(t,e,n,r){return this.dnpgettext(this.domain,t,e,n,r)},a.prototype.dnpgettext=function(t,e,n,r,o){var s,l,u=n;if(e=e||"",isNaN(o)||1===o||(u=r||n),s=this._getTranslation(t,e,n)){if("number"==typeof o)"boolean"==typeof(l=(0,i[a.getLanguageCode(this.locale)].pluralsFunc)(o))&&(l=l?1:0);else l=0;return s.msgstr[l]||u}return this.sourceLocale&&this.locale===this.sourceLocale||this.warn('No translation was found for msgid "'+n+'" in msgctxt "'+e+'" and domain "'+t+'"'),u},a.prototype.getComment=function(t,e,n){var r;return(r=this._getTranslation(t,e,n))&&r.comments||{}},a.prototype._getTranslation=function(t,e,n){return e=e||"",o(this.catalogs,[this.locale,t,"translations",e,n])},a.getLanguageCode=function(t){return t.split(/[\-_]/)[0].toLowerCase()},a.prototype.textdomain=function(t){this.debug&&r.warn("textdomain(domain) was used to set locales in node-gettext v1. Make sure you are using it for domains, and switch to setLocale(locale) if you are not.\n\n To read more about the migration from node-gettext v1 to v2, see https://github.com/alexanderwallin/node-gettext/#migrating-from-1x-to-2x\n\nThis warning will be removed in the final 2.0.0"),this.setTextDomain(t)},a.prototype.setlocale=function(t){this.setLocale(t)},a.prototype.addTextdomain=function(){r.error("addTextdomain() is deprecated.\n\n* To add translations, use addTranslations()\n* To set the default domain, use setTextDomain() (or its alias textdomain())\n\nTo read more about the migration from node-gettext v1 to v2, see https://github.com/alexanderwallin/node-gettext/#migrating-from-1x-to-2x")}},4587:t=>{"use strict";t.exports={ach:{name:"Acholi",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n > 1)",pluralsFunc:function(t){return t>1}},af:{name:"Afrikaans",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},ak:{name:"Akan",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n > 1)",pluralsFunc:function(t){return t>1}},am:{name:"Amharic",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n > 1)",pluralsFunc:function(t){return t>1}},an:{name:"Aragonese",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},ar:{name:"Arabic",examples:[{plural:0,sample:0},{plural:1,sample:1},{plural:2,sample:2},{plural:3,sample:3},{plural:4,sample:11},{plural:5,sample:100}],nplurals:6,pluralsText:"nplurals = 6; plural = (n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5)",pluralsFunc:function(t){return 0===t?0:1===t?1:2===t?2:t%100>=3&&t%100<=10?3:t%100>=11?4:5}},arn:{name:"Mapudungun",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n > 1)",pluralsFunc:function(t){return t>1}},ast:{name:"Asturian",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},ay:{name:"Aymará",examples:[{plural:0,sample:1}],nplurals:1,pluralsText:"nplurals = 1; plural = 0",pluralsFunc:function(){return 0}},az:{name:"Azerbaijani",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},be:{name:"Belarusian",examples:[{plural:0,sample:1},{plural:1,sample:2},{plural:2,sample:5}],nplurals:3,pluralsText:"nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)",pluralsFunc:function(t){return t%10==1&&t%100!=11?0:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?1:2}},bg:{name:"Bulgarian",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},bn:{name:"Bengali",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},bo:{name:"Tibetan",examples:[{plural:0,sample:1}],nplurals:1,pluralsText:"nplurals = 1; plural = 0",pluralsFunc:function(){return 0}},br:{name:"Breton",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n > 1)",pluralsFunc:function(t){return t>1}},brx:{name:"Bodo",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},bs:{name:"Bosnian",examples:[{plural:0,sample:1},{plural:1,sample:2},{plural:2,sample:5}],nplurals:3,pluralsText:"nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)",pluralsFunc:function(t){return t%10==1&&t%100!=11?0:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?1:2}},ca:{name:"Catalan",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},cgg:{name:"Chiga",examples:[{plural:0,sample:1}],nplurals:1,pluralsText:"nplurals = 1; plural = 0",pluralsFunc:function(){return 0}},cs:{name:"Czech",examples:[{plural:0,sample:1},{plural:1,sample:2},{plural:2,sample:5}],nplurals:3,pluralsText:"nplurals = 3; plural = (n === 1 ? 0 : (n >= 2 && n <= 4) ? 1 : 2)",pluralsFunc:function(t){return 1===t?0:t>=2&&t<=4?1:2}},csb:{name:"Kashubian",examples:[{plural:0,sample:1},{plural:1,sample:2},{plural:2,sample:5}],nplurals:3,pluralsText:"nplurals = 3; plural = (n === 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)",pluralsFunc:function(t){return 1===t?0:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?1:2}},cy:{name:"Welsh",examples:[{plural:0,sample:1},{plural:1,sample:2},{plural:2,sample:3},{plural:3,sample:8}],nplurals:4,pluralsText:"nplurals = 4; plural = (n === 1 ? 0 : n === 2 ? 1 : (n !== 8 && n !== 11) ? 2 : 3)",pluralsFunc:function(t){return 1===t?0:2===t?1:8!==t&&11!==t?2:3}},da:{name:"Danish",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},de:{name:"German",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},doi:{name:"Dogri",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},dz:{name:"Dzongkha",examples:[{plural:0,sample:1}],nplurals:1,pluralsText:"nplurals = 1; plural = 0",pluralsFunc:function(){return 0}},el:{name:"Greek",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},en:{name:"English",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},eo:{name:"Esperanto",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},es:{name:"Spanish",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},et:{name:"Estonian",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},eu:{name:"Basque",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},fa:{name:"Persian",examples:[{plural:0,sample:1}],nplurals:1,pluralsText:"nplurals = 1; plural = 0",pluralsFunc:function(){return 0}},ff:{name:"Fulah",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},fi:{name:"Finnish",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},fil:{name:"Filipino",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n > 1)",pluralsFunc:function(t){return t>1}},fo:{name:"Faroese",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},fr:{name:"French",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n > 1)",pluralsFunc:function(t){return t>1}},fur:{name:"Friulian",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},fy:{name:"Frisian",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},ga:{name:"Irish",examples:[{plural:0,sample:1},{plural:1,sample:2},{plural:2,sample:3},{plural:3,sample:7},{plural:4,sample:11}],nplurals:5,pluralsText:"nplurals = 5; plural = (n === 1 ? 0 : n === 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4)",pluralsFunc:function(t){return 1===t?0:2===t?1:t<7?2:t<11?3:4}},gd:{name:"Scottish Gaelic",examples:[{plural:0,sample:1},{plural:1,sample:2},{plural:2,sample:3},{plural:3,sample:20}],nplurals:4,pluralsText:"nplurals = 4; plural = ((n === 1 || n === 11) ? 0 : (n === 2 || n === 12) ? 1 : (n > 2 && n < 20) ? 2 : 3)",pluralsFunc:function(t){return 1===t||11===t?0:2===t||12===t?1:t>2&&t<20?2:3}},gl:{name:"Galician",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},gu:{name:"Gujarati",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},gun:{name:"Gun",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n > 1)",pluralsFunc:function(t){return t>1}},ha:{name:"Hausa",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},he:{name:"Hebrew",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},hi:{name:"Hindi",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},hne:{name:"Chhattisgarhi",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},hr:{name:"Croatian",examples:[{plural:0,sample:1},{plural:1,sample:2},{plural:2,sample:5}],nplurals:3,pluralsText:"nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)",pluralsFunc:function(t){return t%10==1&&t%100!=11?0:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?1:2}},hu:{name:"Hungarian",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},hy:{name:"Armenian",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},id:{name:"Indonesian",examples:[{plural:0,sample:1}],nplurals:1,pluralsText:"nplurals = 1; plural = 0",pluralsFunc:function(){return 0}},is:{name:"Icelandic",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n % 10 !== 1 || n % 100 === 11)",pluralsFunc:function(t){return t%10!=1||t%100==11}},it:{name:"Italian",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},ja:{name:"Japanese",examples:[{plural:0,sample:1}],nplurals:1,pluralsText:"nplurals = 1; plural = 0",pluralsFunc:function(){return 0}},jbo:{name:"Lojban",examples:[{plural:0,sample:1}],nplurals:1,pluralsText:"nplurals = 1; plural = 0",pluralsFunc:function(){return 0}},jv:{name:"Javanese",examples:[{plural:0,sample:0},{plural:1,sample:1}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 0)",pluralsFunc:function(t){return 0!==t}},ka:{name:"Georgian",examples:[{plural:0,sample:1}],nplurals:1,pluralsText:"nplurals = 1; plural = 0",pluralsFunc:function(){return 0}},kk:{name:"Kazakh",examples:[{plural:0,sample:1}],nplurals:1,pluralsText:"nplurals = 1; plural = 0",pluralsFunc:function(){return 0}},km:{name:"Khmer",examples:[{plural:0,sample:1}],nplurals:1,pluralsText:"nplurals = 1; plural = 0",pluralsFunc:function(){return 0}},kn:{name:"Kannada",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},ko:{name:"Korean",examples:[{plural:0,sample:1}],nplurals:1,pluralsText:"nplurals = 1; plural = 0",pluralsFunc:function(){return 0}},ku:{name:"Kurdish",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},kw:{name:"Cornish",examples:[{plural:0,sample:1},{plural:1,sample:2},{plural:2,sample:3},{plural:3,sample:4}],nplurals:4,pluralsText:"nplurals = 4; plural = (n === 1 ? 0 : n === 2 ? 1 : n === 3 ? 2 : 3)",pluralsFunc:function(t){return 1===t?0:2===t?1:3===t?2:3}},ky:{name:"Kyrgyz",examples:[{plural:0,sample:1}],nplurals:1,pluralsText:"nplurals = 1; plural = 0",pluralsFunc:function(){return 0}},lb:{name:"Letzeburgesch",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},ln:{name:"Lingala",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n > 1)",pluralsFunc:function(t){return t>1}},lo:{name:"Lao",examples:[{plural:0,sample:1}],nplurals:1,pluralsText:"nplurals = 1; plural = 0",pluralsFunc:function(){return 0}},lt:{name:"Lithuanian",examples:[{plural:0,sample:1},{plural:1,sample:2},{plural:2,sample:10}],nplurals:3,pluralsText:"nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)",pluralsFunc:function(t){return t%10==1&&t%100!=11?0:t%10>=2&&(t%100<10||t%100>=20)?1:2}},lv:{name:"Latvian",examples:[{plural:2,sample:0},{plural:0,sample:1},{plural:1,sample:2}],nplurals:3,pluralsText:"nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n !== 0 ? 1 : 2)",pluralsFunc:function(t){return t%10==1&&t%100!=11?0:0!==t?1:2}},mai:{name:"Maithili",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},mfe:{name:"Mauritian Creole",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n > 1)",pluralsFunc:function(t){return t>1}},mg:{name:"Malagasy",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n > 1)",pluralsFunc:function(t){return t>1}},mi:{name:"Maori",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n > 1)",pluralsFunc:function(t){return t>1}},mk:{name:"Macedonian",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n === 1 || n % 10 === 1 ? 0 : 1)",pluralsFunc:function(t){return 1===t||t%10==1?0:1}},ml:{name:"Malayalam",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},mn:{name:"Mongolian",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},mni:{name:"Manipuri",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},mnk:{name:"Mandinka",examples:[{plural:0,sample:0},{plural:1,sample:1},{plural:2,sample:2}],nplurals:3,pluralsText:"nplurals = 3; plural = (n === 0 ? 0 : n === 1 ? 1 : 2)",pluralsFunc:function(t){return 0===t?0:1===t?1:2}},mr:{name:"Marathi",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},ms:{name:"Malay",examples:[{plural:0,sample:1}],nplurals:1,pluralsText:"nplurals = 1; plural = 0",pluralsFunc:function(){return 0}},mt:{name:"Maltese",examples:[{plural:0,sample:1},{plural:1,sample:2},{plural:2,sample:11},{plural:3,sample:20}],nplurals:4,pluralsText:"nplurals = 4; plural = (n === 1 ? 0 : n === 0 || ( n % 100 > 1 && n % 100 < 11) ? 1 : (n % 100 > 10 && n % 100 < 20 ) ? 2 : 3)",pluralsFunc:function(t){return 1===t?0:0===t||t%100>1&&t%100<11?1:t%100>10&&t%100<20?2:3}},my:{name:"Burmese",examples:[{plural:0,sample:1}],nplurals:1,pluralsText:"nplurals = 1; plural = 0",pluralsFunc:function(){return 0}},nah:{name:"Nahuatl",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},nap:{name:"Neapolitan",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},nb:{name:"Norwegian Bokmal",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},ne:{name:"Nepali",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},nl:{name:"Dutch",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},nn:{name:"Norwegian Nynorsk",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},no:{name:"Norwegian",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},nso:{name:"Northern Sotho",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},oc:{name:"Occitan",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n > 1)",pluralsFunc:function(t){return t>1}},or:{name:"Oriya",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},pa:{name:"Punjabi",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},pap:{name:"Papiamento",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},pl:{name:"Polish",examples:[{plural:0,sample:1},{plural:1,sample:2},{plural:2,sample:5}],nplurals:3,pluralsText:"nplurals = 3; plural = (n === 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)",pluralsFunc:function(t){return 1===t?0:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?1:2}},pms:{name:"Piemontese",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},ps:{name:"Pashto",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},pt:{name:"Portuguese",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},rm:{name:"Romansh",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},ro:{name:"Romanian",examples:[{plural:0,sample:1},{plural:1,sample:2},{plural:2,sample:20}],nplurals:3,pluralsText:"nplurals = 3; plural = (n === 1 ? 0 : (n === 0 || (n % 100 > 0 && n % 100 < 20)) ? 1 : 2)",pluralsFunc:function(t){return 1===t?0:0===t||t%100>0&&t%100<20?1:2}},ru:{name:"Russian",examples:[{plural:0,sample:1},{plural:1,sample:2},{plural:2,sample:5}],nplurals:3,pluralsText:"nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)",pluralsFunc:function(t){return t%10==1&&t%100!=11?0:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?1:2}},rw:{name:"Kinyarwanda",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},sah:{name:"Yakut",examples:[{plural:0,sample:1}],nplurals:1,pluralsText:"nplurals = 1; plural = 0",pluralsFunc:function(){return 0}},sat:{name:"Santali",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},sco:{name:"Scots",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},sd:{name:"Sindhi",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},se:{name:"Northern Sami",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},si:{name:"Sinhala",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},sk:{name:"Slovak",examples:[{plural:0,sample:1},{plural:1,sample:2},{plural:2,sample:5}],nplurals:3,pluralsText:"nplurals = 3; plural = (n === 1 ? 0 : (n >= 2 && n <= 4) ? 1 : 2)",pluralsFunc:function(t){return 1===t?0:t>=2&&t<=4?1:2}},sl:{name:"Slovenian",examples:[{plural:0,sample:1},{plural:1,sample:2},{plural:2,sample:3},{plural:3,sample:5}],nplurals:4,pluralsText:"nplurals = 4; plural = (n % 100 === 1 ? 0 : n % 100 === 2 ? 1 : n % 100 === 3 || n % 100 === 4 ? 2 : 3)",pluralsFunc:function(t){return t%100==1?0:t%100==2?1:t%100==3||t%100==4?2:3}},so:{name:"Somali",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},son:{name:"Songhay",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},sq:{name:"Albanian",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},sr:{name:"Serbian",examples:[{plural:0,sample:1},{plural:1,sample:2},{plural:2,sample:5}],nplurals:3,pluralsText:"nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)",pluralsFunc:function(t){return t%10==1&&t%100!=11?0:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?1:2}},su:{name:"Sundanese",examples:[{plural:0,sample:1}],nplurals:1,pluralsText:"nplurals = 1; plural = 0",pluralsFunc:function(){return 0}},sv:{name:"Swedish",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},sw:{name:"Swahili",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},ta:{name:"Tamil",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},te:{name:"Telugu",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},tg:{name:"Tajik",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n > 1)",pluralsFunc:function(t){return t>1}},th:{name:"Thai",examples:[{plural:0,sample:1}],nplurals:1,pluralsText:"nplurals = 1; plural = 0",pluralsFunc:function(){return 0}},ti:{name:"Tigrinya",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n > 1)",pluralsFunc:function(t){return t>1}},tk:{name:"Turkmen",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},tr:{name:"Turkish",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n > 1)",pluralsFunc:function(t){return t>1}},tt:{name:"Tatar",examples:[{plural:0,sample:1}],nplurals:1,pluralsText:"nplurals = 1; plural = 0",pluralsFunc:function(){return 0}},ug:{name:"Uyghur",examples:[{plural:0,sample:1}],nplurals:1,pluralsText:"nplurals = 1; plural = 0",pluralsFunc:function(){return 0}},uk:{name:"Ukrainian",examples:[{plural:0,sample:1},{plural:1,sample:2},{plural:2,sample:5}],nplurals:3,pluralsText:"nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)",pluralsFunc:function(t){return t%10==1&&t%100!=11?0:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?1:2}},ur:{name:"Urdu",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},uz:{name:"Uzbek",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n > 1)",pluralsFunc:function(t){return t>1}},vi:{name:"Vietnamese",examples:[{plural:0,sample:1}],nplurals:1,pluralsText:"nplurals = 1; plural = 0",pluralsFunc:function(){return 0}},wa:{name:"Walloon",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n > 1)",pluralsFunc:function(t){return t>1}},wo:{name:"Wolof",examples:[{plural:0,sample:1}],nplurals:1,pluralsText:"nplurals = 1; plural = 0",pluralsFunc:function(){return 0}},yo:{name:"Yoruba",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},zh:{name:"Chinese",examples:[{plural:0,sample:1}],nplurals:1,pluralsText:"nplurals = 1; plural = 0",pluralsFunc:function(){return 0}}}},686:(t,e,n)=>{"use strict";var r=n(4155),o=n(5108);function i(t){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i(t)}var a,s,l=n(729).codes,u=l.ERR_AMBIGUOUS_ARGUMENT,c=l.ERR_INVALID_ARG_TYPE,p=l.ERR_INVALID_ARG_VALUE,f=l.ERR_INVALID_RETURN_VALUE,d=l.ERR_MISSING_ARGS,h=n(1969),m=n(374).inspect,v=n(374).types,g=v.isPromise,y=v.isRegExp,A=Object.assign?Object.assign:n(8091).assign,b=Object.is?Object.is:n(609);new Map;function C(){var t=n(3632);a=t.isDeepEqual,s=t.isDeepStrictEqual}var w=!1,x=t.exports=E,_={};function S(t){if(t.message instanceof Error)throw t.message;throw new h(t)}function k(t,e,n,r){if(!n){var o=!1;if(0===e)o=!0,r="No value argument passed to `assert.ok()`";else if(r instanceof Error)throw r;var i=new h({actual:n,expected:!0,message:r,operator:"==",stackStartFn:t});throw i.generatedMessage=o,i}}function E(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];k.apply(void 0,[E,e.length].concat(e))}x.fail=function t(e,n,i,a,s){var l,u=arguments.length;if(0===u)l="Failed";else if(1===u)i=e,e=void 0;else{if(!1===w){w=!0;var c=r.emitWarning?r.emitWarning:o.warn.bind(o);c("assert.fail() with more than one argument is deprecated. Please use assert.strictEqual() instead or only pass a message.","DeprecationWarning","DEP0094")}2===u&&(a="!=")}if(i instanceof Error)throw i;var p={actual:e,expected:n,operator:void 0===a?"fail":a,stackStartFn:s||t};void 0!==i&&(p.message=i);var f=new h(p);throw l&&(f.message=l,f.generatedMessage=!0),f},x.AssertionError=h,x.ok=E,x.equal=function t(e,n,r){if(arguments.length<2)throw new d("actual","expected");e!=n&&S({actual:e,expected:n,message:r,operator:"==",stackStartFn:t})},x.notEqual=function t(e,n,r){if(arguments.length<2)throw new d("actual","expected");e==n&&S({actual:e,expected:n,message:r,operator:"!=",stackStartFn:t})},x.deepEqual=function t(e,n,r){if(arguments.length<2)throw new d("actual","expected");void 0===a&&C(),a(e,n)||S({actual:e,expected:n,message:r,operator:"deepEqual",stackStartFn:t})},x.notDeepEqual=function t(e,n,r){if(arguments.length<2)throw new d("actual","expected");void 0===a&&C(),a(e,n)&&S({actual:e,expected:n,message:r,operator:"notDeepEqual",stackStartFn:t})},x.deepStrictEqual=function t(e,n,r){if(arguments.length<2)throw new d("actual","expected");void 0===a&&C(),s(e,n)||S({actual:e,expected:n,message:r,operator:"deepStrictEqual",stackStartFn:t})},x.notDeepStrictEqual=function t(e,n,r){if(arguments.length<2)throw new d("actual","expected");void 0===a&&C();s(e,n)&&S({actual:e,expected:n,message:r,operator:"notDeepStrictEqual",stackStartFn:t})},x.strictEqual=function t(e,n,r){if(arguments.length<2)throw new d("actual","expected");b(e,n)||S({actual:e,expected:n,message:r,operator:"strictEqual",stackStartFn:t})},x.notStrictEqual=function t(e,n,r){if(arguments.length<2)throw new d("actual","expected");b(e,n)&&S({actual:e,expected:n,message:r,operator:"notStrictEqual",stackStartFn:t})};var O=function t(e,n,r){var o=this;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),n.forEach((function(t){t in e&&(void 0!==r&&"string"==typeof r[t]&&y(e[t])&&e[t].test(r[t])?o[t]=r[t]:o[t]=e[t])}))};function j(t,e,n,r,o,i){if(!(n in t)||!s(t[n],e[n])){if(!r){var a=new O(t,o),l=new O(e,o,t),u=new h({actual:a,expected:l,operator:"deepStrictEqual",stackStartFn:i});throw u.actual=t,u.expected=e,u.operator=i.name,u}S({actual:t,expected:e,message:r,operator:i.name,stackStartFn:i})}}function T(t,e,n,r){if("function"!=typeof e){if(y(e))return e.test(t);if(2===arguments.length)throw new c("expected",["Function","RegExp"],e);if("object"!==i(t)||null===t){var o=new h({actual:t,expected:e,message:n,operator:"deepStrictEqual",stackStartFn:r});throw o.operator=r.name,o}var s=Object.keys(e);if(e instanceof Error)s.push("name","message");else if(0===s.length)throw new p("error",e,"may not be an empty object");return void 0===a&&C(),s.forEach((function(o){"string"==typeof t[o]&&y(e[o])&&e[o].test(t[o])||j(t,e,o,n,s,r)})),!0}return void 0!==e.prototype&&t instanceof e||!Error.isPrototypeOf(e)&&!0===e.call({},t)}function B(t){if("function"!=typeof t)throw new c("fn","Function",t);try{t()}catch(t){return t}return _}function N(t){return g(t)||null!==t&&"object"===i(t)&&"function"==typeof t.then&&"function"==typeof t.catch}function P(t){return Promise.resolve().then((function(){var e;if("function"==typeof t){if(!N(e=t()))throw new f("instance of Promise","promiseFn",e)}else{if(!N(t))throw new c("promiseFn",["Function","Promise"],t);e=t}return Promise.resolve().then((function(){return e})).then((function(){return _})).catch((function(t){return t}))}))}function $(t,e,n,r){if("string"==typeof n){if(4===arguments.length)throw new c("error",["Object","Error","Function","RegExp"],n);if("object"===i(e)&&null!==e){if(e.message===n)throw new u("error/message",'The error message "'.concat(e.message,'" is identical to the message.'))}else if(e===n)throw new u("error/message",'The error "'.concat(e,'" is identical to the message.'));r=n,n=void 0}else if(null!=n&&"object"!==i(n)&&"function"!=typeof n)throw new c("error",["Object","Error","Function","RegExp"],n);if(e===_){var o="";n&&n.name&&(o+=" (".concat(n.name,")")),o+=r?": ".concat(r):".";var a="rejects"===t.name?"rejection":"exception";S({actual:void 0,expected:n,operator:t.name,message:"Missing expected ".concat(a).concat(o),stackStartFn:t})}if(n&&!T(e,n,r,t))throw e}function I(t,e,n,r){if(e!==_){if("string"==typeof n&&(r=n,n=void 0),!n||T(e,n)){var o=r?": ".concat(r):".",i="doesNotReject"===t.name?"rejection":"exception";S({actual:e,expected:n,operator:t.name,message:"Got unwanted ".concat(i).concat(o,"\n")+'Actual message: "'.concat(e&&e.message,'"'),stackStartFn:t})}throw e}}function z(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];k.apply(void 0,[z,e.length].concat(e))}x.throws=function t(e){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];$.apply(void 0,[t,B(e)].concat(r))},x.rejects=function t(e){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];return P(e).then((function(e){return $.apply(void 0,[t,e].concat(r))}))},x.doesNotThrow=function t(e){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];I.apply(void 0,[t,B(e)].concat(r))},x.doesNotReject=function t(e){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];return P(e).then((function(e){return I.apply(void 0,[t,e].concat(r))}))},x.ifError=function t(e){if(null!=e){var n="ifError got unwanted exception: ";"object"===i(e)&&"string"==typeof e.message?0===e.message.length&&e.constructor?n+=e.constructor.name:n+=e.message:n+=m(e);var r=new h({actual:e,expected:null,operator:"ifError",message:n,stackStartFn:t}),o=e.stack;if("string"==typeof o){var a=o.split("\n");a.shift();for(var s=r.stack.split("\n"),l=0;l<a.length;l++){var u=s.indexOf(a[l]);if(-1!==u){s=s.slice(0,u);break}}r.stack="".concat(s.join("\n"),"\n").concat(a.join("\n"))}throw r}},x.strict=A(z,x,{equal:x.strictEqual,deepEqual:x.deepStrictEqual,notEqual:x.notStrictEqual,notDeepEqual:x.notDeepStrictEqual}),x.strict.strict=x.strict},1969:(t,e,n)=>{"use strict";var r=n(4155);function o(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function i(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function a(t,e){return!e||"object"!==d(e)&&"function"!=typeof e?s(t):e}function s(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function l(t){var e="function"==typeof Map?new Map:void 0;return l=function(t){if(null===t||(n=t,-1===Function.toString.call(n).indexOf("[native code]")))return t;var n;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,r)}function r(){return c(t,arguments,f(this).constructor)}return r.prototype=Object.create(t.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),p(r,t)},l(t)}function u(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}function c(t,e,n){return c=u()?Reflect.construct:function(t,e,n){var r=[null];r.push.apply(r,e);var o=new(Function.bind.apply(t,r));return n&&p(o,n.prototype),o},c.apply(null,arguments)}function p(t,e){return p=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},p(t,e)}function f(t){return f=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},f(t)}function d(t){return d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},d(t)}var h=n(374).inspect,m=n(729).codes.ERR_INVALID_ARG_TYPE;function v(t,e,n){return(void 0===n||n>t.length)&&(n=t.length),t.substring(n-e.length,n)===e}var g="",y="",A="",b="",C={deepStrictEqual:"Expected values to be strictly deep-equal:",strictEqual:"Expected values to be strictly equal:",strictEqualObject:'Expected "actual" to be reference-equal to "expected":',deepEqual:"Expected values to be loosely deep-equal:",equal:"Expected values to be loosely equal:",notDeepStrictEqual:'Expected "actual" not to be strictly deep-equal to:',notStrictEqual:'Expected "actual" to be strictly unequal to:',notStrictEqualObject:'Expected "actual" not to be reference-equal to "expected":',notDeepEqual:'Expected "actual" not to be loosely deep-equal to:',notEqual:'Expected "actual" to be loosely unequal to:',notIdentical:"Values identical but not reference-equal:"};function w(t){var e=Object.keys(t),n=Object.create(Object.getPrototypeOf(t));return e.forEach((function(e){n[e]=t[e]})),Object.defineProperty(n,"message",{value:t.message}),n}function x(t){return h(t,{compact:!1,customInspect:!1,depth:1e3,maxArrayLength:1/0,showHidden:!1,breakLength:1/0,showProxy:!1,sorted:!0,getters:!0})}function _(t,e,n){var o="",i="",a=0,s="",l=!1,u=x(t),c=u.split("\n"),p=x(e).split("\n"),f=0,h="";if("strictEqual"===n&&"object"===d(t)&&"object"===d(e)&&null!==t&&null!==e&&(n="strictEqualObject"),1===c.length&&1===p.length&&c[0]!==p[0]){var m=c[0].length+p[0].length;if(m<=10){if(!("object"===d(t)&&null!==t||"object"===d(e)&&null!==e||0===t&&0===e))return"".concat(C[n],"\n\n")+"".concat(c[0]," !== ").concat(p[0],"\n")}else if("strictEqualObject"!==n){if(m<(r.stderr&&r.stderr.isTTY?r.stderr.columns:80)){for(;c[0][f]===p[0][f];)f++;f>2&&(h="\n ".concat(function(t,e){if(e=Math.floor(e),0==t.length||0==e)return"";var n=t.length*e;for(e=Math.floor(Math.log(e)/Math.log(2));e;)t+=t,e--;return t+t.substring(0,n-t.length)}(" ",f),"^"),f=0)}}}for(var w=c[c.length-1],_=p[p.length-1];w===_&&(f++<2?s="\n ".concat(w).concat(s):o=w,c.pop(),p.pop(),0!==c.length&&0!==p.length);)w=c[c.length-1],_=p[p.length-1];var S=Math.max(c.length,p.length);if(0===S){var k=u.split("\n");if(k.length>30)for(k[26]="".concat(g,"...").concat(b);k.length>27;)k.pop();return"".concat(C.notIdentical,"\n\n").concat(k.join("\n"),"\n")}f>3&&(s="\n".concat(g,"...").concat(b).concat(s),l=!0),""!==o&&(s="\n ".concat(o).concat(s),o="");var E=0,O=C[n]+"\n".concat(y,"+ actual").concat(b," ").concat(A,"- expected").concat(b),j=" ".concat(g,"...").concat(b," Lines skipped");for(f=0;f<S;f++){var T=f-a;if(c.length<f+1)T>1&&f>2&&(T>4?(i+="\n".concat(g,"...").concat(b),l=!0):T>3&&(i+="\n ".concat(p[f-2]),E++),i+="\n ".concat(p[f-1]),E++),a=f,o+="\n".concat(A,"-").concat(b," ").concat(p[f]),E++;else if(p.length<f+1)T>1&&f>2&&(T>4?(i+="\n".concat(g,"...").concat(b),l=!0):T>3&&(i+="\n ".concat(c[f-2]),E++),i+="\n ".concat(c[f-1]),E++),a=f,i+="\n".concat(y,"+").concat(b," ").concat(c[f]),E++;else{var B=p[f],N=c[f],P=N!==B&&(!v(N,",")||N.slice(0,-1)!==B);P&&v(B,",")&&B.slice(0,-1)===N&&(P=!1,N+=","),P?(T>1&&f>2&&(T>4?(i+="\n".concat(g,"...").concat(b),l=!0):T>3&&(i+="\n ".concat(c[f-2]),E++),i+="\n ".concat(c[f-1]),E++),a=f,i+="\n".concat(y,"+").concat(b," ").concat(N),o+="\n".concat(A,"-").concat(b," ").concat(B),E+=2):(i+=o,o="",1!==T&&0!==f||(i+="\n ".concat(N),E++))}if(E>20&&f<S-2)return"".concat(O).concat(j,"\n").concat(i,"\n").concat(g,"...").concat(b).concat(o,"\n")+"".concat(g,"...").concat(b)}return"".concat(O).concat(l?j:"","\n").concat(i).concat(o).concat(s).concat(h)}var S=function(t){function e(t){var n;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),"object"!==d(t)||null===t)throw new m("options","Object",t);var o=t.message,i=t.operator,l=t.stackStartFn,u=t.actual,c=t.expected,p=Error.stackTraceLimit;if(Error.stackTraceLimit=0,null!=o)n=a(this,f(e).call(this,String(o)));else if(r.stderr&&r.stderr.isTTY&&(r.stderr&&r.stderr.getColorDepth&&1!==r.stderr.getColorDepth()?(g="",y="",b="",A=""):(g="",y="",b="",A="")),"object"===d(u)&&null!==u&&"object"===d(c)&&null!==c&&"stack"in u&&u instanceof Error&&"stack"in c&&c instanceof Error&&(u=w(u),c=w(c)),"deepStrictEqual"===i||"strictEqual"===i)n=a(this,f(e).call(this,_(u,c,i)));else if("notDeepStrictEqual"===i||"notStrictEqual"===i){var h=C[i],v=x(u).split("\n");if("notStrictEqual"===i&&"object"===d(u)&&null!==u&&(h=C.notStrictEqualObject),v.length>30)for(v[26]="".concat(g,"...").concat(b);v.length>27;)v.pop();n=1===v.length?a(this,f(e).call(this,"".concat(h," ").concat(v[0]))):a(this,f(e).call(this,"".concat(h,"\n\n").concat(v.join("\n"),"\n")))}else{var S=x(u),k="",E=C[i];"notDeepEqual"===i||"notEqual"===i?(S="".concat(C[i],"\n\n").concat(S)).length>1024&&(S="".concat(S.slice(0,1021),"...")):(k="".concat(x(c)),S.length>512&&(S="".concat(S.slice(0,509),"...")),k.length>512&&(k="".concat(k.slice(0,509),"...")),"deepEqual"===i||"equal"===i?S="".concat(E,"\n\n").concat(S,"\n\nshould equal\n\n"):k=" ".concat(i," ").concat(k)),n=a(this,f(e).call(this,"".concat(S).concat(k)))}return Error.stackTraceLimit=p,n.generatedMessage=!o,Object.defineProperty(s(n),"name",{value:"AssertionError [ERR_ASSERTION]",enumerable:!1,writable:!0,configurable:!0}),n.code="ERR_ASSERTION",n.actual=u,n.expected=c,n.operator=i,Error.captureStackTrace&&Error.captureStackTrace(s(n),l),n.stack,n.name="AssertionError",a(n)}var n,l,u;return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&p(t,e)}(e,t),n=e,l=[{key:"toString",value:function(){return"".concat(this.name," [").concat(this.code,"]: ").concat(this.message)}},{key:h.custom,value:function(t,e){return h(this,function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter((function(t){return Object.getOwnPropertyDescriptor(n,t).enumerable})))),r.forEach((function(e){o(t,e,n[e])}))}return t}({},e,{customInspect:!1,depth:0}))}}],l&&i(n.prototype,l),u&&i(n,u),e}(l(Error));t.exports=S},729:(t,e,n)=>{"use strict";function r(t){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r(t)}function o(t,e){return!e||"object"!==r(e)&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function i(t){return i=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},i(t)}function a(t,e){return a=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},a(t,e)}var s,l,u={};function c(t,e,n){n||(n=Error);var r=function(n){function r(n,a,s){var l;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,r),l=o(this,i(r).call(this,function(t,n,r){return"string"==typeof e?e:e(t,n,r)}(n,a,s))),l.code=t,l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&a(t,e)}(r,n),r}(n);u[t]=r}function p(t,e){if(Array.isArray(t)){var n=t.length;return t=t.map((function(t){return String(t)})),n>2?"one of ".concat(e," ").concat(t.slice(0,n-1).join(", "),", or ")+t[n-1]:2===n?"one of ".concat(e," ").concat(t[0]," or ").concat(t[1]):"of ".concat(e," ").concat(t[0])}return"of ".concat(e," ").concat(String(t))}c("ERR_AMBIGUOUS_ARGUMENT",'The "%s" argument is ambiguous. %s',TypeError),c("ERR_INVALID_ARG_TYPE",(function(t,e,o){var i,a,l,u;if(void 0===s&&(s=n(686)),s("string"==typeof t,"'name' must be a string"),"string"==typeof e&&(a="not ",e.substr(!l||l<0?0:+l,a.length)===a)?(i="must not be",e=e.replace(/^not /,"")):i="must be",function(t,e,n){return(void 0===n||n>t.length)&&(n=t.length),t.substring(n-e.length,n)===e}(t," argument"))u="The ".concat(t," ").concat(i," ").concat(p(e,"type"));else{var c=function(t,e,n){return"number"!=typeof n&&(n=0),!(n+e.length>t.length)&&-1!==t.indexOf(e,n)}(t,".")?"property":"argument";u='The "'.concat(t,'" ').concat(c," ").concat(i," ").concat(p(e,"type"))}return u+=". Received type ".concat(r(o))}),TypeError),c("ERR_INVALID_ARG_VALUE",(function(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"is invalid";void 0===l&&(l=n(374));var o=l.inspect(e);return o.length>128&&(o="".concat(o.slice(0,128),"...")),"The argument '".concat(t,"' ").concat(r,". Received ").concat(o)}),TypeError,RangeError),c("ERR_INVALID_RETURN_VALUE",(function(t,e,n){var o;return o=n&&n.constructor&&n.constructor.name?"instance of ".concat(n.constructor.name):"type ".concat(r(n)),"Expected ".concat(t,' to be returned from the "').concat(e,'"')+" function but got ".concat(o,".")}),TypeError),c("ERR_MISSING_ARGS",(function(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];void 0===s&&(s=n(686)),s(e.length>0,"At least one arg needs to be specified");var o="The ",i=e.length;switch(e=e.map((function(t){return'"'.concat(t,'"')})),i){case 1:o+="".concat(e[0]," argument");break;case 2:o+="".concat(e[0]," and ").concat(e[1]," arguments");break;default:o+=e.slice(0,i-1).join(", "),o+=", and ".concat(e[i-1]," arguments")}return"".concat(o," must be specified")}),TypeError),t.exports.codes=u},3632:(t,e,n)=>{"use strict";function r(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=[],r=!0,o=!1,i=void 0;try{for(var a,s=t[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!e||n.length!==e);r=!0);}catch(t){o=!0,i=t}finally{try{r||null==s.return||s.return()}finally{if(o)throw i}}return n}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function o(t){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},o(t)}var i=void 0!==/a/g.flags,a=function(t){var e=[];return t.forEach((function(t){return e.push(t)})),e},s=function(t){var e=[];return t.forEach((function(t,n){return e.push([n,t])})),e},l=Object.is?Object.is:n(609),u=Object.getOwnPropertySymbols?Object.getOwnPropertySymbols:function(){return[]},c=Number.isNaN?Number.isNaN:n(360);function p(t){return t.call.bind(t)}var f=p(Object.prototype.hasOwnProperty),d=p(Object.prototype.propertyIsEnumerable),h=p(Object.prototype.toString),m=n(374).types,v=m.isAnyArrayBuffer,g=m.isArrayBufferView,y=m.isDate,A=m.isMap,b=m.isRegExp,C=m.isSet,w=m.isNativeError,x=m.isBoxedPrimitive,_=m.isNumberObject,S=m.isStringObject,k=m.isBooleanObject,E=m.isBigIntObject,O=m.isSymbolObject,j=m.isFloat32Array,T=m.isFloat64Array;function B(t){if(0===t.length||t.length>10)return!0;for(var e=0;e<t.length;e++){var n=t.charCodeAt(e);if(n<48||n>57)return!0}return 10===t.length&&t>=Math.pow(2,32)}function N(t){return Object.keys(t).filter(B).concat(u(t).filter(Object.prototype.propertyIsEnumerable.bind(t)))}function P(t,e){if(t===e)return 0;for(var n=t.length,r=e.length,o=0,i=Math.min(n,r);o<i;++o)if(t[o]!==e[o]){n=t[o],r=e[o];break}return n<r?-1:r<n?1:0}function $(t,e,n,r){if(t===e)return 0!==t||(!n||l(t,e));if(n){if("object"!==o(t))return"number"==typeof t&&c(t)&&c(e);if("object"!==o(e)||null===t||null===e)return!1;if(Object.getPrototypeOf(t)!==Object.getPrototypeOf(e))return!1}else{if(null===t||"object"!==o(t))return(null===e||"object"!==o(e))&&t==e;if(null===e||"object"!==o(e))return!1}var a,s,u,p,f=h(t);if(f!==h(e))return!1;if(Array.isArray(t)){if(t.length!==e.length)return!1;var d=N(t),m=N(e);return d.length===m.length&&z(t,e,n,r,1,d)}if("[object Object]"===f&&(!A(t)&&A(e)||!C(t)&&C(e)))return!1;if(y(t)){if(!y(e)||Date.prototype.getTime.call(t)!==Date.prototype.getTime.call(e))return!1}else if(b(t)){if(!b(e)||(u=t,p=e,!(i?u.source===p.source&&u.flags===p.flags:RegExp.prototype.toString.call(u)===RegExp.prototype.toString.call(p))))return!1}else if(w(t)||t instanceof Error){if(t.message!==e.message||t.name!==e.name)return!1}else{if(g(t)){if(n||!j(t)&&!T(t)){if(!function(t,e){return t.byteLength===e.byteLength&&0===P(new Uint8Array(t.buffer,t.byteOffset,t.byteLength),new Uint8Array(e.buffer,e.byteOffset,e.byteLength))}(t,e))return!1}else if(!function(t,e){if(t.byteLength!==e.byteLength)return!1;for(var n=0;n<t.byteLength;n++)if(t[n]!==e[n])return!1;return!0}(t,e))return!1;var B=N(t),$=N(e);return B.length===$.length&&z(t,e,n,r,0,B)}if(C(t))return!(!C(e)||t.size!==e.size)&&z(t,e,n,r,2);if(A(t))return!(!A(e)||t.size!==e.size)&&z(t,e,n,r,3);if(v(t)){if(s=e,(a=t).byteLength!==s.byteLength||0!==P(new Uint8Array(a),new Uint8Array(s)))return!1}else if(x(t)&&!function(t,e){return _(t)?_(e)&&l(Number.prototype.valueOf.call(t),Number.prototype.valueOf.call(e)):S(t)?S(e)&&String.prototype.valueOf.call(t)===String.prototype.valueOf.call(e):k(t)?k(e)&&Boolean.prototype.valueOf.call(t)===Boolean.prototype.valueOf.call(e):E(t)?E(e)&&BigInt.prototype.valueOf.call(t)===BigInt.prototype.valueOf.call(e):O(e)&&Symbol.prototype.valueOf.call(t)===Symbol.prototype.valueOf.call(e)}(t,e))return!1}return z(t,e,n,r,0)}function I(t,e){return e.filter((function(e){return d(t,e)}))}function z(t,e,n,r,o,i){if(5===arguments.length){i=Object.keys(t);var a=Object.keys(e);if(i.length!==a.length)return!1}for(var s=0;s<i.length;s++)if(!f(e,i[s]))return!1;if(n&&5===arguments.length){var l=u(t);if(0!==l.length){var c=0;for(s=0;s<l.length;s++){var p=l[s];if(d(t,p)){if(!d(e,p))return!1;i.push(p),c++}else if(d(e,p))return!1}var h=u(e);if(l.length!==h.length&&I(e,h).length!==c)return!1}else{var m=u(e);if(0!==m.length&&0!==I(e,m).length)return!1}}if(0===i.length&&(0===o||1===o&&0===t.length||0===t.size))return!0;if(void 0===r)r={val1:new Map,val2:new Map,position:0};else{var v=r.val1.get(t);if(void 0!==v){var g=r.val2.get(e);if(void 0!==g)return v===g}r.position++}r.val1.set(t,r.position),r.val2.set(e,r.position);var y=U(t,e,n,i,r,o);return r.val1.delete(t),r.val2.delete(e),y}function F(t,e,n,r){for(var o=a(t),i=0;i<o.length;i++){var s=o[i];if($(e,s,n,r))return t.delete(s),!0}return!1}function D(t){switch(o(t)){case"undefined":return null;case"object":return;case"symbol":return!1;case"string":t=+t;case"number":if(c(t))return!1}return!0}function L(t,e,n){var r=D(n);return null!=r?r:e.has(r)&&!t.has(r)}function R(t,e,n,r,o){var i=D(n);if(null!=i)return i;var a=e.get(i);return!(void 0===a&&!e.has(i)||!$(r,a,!1,o))&&(!t.has(i)&&$(r,a,!1,o))}function M(t,e,n,r,o,i){for(var s=a(t),l=0;l<s.length;l++){var u=s[l];if($(n,u,o,i)&&$(r,e.get(u),o,i))return t.delete(u),!0}return!1}function U(t,e,n,i,l,u){var c=0;if(2===u){if(!function(t,e,n,r){for(var i=null,s=a(t),l=0;l<s.length;l++){var u=s[l];if("object"===o(u)&&null!==u)null===i&&(i=new Set),i.add(u);else if(!e.has(u)){if(n)return!1;if(!L(t,e,u))return!1;null===i&&(i=new Set),i.add(u)}}if(null!==i){for(var c=a(e),p=0;p<c.length;p++){var f=c[p];if("object"===o(f)&&null!==f){if(!F(i,f,n,r))return!1}else if(!n&&!t.has(f)&&!F(i,f,n,r))return!1}return 0===i.size}return!0}(t,e,n,l))return!1}else if(3===u){if(!function(t,e,n,i){for(var a=null,l=s(t),u=0;u<l.length;u++){var c=r(l[u],2),p=c[0],f=c[1];if("object"===o(p)&&null!==p)null===a&&(a=new Set),a.add(p);else{var d=e.get(p);if(void 0===d&&!e.has(p)||!$(f,d,n,i)){if(n)return!1;if(!R(t,e,p,f,i))return!1;null===a&&(a=new Set),a.add(p)}}}if(null!==a){for(var h=s(e),m=0;m<h.length;m++){var v=r(h[m],2),g=(p=v[0],v[1]);if("object"===o(p)&&null!==p){if(!M(a,t,p,g,n,i))return!1}else if(!(n||t.has(p)&&$(t.get(p),g,!1,i)||M(a,t,p,g,!1,i)))return!1}return 0===a.size}return!0}(t,e,n,l))return!1}else if(1===u)for(;c<t.length;c++){if(!f(t,c)){if(f(e,c))return!1;for(var p=Object.keys(t);c<p.length;c++){var d=p[c];if(!f(e,d)||!$(t[d],e[d],n,l))return!1}return p.length===Object.keys(e).length}if(!f(e,c)||!$(t[c],e[c],n,l))return!1}for(c=0;c<i.length;c++){var h=i[c];if(!$(t[h],e[h],n,l))return!1}return!0}t.exports={isDeepEqual:function(t,e){return $(t,e,false)},isDeepStrictEqual:function(t,e){return $(t,e,true)}}},553:t=>{"function"==typeof Object.create?t.exports=function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:t.exports=function(t,e){if(e){t.super_=e;var n=function(){};n.prototype=e.prototype,t.prototype=new n,t.prototype.constructor=t}}},7872:t=>{t.exports=function(t){return t&&"object"==typeof t&&"function"==typeof t.copy&&"function"==typeof t.fill&&"function"==typeof t.readUInt8}},4851:(t,e,n)=>{"use strict";var r=n(2584),o=n(8662),i=n(6430),a=n(5692);function s(t){return t.call.bind(t)}var l="undefined"!=typeof BigInt,u="undefined"!=typeof Symbol,c=s(Object.prototype.toString),p=s(Number.prototype.valueOf),f=s(String.prototype.valueOf),d=s(Boolean.prototype.valueOf);if(l)var h=s(BigInt.prototype.valueOf);if(u)var m=s(Symbol.prototype.valueOf);function v(t,e){if("object"!=typeof t)return!1;try{return e(t),!0}catch(t){return!1}}function g(t){return"[object Map]"===c(t)}function y(t){return"[object Set]"===c(t)}function A(t){return"[object WeakMap]"===c(t)}function b(t){return"[object WeakSet]"===c(t)}function C(t){return"[object ArrayBuffer]"===c(t)}function w(t){return"undefined"!=typeof ArrayBuffer&&(C.working?C(t):t instanceof ArrayBuffer)}function x(t){return"[object DataView]"===c(t)}function _(t){return"undefined"!=typeof DataView&&(x.working?x(t):t instanceof DataView)}e.isArgumentsObject=r,e.isGeneratorFunction=o,e.isTypedArray=a,e.isPromise=function(t){return"undefined"!=typeof Promise&&t instanceof Promise||null!==t&&"object"==typeof t&&"function"==typeof t.then&&"function"==typeof t.catch},e.isArrayBufferView=function(t){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(t):a(t)||_(t)},e.isUint8Array=function(t){return"Uint8Array"===i(t)},e.isUint8ClampedArray=function(t){return"Uint8ClampedArray"===i(t)},e.isUint16Array=function(t){return"Uint16Array"===i(t)},e.isUint32Array=function(t){return"Uint32Array"===i(t)},e.isInt8Array=function(t){return"Int8Array"===i(t)},e.isInt16Array=function(t){return"Int16Array"===i(t)},e.isInt32Array=function(t){return"Int32Array"===i(t)},e.isFloat32Array=function(t){return"Float32Array"===i(t)},e.isFloat64Array=function(t){return"Float64Array"===i(t)},e.isBigInt64Array=function(t){return"BigInt64Array"===i(t)},e.isBigUint64Array=function(t){return"BigUint64Array"===i(t)},g.working="undefined"!=typeof Map&&g(new Map),e.isMap=function(t){return"undefined"!=typeof Map&&(g.working?g(t):t instanceof Map)},y.working="undefined"!=typeof Set&&y(new Set),e.isSet=function(t){return"undefined"!=typeof Set&&(y.working?y(t):t instanceof Set)},A.working="undefined"!=typeof WeakMap&&A(new WeakMap),e.isWeakMap=function(t){return"undefined"!=typeof WeakMap&&(A.working?A(t):t instanceof WeakMap)},b.working="undefined"!=typeof WeakSet&&b(new WeakSet),e.isWeakSet=function(t){return b(t)},C.working="undefined"!=typeof ArrayBuffer&&C(new ArrayBuffer),e.isArrayBuffer=w,x.working="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof DataView&&x(new DataView(new ArrayBuffer(1),0,1)),e.isDataView=_;var S="undefined"!=typeof SharedArrayBuffer?SharedArrayBuffer:void 0;function k(t){return"[object SharedArrayBuffer]"===c(t)}function E(t){return void 0!==S&&(void 0===k.working&&(k.working=k(new S)),k.working?k(t):t instanceof S)}function O(t){return v(t,p)}function j(t){return v(t,f)}function T(t){return v(t,d)}function B(t){return l&&v(t,h)}function N(t){return u&&v(t,m)}e.isSharedArrayBuffer=E,e.isAsyncFunction=function(t){return"[object AsyncFunction]"===c(t)},e.isMapIterator=function(t){return"[object Map Iterator]"===c(t)},e.isSetIterator=function(t){return"[object Set Iterator]"===c(t)},e.isGeneratorObject=function(t){return"[object Generator]"===c(t)},e.isWebAssemblyCompiledModule=function(t){return"[object WebAssembly.Module]"===c(t)},e.isNumberObject=O,e.isStringObject=j,e.isBooleanObject=T,e.isBigIntObject=B,e.isSymbolObject=N,e.isBoxedPrimitive=function(t){return O(t)||j(t)||T(t)||B(t)||N(t)},e.isAnyArrayBuffer=function(t){return"undefined"!=typeof Uint8Array&&(w(t)||E(t))},["isProxy","isExternal","isModuleNamespaceObject"].forEach((function(t){Object.defineProperty(e,t,{enumerable:!1,value:function(){throw new Error(t+" is not supported in userland")}})}))},374:(t,e,n)=>{var r=n(4155),o=n(5108),i=Object.getOwnPropertyDescriptors||function(t){for(var e=Object.keys(t),n={},r=0;r<e.length;r++)n[e[r]]=Object.getOwnPropertyDescriptor(t,e[r]);return n},a=/%[sdj%]/g;e.format=function(t){if(!b(t)){for(var e=[],n=0;n<arguments.length;n++)e.push(c(arguments[n]));return e.join(" ")}n=1;for(var r=arguments,o=r.length,i=String(t).replace(a,(function(t){if("%%"===t)return"%";if(n>=o)return t;switch(t){case"%s":return String(r[n++]);case"%d":return Number(r[n++]);case"%j":try{return JSON.stringify(r[n++])}catch(t){return"[Circular]"}default:return t}})),s=r[n];n<o;s=r[++n])y(s)||!x(s)?i+=" "+s:i+=" "+c(s);return i},e.deprecate=function(t,n){if(void 0!==r&&!0===r.noDeprecation)return t;if(void 0===r)return function(){return e.deprecate(t,n).apply(this,arguments)};var i=!1;return function(){if(!i){if(r.throwDeprecation)throw new Error(n);r.traceDeprecation?o.trace(n):o.error(n),i=!0}return t.apply(this,arguments)}};var s={},l=/^$/;if(r.env.NODE_DEBUG){var u=r.env.NODE_DEBUG;u=u.replace(/[|\\{}()[\]^$+?.]/g,"\\$&").replace(/\*/g,".*").replace(/,/g,"$|^").toUpperCase(),l=new RegExp("^"+u+"$","i")}function c(t,n){var r={seen:[],stylize:f};return arguments.length>=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),g(n)?r.showHidden=n:n&&e._extend(r,n),C(r.showHidden)&&(r.showHidden=!1),C(r.depth)&&(r.depth=2),C(r.colors)&&(r.colors=!1),C(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=p),d(r,t,r.depth)}function p(t,e){var n=c.styles[e];return n?"["+c.colors[n][0]+"m"+t+"["+c.colors[n][1]+"m":t}function f(t,e){return t}function d(t,n,r){if(t.customInspect&&n&&k(n.inspect)&&n.inspect!==e.inspect&&(!n.constructor||n.constructor.prototype!==n)){var o=n.inspect(r,t);return b(o)||(o=d(t,o,r)),o}var i=function(t,e){if(C(e))return t.stylize("undefined","undefined");if(b(e)){var n="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(n,"string")}if(A(e))return t.stylize(""+e,"number");if(g(e))return t.stylize(""+e,"boolean");if(y(e))return t.stylize("null","null")}(t,n);if(i)return i;var a=Object.keys(n),s=function(t){var e={};return t.forEach((function(t,n){e[t]=!0})),e}(a);if(t.showHidden&&(a=Object.getOwnPropertyNames(n)),S(n)&&(a.indexOf("message")>=0||a.indexOf("description")>=0))return h(n);if(0===a.length){if(k(n)){var l=n.name?": "+n.name:"";return t.stylize("[Function"+l+"]","special")}if(w(n))return t.stylize(RegExp.prototype.toString.call(n),"regexp");if(_(n))return t.stylize(Date.prototype.toString.call(n),"date");if(S(n))return h(n)}var u,c="",p=!1,f=["{","}"];(v(n)&&(p=!0,f=["[","]"]),k(n))&&(c=" [Function"+(n.name?": "+n.name:"")+"]");return w(n)&&(c=" "+RegExp.prototype.toString.call(n)),_(n)&&(c=" "+Date.prototype.toUTCString.call(n)),S(n)&&(c=" "+h(n)),0!==a.length||p&&0!=n.length?r<0?w(n)?t.stylize(RegExp.prototype.toString.call(n),"regexp"):t.stylize("[Object]","special"):(t.seen.push(n),u=p?function(t,e,n,r,o){for(var i=[],a=0,s=e.length;a<s;++a)B(e,String(a))?i.push(m(t,e,n,r,String(a),!0)):i.push("");return o.forEach((function(o){o.match(/^\d+$/)||i.push(m(t,e,n,r,o,!0))})),i}(t,n,r,s,a):a.map((function(e){return m(t,n,r,s,e,p)})),t.seen.pop(),function(t,e,n){if(t.reduce((function(t,e){return e.indexOf("\n")>=0&&0,t+e.replace(/\u001b\[\d\d?m/g,"").length+1}),0)>60)return n[0]+(""===e?"":e+"\n ")+" "+t.join(",\n ")+" "+n[1];return n[0]+e+" "+t.join(", ")+" "+n[1]}(u,c,f)):f[0]+c+f[1]}function h(t){return"["+Error.prototype.toString.call(t)+"]"}function m(t,e,n,r,o,i){var a,s,l;if((l=Object.getOwnPropertyDescriptor(e,o)||{value:e[o]}).get?s=l.set?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):l.set&&(s=t.stylize("[Setter]","special")),B(r,o)||(a="["+o+"]"),s||(t.seen.indexOf(l.value)<0?(s=y(n)?d(t,l.value,null):d(t,l.value,n-1)).indexOf("\n")>-1&&(s=i?s.split("\n").map((function(t){return" "+t})).join("\n").substr(2):"\n"+s.split("\n").map((function(t){return" "+t})).join("\n")):s=t.stylize("[Circular]","special")),C(a)){if(i&&o.match(/^\d+$/))return s;(a=JSON.stringify(""+o)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.substr(1,a.length-2),a=t.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=t.stylize(a,"string"))}return a+": "+s}function v(t){return Array.isArray(t)}function g(t){return"boolean"==typeof t}function y(t){return null===t}function A(t){return"number"==typeof t}function b(t){return"string"==typeof t}function C(t){return void 0===t}function w(t){return x(t)&&"[object RegExp]"===E(t)}function x(t){return"object"==typeof t&&null!==t}function _(t){return x(t)&&"[object Date]"===E(t)}function S(t){return x(t)&&("[object Error]"===E(t)||t instanceof Error)}function k(t){return"function"==typeof t}function E(t){return Object.prototype.toString.call(t)}function O(t){return t<10?"0"+t.toString(10):t.toString(10)}e.debuglog=function(t){if(t=t.toUpperCase(),!s[t])if(l.test(t)){var n=r.pid;s[t]=function(){var r=e.format.apply(e,arguments);o.error("%s %d: %s",t,n,r)}}else s[t]=function(){};return s[t]},e.inspect=c,c.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},c.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},e.types=n(4851),e.isArray=v,e.isBoolean=g,e.isNull=y,e.isNullOrUndefined=function(t){return null==t},e.isNumber=A,e.isString=b,e.isSymbol=function(t){return"symbol"==typeof t},e.isUndefined=C,e.isRegExp=w,e.types.isRegExp=w,e.isObject=x,e.isDate=_,e.types.isDate=_,e.isError=S,e.types.isNativeError=S,e.isFunction=k,e.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||void 0===t},e.isBuffer=n(7872);var j=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function T(){var t=new Date,e=[O(t.getHours()),O(t.getMinutes()),O(t.getSeconds())].join(":");return[t.getDate(),j[t.getMonth()],e].join(" ")}function B(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.log=function(){o.log("%s - %s",T(),e.format.apply(e,arguments))},e.inherits=n(553),e._extend=function(t,e){if(!e||!x(e))return t;for(var n=Object.keys(e),r=n.length;r--;)t[n[r]]=e[n[r]];return t};var N="undefined"!=typeof Symbol?Symbol("util.promisify.custom"):void 0;function P(t,e){if(!t){var n=new Error("Promise was rejected with a falsy value");n.reason=t,t=n}return e(t)}e.promisify=function(t){if("function"!=typeof t)throw new TypeError('The "original" argument must be of type Function');if(N&&t[N]){var e;if("function"!=typeof(e=t[N]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(e,N,{value:e,enumerable:!1,writable:!1,configurable:!0}),e}function e(){for(var e,n,r=new Promise((function(t,r){e=t,n=r})),o=[],i=0;i<arguments.length;i++)o.push(arguments[i]);o.push((function(t,r){t?n(t):e(r)}));try{t.apply(this,o)}catch(t){n(t)}return r}return Object.setPrototypeOf(e,Object.getPrototypeOf(t)),N&&Object.defineProperty(e,N,{value:e,enumerable:!1,writable:!1,configurable:!0}),Object.defineProperties(e,i(t))},e.promisify.custom=N,e.callbackify=function(t){if("function"!=typeof t)throw new TypeError('The "original" argument must be of type Function');function e(){for(var e=[],n=0;n<arguments.length;n++)e.push(arguments[n]);var o=e.pop();if("function"!=typeof o)throw new TypeError("The last argument must be of type Function");var i=this,a=function(){return o.apply(i,arguments)};t.apply(this,e).then((function(t){r.nextTick(a.bind(null,null,t))}),(function(t){r.nextTick(P.bind(null,t,a))}))}return Object.setPrototypeOf(e,Object.getPrototypeOf(t)),Object.defineProperties(e,i(t)),e}},4244:t=>{"use strict";var e=function(t){return t!=t};t.exports=function(t,n){return 0===t&&0===n?1/t==1/n:t===n||!(!e(t)||!e(n))}},609:(t,e,n)=>{"use strict";var r=n(4289),o=n(5559),i=n(4244),a=n(5624),s=n(2281),l=o(a(),Object);r(l,{getPolyfill:a,implementation:i,shim:s}),t.exports=l},5624:(t,e,n)=>{"use strict";var r=n(4244);t.exports=function(){return"function"==typeof Object.is?Object.is:r}},2281:(t,e,n)=>{"use strict";var r=n(5624),o=n(4289);t.exports=function(){var t=r();return o(Object,{is:t},{is:function(){return Object.is!==t}}),t}},8987:(t,e,n)=>{"use strict";var r;if(!Object.keys){var o=Object.prototype.hasOwnProperty,i=Object.prototype.toString,a=n(1414),s=Object.prototype.propertyIsEnumerable,l=!s.call({toString:null},"toString"),u=s.call((function(){}),"prototype"),c=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],p=function(t){var e=t.constructor;return e&&e.prototype===t},f={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},d=function(){if("undefined"==typeof window)return!1;for(var t in window)try{if(!f["$"+t]&&o.call(window,t)&&null!==window[t]&&"object"==typeof window[t])try{p(window[t])}catch(t){return!0}}catch(t){return!0}return!1}();r=function(t){var e=null!==t&&"object"==typeof t,n="[object Function]"===i.call(t),r=a(t),s=e&&"[object String]"===i.call(t),f=[];if(!e&&!n&&!r)throw new TypeError("Object.keys called on a non-object");var h=u&&n;if(s&&t.length>0&&!o.call(t,0))for(var m=0;m<t.length;++m)f.push(String(m));if(r&&t.length>0)for(var v=0;v<t.length;++v)f.push(String(v));else for(var g in t)h&&"prototype"===g||!o.call(t,g)||f.push(String(g));if(l)for(var y=function(t){if("undefined"==typeof window||!d)return p(t);try{return p(t)}catch(t){return!1}}(t),A=0;A<c.length;++A)y&&"constructor"===c[A]||!o.call(t,c[A])||f.push(c[A]);return f}}t.exports=r},2215:(t,e,n)=>{"use strict";var r=Array.prototype.slice,o=n(1414),i=Object.keys,a=i?function(t){return i(t)}:n(8987),s=Object.keys;a.shim=function(){if(Object.keys){var t=function(){var t=Object.keys(arguments);return t&&t.length===arguments.length}(1,2);t||(Object.keys=function(t){return o(t)?s(r.call(t)):s(t)})}else Object.keys=a;return Object.keys||a},t.exports=a},1414:t=>{"use strict";var e=Object.prototype.toString;t.exports=function(t){var n=e.call(t),r="[object Arguments]"===n;return r||(r="[object Array]"!==n&&null!==t&&"object"==typeof t&&"number"==typeof t.length&&t.length>=0&&"[object Function]"===e.call(t.callee)),r}},4155:t=>{var e,n,r=t.exports={};function o(){throw new Error("setTimeout has not been defined")}function i(){throw new Error("clearTimeout has not been defined")}function a(t){if(e===setTimeout)return setTimeout(t,0);if((e===o||!e)&&setTimeout)return e=setTimeout,setTimeout(t,0);try{return e(t,0)}catch(n){try{return e.call(null,t,0)}catch(n){return e.call(this,t,0)}}}!function(){try{e="function"==typeof setTimeout?setTimeout:o}catch(t){e=o}try{n="function"==typeof clearTimeout?clearTimeout:i}catch(t){n=i}}();var s,l=[],u=!1,c=-1;function p(){u&&s&&(u=!1,s.length?l=s.concat(l):c=-1,l.length&&f())}function f(){if(!u){var t=a(p);u=!0;for(var e=l.length;e;){for(s=l,l=[];++c<e;)s&&s[c].run();c=-1,e=l.length}s=null,u=!1,function(t){if(n===clearTimeout)return clearTimeout(t);if((n===i||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(t);try{n(t)}catch(e){try{return n.call(null,t)}catch(e){return n.call(this,t)}}}(t)}}function d(t,e){this.fun=t,this.array=e}function h(){}r.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)e[n-1]=arguments[n];l.push(new d(t,e)),1!==l.length||u||a(f)},d.prototype.run=function(){this.fun.apply(null,this.array)},r.title="browser",r.browser=!0,r.env={},r.argv=[],r.version="",r.versions={},r.on=h,r.addListener=h,r.once=h,r.off=h,r.removeListener=h,r.removeAllListeners=h,r.emit=h,r.prependListener=h,r.prependOnceListener=h,r.listeners=function(t){return[]},r.binding=function(t){throw new Error("process.binding is not supported")},r.cwd=function(){return"/"},r.chdir=function(t){throw new Error("process.chdir is not supported")},r.umask=function(){return 0}},6376:(t,e,n)=>{const r=n(4225),{MAX_LENGTH:o,MAX_SAFE_INTEGER:i}=n(3295),{re:a,t:s}=n(5765),l=n(2893),{compareIdentifiers:u}=n(6742);class c{constructor(t,e){if(e=l(e),t instanceof c){if(t.loose===!!e.loose&&t.includePrerelease===!!e.includePrerelease)return t;t=t.version}else if("string"!=typeof t)throw new TypeError(`Invalid Version: ${t}`);if(t.length>o)throw new TypeError(`version is longer than ${o} characters`);r("SemVer",t,e),this.options=e,this.loose=!!e.loose,this.includePrerelease=!!e.includePrerelease;const n=t.trim().match(e.loose?a[s.LOOSE]:a[s.FULL]);if(!n)throw new TypeError(`Invalid Version: ${t}`);if(this.raw=t,this.major=+n[1],this.minor=+n[2],this.patch=+n[3],this.major>i||this.major<0)throw new TypeError("Invalid major version");if(this.minor>i||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>i||this.patch<0)throw new TypeError("Invalid patch version");n[4]?this.prerelease=n[4].split(".").map((t=>{if(/^[0-9]+$/.test(t)){const e=+t;if(e>=0&&e<i)return e}return t})):this.prerelease=[],this.build=n[5]?n[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(t){if(r("SemVer.compare",this.version,this.options,t),!(t instanceof c)){if("string"==typeof t&&t===this.version)return 0;t=new c(t,this.options)}return t.version===this.version?0:this.compareMain(t)||this.comparePre(t)}compareMain(t){return t instanceof c||(t=new c(t,this.options)),u(this.major,t.major)||u(this.minor,t.minor)||u(this.patch,t.patch)}comparePre(t){if(t instanceof c||(t=new c(t,this.options)),this.prerelease.length&&!t.prerelease.length)return-1;if(!this.prerelease.length&&t.prerelease.length)return 1;if(!this.prerelease.length&&!t.prerelease.length)return 0;let e=0;do{const n=this.prerelease[e],o=t.prerelease[e];if(r("prerelease compare",e,n,o),void 0===n&&void 0===o)return 0;if(void 0===o)return 1;if(void 0===n)return-1;if(n!==o)return u(n,o)}while(++e)}compareBuild(t){t instanceof c||(t=new c(t,this.options));let e=0;do{const n=this.build[e],o=t.build[e];if(r("prerelease compare",e,n,o),void 0===n&&void 0===o)return 0;if(void 0===o)return 1;if(void 0===n)return-1;if(n!==o)return u(n,o)}while(++e)}inc(t,e){switch(t){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",e);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",e);break;case"prepatch":this.prerelease.length=0,this.inc("patch",e),this.inc("pre",e);break;case"prerelease":0===this.prerelease.length&&this.inc("patch",e),this.inc("pre",e);break;case"major":0===this.minor&&0===this.patch&&0!==this.prerelease.length||this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":0===this.patch&&0!==this.prerelease.length||this.minor++,this.patch=0,this.prerelease=[];break;case"patch":0===this.prerelease.length&&this.patch++,this.prerelease=[];break;case"pre":if(0===this.prerelease.length)this.prerelease=[0];else{let t=this.prerelease.length;for(;--t>=0;)"number"==typeof this.prerelease[t]&&(this.prerelease[t]++,t=-2);-1===t&&this.prerelease.push(0)}e&&(this.prerelease[0]===e?isNaN(this.prerelease[1])&&(this.prerelease=[e,0]):this.prerelease=[e,0]);break;default:throw new Error(`invalid increment argument: ${t}`)}return this.format(),this.raw=this.version,this}}t.exports=c},8679:(t,e,n)=>{const r=n(6376);t.exports=(t,e)=>new r(t,e).major},3959:(t,e,n)=>{const{MAX_LENGTH:r}=n(3295),{re:o,t:i}=n(5765),a=n(6376),s=n(2893);t.exports=(t,e)=>{if(e=s(e),t instanceof a)return t;if("string"!=typeof t)return null;if(t.length>r)return null;if(!(e.loose?o[i.LOOSE]:o[i.FULL]).test(t))return null;try{return new a(t,e)}catch(t){return null}}},6397:(t,e,n)=>{const r=n(3959);t.exports=(t,e)=>{const n=r(t,e);return n?n.version:null}},3295:t=>{const e=Number.MAX_SAFE_INTEGER||9007199254740991;t.exports={SEMVER_SPEC_VERSION:"2.0.0",MAX_LENGTH:256,MAX_SAFE_INTEGER:e,MAX_SAFE_COMPONENT_LENGTH:16}},4225:(t,e,n)=>{var r=n(4155),o=n(5108);const i="object"==typeof r&&r.env&&r.env.NODE_DEBUG&&/\bsemver\b/i.test(r.env.NODE_DEBUG)?(...t)=>o.error("SEMVER",...t):()=>{};t.exports=i},6742:t=>{const e=/^[0-9]+$/,n=(t,n)=>{const r=e.test(t),o=e.test(n);return r&&o&&(t=+t,n=+n),t===n?0:r&&!o?-1:o&&!r?1:t<n?-1:1};t.exports={compareIdentifiers:n,rcompareIdentifiers:(t,e)=>n(e,t)}},2893:t=>{const e=["includePrerelease","loose","rtl"];t.exports=t=>t?"object"!=typeof t?{loose:!0}:e.filter((e=>t[e])).reduce(((t,e)=>(t[e]=!0,t)),{}):{}},5765:(t,e,n)=>{const{MAX_SAFE_COMPONENT_LENGTH:r}=n(3295),o=n(4225),i=(e=t.exports={}).re=[],a=e.src=[],s=e.t={};let l=0;const u=(t,e,n)=>{const r=l++;o(r,e),s[t]=r,a[r]=e,i[r]=new RegExp(e,n?"g":void 0)};u("NUMERICIDENTIFIER","0|[1-9]\\d*"),u("NUMERICIDENTIFIERLOOSE","[0-9]+"),u("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*"),u("MAINVERSION",`(${a[s.NUMERICIDENTIFIER]})\\.(${a[s.NUMERICIDENTIFIER]})\\.(${a[s.NUMERICIDENTIFIER]})`),u("MAINVERSIONLOOSE",`(${a[s.NUMERICIDENTIFIERLOOSE]})\\.(${a[s.NUMERICIDENTIFIERLOOSE]})\\.(${a[s.NUMERICIDENTIFIERLOOSE]})`),u("PRERELEASEIDENTIFIER",`(?:${a[s.NUMERICIDENTIFIER]}|${a[s.NONNUMERICIDENTIFIER]})`),u("PRERELEASEIDENTIFIERLOOSE",`(?:${a[s.NUMERICIDENTIFIERLOOSE]}|${a[s.NONNUMERICIDENTIFIER]})`),u("PRERELEASE",`(?:-(${a[s.PRERELEASEIDENTIFIER]}(?:\\.${a[s.PRERELEASEIDENTIFIER]})*))`),u("PRERELEASELOOSE",`(?:-?(${a[s.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${a[s.PRERELEASEIDENTIFIERLOOSE]})*))`),u("BUILDIDENTIFIER","[0-9A-Za-z-]+"),u("BUILD",`(?:\\+(${a[s.BUILDIDENTIFIER]}(?:\\.${a[s.BUILDIDENTIFIER]})*))`),u("FULLPLAIN",`v?${a[s.MAINVERSION]}${a[s.PRERELEASE]}?${a[s.BUILD]}?`),u("FULL",`^${a[s.FULLPLAIN]}$`),u("LOOSEPLAIN",`[v=\\s]*${a[s.MAINVERSIONLOOSE]}${a[s.PRERELEASELOOSE]}?${a[s.BUILD]}?`),u("LOOSE",`^${a[s.LOOSEPLAIN]}$`),u("GTLT","((?:<|>)?=?)"),u("XRANGEIDENTIFIERLOOSE",`${a[s.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),u("XRANGEIDENTIFIER",`${a[s.NUMERICIDENTIFIER]}|x|X|\\*`),u("XRANGEPLAIN",`[v=\\s]*(${a[s.XRANGEIDENTIFIER]})(?:\\.(${a[s.XRANGEIDENTIFIER]})(?:\\.(${a[s.XRANGEIDENTIFIER]})(?:${a[s.PRERELEASE]})?${a[s.BUILD]}?)?)?`),u("XRANGEPLAINLOOSE",`[v=\\s]*(${a[s.XRANGEIDENTIFIERLOOSE]})(?:\\.(${a[s.XRANGEIDENTIFIERLOOSE]})(?:\\.(${a[s.XRANGEIDENTIFIERLOOSE]})(?:${a[s.PRERELEASELOOSE]})?${a[s.BUILD]}?)?)?`),u("XRANGE",`^${a[s.GTLT]}\\s*${a[s.XRANGEPLAIN]}$`),u("XRANGELOOSE",`^${a[s.GTLT]}\\s*${a[s.XRANGEPLAINLOOSE]}$`),u("COERCE",`(^|[^\\d])(\\d{1,${r}})(?:\\.(\\d{1,${r}}))?(?:\\.(\\d{1,${r}}))?(?:$|[^\\d])`),u("COERCERTL",a[s.COERCE],!0),u("LONETILDE","(?:~>?)"),u("TILDETRIM",`(\\s*)${a[s.LONETILDE]}\\s+`,!0),e.tildeTrimReplace="$1~",u("TILDE",`^${a[s.LONETILDE]}${a[s.XRANGEPLAIN]}$`),u("TILDELOOSE",`^${a[s.LONETILDE]}${a[s.XRANGEPLAINLOOSE]}$`),u("LONECARET","(?:\\^)"),u("CARETTRIM",`(\\s*)${a[s.LONECARET]}\\s+`,!0),e.caretTrimReplace="$1^",u("CARET",`^${a[s.LONECARET]}${a[s.XRANGEPLAIN]}$`),u("CARETLOOSE",`^${a[s.LONECARET]}${a[s.XRANGEPLAINLOOSE]}$`),u("COMPARATORLOOSE",`^${a[s.GTLT]}\\s*(${a[s.LOOSEPLAIN]})$|^$`),u("COMPARATOR",`^${a[s.GTLT]}\\s*(${a[s.FULLPLAIN]})$|^$`),u("COMPARATORTRIM",`(\\s*)${a[s.GTLT]}\\s*(${a[s.LOOSEPLAIN]}|${a[s.XRANGEPLAIN]})`,!0),e.comparatorTrimReplace="$1$2$3",u("HYPHENRANGE",`^\\s*(${a[s.XRANGEPLAIN]})\\s+-\\s+(${a[s.XRANGEPLAIN]})\\s*$`),u("HYPHENRANGELOOSE",`^\\s*(${a[s.XRANGEPLAINLOOSE]})\\s+-\\s+(${a[s.XRANGEPLAINLOOSE]})\\s*$`),u("STAR","(<|>)?=?\\s*\\*"),u("GTE0","^\\s*>=\\s*0.0.0\\s*$"),u("GTE0PRE","^\\s*>=\\s*0.0.0-0\\s*$")},3379:t=>{"use strict";var e=[];function n(t){for(var n=-1,r=0;r<e.length;r++)if(e[r].identifier===t){n=r;break}return n}function r(t,r){for(var i={},a=[],s=0;s<t.length;s++){var l=t[s],u=r.base?l[0]+r.base:l[0],c=i[u]||0,p="".concat(u," ").concat(c);i[u]=c+1;var f=n(p),d={css:l[1],media:l[2],sourceMap:l[3],supports:l[4],layer:l[5]};if(-1!==f)e[f].references++,e[f].updater(d);else{var h=o(d,r);r.byIndex=s,e.splice(s,0,{identifier:p,updater:h,references:1})}a.push(p)}return a}function o(t,e){var n=e.domAPI(e);n.update(t);return function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap&&e.supports===t.supports&&e.layer===t.layer)return;n.update(t=e)}else n.remove()}}t.exports=function(t,o){var i=r(t=t||[],o=o||{});return function(t){t=t||[];for(var a=0;a<i.length;a++){var s=n(i[a]);e[s].references--}for(var l=r(t,o),u=0;u<i.length;u++){var c=n(i[u]);0===e[c].references&&(e[c].updater(),e.splice(c,1))}i=l}}},569:t=>{"use strict";var e={};t.exports=function(t,n){var r=function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(t){n=null}e[t]=n}return e[t]}(t);if(!r)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");r.appendChild(n)}},9216:t=>{"use strict";t.exports=function(t){var e=document.createElement("style");return t.setAttributes(e,t.attributes),t.insert(e,t.options),e}},3565:(t,e,n)=>{"use strict";t.exports=function(t){var e=n.nc;e&&t.setAttribute("nonce",e)}},7795:t=>{"use strict";t.exports=function(t){var e=t.insertStyleElement(t);return{update:function(n){!function(t,e,n){var r="";n.supports&&(r+="@supports (".concat(n.supports,") {")),n.media&&(r+="@media ".concat(n.media," {"));var o=void 0!==n.layer;o&&(r+="@layer".concat(n.layer.length>0?" ".concat(n.layer):""," {")),r+=n.css,o&&(r+="}"),n.media&&(r+="}"),n.supports&&(r+="}");var i=n.sourceMap;i&&"undefined"!=typeof btoa&&(r+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i))))," */")),e.styleTagTransform(r,t,e.options)}(e,t,n)},remove:function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(e)}}}},4589:t=>{"use strict";t.exports=function(t,e){if(e.styleSheet)e.styleSheet.cssText=t;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(t))}}},2998:(t,e,n)=>{"use strict";function r(t){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r(t)}function o(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function i(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}n.r(e),n.d(e,{VClosePopover:()=>ye,VPopover:()=>Ae,VTooltip:()=>ge,createTooltip:()=>Ht,default:()=>we,destroyTooltip:()=>Yt,install:()=>ve});var a=n(5108),s="undefined"!=typeof window&&"undefined"!=typeof document&&"undefined"!=typeof navigator,l=function(){for(var t=["Edge","Trident","Firefox"],e=0;e<t.length;e+=1)if(s&&navigator.userAgent.indexOf(t[e])>=0)return 1;return 0}();var u=s&&window.Promise?function(t){var e=!1;return function(){e||(e=!0,window.Promise.resolve().then((function(){e=!1,t()})))}}:function(t){var e=!1;return function(){e||(e=!0,setTimeout((function(){e=!1,t()}),l))}};function c(t){return t&&"[object Function]"==={}.toString.call(t)}function p(t,e){if(1!==t.nodeType)return[];var n=t.ownerDocument.defaultView.getComputedStyle(t,null);return e?n[e]:n}function f(t){return"HTML"===t.nodeName?t:t.parentNode||t.host}function d(t){if(!t)return document.body;switch(t.nodeName){case"HTML":case"BODY":return t.ownerDocument.body;case"#document":return t.body}var e=p(t),n=e.overflow,r=e.overflowX,o=e.overflowY;return/(auto|scroll|overlay)/.test(n+o+r)?t:d(f(t))}function h(t){return t&&t.referenceNode?t.referenceNode:t}var m=s&&!(!window.MSInputMethodContext||!document.documentMode),v=s&&/MSIE 10/.test(navigator.userAgent);function g(t){return 11===t?m:10===t?v:m||v}function y(t){if(!t)return document.documentElement;for(var e=g(10)?document.body:null,n=t.offsetParent||null;n===e&&t.nextElementSibling;)n=(t=t.nextElementSibling).offsetParent;var r=n&&n.nodeName;return r&&"BODY"!==r&&"HTML"!==r?-1!==["TH","TD","TABLE"].indexOf(n.nodeName)&&"static"===p(n,"position")?y(n):n:t?t.ownerDocument.documentElement:document.documentElement}function A(t){return null!==t.parentNode?A(t.parentNode):t}function b(t,e){if(!(t&&t.nodeType&&e&&e.nodeType))return document.documentElement;var n=t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_FOLLOWING,r=n?t:e,o=n?e:t,i=document.createRange();i.setStart(r,0),i.setEnd(o,0);var a,s,l=i.commonAncestorContainer;if(t!==l&&e!==l||r.contains(o))return"BODY"===(s=(a=l).nodeName)||"HTML"!==s&&y(a.firstElementChild)!==a?y(l):l;var u=A(t);return u.host?b(u.host,e):b(t,A(e).host)}function C(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"top",n="top"===e?"scrollTop":"scrollLeft",r=t.nodeName;if("BODY"===r||"HTML"===r){var o=t.ownerDocument.documentElement,i=t.ownerDocument.scrollingElement||o;return i[n]}return t[n]}function w(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=C(e,"top"),o=C(e,"left"),i=n?-1:1;return t.top+=r*i,t.bottom+=r*i,t.left+=o*i,t.right+=o*i,t}function x(t,e){var n="x"===e?"Left":"Top",r="Left"===n?"Right":"Bottom";return parseFloat(t["border"+n+"Width"])+parseFloat(t["border"+r+"Width"])}function _(t,e,n,r){return Math.max(e["offset"+t],e["scroll"+t],n["client"+t],n["offset"+t],n["scroll"+t],g(10)?parseInt(n["offset"+t])+parseInt(r["margin"+("Height"===t?"Top":"Left")])+parseInt(r["margin"+("Height"===t?"Bottom":"Right")]):0)}function S(t){var e=t.body,n=t.documentElement,r=g(10)&&getComputedStyle(n);return{height:_("Height",e,n,r),width:_("Width",e,n,r)}}var k=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},E=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),O=function(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t},j=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t};function T(t){return j({},t,{right:t.left+t.width,bottom:t.top+t.height})}function B(t){var e={};try{if(g(10)){e=t.getBoundingClientRect();var n=C(t,"top"),r=C(t,"left");e.top+=n,e.left+=r,e.bottom+=n,e.right+=r}else e=t.getBoundingClientRect()}catch(t){}var o={left:e.left,top:e.top,width:e.right-e.left,height:e.bottom-e.top},i="HTML"===t.nodeName?S(t.ownerDocument):{},a=i.width||t.clientWidth||o.width,s=i.height||t.clientHeight||o.height,l=t.offsetWidth-a,u=t.offsetHeight-s;if(l||u){var c=p(t);l-=x(c,"x"),u-=x(c,"y"),o.width-=l,o.height-=u}return T(o)}function N(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=g(10),o="HTML"===e.nodeName,i=B(t),a=B(e),s=d(t),l=p(e),u=parseFloat(l.borderTopWidth),c=parseFloat(l.borderLeftWidth);n&&o&&(a.top=Math.max(a.top,0),a.left=Math.max(a.left,0));var f=T({top:i.top-a.top-u,left:i.left-a.left-c,width:i.width,height:i.height});if(f.marginTop=0,f.marginLeft=0,!r&&o){var h=parseFloat(l.marginTop),m=parseFloat(l.marginLeft);f.top-=u-h,f.bottom-=u-h,f.left-=c-m,f.right-=c-m,f.marginTop=h,f.marginLeft=m}return(r&&!n?e.contains(s):e===s&&"BODY"!==s.nodeName)&&(f=w(f,e)),f}function P(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=t.ownerDocument.documentElement,r=N(t,n),o=Math.max(n.clientWidth,window.innerWidth||0),i=Math.max(n.clientHeight,window.innerHeight||0),a=e?0:C(n),s=e?0:C(n,"left"),l={top:a-r.top+r.marginTop,left:s-r.left+r.marginLeft,width:o,height:i};return T(l)}function $(t){var e=t.nodeName;if("BODY"===e||"HTML"===e)return!1;if("fixed"===p(t,"position"))return!0;var n=f(t);return!!n&&$(n)}function I(t){if(!t||!t.parentElement||g())return document.documentElement;for(var e=t.parentElement;e&&"none"===p(e,"transform");)e=e.parentElement;return e||document.documentElement}function z(t,e,n,r){var o=arguments.length>4&&void 0!==arguments[4]&&arguments[4],i={top:0,left:0},a=o?I(t):b(t,h(e));if("viewport"===r)i=P(a,o);else{var s=void 0;"scrollParent"===r?"BODY"===(s=d(f(e))).nodeName&&(s=t.ownerDocument.documentElement):s="window"===r?t.ownerDocument.documentElement:r;var l=N(s,a,o);if("HTML"!==s.nodeName||$(a))i=l;else{var u=S(t.ownerDocument),c=u.height,p=u.width;i.top+=l.top-l.marginTop,i.bottom=c+l.top,i.left+=l.left-l.marginLeft,i.right=p+l.left}}var m="number"==typeof(n=n||0);return i.left+=m?n:n.left||0,i.top+=m?n:n.top||0,i.right-=m?n:n.right||0,i.bottom-=m?n:n.bottom||0,i}function F(t){return t.width*t.height}function D(t,e,n,r,o){var i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;if(-1===t.indexOf("auto"))return t;var a=z(n,r,i,o),s={top:{width:a.width,height:e.top-a.top},right:{width:a.right-e.right,height:a.height},bottom:{width:a.width,height:a.bottom-e.bottom},left:{width:e.left-a.left,height:a.height}},l=Object.keys(s).map((function(t){return j({key:t},s[t],{area:F(s[t])})})).sort((function(t,e){return e.area-t.area})),u=l.filter((function(t){var e=t.width,r=t.height;return e>=n.clientWidth&&r>=n.clientHeight})),c=u.length>0?u[0].key:l[0].key,p=t.split("-")[1];return c+(p?"-"+p:"")}function L(t,e,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,o=r?I(e):b(e,h(n));return N(n,o,r)}function R(t){var e=t.ownerDocument.defaultView.getComputedStyle(t),n=parseFloat(e.marginTop||0)+parseFloat(e.marginBottom||0),r=parseFloat(e.marginLeft||0)+parseFloat(e.marginRight||0);return{width:t.offsetWidth+r,height:t.offsetHeight+n}}function M(t){var e={left:"right",right:"left",bottom:"top",top:"bottom"};return t.replace(/left|right|bottom|top/g,(function(t){return e[t]}))}function U(t,e,n){n=n.split("-")[0];var r=R(t),o={width:r.width,height:r.height},i=-1!==["right","left"].indexOf(n),a=i?"top":"left",s=i?"left":"top",l=i?"height":"width",u=i?"width":"height";return o[a]=e[a]+e[l]/2-r[l]/2,o[s]=n===s?e[s]-r[u]:e[M(s)],o}function G(t,e){return Array.prototype.find?t.find(e):t.filter(e)[0]}function q(t,e,n){return(void 0===n?t:t.slice(0,function(t,e,n){if(Array.prototype.findIndex)return t.findIndex((function(t){return t[e]===n}));var r=G(t,(function(t){return t[e]===n}));return t.indexOf(r)}(t,"name",n))).forEach((function(t){t.function&&a.warn("`modifier.function` is deprecated, use `modifier.fn`!");var n=t.function||t.fn;t.enabled&&c(n)&&(e.offsets.popper=T(e.offsets.popper),e.offsets.reference=T(e.offsets.reference),e=n(e,t))})),e}function V(){if(!this.state.isDestroyed){var t={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};t.offsets.reference=L(this.state,this.popper,this.reference,this.options.positionFixed),t.placement=D(this.options.placement,t.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),t.originalPlacement=t.placement,t.positionFixed=this.options.positionFixed,t.offsets.popper=U(this.popper,t.offsets.reference,t.placement),t.offsets.popper.position=this.options.positionFixed?"fixed":"absolute",t=q(this.modifiers,t),this.state.isCreated?this.options.onUpdate(t):(this.state.isCreated=!0,this.options.onCreate(t))}}function W(t,e){return t.some((function(t){var n=t.name;return t.enabled&&n===e}))}function H(t){for(var e=[!1,"ms","Webkit","Moz","O"],n=t.charAt(0).toUpperCase()+t.slice(1),r=0;r<e.length;r++){var o=e[r],i=o?""+o+n:t;if(void 0!==document.body.style[i])return i}return null}function Y(){return this.state.isDestroyed=!0,W(this.modifiers,"applyStyle")&&(this.popper.removeAttribute("x-placement"),this.popper.style.position="",this.popper.style.top="",this.popper.style.left="",this.popper.style.right="",this.popper.style.bottom="",this.popper.style.willChange="",this.popper.style[H("transform")]=""),this.disableEventListeners(),this.options.removeOnDestroy&&this.popper.parentNode.removeChild(this.popper),this}function K(t){var e=t.ownerDocument;return e?e.defaultView:window}function X(t,e,n,r){var o="BODY"===t.nodeName,i=o?t.ownerDocument.defaultView:t;i.addEventListener(e,n,{passive:!0}),o||X(d(i.parentNode),e,n,r),r.push(i)}function Z(t,e,n,r){n.updateBound=r,K(t).addEventListener("resize",n.updateBound,{passive:!0});var o=d(t);return X(o,"scroll",n.updateBound,n.scrollParents),n.scrollElement=o,n.eventsEnabled=!0,n}function J(){this.state.eventsEnabled||(this.state=Z(this.reference,this.options,this.state,this.scheduleUpdate))}function Q(){this.state.eventsEnabled&&(cancelAnimationFrame(this.scheduleUpdate),this.state=function(t,e){return K(t).removeEventListener("resize",e.updateBound),e.scrollParents.forEach((function(t){t.removeEventListener("scroll",e.updateBound)})),e.updateBound=null,e.scrollParents=[],e.scrollElement=null,e.eventsEnabled=!1,e}(this.reference,this.state))}function tt(t){return""!==t&&!isNaN(parseFloat(t))&&isFinite(t)}function et(t,e){Object.keys(e).forEach((function(n){var r="";-1!==["width","height","top","right","bottom","left"].indexOf(n)&&tt(e[n])&&(r="px"),t.style[n]=e[n]+r}))}var nt=s&&/Firefox/i.test(navigator.userAgent);function rt(t,e,n){var r=G(t,(function(t){return t.name===e})),o=!!r&&t.some((function(t){return t.name===n&&t.enabled&&t.order<r.order}));if(!o){var i="`"+e+"`",s="`"+n+"`";a.warn(s+" modifier is required by "+i+" modifier in order to work, be sure to include it before "+i+"!")}return o}var ot=["auto-start","auto","auto-end","top-start","top","top-end","right-start","right","right-end","bottom-end","bottom","bottom-start","left-end","left","left-start"],it=ot.slice(3);function at(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=it.indexOf(t),r=it.slice(n+1).concat(it.slice(0,n));return e?r.reverse():r}var st="flip",lt="clockwise",ut="counterclockwise";function ct(t,e,n,r){var o=[0,0],i=-1!==["right","left"].indexOf(r),s=t.split(/(\+|\-)/).map((function(t){return t.trim()})),l=s.indexOf(G(s,(function(t){return-1!==t.search(/,|\s/)})));s[l]&&-1===s[l].indexOf(",")&&a.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var u=/\s*,\s*|\s+/,c=-1!==l?[s.slice(0,l).concat([s[l].split(u)[0]]),[s[l].split(u)[1]].concat(s.slice(l+1))]:[s];return c=c.map((function(t,r){var o=(1===r?!i:i)?"height":"width",a=!1;return t.reduce((function(t,e){return""===t[t.length-1]&&-1!==["+","-"].indexOf(e)?(t[t.length-1]=e,a=!0,t):a?(t[t.length-1]+=e,a=!1,t):t.concat(e)}),[]).map((function(t){return function(t,e,n,r){var o=t.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),i=+o[1],a=o[2];if(!i)return t;if(0===a.indexOf("%")){return T("%p"===a?n:r)[e]/100*i}if("vh"===a||"vw"===a)return("vh"===a?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*i;return i}(t,o,e,n)}))})),c.forEach((function(t,e){t.forEach((function(n,r){tt(n)&&(o[e]+=n*("-"===t[r-1]?-1:1))}))})),o}var pt={shift:{order:100,enabled:!0,fn:function(t){var e=t.placement,n=e.split("-")[0],r=e.split("-")[1];if(r){var o=t.offsets,i=o.reference,a=o.popper,s=-1!==["bottom","top"].indexOf(n),l=s?"left":"top",u=s?"width":"height",c={start:O({},l,i[l]),end:O({},l,i[l]+i[u]-a[u])};t.offsets.popper=j({},a,c[r])}return t}},offset:{order:200,enabled:!0,fn:function(t,e){var n=e.offset,r=t.placement,o=t.offsets,i=o.popper,a=o.reference,s=r.split("-")[0],l=void 0;return l=tt(+n)?[+n,0]:ct(n,i,a,s),"left"===s?(i.top+=l[0],i.left-=l[1]):"right"===s?(i.top+=l[0],i.left+=l[1]):"top"===s?(i.left+=l[0],i.top-=l[1]):"bottom"===s&&(i.left+=l[0],i.top+=l[1]),t.popper=i,t},offset:0},preventOverflow:{order:300,enabled:!0,fn:function(t,e){var n=e.boundariesElement||y(t.instance.popper);t.instance.reference===n&&(n=y(n));var r=H("transform"),o=t.instance.popper.style,i=o.top,a=o.left,s=o[r];o.top="",o.left="",o[r]="";var l=z(t.instance.popper,t.instance.reference,e.padding,n,t.positionFixed);o.top=i,o.left=a,o[r]=s,e.boundaries=l;var u=e.priority,c=t.offsets.popper,p={primary:function(t){var n=c[t];return c[t]<l[t]&&!e.escapeWithReference&&(n=Math.max(c[t],l[t])),O({},t,n)},secondary:function(t){var n="right"===t?"left":"top",r=c[n];return c[t]>l[t]&&!e.escapeWithReference&&(r=Math.min(c[n],l[t]-("right"===t?c.width:c.height))),O({},n,r)}};return u.forEach((function(t){var e=-1!==["left","top"].indexOf(t)?"primary":"secondary";c=j({},c,p[e](t))})),t.offsets.popper=c,t},priority:["left","right","top","bottom"],padding:5,boundariesElement:"scrollParent"},keepTogether:{order:400,enabled:!0,fn:function(t){var e=t.offsets,n=e.popper,r=e.reference,o=t.placement.split("-")[0],i=Math.floor,a=-1!==["top","bottom"].indexOf(o),s=a?"right":"bottom",l=a?"left":"top",u=a?"width":"height";return n[s]<i(r[l])&&(t.offsets.popper[l]=i(r[l])-n[u]),n[l]>i(r[s])&&(t.offsets.popper[l]=i(r[s])),t}},arrow:{order:500,enabled:!0,fn:function(t,e){var n;if(!rt(t.instance.modifiers,"arrow","keepTogether"))return t;var r=e.element;if("string"==typeof r){if(!(r=t.instance.popper.querySelector(r)))return t}else if(!t.instance.popper.contains(r))return a.warn("WARNING: `arrow.element` must be child of its popper element!"),t;var o=t.placement.split("-")[0],i=t.offsets,s=i.popper,l=i.reference,u=-1!==["left","right"].indexOf(o),c=u?"height":"width",f=u?"Top":"Left",d=f.toLowerCase(),h=u?"left":"top",m=u?"bottom":"right",v=R(r)[c];l[m]-v<s[d]&&(t.offsets.popper[d]-=s[d]-(l[m]-v)),l[d]+v>s[m]&&(t.offsets.popper[d]+=l[d]+v-s[m]),t.offsets.popper=T(t.offsets.popper);var g=l[d]+l[c]/2-v/2,y=p(t.instance.popper),A=parseFloat(y["margin"+f]),b=parseFloat(y["border"+f+"Width"]),C=g-t.offsets.popper[d]-A-b;return C=Math.max(Math.min(s[c]-v,C),0),t.arrowElement=r,t.offsets.arrow=(O(n={},d,Math.round(C)),O(n,h,""),n),t},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(t,e){if(W(t.instance.modifiers,"inner"))return t;if(t.flipped&&t.placement===t.originalPlacement)return t;var n=z(t.instance.popper,t.instance.reference,e.padding,e.boundariesElement,t.positionFixed),r=t.placement.split("-")[0],o=M(r),i=t.placement.split("-")[1]||"",a=[];switch(e.behavior){case st:a=[r,o];break;case lt:a=at(r);break;case ut:a=at(r,!0);break;default:a=e.behavior}return a.forEach((function(s,l){if(r!==s||a.length===l+1)return t;r=t.placement.split("-")[0],o=M(r);var u=t.offsets.popper,c=t.offsets.reference,p=Math.floor,f="left"===r&&p(u.right)>p(c.left)||"right"===r&&p(u.left)<p(c.right)||"top"===r&&p(u.bottom)>p(c.top)||"bottom"===r&&p(u.top)<p(c.bottom),d=p(u.left)<p(n.left),h=p(u.right)>p(n.right),m=p(u.top)<p(n.top),v=p(u.bottom)>p(n.bottom),g="left"===r&&d||"right"===r&&h||"top"===r&&m||"bottom"===r&&v,y=-1!==["top","bottom"].indexOf(r),A=!!e.flipVariations&&(y&&"start"===i&&d||y&&"end"===i&&h||!y&&"start"===i&&m||!y&&"end"===i&&v),b=!!e.flipVariationsByContent&&(y&&"start"===i&&h||y&&"end"===i&&d||!y&&"start"===i&&v||!y&&"end"===i&&m),C=A||b;(f||g||C)&&(t.flipped=!0,(f||g)&&(r=a[l+1]),C&&(i=function(t){return"end"===t?"start":"start"===t?"end":t}(i)),t.placement=r+(i?"-"+i:""),t.offsets.popper=j({},t.offsets.popper,U(t.instance.popper,t.offsets.reference,t.placement)),t=q(t.instance.modifiers,t,"flip"))})),t},behavior:"flip",padding:5,boundariesElement:"viewport",flipVariations:!1,flipVariationsByContent:!1},inner:{order:700,enabled:!1,fn:function(t){var e=t.placement,n=e.split("-")[0],r=t.offsets,o=r.popper,i=r.reference,a=-1!==["left","right"].indexOf(n),s=-1===["top","left"].indexOf(n);return o[a?"left":"top"]=i[n]-(s?o[a?"width":"height"]:0),t.placement=M(e),t.offsets.popper=T(o),t}},hide:{order:800,enabled:!0,fn:function(t){if(!rt(t.instance.modifiers,"hide","preventOverflow"))return t;var e=t.offsets.reference,n=G(t.instance.modifiers,(function(t){return"preventOverflow"===t.name})).boundaries;if(e.bottom<n.top||e.left>n.right||e.top>n.bottom||e.right<n.left){if(!0===t.hide)return t;t.hide=!0,t.attributes["x-out-of-boundaries"]=""}else{if(!1===t.hide)return t;t.hide=!1,t.attributes["x-out-of-boundaries"]=!1}return t}},computeStyle:{order:850,enabled:!0,fn:function(t,e){var n=e.x,r=e.y,o=t.offsets.popper,i=G(t.instance.modifiers,(function(t){return"applyStyle"===t.name})).gpuAcceleration;void 0!==i&&a.warn("WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!");var s=void 0!==i?i:e.gpuAcceleration,l=y(t.instance.popper),u=B(l),c={position:o.position},p=function(t,e){var n=t.offsets,r=n.popper,o=n.reference,i=Math.round,a=Math.floor,s=function(t){return t},l=i(o.width),u=i(r.width),c=-1!==["left","right"].indexOf(t.placement),p=-1!==t.placement.indexOf("-"),f=e?c||p||l%2==u%2?i:a:s,d=e?i:s;return{left:f(l%2==1&&u%2==1&&!p&&e?r.left-1:r.left),top:d(r.top),bottom:d(r.bottom),right:f(r.right)}}(t,window.devicePixelRatio<2||!nt),f="bottom"===n?"top":"bottom",d="right"===r?"left":"right",h=H("transform"),m=void 0,v=void 0;if(v="bottom"===f?"HTML"===l.nodeName?-l.clientHeight+p.bottom:-u.height+p.bottom:p.top,m="right"===d?"HTML"===l.nodeName?-l.clientWidth+p.right:-u.width+p.right:p.left,s&&h)c[h]="translate3d("+m+"px, "+v+"px, 0)",c[f]=0,c[d]=0,c.willChange="transform";else{var g="bottom"===f?-1:1,A="right"===d?-1:1;c[f]=v*g,c[d]=m*A,c.willChange=f+", "+d}var b={"x-placement":t.placement};return t.attributes=j({},b,t.attributes),t.styles=j({},c,t.styles),t.arrowStyles=j({},t.offsets.arrow,t.arrowStyles),t},gpuAcceleration:!0,x:"bottom",y:"right"},applyStyle:{order:900,enabled:!0,fn:function(t){var e,n;return et(t.instance.popper,t.styles),e=t.instance.popper,n=t.attributes,Object.keys(n).forEach((function(t){!1!==n[t]?e.setAttribute(t,n[t]):e.removeAttribute(t)})),t.arrowElement&&Object.keys(t.arrowStyles).length&&et(t.arrowElement,t.arrowStyles),t},onLoad:function(t,e,n,r,o){var i=L(o,e,t,n.positionFixed),a=D(n.placement,i,e,t,n.modifiers.flip.boundariesElement,n.modifiers.flip.padding);return e.setAttribute("x-placement",a),et(e,{position:n.positionFixed?"fixed":"absolute"}),n},gpuAcceleration:void 0}},ft={placement:"bottom",positionFixed:!1,eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:pt},dt=function(){function t(e,n){var r=this,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};k(this,t),this.scheduleUpdate=function(){return requestAnimationFrame(r.update)},this.update=u(this.update.bind(this)),this.options=j({},t.Defaults,o),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=e&&e.jquery?e[0]:e,this.popper=n&&n.jquery?n[0]:n,this.options.modifiers={},Object.keys(j({},t.Defaults.modifiers,o.modifiers)).forEach((function(e){r.options.modifiers[e]=j({},t.Defaults.modifiers[e]||{},o.modifiers?o.modifiers[e]:{})})),this.modifiers=Object.keys(this.options.modifiers).map((function(t){return j({name:t},r.options.modifiers[t])})).sort((function(t,e){return t.order-e.order})),this.modifiers.forEach((function(t){t.enabled&&c(t.onLoad)&&t.onLoad(r.reference,r.popper,r.options,t,r.state)})),this.update();var i=this.options.eventsEnabled;i&&this.enableEventListeners(),this.state.eventsEnabled=i}return E(t,[{key:"update",value:function(){return V.call(this)}},{key:"destroy",value:function(){return Y.call(this)}},{key:"enableEventListeners",value:function(){return J.call(this)}},{key:"disableEventListeners",value:function(){return Q.call(this)}}]),t}();dt.Utils=("undefined"!=typeof window?window:n.g).PopperUtils,dt.placements=ot,dt.Defaults=ft;const ht=dt;var mt,vt=n(8446),gt=n.n(vt);function yt(){yt.init||(yt.init=!0,mt=-1!==function(){var t=window.navigator.userAgent,e=t.indexOf("MSIE ");if(e>0)return parseInt(t.substring(e+5,t.indexOf(".",e)),10);if(t.indexOf("Trident/")>0){var n=t.indexOf("rv:");return parseInt(t.substring(n+3,t.indexOf(".",n)),10)}var r=t.indexOf("Edge/");return r>0?parseInt(t.substring(r+5,t.indexOf(".",r)),10):-1}())}function At(t,e,n,r,o,i,a,s,l,u){"boolean"!=typeof a&&(l=s,s=a,a=!1);var c,p="function"==typeof n?n.options:n;if(t&&t.render&&(p.render=t.render,p.staticRenderFns=t.staticRenderFns,p._compiled=!0,o&&(p.functional=!0)),r&&(p._scopeId=r),i?(c=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),e&&e.call(this,l(t)),t&&t._registeredComponents&&t._registeredComponents.add(i)},p._ssrRegister=c):e&&(c=a?function(t){e.call(this,u(t,this.$root.$options.shadowRoot))}:function(t){e.call(this,s(t))}),c)if(p.functional){var f=p.render;p.render=function(t,e){return c.call(e),f(t,e)}}else{var d=p.beforeCreate;p.beforeCreate=d?[].concat(d,c):[c]}return n}var bt={name:"ResizeObserver",props:{emitOnMount:{type:Boolean,default:!1},ignoreWidth:{type:Boolean,default:!1},ignoreHeight:{type:Boolean,default:!1}},mounted:function(){var t=this;yt(),this.$nextTick((function(){t._w=t.$el.offsetWidth,t._h=t.$el.offsetHeight,t.emitOnMount&&t.emitSize()}));var e=document.createElement("object");this._resizeObject=e,e.setAttribute("aria-hidden","true"),e.setAttribute("tabindex",-1),e.onload=this.addResizeHandlers,e.type="text/html",mt&&this.$el.appendChild(e),e.data="about:blank",mt||this.$el.appendChild(e)},beforeDestroy:function(){this.removeResizeHandlers()},methods:{compareAndNotify:function(){(!this.ignoreWidth&&this._w!==this.$el.offsetWidth||!this.ignoreHeight&&this._h!==this.$el.offsetHeight)&&(this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.emitSize())},emitSize:function(){this.$emit("notify",{width:this._w,height:this._h})},addResizeHandlers:function(){this._resizeObject.contentDocument.defaultView.addEventListener("resize",this.compareAndNotify),this.compareAndNotify()},removeResizeHandlers:function(){this._resizeObject&&this._resizeObject.onload&&(!mt&&this._resizeObject.contentDocument&&this._resizeObject.contentDocument.defaultView.removeEventListener("resize",this.compareAndNotify),this.$el.removeChild(this._resizeObject),this._resizeObject.onload=null,this._resizeObject=null)}}},Ct=function(){var t=this.$createElement;return(this._self._c||t)("div",{staticClass:"resize-observer",attrs:{tabindex:"-1"}})};Ct._withStripped=!0;var wt=At({render:Ct,staticRenderFns:[]},undefined,bt,"data-v-8859cc6c",false,undefined,!1,void 0,void 0,void 0);var xt={version:"1.0.1",install:function(t){t.component("resize-observer",wt),t.component("ResizeObserver",wt)}},_t=null;"undefined"!=typeof window?_t=window.Vue:void 0!==n.g&&(_t=n.g.Vue),_t&&_t.use(xt);var St=n(3857),kt=n.n(St),Et=n(5108),Ot=function(){};function jt(t){return"string"==typeof t&&(t=t.split(" ")),t}function Tt(t,e){var n,r=jt(e);n=t.className instanceof Ot?jt(t.className.baseVal):jt(t.className),r.forEach((function(t){-1===n.indexOf(t)&&n.push(t)})),t instanceof SVGElement?t.setAttribute("class",n.join(" ")):t.className=n.join(" ")}function Bt(t,e){var n,r=jt(e);n=t.className instanceof Ot?jt(t.className.baseVal):jt(t.className),r.forEach((function(t){var e=n.indexOf(t);-1!==e&&n.splice(e,1)})),t instanceof SVGElement?t.setAttribute("class",n.join(" ")):t.className=n.join(" ")}"undefined"!=typeof window&&(Ot=window.SVGAnimatedString);var Nt=!1;if("undefined"!=typeof window){Nt=!1;try{var Pt=Object.defineProperty({},"passive",{get:function(){Nt=!0}});window.addEventListener("test",null,Pt)}catch(t){}}function $t(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function It(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?$t(Object(n),!0).forEach((function(e){o(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):$t(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var zt={container:!1,delay:0,html:!1,placement:"top",title:"",template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",offset:0},Ft=[],Dt=function(){function t(e,n){var r=this;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),o(this,"_events",[]),o(this,"_setTooltipNodeEvent",(function(t,e,n,o){var i=t.relatedreference||t.toElement||t.relatedTarget;return!!r._tooltipNode.contains(i)&&(r._tooltipNode.addEventListener(t.type,(function n(i){var a=i.relatedreference||i.toElement||i.relatedTarget;r._tooltipNode.removeEventListener(t.type,n),e.contains(a)||r._scheduleHide(e,o.delay,o,i)})),!0)})),n=It(It({},zt),n),e.jquery&&(e=e[0]),this.show=this.show.bind(this),this.hide=this.hide.bind(this),this.reference=e,this.options=n,this._isOpen=!1,this._init()}var e,n,r;return e=t,(n=[{key:"show",value:function(){this._show(this.reference,this.options)}},{key:"hide",value:function(){this._hide()}},{key:"dispose",value:function(){this._dispose()}},{key:"toggle",value:function(){return this._isOpen?this.hide():this.show()}},{key:"setClasses",value:function(t){this._classes=t}},{key:"setContent",value:function(t){this.options.title=t,this._tooltipNode&&this._setContent(t,this.options)}},{key:"setOptions",value:function(t){var e=!1,n=t&&t.classes||Xt.options.defaultClass;gt()(this._classes,n)||(this.setClasses(n),e=!0),t=qt(t);var r=!1,o=!1;for(var i in this.options.offset===t.offset&&this.options.placement===t.placement||(r=!0),(this.options.template!==t.template||this.options.trigger!==t.trigger||this.options.container!==t.container||e)&&(o=!0),t)this.options[i]=t[i];if(this._tooltipNode)if(o){var a=this._isOpen;this.dispose(),this._init(),a&&this.show()}else r&&this.popperInstance.update()}},{key:"_init",value:function(){var t="string"==typeof this.options.trigger?this.options.trigger.split(" "):[];this._isDisposed=!1,this._enableDocumentTouch=-1===t.indexOf("manual"),t=t.filter((function(t){return-1!==["click","hover","focus"].indexOf(t)})),this._setEventListeners(this.reference,t,this.options),this.$_originalTitle=this.reference.getAttribute("title"),this.reference.removeAttribute("title"),this.reference.setAttribute("data-original-title",this.$_originalTitle)}},{key:"_create",value:function(t,e){var n=this,r=window.document.createElement("div");r.innerHTML=e.trim();var o=r.childNodes[0];return o.id=this.options.ariaId||"tooltip_".concat(Math.random().toString(36).substr(2,10)),o.setAttribute("aria-hidden","true"),this.options.autoHide&&-1!==this.options.trigger.indexOf("hover")&&(o.addEventListener("mouseenter",(function(e){return n._scheduleHide(t,n.options.delay,n.options,e)})),o.addEventListener("click",(function(e){return n._scheduleHide(t,n.options.delay,n.options,e)}))),o}},{key:"_setContent",value:function(t,e){var n=this;this.asyncContent=!1,this._applyContent(t,e).then((function(){n.popperInstance&&n.popperInstance.update()}))}},{key:"_applyContent",value:function(t,e){var n=this;return new Promise((function(r,o){var i=e.html,a=n._tooltipNode;if(a){var s=a.querySelector(n.options.innerSelector);if(1===t.nodeType){if(i){for(;s.firstChild;)s.removeChild(s.firstChild);s.appendChild(t)}}else{if("function"==typeof t){var l=t();return void(l&&"function"==typeof l.then?(n.asyncContent=!0,e.loadingClass&&Tt(a,e.loadingClass),e.loadingContent&&n._applyContent(e.loadingContent,e),l.then((function(t){return e.loadingClass&&Bt(a,e.loadingClass),n._applyContent(t,e)})).then(r).catch(o)):n._applyContent(l,e).then(r).catch(o))}i?s.innerHTML=t:s.innerText=t}r()}}))}},{key:"_show",value:function(t,e){if(!e||"string"!=typeof e.container||document.querySelector(e.container)){clearTimeout(this._disposeTimer),delete(e=Object.assign({},e)).offset;var n=!0;this._tooltipNode&&(Tt(this._tooltipNode,this._classes),n=!1);var r=this._ensureShown(t,e);return n&&this._tooltipNode&&Tt(this._tooltipNode,this._classes),Tt(t,["v-tooltip-open"]),r}}},{key:"_ensureShown",value:function(t,e){var n=this;if(this._isOpen)return this;if(this._isOpen=!0,Ft.push(this),this._tooltipNode)return this._tooltipNode.style.display="",this._tooltipNode.setAttribute("aria-hidden","false"),this.popperInstance.enableEventListeners(),this.popperInstance.update(),this.asyncContent&&this._setContent(e.title,e),this;var r=t.getAttribute("title")||e.title;if(!r)return this;var o=this._create(t,e.template);this._tooltipNode=o,t.setAttribute("aria-describedby",o.id);var i=this._findContainer(e.container,t);this._append(o,i);var a=It(It({},e.popperOptions),{},{placement:e.placement});return a.modifiers=It(It({},a.modifiers),{},{arrow:{element:this.options.arrowSelector}}),e.boundariesElement&&(a.modifiers.preventOverflow={boundariesElement:e.boundariesElement}),this.popperInstance=new ht(t,o,a),this._setContent(r,e),requestAnimationFrame((function(){!n._isDisposed&&n.popperInstance?(n.popperInstance.update(),requestAnimationFrame((function(){n._isDisposed?n.dispose():n._isOpen&&o.setAttribute("aria-hidden","false")}))):n.dispose()})),this}},{key:"_noLongerOpen",value:function(){var t=Ft.indexOf(this);-1!==t&&Ft.splice(t,1)}},{key:"_hide",value:function(){var t=this;if(!this._isOpen)return this;this._isOpen=!1,this._noLongerOpen(),this._tooltipNode.style.display="none",this._tooltipNode.setAttribute("aria-hidden","true"),this.popperInstance&&this.popperInstance.disableEventListeners(),clearTimeout(this._disposeTimer);var e=Xt.options.disposeTimeout;return null!==e&&(this._disposeTimer=setTimeout((function(){t._tooltipNode&&(t._tooltipNode.removeEventListener("mouseenter",t.hide),t._tooltipNode.removeEventListener("click",t.hide),t._removeTooltipNode())}),e)),Bt(this.reference,["v-tooltip-open"]),this}},{key:"_removeTooltipNode",value:function(){if(this._tooltipNode){var t=this._tooltipNode.parentNode;t&&(t.removeChild(this._tooltipNode),this.reference.removeAttribute("aria-describedby")),this._tooltipNode=null}}},{key:"_dispose",value:function(){var t=this;return this._isDisposed=!0,this.reference.removeAttribute("data-original-title"),this.$_originalTitle&&this.reference.setAttribute("title",this.$_originalTitle),this._events.forEach((function(e){var n=e.func,r=e.event;t.reference.removeEventListener(r,n)})),this._events=[],this._tooltipNode?(this._hide(),this._tooltipNode.removeEventListener("mouseenter",this.hide),this._tooltipNode.removeEventListener("click",this.hide),this.popperInstance.destroy(),this.popperInstance.options.removeOnDestroy||this._removeTooltipNode()):this._noLongerOpen(),this}},{key:"_findContainer",value:function(t,e){return"string"==typeof t?t=window.document.querySelector(t):!1===t&&(t=e.parentNode),t}},{key:"_append",value:function(t,e){e.appendChild(t)}},{key:"_setEventListeners",value:function(t,e,n){var r=this,o=[],i=[];e.forEach((function(t){switch(t){case"hover":o.push("mouseenter"),i.push("mouseleave"),r.options.hideOnTargetClick&&i.push("click");break;case"focus":o.push("focus"),i.push("blur"),r.options.hideOnTargetClick&&i.push("click");break;case"click":o.push("click"),i.push("click")}})),o.forEach((function(e){var o=function(e){!0!==r._isOpen&&(e.usedByTooltip=!0,r._scheduleShow(t,n.delay,n,e))};r._events.push({event:e,func:o}),t.addEventListener(e,o)})),i.forEach((function(e){var o=function(e){!0!==e.usedByTooltip&&r._scheduleHide(t,n.delay,n,e)};r._events.push({event:e,func:o}),t.addEventListener(e,o)}))}},{key:"_onDocumentTouch",value:function(t){this._enableDocumentTouch&&this._scheduleHide(this.reference,this.options.delay,this.options,t)}},{key:"_scheduleShow",value:function(t,e,n){var r=this,o=e&&e.show||e||0;clearTimeout(this._scheduleTimer),this._scheduleTimer=window.setTimeout((function(){return r._show(t,n)}),o)}},{key:"_scheduleHide",value:function(t,e,n,r){var o=this,i=e&&e.hide||e||0;clearTimeout(this._scheduleTimer),this._scheduleTimer=window.setTimeout((function(){if(!1!==o._isOpen&&o._tooltipNode.ownerDocument.body.contains(o._tooltipNode)){if("mouseleave"===r.type&&o._setTooltipNodeEvent(r,t,e,n))return;o._hide(t,n)}}),i)}}])&&i(e.prototype,n),r&&i(e,r),t}();function Lt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function Rt(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?Lt(Object(n),!0).forEach((function(e){o(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Lt(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}"undefined"!=typeof document&&document.addEventListener("touchstart",(function(t){for(var e=0;e<Ft.length;e++)Ft[e]._onDocumentTouch(t)}),!Nt||{passive:!0,capture:!0});var Mt={enabled:!0},Ut=["top","top-start","top-end","right","right-start","right-end","bottom","bottom-start","bottom-end","left","left-start","left-end"],Gt={defaultPlacement:"top",defaultClass:"vue-tooltip-theme",defaultTargetClass:"has-tooltip",defaultHtml:!0,defaultTemplate:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',defaultArrowSelector:".tooltip-arrow, .tooltip__arrow",defaultInnerSelector:".tooltip-inner, .tooltip__inner",defaultDelay:0,defaultTrigger:"hover focus",defaultOffset:0,defaultContainer:"body",defaultBoundariesElement:void 0,defaultPopperOptions:{},defaultLoadingClass:"tooltip-loading",defaultLoadingContent:"...",autoHide:!0,defaultHideOnTargetClick:!0,disposeTimeout:5e3,popover:{defaultPlacement:"bottom",defaultClass:"vue-popover-theme",defaultBaseClass:"tooltip popover",defaultWrapperClass:"wrapper",defaultInnerClass:"tooltip-inner popover-inner",defaultArrowClass:"tooltip-arrow popover-arrow",defaultOpenClass:"open",defaultDelay:0,defaultTrigger:"click",defaultOffset:0,defaultContainer:"body",defaultBoundariesElement:void 0,defaultPopperOptions:{},defaultAutoHide:!0,defaultHandleResize:!0}};function qt(t){var e={placement:void 0!==t.placement?t.placement:Xt.options.defaultPlacement,delay:void 0!==t.delay?t.delay:Xt.options.defaultDelay,html:void 0!==t.html?t.html:Xt.options.defaultHtml,template:void 0!==t.template?t.template:Xt.options.defaultTemplate,arrowSelector:void 0!==t.arrowSelector?t.arrowSelector:Xt.options.defaultArrowSelector,innerSelector:void 0!==t.innerSelector?t.innerSelector:Xt.options.defaultInnerSelector,trigger:void 0!==t.trigger?t.trigger:Xt.options.defaultTrigger,offset:void 0!==t.offset?t.offset:Xt.options.defaultOffset,container:void 0!==t.container?t.container:Xt.options.defaultContainer,boundariesElement:void 0!==t.boundariesElement?t.boundariesElement:Xt.options.defaultBoundariesElement,autoHide:void 0!==t.autoHide?t.autoHide:Xt.options.autoHide,hideOnTargetClick:void 0!==t.hideOnTargetClick?t.hideOnTargetClick:Xt.options.defaultHideOnTargetClick,loadingClass:void 0!==t.loadingClass?t.loadingClass:Xt.options.defaultLoadingClass,loadingContent:void 0!==t.loadingContent?t.loadingContent:Xt.options.defaultLoadingContent,popperOptions:Rt({},void 0!==t.popperOptions?t.popperOptions:Xt.options.defaultPopperOptions)};if(e.offset){var n=r(e.offset),o=e.offset;("number"===n||"string"===n&&-1===o.indexOf(","))&&(o="0, ".concat(o)),e.popperOptions.modifiers||(e.popperOptions.modifiers={}),e.popperOptions.modifiers.offset={offset:o}}return e.trigger&&-1!==e.trigger.indexOf("click")&&(e.hideOnTargetClick=!1),e}function Vt(t,e){for(var n=t.placement,r=0;r<Ut.length;r++){var o=Ut[r];e[o]&&(n=o)}return n}function Wt(t){var e=r(t);return"string"===e?t:!(!t||"object"!==e)&&t.content}function Ht(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=Wt(e),i=void 0!==e.classes?e.classes:Xt.options.defaultClass,a=Rt({title:o},qt(Rt(Rt({},"object"===r(e)?e:{}),{},{placement:Vt(e,n)}))),s=t._tooltip=new Dt(t,a);s.setClasses(i),s._vueEl=t;var l=void 0!==e.targetClasses?e.targetClasses:Xt.options.defaultTargetClass;return t._tooltipTargetClasses=l,Tt(t,l),s}function Yt(t){t._tooltip&&(t._tooltip.dispose(),delete t._tooltip,delete t._tooltipOldShow),t._tooltipTargetClasses&&(Bt(t,t._tooltipTargetClasses),delete t._tooltipTargetClasses)}function Kt(t,e){var n=e.value;e.oldValue;var r,o=e.modifiers,i=Wt(n);i&&Mt.enabled?(t._tooltip?((r=t._tooltip).setContent(i),r.setOptions(Rt(Rt({},n),{},{placement:Vt(n,o)}))):r=Ht(t,n,o),void 0!==n.show&&n.show!==t._tooltipOldShow&&(t._tooltipOldShow=n.show,n.show?r.show():r.hide())):Yt(t)}var Xt={options:Gt,bind:Kt,update:Kt,unbind:function(t){Yt(t)}};function Zt(t){t.addEventListener("click",Qt),t.addEventListener("touchstart",te,!!Nt&&{passive:!0})}function Jt(t){t.removeEventListener("click",Qt),t.removeEventListener("touchstart",te),t.removeEventListener("touchend",ee),t.removeEventListener("touchcancel",ne)}function Qt(t){var e=t.currentTarget;t.closePopover=!e.$_vclosepopover_touch,t.closeAllPopover=e.$_closePopoverModifiers&&!!e.$_closePopoverModifiers.all}function te(t){if(1===t.changedTouches.length){var e=t.currentTarget;e.$_vclosepopover_touch=!0;var n=t.changedTouches[0];e.$_vclosepopover_touchPoint=n,e.addEventListener("touchend",ee),e.addEventListener("touchcancel",ne)}}function ee(t){var e=t.currentTarget;if(e.$_vclosepopover_touch=!1,1===t.changedTouches.length){var n=t.changedTouches[0],r=e.$_vclosepopover_touchPoint;t.closePopover=Math.abs(n.screenY-r.screenY)<20&&Math.abs(n.screenX-r.screenX)<20,t.closeAllPopover=e.$_closePopoverModifiers&&!!e.$_closePopoverModifiers.all}}function ne(t){t.currentTarget.$_vclosepopover_touch=!1}var re={bind:function(t,e){var n=e.value,r=e.modifiers;t.$_closePopoverModifiers=r,(void 0===n||n)&&Zt(t)},update:function(t,e){var n=e.value,r=e.oldValue,o=e.modifiers;t.$_closePopoverModifiers=o,n!==r&&(void 0===n||n?Zt(t):Jt(t))},unbind:function(t){Jt(t)}};function oe(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function ie(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?oe(Object(n),!0).forEach((function(e){o(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):oe(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function ae(t){var e=Xt.options.popover[t];return void 0===e?Xt.options[t]:e}var se=!1;"undefined"!=typeof window&&"undefined"!=typeof navigator&&(se=/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream);var le=[],ue=function(){};"undefined"!=typeof window&&(ue=window.Element);var ce={name:"VPopover",components:{ResizeObserver:wt},props:{open:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},placement:{type:String,default:function(){return ae("defaultPlacement")}},delay:{type:[String,Number,Object],default:function(){return ae("defaultDelay")}},offset:{type:[String,Number],default:function(){return ae("defaultOffset")}},trigger:{type:String,default:function(){return ae("defaultTrigger")}},container:{type:[String,Object,ue,Boolean],default:function(){return ae("defaultContainer")}},boundariesElement:{type:[String,ue],default:function(){return ae("defaultBoundariesElement")}},popperOptions:{type:Object,default:function(){return ae("defaultPopperOptions")}},popoverClass:{type:[String,Array],default:function(){return ae("defaultClass")}},popoverBaseClass:{type:[String,Array],default:function(){return Xt.options.popover.defaultBaseClass}},popoverInnerClass:{type:[String,Array],default:function(){return Xt.options.popover.defaultInnerClass}},popoverWrapperClass:{type:[String,Array],default:function(){return Xt.options.popover.defaultWrapperClass}},popoverArrowClass:{type:[String,Array],default:function(){return Xt.options.popover.defaultArrowClass}},autoHide:{type:Boolean,default:function(){return Xt.options.popover.defaultAutoHide}},handleResize:{type:Boolean,default:function(){return Xt.options.popover.defaultHandleResize}},openGroup:{type:String,default:null},openClass:{type:[String,Array],default:function(){return Xt.options.popover.defaultOpenClass}},ariaId:{default:null}},data:function(){return{isOpen:!1,id:Math.random().toString(36).substr(2,10)}},computed:{cssClass:function(){return o({},this.openClass,this.isOpen)},popoverId:function(){return"popover_".concat(null!=this.ariaId?this.ariaId:this.id)}},watch:{open:function(t){t?this.show():this.hide()},disabled:function(t,e){t!==e&&(t?this.hide():this.open&&this.show())},container:function(t){if(this.isOpen&&this.popperInstance){var e=this.$refs.popover,n=this.$refs.trigger,r=this.$_findContainer(this.container,n);if(!r)return void Et.warn("No container for popover",this);r.appendChild(e),this.popperInstance.scheduleUpdate()}},trigger:function(t){this.$_removeEventListeners(),this.$_addEventListeners()},placement:function(t){var e=this;this.$_updatePopper((function(){e.popperInstance.options.placement=t}))},offset:"$_restartPopper",boundariesElement:"$_restartPopper",popperOptions:{handler:"$_restartPopper",deep:!0}},created:function(){this.$_isDisposed=!1,this.$_mounted=!1,this.$_events=[],this.$_preventOpen=!1},mounted:function(){var t=this.$refs.popover;t.parentNode&&t.parentNode.removeChild(t),this.$_init(),this.open&&this.show()},deactivated:function(){this.hide()},beforeDestroy:function(){this.dispose()},methods:{show:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.event;e.skipDelay;var r=e.force,o=void 0!==r&&r;!o&&this.disabled||(this.$_scheduleShow(n),this.$emit("show")),this.$emit("update:open",!0),this.$_beingShowed=!0,requestAnimationFrame((function(){t.$_beingShowed=!1}))},hide:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.event;t.skipDelay,this.$_scheduleHide(e),this.$emit("hide"),this.$emit("update:open",!1)},dispose:function(){if(this.$_isDisposed=!0,this.$_removeEventListeners(),this.hide({skipDelay:!0}),this.popperInstance&&(this.popperInstance.destroy(),!this.popperInstance.options.removeOnDestroy)){var t=this.$refs.popover;t.parentNode&&t.parentNode.removeChild(t)}this.$_mounted=!1,this.popperInstance=null,this.isOpen=!1,this.$emit("dispose")},$_init:function(){-1===this.trigger.indexOf("manual")&&this.$_addEventListeners()},$_show:function(){var t=this,e=this.$refs.trigger,n=this.$refs.popover;if(clearTimeout(this.$_disposeTimer),!this.isOpen){if(this.popperInstance&&(this.isOpen=!0,this.popperInstance.enableEventListeners(),this.popperInstance.scheduleUpdate()),!this.$_mounted){var r=this.$_findContainer(this.container,e);if(!r)return void Et.warn("No container for popover",this);r.appendChild(n),this.$_mounted=!0,this.isOpen=!1,this.popperInstance&&requestAnimationFrame((function(){t.hidden||(t.isOpen=!0)}))}if(!this.popperInstance){var o=ie(ie({},this.popperOptions),{},{placement:this.placement});if(o.modifiers=ie(ie({},o.modifiers),{},{arrow:ie(ie({},o.modifiers&&o.modifiers.arrow),{},{element:this.$refs.arrow})}),this.offset){var i=this.$_getOffset();o.modifiers.offset=ie(ie({},o.modifiers&&o.modifiers.offset),{},{offset:i})}this.boundariesElement&&(o.modifiers.preventOverflow=ie(ie({},o.modifiers&&o.modifiers.preventOverflow),{},{boundariesElement:this.boundariesElement})),this.popperInstance=new ht(e,n,o),requestAnimationFrame((function(){if(t.hidden)return t.hidden=!1,void t.$_hide();!t.$_isDisposed&&t.popperInstance?(t.popperInstance.scheduleUpdate(),requestAnimationFrame((function(){if(t.hidden)return t.hidden=!1,void t.$_hide();t.$_isDisposed?t.dispose():t.isOpen=!0}))):t.dispose()}))}var a=this.openGroup;if(a)for(var s,l=0;l<le.length;l++)(s=le[l]).openGroup!==a&&(s.hide(),s.$emit("close-group"));le.push(this),this.$emit("apply-show")}},$_hide:function(){var t=this;if(this.isOpen){var e=le.indexOf(this);-1!==e&&le.splice(e,1),this.isOpen=!1,this.popperInstance&&this.popperInstance.disableEventListeners(),clearTimeout(this.$_disposeTimer);var n=Xt.options.popover.disposeTimeout||Xt.options.disposeTimeout;null!==n&&(this.$_disposeTimer=setTimeout((function(){var e=t.$refs.popover;e&&(e.parentNode&&e.parentNode.removeChild(e),t.$_mounted=!1)}),n)),this.$emit("apply-hide")}},$_findContainer:function(t,e){return"string"==typeof t?t=window.document.querySelector(t):!1===t&&(t=e.parentNode),t},$_getOffset:function(){var t=r(this.offset),e=this.offset;return("number"===t||"string"===t&&-1===e.indexOf(","))&&(e="0, ".concat(e)),e},$_addEventListeners:function(){var t=this,e=this.$refs.trigger,n=[],r=[];("string"==typeof this.trigger?this.trigger.split(" ").filter((function(t){return-1!==["click","hover","focus"].indexOf(t)})):[]).forEach((function(t){switch(t){case"hover":n.push("mouseenter"),r.push("mouseleave");break;case"focus":n.push("focus"),r.push("blur");break;case"click":n.push("click"),r.push("click")}})),n.forEach((function(n){var r=function(e){t.isOpen||(e.usedByTooltip=!0,!t.$_preventOpen&&t.show({event:e}),t.hidden=!1)};t.$_events.push({event:n,func:r}),e.addEventListener(n,r)})),r.forEach((function(n){var r=function(e){e.usedByTooltip||(t.hide({event:e}),t.hidden=!0)};t.$_events.push({event:n,func:r}),e.addEventListener(n,r)}))},$_scheduleShow:function(){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(clearTimeout(this.$_scheduleTimer),t)this.$_show();else{var e=parseInt(this.delay&&this.delay.show||this.delay||0);this.$_scheduleTimer=setTimeout(this.$_show.bind(this),e)}},$_scheduleHide:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(clearTimeout(this.$_scheduleTimer),n)this.$_hide();else{var r=parseInt(this.delay&&this.delay.hide||this.delay||0);this.$_scheduleTimer=setTimeout((function(){if(t.isOpen){if(e&&"mouseleave"===e.type)if(t.$_setTooltipNodeEvent(e))return;t.$_hide()}}),r)}},$_setTooltipNodeEvent:function(t){var e=this,n=this.$refs.trigger,r=this.$refs.popover,o=t.relatedreference||t.toElement||t.relatedTarget;return!!r.contains(o)&&(r.addEventListener(t.type,(function o(i){var a=i.relatedreference||i.toElement||i.relatedTarget;r.removeEventListener(t.type,o),n.contains(a)||e.hide({event:i})})),!0)},$_removeEventListeners:function(){var t=this.$refs.trigger;this.$_events.forEach((function(e){var n=e.func,r=e.event;t.removeEventListener(r,n)})),this.$_events=[]},$_updatePopper:function(t){this.popperInstance&&(t(),this.isOpen&&this.popperInstance.scheduleUpdate())},$_restartPopper:function(){if(this.popperInstance){var t=this.isOpen;this.dispose(),this.$_isDisposed=!1,this.$_init(),t&&this.show({skipDelay:!0,force:!0})}},$_handleGlobalClose:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.$_beingShowed||(this.hide({event:t}),t.closePopover?this.$emit("close-directive"):this.$emit("auto-hide"),n&&(this.$_preventOpen=!0,setTimeout((function(){e.$_preventOpen=!1}),300)))},$_handleResize:function(){this.isOpen&&this.popperInstance&&(this.popperInstance.scheduleUpdate(),this.$emit("resize"))}}};function pe(t){for(var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=function(n){var r=le[n];if(r.$refs.popover){var o=r.$refs.popover.contains(t.target);requestAnimationFrame((function(){(t.closeAllPopover||t.closePopover&&o||r.autoHide&&!o)&&r.$_handleGlobalClose(t,e)}))}},r=0;r<le.length;r++)n(r)}function fe(t,e,n,r,o,i,a,s,l,u){"boolean"!=typeof a&&(l=s,s=a,a=!1);const c="function"==typeof n?n.options:n;let p;if(t&&t.render&&(c.render=t.render,c.staticRenderFns=t.staticRenderFns,c._compiled=!0,o&&(c.functional=!0)),r&&(c._scopeId=r),i?(p=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),e&&e.call(this,l(t)),t&&t._registeredComponents&&t._registeredComponents.add(i)},c._ssrRegister=p):e&&(p=a?function(t){e.call(this,u(t,this.$root.$options.shadowRoot))}:function(t){e.call(this,s(t))}),p)if(c.functional){const t=c.render;c.render=function(e,n){return p.call(n),t(e,n)}}else{const t=c.beforeCreate;c.beforeCreate=t?[].concat(t,p):[p]}return n}"undefined"!=typeof document&&"undefined"!=typeof window&&(se?document.addEventListener("touchend",(function(t){pe(t,!0)}),!Nt||{passive:!0,capture:!0}):window.addEventListener("click",(function(t){pe(t)}),!0));var de=ce,he=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"v-popover",class:t.cssClass},[n("div",{ref:"trigger",staticClass:"trigger",staticStyle:{display:"inline-block"},attrs:{"aria-describedby":t.isOpen?t.popoverId:void 0,tabindex:-1!==t.trigger.indexOf("focus")?0:void 0}},[t._t("default")],2),t._v(" "),n("div",{ref:"popover",class:[t.popoverBaseClass,t.popoverClass,t.cssClass],style:{visibility:t.isOpen?"visible":"hidden"},attrs:{id:t.popoverId,"aria-hidden":t.isOpen?"false":"true",tabindex:t.autoHide?0:void 0},on:{keyup:function(e){if(!e.type.indexOf("key")&&t._k(e.keyCode,"esc",27,e.key,["Esc","Escape"]))return null;t.autoHide&&t.hide()}}},[n("div",{class:t.popoverWrapperClass},[n("div",{ref:"inner",class:t.popoverInnerClass,staticStyle:{position:"relative"}},[n("div",[t._t("popover",null,{isOpen:t.isOpen})],2),t._v(" "),t.handleResize?n("ResizeObserver",{on:{notify:t.$_handleResize}}):t._e()],1),t._v(" "),n("div",{ref:"arrow",class:t.popoverArrowClass})])])])};he._withStripped=!0;var me=fe({render:he,staticRenderFns:[]},undefined,de,undefined,false,undefined,!1,void 0,void 0,void 0);function ve(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!ve.installed){ve.installed=!0;var n={};kt()(n,Gt,e),be.options=n,Xt.options=n,t.directive("tooltip",Xt),t.directive("close-popover",re),t.component("VPopover",me)}}!function(t,e){void 0===e&&(e={});var n=e.insertAt;if(t&&"undefined"!=typeof document){var r=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===n&&r.firstChild?r.insertBefore(o,r.firstChild):r.appendChild(o),o.styleSheet?o.styleSheet.cssText=t:o.appendChild(document.createTextNode(t))}}(".resize-observer[data-v-8859cc6c]{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:transparent;pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer[data-v-8859cc6c] object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}");var ge=Xt,ye=re,Ae=me,be={install:ve,get enabled(){return Mt.enabled},set enabled(t){Mt.enabled=t}},Ce=null;"undefined"!=typeof window?Ce=window.Vue:void 0!==n.g&&(Ce=n.g.Vue),Ce&&Ce.use(be);const we=be},1889:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>o});const r={name:"ChevronLeftIcon",props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};const o=(0,n(1900).Z)(r,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("span",t._b({staticClass:"material-design-icon chevron-left-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[n("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[n("path",{attrs:{d:"M15.41,16.58L10.83,12L15.41,7.41L14,6L8,12L14,18L15.41,16.58Z"}},[t.title?n("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports},1567:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>o});const r={name:"ChevronRightIcon",props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};const o=(0,n(1900).Z)(r,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("span",t._b({staticClass:"material-design-icon chevron-right-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[n("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[n("path",{attrs:{d:"M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"}},[t.title?n("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports},8039:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>o});const r={name:"CloseIcon",props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};const o=(0,n(1900).Z)(r,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("span",t._b({staticClass:"material-design-icon close-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[n("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[n("path",{attrs:{d:"M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z"}},[t.title?n("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports},9578:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>o});const r={name:"DotsHorizontalIcon",props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};const o=(0,n(1900).Z)(r,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("span",t._b({staticClass:"material-design-icon dots-horizontal-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[n("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[n("path",{attrs:{d:"M16,12A2,2 0 0,1 18,10A2,2 0 0,1 20,12A2,2 0 0,1 18,14A2,2 0 0,1 16,12M10,12A2,2 0 0,1 12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12M4,12A2,2 0 0,1 6,10A2,2 0 0,1 8,12A2,2 0 0,1 6,14A2,2 0 0,1 4,12Z"}},[t.title?n("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports},3817:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>o});const r={name:"PauseIcon",props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};const o=(0,n(1900).Z)(r,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("span",t._b({staticClass:"material-design-icon pause-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[n("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[n("path",{attrs:{d:"M14,19H18V5H14M6,19H10V5H6V19Z"}},[t.title?n("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports},1170:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>o});const r={name:"PlayIcon",props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};const o=(0,n(1900).Z)(r,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("span",t._b({staticClass:"material-design-icon play-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[n("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[n("path",{attrs:{d:"M8,5.14V19.14L19,12.14L8,5.14Z"}},[t.title?n("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports},1900:(t,e,n)=>{"use strict";function r(t,e,n,r,o,i,a,s){var l,u="function"==typeof t?t.options:t;if(e&&(u.render=e,u.staticRenderFns=n,u._compiled=!0),r&&(u.functional=!0),i&&(u._scopeId="data-v-"+i),a?(l=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),o&&o.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(a)},u._ssrRegister=l):o&&(l=s?function(){o.call(this,(u.functional?this.parent:this).$root.$options.shadowRoot)}:o),l)if(u.functional){u._injectStyles=l;var c=u.render;u.render=function(t,e){return l.call(e),c(t,e)}}else{var p=u.beforeCreate;u.beforeCreate=p?[].concat(p,l):[l]}return{exports:t,options:u}}n.d(e,{Z:()=>r})},144:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>qo});var r=n(5108),o=Object.freeze({});function i(t){return null==t}function a(t){return null!=t}function s(t){return!0===t}function l(t){return"string"==typeof t||"number"==typeof t||"symbol"==typeof t||"boolean"==typeof t}function u(t){return null!==t&&"object"==typeof t}var c=Object.prototype.toString;function p(t){return"[object Object]"===c.call(t)}function f(t){return"[object RegExp]"===c.call(t)}function d(t){var e=parseFloat(String(t));return e>=0&&Math.floor(e)===e&&isFinite(t)}function h(t){return a(t)&&"function"==typeof t.then&&"function"==typeof t.catch}function m(t){return null==t?"":Array.isArray(t)||p(t)&&t.toString===c?JSON.stringify(t,null,2):String(t)}function v(t){var e=parseFloat(t);return isNaN(e)?t:e}function g(t,e){for(var n=Object.create(null),r=t.split(","),o=0;o<r.length;o++)n[r[o]]=!0;return e?function(t){return n[t.toLowerCase()]}:function(t){return n[t]}}g("slot,component",!0);var y=g("key,ref,slot,slot-scope,is");function A(t,e){if(t.length){var n=t.indexOf(e);if(n>-1)return t.splice(n,1)}}var b=Object.prototype.hasOwnProperty;function C(t,e){return b.call(t,e)}function w(t){var e=Object.create(null);return function(n){return e[n]||(e[n]=t(n))}}var x=/-(\w)/g,_=w((function(t){return t.replace(x,(function(t,e){return e?e.toUpperCase():""}))})),S=w((function(t){return t.charAt(0).toUpperCase()+t.slice(1)})),k=/\B([A-Z])/g,E=w((function(t){return t.replace(k,"-$1").toLowerCase()}));var O=Function.prototype.bind?function(t,e){return t.bind(e)}:function(t,e){function n(n){var r=arguments.length;return r?r>1?t.apply(e,arguments):t.call(e,n):t.call(e)}return n._length=t.length,n};function j(t,e){e=e||0;for(var n=t.length-e,r=new Array(n);n--;)r[n]=t[n+e];return r}function T(t,e){for(var n in e)t[n]=e[n];return t}function B(t){for(var e={},n=0;n<t.length;n++)t[n]&&T(e,t[n]);return e}function N(t,e,n){}var P=function(t,e,n){return!1},$=function(t){return t};function I(t,e){if(t===e)return!0;var n=u(t),r=u(e);if(!n||!r)return!n&&!r&&String(t)===String(e);try{var o=Array.isArray(t),i=Array.isArray(e);if(o&&i)return t.length===e.length&&t.every((function(t,n){return I(t,e[n])}));if(t instanceof Date&&e instanceof Date)return t.getTime()===e.getTime();if(o||i)return!1;var a=Object.keys(t),s=Object.keys(e);return a.length===s.length&&a.every((function(n){return I(t[n],e[n])}))}catch(t){return!1}}function z(t,e){for(var n=0;n<t.length;n++)if(I(t[n],e))return n;return-1}function F(t){var e=!1;return function(){e||(e=!0,t.apply(this,arguments))}}var D="data-server-rendered",L=["component","directive","filter"],R=["beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeDestroy","destroyed","activated","deactivated","errorCaptured","serverPrefetch"],M={optionMergeStrategies:Object.create(null),silent:!1,productionTip:!1,devtools:!1,performance:!1,errorHandler:null,warnHandler:null,ignoredElements:[],keyCodes:Object.create(null),isReservedTag:P,isReservedAttr:P,isUnknownElement:P,getTagNamespace:N,parsePlatformTagName:$,mustUseProp:P,async:!0,_lifecycleHooks:R},U=/a-zA-Z\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u037D\u037F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD/;function G(t){var e=(t+"").charCodeAt(0);return 36===e||95===e}function q(t,e,n,r){Object.defineProperty(t,e,{value:n,enumerable:!!r,writable:!0,configurable:!0})}var V=new RegExp("[^"+U.source+".$_\\d]");var W,H="__proto__"in{},Y="undefined"!=typeof window,K="undefined"!=typeof WXEnvironment&&!!WXEnvironment.platform,X=K&&WXEnvironment.platform.toLowerCase(),Z=Y&&window.navigator.userAgent.toLowerCase(),J=Z&&/msie|trident/.test(Z),Q=Z&&Z.indexOf("msie 9.0")>0,tt=Z&&Z.indexOf("edge/")>0,et=(Z&&Z.indexOf("android"),Z&&/iphone|ipad|ipod|ios/.test(Z)||"ios"===X),nt=(Z&&/chrome\/\d+/.test(Z),Z&&/phantomjs/.test(Z),Z&&Z.match(/firefox\/(\d+)/)),rt={}.watch,ot=!1;if(Y)try{var it={};Object.defineProperty(it,"passive",{get:function(){ot=!0}}),window.addEventListener("test-passive",null,it)}catch(t){}var at=function(){return void 0===W&&(W=!Y&&!K&&void 0!==n.g&&(n.g.process&&"server"===n.g.process.env.VUE_ENV)),W},st=Y&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function lt(t){return"function"==typeof t&&/native code/.test(t.toString())}var ut,ct="undefined"!=typeof Symbol&&lt(Symbol)&&"undefined"!=typeof Reflect&&lt(Reflect.ownKeys);ut="undefined"!=typeof Set&&lt(Set)?Set:function(){function t(){this.set=Object.create(null)}return t.prototype.has=function(t){return!0===this.set[t]},t.prototype.add=function(t){this.set[t]=!0},t.prototype.clear=function(){this.set=Object.create(null)},t}();var pt=N,ft=0,dt=function(){this.id=ft++,this.subs=[]};dt.prototype.addSub=function(t){this.subs.push(t)},dt.prototype.removeSub=function(t){A(this.subs,t)},dt.prototype.depend=function(){dt.target&&dt.target.addDep(this)},dt.prototype.notify=function(){var t=this.subs.slice();for(var e=0,n=t.length;e<n;e++)t[e].update()},dt.target=null;var ht=[];function mt(t){ht.push(t),dt.target=t}function vt(){ht.pop(),dt.target=ht[ht.length-1]}var gt=function(t,e,n,r,o,i,a,s){this.tag=t,this.data=e,this.children=n,this.text=r,this.elm=o,this.ns=void 0,this.context=i,this.fnContext=void 0,this.fnOptions=void 0,this.fnScopeId=void 0,this.key=e&&e.key,this.componentOptions=a,this.componentInstance=void 0,this.parent=void 0,this.raw=!1,this.isStatic=!1,this.isRootInsert=!0,this.isComment=!1,this.isCloned=!1,this.isOnce=!1,this.asyncFactory=s,this.asyncMeta=void 0,this.isAsyncPlaceholder=!1},yt={child:{configurable:!0}};yt.child.get=function(){return this.componentInstance},Object.defineProperties(gt.prototype,yt);var At=function(t){void 0===t&&(t="");var e=new gt;return e.text=t,e.isComment=!0,e};function bt(t){return new gt(void 0,void 0,void 0,String(t))}function Ct(t){var e=new gt(t.tag,t.data,t.children&&t.children.slice(),t.text,t.elm,t.context,t.componentOptions,t.asyncFactory);return e.ns=t.ns,e.isStatic=t.isStatic,e.key=t.key,e.isComment=t.isComment,e.fnContext=t.fnContext,e.fnOptions=t.fnOptions,e.fnScopeId=t.fnScopeId,e.asyncMeta=t.asyncMeta,e.isCloned=!0,e}var wt=Array.prototype,xt=Object.create(wt);["push","pop","shift","unshift","splice","sort","reverse"].forEach((function(t){var e=wt[t];q(xt,t,(function(){for(var n=[],r=arguments.length;r--;)n[r]=arguments[r];var o,i=e.apply(this,n),a=this.__ob__;switch(t){case"push":case"unshift":o=n;break;case"splice":o=n.slice(2)}return o&&a.observeArray(o),a.dep.notify(),i}))}));var _t=Object.getOwnPropertyNames(xt),St=!0;function kt(t){St=t}var Et=function(t){this.value=t,this.dep=new dt,this.vmCount=0,q(t,"__ob__",this),Array.isArray(t)?(H?function(t,e){t.__proto__=e}(t,xt):function(t,e,n){for(var r=0,o=n.length;r<o;r++){var i=n[r];q(t,i,e[i])}}(t,xt,_t),this.observeArray(t)):this.walk(t)};function Ot(t,e){var n;if(u(t)&&!(t instanceof gt))return C(t,"__ob__")&&t.__ob__ instanceof Et?n=t.__ob__:St&&!at()&&(Array.isArray(t)||p(t))&&Object.isExtensible(t)&&!t._isVue&&(n=new Et(t)),e&&n&&n.vmCount++,n}function jt(t,e,n,r,o){var i=new dt,a=Object.getOwnPropertyDescriptor(t,e);if(!a||!1!==a.configurable){var s=a&&a.get,l=a&&a.set;s&&!l||2!==arguments.length||(n=t[e]);var u=!o&&Ot(n);Object.defineProperty(t,e,{enumerable:!0,configurable:!0,get:function(){var e=s?s.call(t):n;return dt.target&&(i.depend(),u&&(u.dep.depend(),Array.isArray(e)&&Nt(e))),e},set:function(e){var r=s?s.call(t):n;e===r||e!=e&&r!=r||s&&!l||(l?l.call(t,e):n=e,u=!o&&Ot(e),i.notify())}})}}function Tt(t,e,n){if(Array.isArray(t)&&d(e))return t.length=Math.max(t.length,e),t.splice(e,1,n),n;if(e in t&&!(e in Object.prototype))return t[e]=n,n;var r=t.__ob__;return t._isVue||r&&r.vmCount?n:r?(jt(r.value,e,n),r.dep.notify(),n):(t[e]=n,n)}function Bt(t,e){if(Array.isArray(t)&&d(e))t.splice(e,1);else{var n=t.__ob__;t._isVue||n&&n.vmCount||C(t,e)&&(delete t[e],n&&n.dep.notify())}}function Nt(t){for(var e=void 0,n=0,r=t.length;n<r;n++)(e=t[n])&&e.__ob__&&e.__ob__.dep.depend(),Array.isArray(e)&&Nt(e)}Et.prototype.walk=function(t){for(var e=Object.keys(t),n=0;n<e.length;n++)jt(t,e[n])},Et.prototype.observeArray=function(t){for(var e=0,n=t.length;e<n;e++)Ot(t[e])};var Pt=M.optionMergeStrategies;function $t(t,e){if(!e)return t;for(var n,r,o,i=ct?Reflect.ownKeys(e):Object.keys(e),a=0;a<i.length;a++)"__ob__"!==(n=i[a])&&(r=t[n],o=e[n],C(t,n)?r!==o&&p(r)&&p(o)&&$t(r,o):Tt(t,n,o));return t}function It(t,e,n){return n?function(){var r="function"==typeof e?e.call(n,n):e,o="function"==typeof t?t.call(n,n):t;return r?$t(r,o):o}:e?t?function(){return $t("function"==typeof e?e.call(this,this):e,"function"==typeof t?t.call(this,this):t)}:e:t}function zt(t,e){var n=e?t?t.concat(e):Array.isArray(e)?e:[e]:t;return n?function(t){for(var e=[],n=0;n<t.length;n++)-1===e.indexOf(t[n])&&e.push(t[n]);return e}(n):n}function Ft(t,e,n,r){var o=Object.create(t||null);return e?T(o,e):o}Pt.data=function(t,e,n){return n?It(t,e,n):e&&"function"!=typeof e?t:It(t,e)},R.forEach((function(t){Pt[t]=zt})),L.forEach((function(t){Pt[t+"s"]=Ft})),Pt.watch=function(t,e,n,r){if(t===rt&&(t=void 0),e===rt&&(e=void 0),!e)return Object.create(t||null);if(!t)return e;var o={};for(var i in T(o,t),e){var a=o[i],s=e[i];a&&!Array.isArray(a)&&(a=[a]),o[i]=a?a.concat(s):Array.isArray(s)?s:[s]}return o},Pt.props=Pt.methods=Pt.inject=Pt.computed=function(t,e,n,r){if(!t)return e;var o=Object.create(null);return T(o,t),e&&T(o,e),o},Pt.provide=It;var Dt=function(t,e){return void 0===e?t:e};function Lt(t,e,n){if("function"==typeof e&&(e=e.options),function(t,e){var n=t.props;if(n){var r,o,i={};if(Array.isArray(n))for(r=n.length;r--;)"string"==typeof(o=n[r])&&(i[_(o)]={type:null});else if(p(n))for(var a in n)o=n[a],i[_(a)]=p(o)?o:{type:o};t.props=i}}(e),function(t,e){var n=t.inject;if(n){var r=t.inject={};if(Array.isArray(n))for(var o=0;o<n.length;o++)r[n[o]]={from:n[o]};else if(p(n))for(var i in n){var a=n[i];r[i]=p(a)?T({from:i},a):{from:a}}}}(e),function(t){var e=t.directives;if(e)for(var n in e){var r=e[n];"function"==typeof r&&(e[n]={bind:r,update:r})}}(e),!e._base&&(e.extends&&(t=Lt(t,e.extends,n)),e.mixins))for(var r=0,o=e.mixins.length;r<o;r++)t=Lt(t,e.mixins[r],n);var i,a={};for(i in t)s(i);for(i in e)C(t,i)||s(i);function s(r){var o=Pt[r]||Dt;a[r]=o(t[r],e[r],n,r)}return a}function Rt(t,e,n,r){if("string"==typeof n){var o=t[e];if(C(o,n))return o[n];var i=_(n);if(C(o,i))return o[i];var a=S(i);return C(o,a)?o[a]:o[n]||o[i]||o[a]}}function Mt(t,e,n,r){var o=e[t],i=!C(n,t),a=n[t],s=Vt(Boolean,o.type);if(s>-1)if(i&&!C(o,"default"))a=!1;else if(""===a||a===E(t)){var l=Vt(String,o.type);(l<0||s<l)&&(a=!0)}if(void 0===a){a=function(t,e,n){if(!C(e,"default"))return;var r=e.default;0;if(t&&t.$options.propsData&&void 0===t.$options.propsData[n]&&void 0!==t._props[n])return t._props[n];return"function"==typeof r&&"Function"!==Gt(e.type)?r.call(t):r}(r,o,t);var u=St;kt(!0),Ot(a),kt(u)}return a}var Ut=/^\s*function (\w+)/;function Gt(t){var e=t&&t.toString().match(Ut);return e?e[1]:""}function qt(t,e){return Gt(t)===Gt(e)}function Vt(t,e){if(!Array.isArray(e))return qt(e,t)?0:-1;for(var n=0,r=e.length;n<r;n++)if(qt(e[n],t))return n;return-1}function Wt(t,e,n){mt();try{if(e)for(var r=e;r=r.$parent;){var o=r.$options.errorCaptured;if(o)for(var i=0;i<o.length;i++)try{if(!1===o[i].call(r,t,e,n))return}catch(t){Yt(t,r,"errorCaptured hook")}}Yt(t,e,n)}finally{vt()}}function Ht(t,e,n,r,o){var i;try{(i=n?t.apply(e,n):t.call(e))&&!i._isVue&&h(i)&&!i._handled&&(i.catch((function(t){return Wt(t,r,o+" (Promise/async)")})),i._handled=!0)}catch(t){Wt(t,r,o)}return i}function Yt(t,e,n){if(M.errorHandler)try{return M.errorHandler.call(null,t,e,n)}catch(e){e!==t&&Kt(e,null,"config.errorHandler")}Kt(t,e,n)}function Kt(t,e,n){if(!Y&&!K||void 0===r)throw t;r.error(t)}var Xt,Zt=!1,Jt=[],Qt=!1;function te(){Qt=!1;var t=Jt.slice(0);Jt.length=0;for(var e=0;e<t.length;e++)t[e]()}if("undefined"!=typeof Promise&&lt(Promise)){var ee=Promise.resolve();Xt=function(){ee.then(te),et&&setTimeout(N)},Zt=!0}else if(J||"undefined"==typeof MutationObserver||!lt(MutationObserver)&&"[object MutationObserverConstructor]"!==MutationObserver.toString())Xt="undefined"!=typeof setImmediate&&lt(setImmediate)?function(){setImmediate(te)}:function(){setTimeout(te,0)};else{var ne=1,re=new MutationObserver(te),oe=document.createTextNode(String(ne));re.observe(oe,{characterData:!0}),Xt=function(){ne=(ne+1)%2,oe.data=String(ne)},Zt=!0}function ie(t,e){var n;if(Jt.push((function(){if(t)try{t.call(e)}catch(t){Wt(t,e,"nextTick")}else n&&n(e)})),Qt||(Qt=!0,Xt()),!t&&"undefined"!=typeof Promise)return new Promise((function(t){n=t}))}var ae=new ut;function se(t){le(t,ae),ae.clear()}function le(t,e){var n,r,o=Array.isArray(t);if(!(!o&&!u(t)||Object.isFrozen(t)||t instanceof gt)){if(t.__ob__){var i=t.__ob__.dep.id;if(e.has(i))return;e.add(i)}if(o)for(n=t.length;n--;)le(t[n],e);else for(n=(r=Object.keys(t)).length;n--;)le(t[r[n]],e)}}var ue=w((function(t){var e="&"===t.charAt(0),n="~"===(t=e?t.slice(1):t).charAt(0),r="!"===(t=n?t.slice(1):t).charAt(0);return{name:t=r?t.slice(1):t,once:n,capture:r,passive:e}}));function ce(t,e){function n(){var t=arguments,r=n.fns;if(!Array.isArray(r))return Ht(r,null,arguments,e,"v-on handler");for(var o=r.slice(),i=0;i<o.length;i++)Ht(o[i],null,t,e,"v-on handler")}return n.fns=t,n}function pe(t,e,n,r,o,a){var l,u,c,p;for(l in t)u=t[l],c=e[l],p=ue(l),i(u)||(i(c)?(i(u.fns)&&(u=t[l]=ce(u,a)),s(p.once)&&(u=t[l]=o(p.name,u,p.capture)),n(p.name,u,p.capture,p.passive,p.params)):u!==c&&(c.fns=u,t[l]=c));for(l in e)i(t[l])&&r((p=ue(l)).name,e[l],p.capture)}function fe(t,e,n){var r;t instanceof gt&&(t=t.data.hook||(t.data.hook={}));var o=t[e];function l(){n.apply(this,arguments),A(r.fns,l)}i(o)?r=ce([l]):a(o.fns)&&s(o.merged)?(r=o).fns.push(l):r=ce([o,l]),r.merged=!0,t[e]=r}function de(t,e,n,r,o){if(a(e)){if(C(e,n))return t[n]=e[n],o||delete e[n],!0;if(C(e,r))return t[n]=e[r],o||delete e[r],!0}return!1}function he(t){return l(t)?[bt(t)]:Array.isArray(t)?ve(t):void 0}function me(t){return a(t)&&a(t.text)&&!1===t.isComment}function ve(t,e){var n,r,o,u,c=[];for(n=0;n<t.length;n++)i(r=t[n])||"boolean"==typeof r||(u=c[o=c.length-1],Array.isArray(r)?r.length>0&&(me((r=ve(r,(e||"")+"_"+n))[0])&&me(u)&&(c[o]=bt(u.text+r[0].text),r.shift()),c.push.apply(c,r)):l(r)?me(u)?c[o]=bt(u.text+r):""!==r&&c.push(bt(r)):me(r)&&me(u)?c[o]=bt(u.text+r.text):(s(t._isVList)&&a(r.tag)&&i(r.key)&&a(e)&&(r.key="__vlist"+e+"_"+n+"__"),c.push(r)));return c}function ge(t,e){if(t){for(var n=Object.create(null),r=ct?Reflect.ownKeys(t):Object.keys(t),o=0;o<r.length;o++){var i=r[o];if("__ob__"!==i){for(var a=t[i].from,s=e;s;){if(s._provided&&C(s._provided,a)){n[i]=s._provided[a];break}s=s.$parent}if(!s)if("default"in t[i]){var l=t[i].default;n[i]="function"==typeof l?l.call(e):l}else 0}}return n}}function ye(t,e){if(!t||!t.length)return{};for(var n={},r=0,o=t.length;r<o;r++){var i=t[r],a=i.data;if(a&&a.attrs&&a.attrs.slot&&delete a.attrs.slot,i.context!==e&&i.fnContext!==e||!a||null==a.slot)(n.default||(n.default=[])).push(i);else{var s=a.slot,l=n[s]||(n[s]=[]);"template"===i.tag?l.push.apply(l,i.children||[]):l.push(i)}}for(var u in n)n[u].every(Ae)&&delete n[u];return n}function Ae(t){return t.isComment&&!t.asyncFactory||" "===t.text}function be(t){return t.isComment&&t.asyncFactory}function Ce(t,e,n){var r,i=Object.keys(e).length>0,a=t?!!t.$stable:!i,s=t&&t.$key;if(t){if(t._normalized)return t._normalized;if(a&&n&&n!==o&&s===n.$key&&!i&&!n.$hasNormal)return n;for(var l in r={},t)t[l]&&"$"!==l[0]&&(r[l]=we(e,l,t[l]))}else r={};for(var u in e)u in r||(r[u]=xe(e,u));return t&&Object.isExtensible(t)&&(t._normalized=r),q(r,"$stable",a),q(r,"$key",s),q(r,"$hasNormal",i),r}function we(t,e,n){var r=function(){var t=arguments.length?n.apply(null,arguments):n({}),e=(t=t&&"object"==typeof t&&!Array.isArray(t)?[t]:he(t))&&t[0];return t&&(!e||1===t.length&&e.isComment&&!be(e))?void 0:t};return n.proxy&&Object.defineProperty(t,e,{get:r,enumerable:!0,configurable:!0}),r}function xe(t,e){return function(){return t[e]}}function _e(t,e){var n,r,o,i,s;if(Array.isArray(t)||"string"==typeof t)for(n=new Array(t.length),r=0,o=t.length;r<o;r++)n[r]=e(t[r],r);else if("number"==typeof t)for(n=new Array(t),r=0;r<t;r++)n[r]=e(r+1,r);else if(u(t))if(ct&&t[Symbol.iterator]){n=[];for(var l=t[Symbol.iterator](),c=l.next();!c.done;)n.push(e(c.value,n.length)),c=l.next()}else for(i=Object.keys(t),n=new Array(i.length),r=0,o=i.length;r<o;r++)s=i[r],n[r]=e(t[s],s,r);return a(n)||(n=[]),n._isVList=!0,n}function Se(t,e,n,r){var o,i=this.$scopedSlots[t];i?(n=n||{},r&&(n=T(T({},r),n)),o=i(n)||("function"==typeof e?e():e)):o=this.$slots[t]||("function"==typeof e?e():e);var a=n&&n.slot;return a?this.$createElement("template",{slot:a},o):o}function ke(t){return Rt(this.$options,"filters",t)||$}function Ee(t,e){return Array.isArray(t)?-1===t.indexOf(e):t!==e}function Oe(t,e,n,r,o){var i=M.keyCodes[e]||n;return o&&r&&!M.keyCodes[e]?Ee(o,r):i?Ee(i,t):r?E(r)!==e:void 0===t}function je(t,e,n,r,o){if(n)if(u(n)){var i;Array.isArray(n)&&(n=B(n));var a=function(a){if("class"===a||"style"===a||y(a))i=t;else{var s=t.attrs&&t.attrs.type;i=r||M.mustUseProp(e,s,a)?t.domProps||(t.domProps={}):t.attrs||(t.attrs={})}var l=_(a),u=E(a);l in i||u in i||(i[a]=n[a],o&&((t.on||(t.on={}))["update:"+a]=function(t){n[a]=t}))};for(var s in n)a(s)}else;return t}function Te(t,e){var n=this._staticTrees||(this._staticTrees=[]),r=n[t];return r&&!e||Ne(r=n[t]=this.$options.staticRenderFns[t].call(this._renderProxy,null,this),"__static__"+t,!1),r}function Be(t,e,n){return Ne(t,"__once__"+e+(n?"_"+n:""),!0),t}function Ne(t,e,n){if(Array.isArray(t))for(var r=0;r<t.length;r++)t[r]&&"string"!=typeof t[r]&&Pe(t[r],e+"_"+r,n);else Pe(t,e,n)}function Pe(t,e,n){t.isStatic=!0,t.key=e,t.isOnce=n}function $e(t,e){if(e)if(p(e)){var n=t.on=t.on?T({},t.on):{};for(var r in e){var o=n[r],i=e[r];n[r]=o?[].concat(o,i):i}}else;return t}function Ie(t,e,n,r){e=e||{$stable:!n};for(var o=0;o<t.length;o++){var i=t[o];Array.isArray(i)?Ie(i,e,n):i&&(i.proxy&&(i.fn.proxy=!0),e[i.key]=i.fn)}return r&&(e.$key=r),e}function ze(t,e){for(var n=0;n<e.length;n+=2){var r=e[n];"string"==typeof r&&r&&(t[e[n]]=e[n+1])}return t}function Fe(t,e){return"string"==typeof t?e+t:t}function De(t){t._o=Be,t._n=v,t._s=m,t._l=_e,t._t=Se,t._q=I,t._i=z,t._m=Te,t._f=ke,t._k=Oe,t._b=je,t._v=bt,t._e=At,t._u=Ie,t._g=$e,t._d=ze,t._p=Fe}function Le(t,e,n,r,i){var a,l=this,u=i.options;C(r,"_uid")?(a=Object.create(r))._original=r:(a=r,r=r._original);var c=s(u._compiled),p=!c;this.data=t,this.props=e,this.children=n,this.parent=r,this.listeners=t.on||o,this.injections=ge(u.inject,r),this.slots=function(){return l.$slots||Ce(t.scopedSlots,l.$slots=ye(n,r)),l.$slots},Object.defineProperty(this,"scopedSlots",{enumerable:!0,get:function(){return Ce(t.scopedSlots,this.slots())}}),c&&(this.$options=u,this.$slots=this.slots(),this.$scopedSlots=Ce(t.scopedSlots,this.$slots)),u._scopeId?this._c=function(t,e,n,o){var i=We(a,t,e,n,o,p);return i&&!Array.isArray(i)&&(i.fnScopeId=u._scopeId,i.fnContext=r),i}:this._c=function(t,e,n,r){return We(a,t,e,n,r,p)}}function Re(t,e,n,r,o){var i=Ct(t);return i.fnContext=n,i.fnOptions=r,e.slot&&((i.data||(i.data={})).slot=e.slot),i}function Me(t,e){for(var n in e)t[_(n)]=e[n]}De(Le.prototype);var Ue={init:function(t,e){if(t.componentInstance&&!t.componentInstance._isDestroyed&&t.data.keepAlive){var n=t;Ue.prepatch(n,n)}else{(t.componentInstance=function(t,e){var n={_isComponent:!0,_parentVnode:t,parent:e},r=t.data.inlineTemplate;a(r)&&(n.render=r.render,n.staticRenderFns=r.staticRenderFns);return new t.componentOptions.Ctor(n)}(t,nn)).$mount(e?t.elm:void 0,e)}},prepatch:function(t,e){var n=e.componentOptions;!function(t,e,n,r,i){0;var a=r.data.scopedSlots,s=t.$scopedSlots,l=!!(a&&!a.$stable||s!==o&&!s.$stable||a&&t.$scopedSlots.$key!==a.$key||!a&&t.$scopedSlots.$key),u=!!(i||t.$options._renderChildren||l);t.$options._parentVnode=r,t.$vnode=r,t._vnode&&(t._vnode.parent=r);if(t.$options._renderChildren=i,t.$attrs=r.data.attrs||o,t.$listeners=n||o,e&&t.$options.props){kt(!1);for(var c=t._props,p=t.$options._propKeys||[],f=0;f<p.length;f++){var d=p[f],h=t.$options.props;c[d]=Mt(d,h,e,t)}kt(!0),t.$options.propsData=e}n=n||o;var m=t.$options._parentListeners;t.$options._parentListeners=n,en(t,n,m),u&&(t.$slots=ye(i,r.context),t.$forceUpdate());0}(e.componentInstance=t.componentInstance,n.propsData,n.listeners,e,n.children)},insert:function(t){var e,n=t.context,r=t.componentInstance;r._isMounted||(r._isMounted=!0,ln(r,"mounted")),t.data.keepAlive&&(n._isMounted?((e=r)._inactive=!1,cn.push(e)):an(r,!0))},destroy:function(t){var e=t.componentInstance;e._isDestroyed||(t.data.keepAlive?sn(e,!0):e.$destroy())}},Ge=Object.keys(Ue);function qe(t,e,n,r,l){if(!i(t)){var c=n.$options._base;if(u(t)&&(t=c.extend(t)),"function"==typeof t){var p;if(i(t.cid)&&(t=function(t,e){if(s(t.error)&&a(t.errorComp))return t.errorComp;if(a(t.resolved))return t.resolved;var n=Ke;n&&a(t.owners)&&-1===t.owners.indexOf(n)&&t.owners.push(n);if(s(t.loading)&&a(t.loadingComp))return t.loadingComp;if(n&&!a(t.owners)){var r=t.owners=[n],o=!0,l=null,c=null;n.$on("hook:destroyed",(function(){return A(r,n)}));var p=function(t){for(var e=0,n=r.length;e<n;e++)r[e].$forceUpdate();t&&(r.length=0,null!==l&&(clearTimeout(l),l=null),null!==c&&(clearTimeout(c),c=null))},f=F((function(n){t.resolved=Xe(n,e),o?r.length=0:p(!0)})),d=F((function(e){a(t.errorComp)&&(t.error=!0,p(!0))})),m=t(f,d);return u(m)&&(h(m)?i(t.resolved)&&m.then(f,d):h(m.component)&&(m.component.then(f,d),a(m.error)&&(t.errorComp=Xe(m.error,e)),a(m.loading)&&(t.loadingComp=Xe(m.loading,e),0===m.delay?t.loading=!0:l=setTimeout((function(){l=null,i(t.resolved)&&i(t.error)&&(t.loading=!0,p(!1))}),m.delay||200)),a(m.timeout)&&(c=setTimeout((function(){c=null,i(t.resolved)&&d(null)}),m.timeout)))),o=!1,t.loading?t.loadingComp:t.resolved}}(p=t,c),void 0===t))return function(t,e,n,r,o){var i=At();return i.asyncFactory=t,i.asyncMeta={data:e,context:n,children:r,tag:o},i}(p,e,n,r,l);e=e||{},Tn(t),a(e.model)&&function(t,e){var n=t.model&&t.model.prop||"value",r=t.model&&t.model.event||"input";(e.attrs||(e.attrs={}))[n]=e.model.value;var o=e.on||(e.on={}),i=o[r],s=e.model.callback;a(i)?(Array.isArray(i)?-1===i.indexOf(s):i!==s)&&(o[r]=[s].concat(i)):o[r]=s}(t.options,e);var f=function(t,e,n){var r=e.options.props;if(!i(r)){var o={},s=t.attrs,l=t.props;if(a(s)||a(l))for(var u in r){var c=E(u);de(o,l,u,c,!0)||de(o,s,u,c,!1)}return o}}(e,t);if(s(t.options.functional))return function(t,e,n,r,i){var s=t.options,l={},u=s.props;if(a(u))for(var c in u)l[c]=Mt(c,u,e||o);else a(n.attrs)&&Me(l,n.attrs),a(n.props)&&Me(l,n.props);var p=new Le(n,l,i,r,t),f=s.render.call(null,p._c,p);if(f instanceof gt)return Re(f,n,p.parent,s);if(Array.isArray(f)){for(var d=he(f)||[],h=new Array(d.length),m=0;m<d.length;m++)h[m]=Re(d[m],n,p.parent,s);return h}}(t,f,e,n,r);var d=e.on;if(e.on=e.nativeOn,s(t.options.abstract)){var m=e.slot;e={},m&&(e.slot=m)}!function(t){for(var e=t.hook||(t.hook={}),n=0;n<Ge.length;n++){var r=Ge[n],o=e[r],i=Ue[r];o===i||o&&o._merged||(e[r]=o?Ve(i,o):i)}}(e);var v=t.options.name||l;return new gt("vue-component-"+t.cid+(v?"-"+v:""),e,void 0,void 0,void 0,n,{Ctor:t,propsData:f,listeners:d,tag:l,children:r},p)}}}function Ve(t,e){var n=function(n,r){t(n,r),e(n,r)};return n._merged=!0,n}function We(t,e,n,r,o,i){return(Array.isArray(n)||l(n))&&(o=r,r=n,n=void 0),s(i)&&(o=2),function(t,e,n,r,o){if(a(n)&&a(n.__ob__))return At();a(n)&&a(n.is)&&(e=n.is);if(!e)return At();0;Array.isArray(r)&&"function"==typeof r[0]&&((n=n||{}).scopedSlots={default:r[0]},r.length=0);2===o?r=he(r):1===o&&(r=function(t){for(var e=0;e<t.length;e++)if(Array.isArray(t[e]))return Array.prototype.concat.apply([],t);return t}(r));var i,s;if("string"==typeof e){var l;s=t.$vnode&&t.$vnode.ns||M.getTagNamespace(e),i=M.isReservedTag(e)?new gt(M.parsePlatformTagName(e),n,r,void 0,void 0,t):n&&n.pre||!a(l=Rt(t.$options,"components",e))?new gt(e,n,r,void 0,void 0,t):qe(l,n,t,r,e)}else i=qe(e,n,t,r);return Array.isArray(i)?i:a(i)?(a(s)&&He(i,s),a(n)&&function(t){u(t.style)&&se(t.style);u(t.class)&&se(t.class)}(n),i):At()}(t,e,n,r,o)}function He(t,e,n){if(t.ns=e,"foreignObject"===t.tag&&(e=void 0,n=!0),a(t.children))for(var r=0,o=t.children.length;r<o;r++){var l=t.children[r];a(l.tag)&&(i(l.ns)||s(n)&&"svg"!==l.tag)&&He(l,e,n)}}var Ye,Ke=null;function Xe(t,e){return(t.__esModule||ct&&"Module"===t[Symbol.toStringTag])&&(t=t.default),u(t)?e.extend(t):t}function Ze(t){if(Array.isArray(t))for(var e=0;e<t.length;e++){var n=t[e];if(a(n)&&(a(n.componentOptions)||be(n)))return n}}function Je(t,e){Ye.$on(t,e)}function Qe(t,e){Ye.$off(t,e)}function tn(t,e){var n=Ye;return function r(){var o=e.apply(null,arguments);null!==o&&n.$off(t,r)}}function en(t,e,n){Ye=t,pe(e,n||{},Je,Qe,tn,t),Ye=void 0}var nn=null;function rn(t){var e=nn;return nn=t,function(){nn=e}}function on(t){for(;t&&(t=t.$parent);)if(t._inactive)return!0;return!1}function an(t,e){if(e){if(t._directInactive=!1,on(t))return}else if(t._directInactive)return;if(t._inactive||null===t._inactive){t._inactive=!1;for(var n=0;n<t.$children.length;n++)an(t.$children[n]);ln(t,"activated")}}function sn(t,e){if(!(e&&(t._directInactive=!0,on(t))||t._inactive)){t._inactive=!0;for(var n=0;n<t.$children.length;n++)sn(t.$children[n]);ln(t,"deactivated")}}function ln(t,e){mt();var n=t.$options[e],r=e+" hook";if(n)for(var o=0,i=n.length;o<i;o++)Ht(n[o],t,null,t,r);t._hasHookEvent&&t.$emit("hook:"+e),vt()}var un=[],cn=[],pn={},fn=!1,dn=!1,hn=0;var mn=0,vn=Date.now;if(Y&&!J){var gn=window.performance;gn&&"function"==typeof gn.now&&vn()>document.createEvent("Event").timeStamp&&(vn=function(){return gn.now()})}function yn(){var t,e;for(mn=vn(),dn=!0,un.sort((function(t,e){return t.id-e.id})),hn=0;hn<un.length;hn++)(t=un[hn]).before&&t.before(),e=t.id,pn[e]=null,t.run();var n=cn.slice(),r=un.slice();hn=un.length=cn.length=0,pn={},fn=dn=!1,function(t){for(var e=0;e<t.length;e++)t[e]._inactive=!0,an(t[e],!0)}(n),function(t){var e=t.length;for(;e--;){var n=t[e],r=n.vm;r._watcher===n&&r._isMounted&&!r._isDestroyed&&ln(r,"updated")}}(r),st&&M.devtools&&st.emit("flush")}var An=0,bn=function(t,e,n,r,o){this.vm=t,o&&(t._watcher=this),t._watchers.push(this),r?(this.deep=!!r.deep,this.user=!!r.user,this.lazy=!!r.lazy,this.sync=!!r.sync,this.before=r.before):this.deep=this.user=this.lazy=this.sync=!1,this.cb=n,this.id=++An,this.active=!0,this.dirty=this.lazy,this.deps=[],this.newDeps=[],this.depIds=new ut,this.newDepIds=new ut,this.expression="","function"==typeof e?this.getter=e:(this.getter=function(t){if(!V.test(t)){var e=t.split(".");return function(t){for(var n=0;n<e.length;n++){if(!t)return;t=t[e[n]]}return t}}}(e),this.getter||(this.getter=N)),this.value=this.lazy?void 0:this.get()};bn.prototype.get=function(){var t;mt(this);var e=this.vm;try{t=this.getter.call(e,e)}catch(t){if(!this.user)throw t;Wt(t,e,'getter for watcher "'+this.expression+'"')}finally{this.deep&&se(t),vt(),this.cleanupDeps()}return t},bn.prototype.addDep=function(t){var e=t.id;this.newDepIds.has(e)||(this.newDepIds.add(e),this.newDeps.push(t),this.depIds.has(e)||t.addSub(this))},bn.prototype.cleanupDeps=function(){for(var t=this.deps.length;t--;){var e=this.deps[t];this.newDepIds.has(e.id)||e.removeSub(this)}var n=this.depIds;this.depIds=this.newDepIds,this.newDepIds=n,this.newDepIds.clear(),n=this.deps,this.deps=this.newDeps,this.newDeps=n,this.newDeps.length=0},bn.prototype.update=function(){this.lazy?this.dirty=!0:this.sync?this.run():function(t){var e=t.id;if(null==pn[e]){if(pn[e]=!0,dn){for(var n=un.length-1;n>hn&&un[n].id>t.id;)n--;un.splice(n+1,0,t)}else un.push(t);fn||(fn=!0,ie(yn))}}(this)},bn.prototype.run=function(){if(this.active){var t=this.get();if(t!==this.value||u(t)||this.deep){var e=this.value;if(this.value=t,this.user){var n='callback for watcher "'+this.expression+'"';Ht(this.cb,this.vm,[t,e],this.vm,n)}else this.cb.call(this.vm,t,e)}}},bn.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},bn.prototype.depend=function(){for(var t=this.deps.length;t--;)this.deps[t].depend()},bn.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||A(this.vm._watchers,this);for(var t=this.deps.length;t--;)this.deps[t].removeSub(this);this.active=!1}};var Cn={enumerable:!0,configurable:!0,get:N,set:N};function wn(t,e,n){Cn.get=function(){return this[e][n]},Cn.set=function(t){this[e][n]=t},Object.defineProperty(t,n,Cn)}function xn(t){t._watchers=[];var e=t.$options;e.props&&function(t,e){var n=t.$options.propsData||{},r=t._props={},o=t.$options._propKeys=[];t.$parent&&kt(!1);var i=function(i){o.push(i);var a=Mt(i,e,n,t);jt(r,i,a),i in t||wn(t,"_props",i)};for(var a in e)i(a);kt(!0)}(t,e.props),e.methods&&function(t,e){t.$options.props;for(var n in e)t[n]="function"!=typeof e[n]?N:O(e[n],t)}(t,e.methods),e.data?function(t){var e=t.$options.data;p(e=t._data="function"==typeof e?function(t,e){mt();try{return t.call(e,e)}catch(t){return Wt(t,e,"data()"),{}}finally{vt()}}(e,t):e||{})||(e={});var n=Object.keys(e),r=t.$options.props,o=(t.$options.methods,n.length);for(;o--;){var i=n[o];0,r&&C(r,i)||G(i)||wn(t,"_data",i)}Ot(e,!0)}(t):Ot(t._data={},!0),e.computed&&function(t,e){var n=t._computedWatchers=Object.create(null),r=at();for(var o in e){var i=e[o],a="function"==typeof i?i:i.get;0,r||(n[o]=new bn(t,a||N,N,_n)),o in t||Sn(t,o,i)}}(t,e.computed),e.watch&&e.watch!==rt&&function(t,e){for(var n in e){var r=e[n];if(Array.isArray(r))for(var o=0;o<r.length;o++)On(t,n,r[o]);else On(t,n,r)}}(t,e.watch)}var _n={lazy:!0};function Sn(t,e,n){var r=!at();"function"==typeof n?(Cn.get=r?kn(e):En(n),Cn.set=N):(Cn.get=n.get?r&&!1!==n.cache?kn(e):En(n.get):N,Cn.set=n.set||N),Object.defineProperty(t,e,Cn)}function kn(t){return function(){var e=this._computedWatchers&&this._computedWatchers[t];if(e)return e.dirty&&e.evaluate(),dt.target&&e.depend(),e.value}}function En(t){return function(){return t.call(this,this)}}function On(t,e,n,r){return p(n)&&(r=n,n=n.handler),"string"==typeof n&&(n=t[n]),t.$watch(e,n,r)}var jn=0;function Tn(t){var e=t.options;if(t.super){var n=Tn(t.super);if(n!==t.superOptions){t.superOptions=n;var r=function(t){var e,n=t.options,r=t.sealedOptions;for(var o in n)n[o]!==r[o]&&(e||(e={}),e[o]=n[o]);return e}(t);r&&T(t.extendOptions,r),(e=t.options=Lt(n,t.extendOptions)).name&&(e.components[e.name]=t)}}return e}function Bn(t){this._init(t)}function Nn(t){t.cid=0;var e=1;t.extend=function(t){t=t||{};var n=this,r=n.cid,o=t._Ctor||(t._Ctor={});if(o[r])return o[r];var i=t.name||n.options.name;var a=function(t){this._init(t)};return(a.prototype=Object.create(n.prototype)).constructor=a,a.cid=e++,a.options=Lt(n.options,t),a.super=n,a.options.props&&function(t){var e=t.options.props;for(var n in e)wn(t.prototype,"_props",n)}(a),a.options.computed&&function(t){var e=t.options.computed;for(var n in e)Sn(t.prototype,n,e[n])}(a),a.extend=n.extend,a.mixin=n.mixin,a.use=n.use,L.forEach((function(t){a[t]=n[t]})),i&&(a.options.components[i]=a),a.superOptions=n.options,a.extendOptions=t,a.sealedOptions=T({},a.options),o[r]=a,a}}function Pn(t){return t&&(t.Ctor.options.name||t.tag)}function $n(t,e){return Array.isArray(t)?t.indexOf(e)>-1:"string"==typeof t?t.split(",").indexOf(e)>-1:!!f(t)&&t.test(e)}function In(t,e){var n=t.cache,r=t.keys,o=t._vnode;for(var i in n){var a=n[i];if(a){var s=a.name;s&&!e(s)&&zn(n,i,r,o)}}}function zn(t,e,n,r){var o=t[e];!o||r&&o.tag===r.tag||o.componentInstance.$destroy(),t[e]=null,A(n,e)}!function(t){t.prototype._init=function(t){var e=this;e._uid=jn++,e._isVue=!0,t&&t._isComponent?function(t,e){var n=t.$options=Object.create(t.constructor.options),r=e._parentVnode;n.parent=e.parent,n._parentVnode=r;var o=r.componentOptions;n.propsData=o.propsData,n._parentListeners=o.listeners,n._renderChildren=o.children,n._componentTag=o.tag,e.render&&(n.render=e.render,n.staticRenderFns=e.staticRenderFns)}(e,t):e.$options=Lt(Tn(e.constructor),t||{},e),e._renderProxy=e,e._self=e,function(t){var e=t.$options,n=e.parent;if(n&&!e.abstract){for(;n.$options.abstract&&n.$parent;)n=n.$parent;n.$children.push(t)}t.$parent=n,t.$root=n?n.$root:t,t.$children=[],t.$refs={},t._watcher=null,t._inactive=null,t._directInactive=!1,t._isMounted=!1,t._isDestroyed=!1,t._isBeingDestroyed=!1}(e),function(t){t._events=Object.create(null),t._hasHookEvent=!1;var e=t.$options._parentListeners;e&&en(t,e)}(e),function(t){t._vnode=null,t._staticTrees=null;var e=t.$options,n=t.$vnode=e._parentVnode,r=n&&n.context;t.$slots=ye(e._renderChildren,r),t.$scopedSlots=o,t._c=function(e,n,r,o){return We(t,e,n,r,o,!1)},t.$createElement=function(e,n,r,o){return We(t,e,n,r,o,!0)};var i=n&&n.data;jt(t,"$attrs",i&&i.attrs||o,null,!0),jt(t,"$listeners",e._parentListeners||o,null,!0)}(e),ln(e,"beforeCreate"),function(t){var e=ge(t.$options.inject,t);e&&(kt(!1),Object.keys(e).forEach((function(n){jt(t,n,e[n])})),kt(!0))}(e),xn(e),function(t){var e=t.$options.provide;e&&(t._provided="function"==typeof e?e.call(t):e)}(e),ln(e,"created"),e.$options.el&&e.$mount(e.$options.el)}}(Bn),function(t){var e={get:function(){return this._data}},n={get:function(){return this._props}};Object.defineProperty(t.prototype,"$data",e),Object.defineProperty(t.prototype,"$props",n),t.prototype.$set=Tt,t.prototype.$delete=Bt,t.prototype.$watch=function(t,e,n){var r=this;if(p(e))return On(r,t,e,n);(n=n||{}).user=!0;var o=new bn(r,t,e,n);if(n.immediate){var i='callback for immediate watcher "'+o.expression+'"';mt(),Ht(e,r,[o.value],r,i),vt()}return function(){o.teardown()}}}(Bn),function(t){var e=/^hook:/;t.prototype.$on=function(t,n){var r=this;if(Array.isArray(t))for(var o=0,i=t.length;o<i;o++)r.$on(t[o],n);else(r._events[t]||(r._events[t]=[])).push(n),e.test(t)&&(r._hasHookEvent=!0);return r},t.prototype.$once=function(t,e){var n=this;function r(){n.$off(t,r),e.apply(n,arguments)}return r.fn=e,n.$on(t,r),n},t.prototype.$off=function(t,e){var n=this;if(!arguments.length)return n._events=Object.create(null),n;if(Array.isArray(t)){for(var r=0,o=t.length;r<o;r++)n.$off(t[r],e);return n}var i,a=n._events[t];if(!a)return n;if(!e)return n._events[t]=null,n;for(var s=a.length;s--;)if((i=a[s])===e||i.fn===e){a.splice(s,1);break}return n},t.prototype.$emit=function(t){var e=this,n=e._events[t];if(n){n=n.length>1?j(n):n;for(var r=j(arguments,1),o='event handler for "'+t+'"',i=0,a=n.length;i<a;i++)Ht(n[i],e,r,e,o)}return e}}(Bn),function(t){t.prototype._update=function(t,e){var n=this,r=n.$el,o=n._vnode,i=rn(n);n._vnode=t,n.$el=o?n.__patch__(o,t):n.__patch__(n.$el,t,e,!1),i(),r&&(r.__vue__=null),n.$el&&(n.$el.__vue__=n),n.$vnode&&n.$parent&&n.$vnode===n.$parent._vnode&&(n.$parent.$el=n.$el)},t.prototype.$forceUpdate=function(){this._watcher&&this._watcher.update()},t.prototype.$destroy=function(){var t=this;if(!t._isBeingDestroyed){ln(t,"beforeDestroy"),t._isBeingDestroyed=!0;var e=t.$parent;!e||e._isBeingDestroyed||t.$options.abstract||A(e.$children,t),t._watcher&&t._watcher.teardown();for(var n=t._watchers.length;n--;)t._watchers[n].teardown();t._data.__ob__&&t._data.__ob__.vmCount--,t._isDestroyed=!0,t.__patch__(t._vnode,null),ln(t,"destroyed"),t.$off(),t.$el&&(t.$el.__vue__=null),t.$vnode&&(t.$vnode.parent=null)}}}(Bn),function(t){De(t.prototype),t.prototype.$nextTick=function(t){return ie(t,this)},t.prototype._render=function(){var t,e=this,n=e.$options,r=n.render,o=n._parentVnode;o&&(e.$scopedSlots=Ce(o.data.scopedSlots,e.$slots,e.$scopedSlots)),e.$vnode=o;try{Ke=e,t=r.call(e._renderProxy,e.$createElement)}catch(n){Wt(n,e,"render"),t=e._vnode}finally{Ke=null}return Array.isArray(t)&&1===t.length&&(t=t[0]),t instanceof gt||(t=At()),t.parent=o,t}}(Bn);var Fn=[String,RegExp,Array],Dn={name:"keep-alive",abstract:!0,props:{include:Fn,exclude:Fn,max:[String,Number]},methods:{cacheVNode:function(){var t=this,e=t.cache,n=t.keys,r=t.vnodeToCache,o=t.keyToCache;if(r){var i=r.tag,a=r.componentInstance,s=r.componentOptions;e[o]={name:Pn(s),tag:i,componentInstance:a},n.push(o),this.max&&n.length>parseInt(this.max)&&zn(e,n[0],n,this._vnode),this.vnodeToCache=null}}},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var t in this.cache)zn(this.cache,t,this.keys)},mounted:function(){var t=this;this.cacheVNode(),this.$watch("include",(function(e){In(t,(function(t){return $n(e,t)}))})),this.$watch("exclude",(function(e){In(t,(function(t){return!$n(e,t)}))}))},updated:function(){this.cacheVNode()},render:function(){var t=this.$slots.default,e=Ze(t),n=e&&e.componentOptions;if(n){var r=Pn(n),o=this.include,i=this.exclude;if(o&&(!r||!$n(o,r))||i&&r&&$n(i,r))return e;var a=this.cache,s=this.keys,l=null==e.key?n.Ctor.cid+(n.tag?"::"+n.tag:""):e.key;a[l]?(e.componentInstance=a[l].componentInstance,A(s,l),s.push(l)):(this.vnodeToCache=e,this.keyToCache=l),e.data.keepAlive=!0}return e||t&&t[0]}},Ln={KeepAlive:Dn};!function(t){var e={get:function(){return M}};Object.defineProperty(t,"config",e),t.util={warn:pt,extend:T,mergeOptions:Lt,defineReactive:jt},t.set=Tt,t.delete=Bt,t.nextTick=ie,t.observable=function(t){return Ot(t),t},t.options=Object.create(null),L.forEach((function(e){t.options[e+"s"]=Object.create(null)})),t.options._base=t,T(t.options.components,Ln),function(t){t.use=function(t){var e=this._installedPlugins||(this._installedPlugins=[]);if(e.indexOf(t)>-1)return this;var n=j(arguments,1);return n.unshift(this),"function"==typeof t.install?t.install.apply(t,n):"function"==typeof t&&t.apply(null,n),e.push(t),this}}(t),function(t){t.mixin=function(t){return this.options=Lt(this.options,t),this}}(t),Nn(t),function(t){L.forEach((function(e){t[e]=function(t,n){return n?("component"===e&&p(n)&&(n.name=n.name||t,n=this.options._base.extend(n)),"directive"===e&&"function"==typeof n&&(n={bind:n,update:n}),this.options[e+"s"][t]=n,n):this.options[e+"s"][t]}}))}(t)}(Bn),Object.defineProperty(Bn.prototype,"$isServer",{get:at}),Object.defineProperty(Bn.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(Bn,"FunctionalRenderContext",{value:Le}),Bn.version="2.6.14";var Rn=g("style,class"),Mn=g("input,textarea,option,select,progress"),Un=g("contenteditable,draggable,spellcheck"),Gn=g("events,caret,typing,plaintext-only"),qn=g("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,truespeed,typemustmatch,visible"),Vn="http://www.w3.org/1999/xlink",Wn=function(t){return":"===t.charAt(5)&&"xlink"===t.slice(0,5)},Hn=function(t){return Wn(t)?t.slice(6,t.length):""},Yn=function(t){return null==t||!1===t};function Kn(t){for(var e=t.data,n=t,r=t;a(r.componentInstance);)(r=r.componentInstance._vnode)&&r.data&&(e=Xn(r.data,e));for(;a(n=n.parent);)n&&n.data&&(e=Xn(e,n.data));return function(t,e){if(a(t)||a(e))return Zn(t,Jn(e));return""}(e.staticClass,e.class)}function Xn(t,e){return{staticClass:Zn(t.staticClass,e.staticClass),class:a(t.class)?[t.class,e.class]:e.class}}function Zn(t,e){return t?e?t+" "+e:t:e||""}function Jn(t){return Array.isArray(t)?function(t){for(var e,n="",r=0,o=t.length;r<o;r++)a(e=Jn(t[r]))&&""!==e&&(n&&(n+=" "),n+=e);return n}(t):u(t)?function(t){var e="";for(var n in t)t[n]&&(e&&(e+=" "),e+=n);return e}(t):"string"==typeof t?t:""}var Qn={svg:"http://www.w3.org/2000/svg",math:"http://www.w3.org/1998/Math/MathML"},tr=g("html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,menuitem,summary,content,element,shadow,template,blockquote,iframe,tfoot"),er=g("svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,foreignobject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view",!0),nr=function(t){return tr(t)||er(t)};var rr=Object.create(null);var or=g("text,number,password,search,email,tel,url");var ir=Object.freeze({createElement:function(t,e){var n=document.createElement(t);return"select"!==t||e.data&&e.data.attrs&&void 0!==e.data.attrs.multiple&&n.setAttribute("multiple","multiple"),n},createElementNS:function(t,e){return document.createElementNS(Qn[t],e)},createTextNode:function(t){return document.createTextNode(t)},createComment:function(t){return document.createComment(t)},insertBefore:function(t,e,n){t.insertBefore(e,n)},removeChild:function(t,e){t.removeChild(e)},appendChild:function(t,e){t.appendChild(e)},parentNode:function(t){return t.parentNode},nextSibling:function(t){return t.nextSibling},tagName:function(t){return t.tagName},setTextContent:function(t,e){t.textContent=e},setStyleScope:function(t,e){t.setAttribute(e,"")}}),ar={create:function(t,e){sr(e)},update:function(t,e){t.data.ref!==e.data.ref&&(sr(t,!0),sr(e))},destroy:function(t){sr(t,!0)}};function sr(t,e){var n=t.data.ref;if(a(n)){var r=t.context,o=t.componentInstance||t.elm,i=r.$refs;e?Array.isArray(i[n])?A(i[n],o):i[n]===o&&(i[n]=void 0):t.data.refInFor?Array.isArray(i[n])?i[n].indexOf(o)<0&&i[n].push(o):i[n]=[o]:i[n]=o}}var lr=new gt("",{},[]),ur=["create","activate","update","remove","destroy"];function cr(t,e){return t.key===e.key&&t.asyncFactory===e.asyncFactory&&(t.tag===e.tag&&t.isComment===e.isComment&&a(t.data)===a(e.data)&&function(t,e){if("input"!==t.tag)return!0;var n,r=a(n=t.data)&&a(n=n.attrs)&&n.type,o=a(n=e.data)&&a(n=n.attrs)&&n.type;return r===o||or(r)&&or(o)}(t,e)||s(t.isAsyncPlaceholder)&&i(e.asyncFactory.error))}function pr(t,e,n){var r,o,i={};for(r=e;r<=n;++r)a(o=t[r].key)&&(i[o]=r);return i}var fr={create:dr,update:dr,destroy:function(t){dr(t,lr)}};function dr(t,e){(t.data.directives||e.data.directives)&&function(t,e){var n,r,o,i=t===lr,a=e===lr,s=mr(t.data.directives,t.context),l=mr(e.data.directives,e.context),u=[],c=[];for(n in l)r=s[n],o=l[n],r?(o.oldValue=r.value,o.oldArg=r.arg,gr(o,"update",e,t),o.def&&o.def.componentUpdated&&c.push(o)):(gr(o,"bind",e,t),o.def&&o.def.inserted&&u.push(o));if(u.length){var p=function(){for(var n=0;n<u.length;n++)gr(u[n],"inserted",e,t)};i?fe(e,"insert",p):p()}c.length&&fe(e,"postpatch",(function(){for(var n=0;n<c.length;n++)gr(c[n],"componentUpdated",e,t)}));if(!i)for(n in s)l[n]||gr(s[n],"unbind",t,t,a)}(t,e)}var hr=Object.create(null);function mr(t,e){var n,r,o=Object.create(null);if(!t)return o;for(n=0;n<t.length;n++)(r=t[n]).modifiers||(r.modifiers=hr),o[vr(r)]=r,r.def=Rt(e.$options,"directives",r.name);return o}function vr(t){return t.rawName||t.name+"."+Object.keys(t.modifiers||{}).join(".")}function gr(t,e,n,r,o){var i=t.def&&t.def[e];if(i)try{i(n.elm,t,n,r,o)}catch(r){Wt(r,n.context,"directive "+t.name+" "+e+" hook")}}var yr=[ar,fr];function Ar(t,e){var n=e.componentOptions;if(!(a(n)&&!1===n.Ctor.options.inheritAttrs||i(t.data.attrs)&&i(e.data.attrs))){var r,o,s=e.elm,l=t.data.attrs||{},u=e.data.attrs||{};for(r in a(u.__ob__)&&(u=e.data.attrs=T({},u)),u)o=u[r],l[r]!==o&&br(s,r,o,e.data.pre);for(r in(J||tt)&&u.value!==l.value&&br(s,"value",u.value),l)i(u[r])&&(Wn(r)?s.removeAttributeNS(Vn,Hn(r)):Un(r)||s.removeAttribute(r))}}function br(t,e,n,r){r||t.tagName.indexOf("-")>-1?Cr(t,e,n):qn(e)?Yn(n)?t.removeAttribute(e):(n="allowfullscreen"===e&&"EMBED"===t.tagName?"true":e,t.setAttribute(e,n)):Un(e)?t.setAttribute(e,function(t,e){return Yn(e)||"false"===e?"false":"contenteditable"===t&&Gn(e)?e:"true"}(e,n)):Wn(e)?Yn(n)?t.removeAttributeNS(Vn,Hn(e)):t.setAttributeNS(Vn,e,n):Cr(t,e,n)}function Cr(t,e,n){if(Yn(n))t.removeAttribute(e);else{if(J&&!Q&&"TEXTAREA"===t.tagName&&"placeholder"===e&&""!==n&&!t.__ieph){var r=function(e){e.stopImmediatePropagation(),t.removeEventListener("input",r)};t.addEventListener("input",r),t.__ieph=!0}t.setAttribute(e,n)}}var wr={create:Ar,update:Ar};function xr(t,e){var n=e.elm,r=e.data,o=t.data;if(!(i(r.staticClass)&&i(r.class)&&(i(o)||i(o.staticClass)&&i(o.class)))){var s=Kn(e),l=n._transitionClasses;a(l)&&(s=Zn(s,Jn(l))),s!==n._prevClass&&(n.setAttribute("class",s),n._prevClass=s)}}var _r,Sr={create:xr,update:xr};function kr(t,e,n){var r=_r;return function o(){var i=e.apply(null,arguments);null!==i&&jr(t,o,n,r)}}var Er=Zt&&!(nt&&Number(nt[1])<=53);function Or(t,e,n,r){if(Er){var o=mn,i=e;e=i._wrapper=function(t){if(t.target===t.currentTarget||t.timeStamp>=o||t.timeStamp<=0||t.target.ownerDocument!==document)return i.apply(this,arguments)}}_r.addEventListener(t,e,ot?{capture:n,passive:r}:n)}function jr(t,e,n,r){(r||_r).removeEventListener(t,e._wrapper||e,n)}function Tr(t,e){if(!i(t.data.on)||!i(e.data.on)){var n=e.data.on||{},r=t.data.on||{};_r=e.elm,function(t){if(a(t.__r)){var e=J?"change":"input";t[e]=[].concat(t.__r,t[e]||[]),delete t.__r}a(t.__c)&&(t.change=[].concat(t.__c,t.change||[]),delete t.__c)}(n),pe(n,r,Or,jr,kr,e.context),_r=void 0}}var Br,Nr={create:Tr,update:Tr};function Pr(t,e){if(!i(t.data.domProps)||!i(e.data.domProps)){var n,r,o=e.elm,s=t.data.domProps||{},l=e.data.domProps||{};for(n in a(l.__ob__)&&(l=e.data.domProps=T({},l)),s)n in l||(o[n]="");for(n in l){if(r=l[n],"textContent"===n||"innerHTML"===n){if(e.children&&(e.children.length=0),r===s[n])continue;1===o.childNodes.length&&o.removeChild(o.childNodes[0])}if("value"===n&&"PROGRESS"!==o.tagName){o._value=r;var u=i(r)?"":String(r);$r(o,u)&&(o.value=u)}else if("innerHTML"===n&&er(o.tagName)&&i(o.innerHTML)){(Br=Br||document.createElement("div")).innerHTML="<svg>"+r+"</svg>";for(var c=Br.firstChild;o.firstChild;)o.removeChild(o.firstChild);for(;c.firstChild;)o.appendChild(c.firstChild)}else if(r!==s[n])try{o[n]=r}catch(t){}}}}function $r(t,e){return!t.composing&&("OPTION"===t.tagName||function(t,e){var n=!0;try{n=document.activeElement!==t}catch(t){}return n&&t.value!==e}(t,e)||function(t,e){var n=t.value,r=t._vModifiers;if(a(r)){if(r.number)return v(n)!==v(e);if(r.trim)return n.trim()!==e.trim()}return n!==e}(t,e))}var Ir={create:Pr,update:Pr},zr=w((function(t){var e={},n=/:(.+)/;return t.split(/;(?![^(]*\))/g).forEach((function(t){if(t){var r=t.split(n);r.length>1&&(e[r[0].trim()]=r[1].trim())}})),e}));function Fr(t){var e=Dr(t.style);return t.staticStyle?T(t.staticStyle,e):e}function Dr(t){return Array.isArray(t)?B(t):"string"==typeof t?zr(t):t}var Lr,Rr=/^--/,Mr=/\s*!important$/,Ur=function(t,e,n){if(Rr.test(e))t.style.setProperty(e,n);else if(Mr.test(n))t.style.setProperty(E(e),n.replace(Mr,""),"important");else{var r=qr(e);if(Array.isArray(n))for(var o=0,i=n.length;o<i;o++)t.style[r]=n[o];else t.style[r]=n}},Gr=["Webkit","Moz","ms"],qr=w((function(t){if(Lr=Lr||document.createElement("div").style,"filter"!==(t=_(t))&&t in Lr)return t;for(var e=t.charAt(0).toUpperCase()+t.slice(1),n=0;n<Gr.length;n++){var r=Gr[n]+e;if(r in Lr)return r}}));function Vr(t,e){var n=e.data,r=t.data;if(!(i(n.staticStyle)&&i(n.style)&&i(r.staticStyle)&&i(r.style))){var o,s,l=e.elm,u=r.staticStyle,c=r.normalizedStyle||r.style||{},p=u||c,f=Dr(e.data.style)||{};e.data.normalizedStyle=a(f.__ob__)?T({},f):f;var d=function(t,e){var n,r={};if(e)for(var o=t;o.componentInstance;)(o=o.componentInstance._vnode)&&o.data&&(n=Fr(o.data))&&T(r,n);(n=Fr(t.data))&&T(r,n);for(var i=t;i=i.parent;)i.data&&(n=Fr(i.data))&&T(r,n);return r}(e,!0);for(s in p)i(d[s])&&Ur(l,s,"");for(s in d)(o=d[s])!==p[s]&&Ur(l,s,null==o?"":o)}}var Wr={create:Vr,update:Vr},Hr=/\s+/;function Yr(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.split(Hr).forEach((function(e){return t.classList.add(e)})):t.classList.add(e);else{var n=" "+(t.getAttribute("class")||"")+" ";n.indexOf(" "+e+" ")<0&&t.setAttribute("class",(n+e).trim())}}function Kr(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.split(Hr).forEach((function(e){return t.classList.remove(e)})):t.classList.remove(e),t.classList.length||t.removeAttribute("class");else{for(var n=" "+(t.getAttribute("class")||"")+" ",r=" "+e+" ";n.indexOf(r)>=0;)n=n.replace(r," ");(n=n.trim())?t.setAttribute("class",n):t.removeAttribute("class")}}function Xr(t){if(t){if("object"==typeof t){var e={};return!1!==t.css&&T(e,Zr(t.name||"v")),T(e,t),e}return"string"==typeof t?Zr(t):void 0}}var Zr=w((function(t){return{enterClass:t+"-enter",enterToClass:t+"-enter-to",enterActiveClass:t+"-enter-active",leaveClass:t+"-leave",leaveToClass:t+"-leave-to",leaveActiveClass:t+"-leave-active"}})),Jr=Y&&!Q,Qr="transition",to="animation",eo="transition",no="transitionend",ro="animation",oo="animationend";Jr&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(eo="WebkitTransition",no="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(ro="WebkitAnimation",oo="webkitAnimationEnd"));var io=Y?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(t){return t()};function ao(t){io((function(){io(t)}))}function so(t,e){var n=t._transitionClasses||(t._transitionClasses=[]);n.indexOf(e)<0&&(n.push(e),Yr(t,e))}function lo(t,e){t._transitionClasses&&A(t._transitionClasses,e),Kr(t,e)}function uo(t,e,n){var r=po(t,e),o=r.type,i=r.timeout,a=r.propCount;if(!o)return n();var s=o===Qr?no:oo,l=0,u=function(){t.removeEventListener(s,c),n()},c=function(e){e.target===t&&++l>=a&&u()};setTimeout((function(){l<a&&u()}),i+1),t.addEventListener(s,c)}var co=/\b(transform|all)(,|$)/;function po(t,e){var n,r=window.getComputedStyle(t),o=(r[eo+"Delay"]||"").split(", "),i=(r[eo+"Duration"]||"").split(", "),a=fo(o,i),s=(r[ro+"Delay"]||"").split(", "),l=(r[ro+"Duration"]||"").split(", "),u=fo(s,l),c=0,p=0;return e===Qr?a>0&&(n=Qr,c=a,p=i.length):e===to?u>0&&(n=to,c=u,p=l.length):p=(n=(c=Math.max(a,u))>0?a>u?Qr:to:null)?n===Qr?i.length:l.length:0,{type:n,timeout:c,propCount:p,hasTransform:n===Qr&&co.test(r[eo+"Property"])}}function fo(t,e){for(;t.length<e.length;)t=t.concat(t);return Math.max.apply(null,e.map((function(e,n){return ho(e)+ho(t[n])})))}function ho(t){return 1e3*Number(t.slice(0,-1).replace(",","."))}function mo(t,e){var n=t.elm;a(n._leaveCb)&&(n._leaveCb.cancelled=!0,n._leaveCb());var r=Xr(t.data.transition);if(!i(r)&&!a(n._enterCb)&&1===n.nodeType){for(var o=r.css,s=r.type,l=r.enterClass,c=r.enterToClass,p=r.enterActiveClass,f=r.appearClass,d=r.appearToClass,h=r.appearActiveClass,m=r.beforeEnter,g=r.enter,y=r.afterEnter,A=r.enterCancelled,b=r.beforeAppear,C=r.appear,w=r.afterAppear,x=r.appearCancelled,_=r.duration,S=nn,k=nn.$vnode;k&&k.parent;)S=k.context,k=k.parent;var E=!S._isMounted||!t.isRootInsert;if(!E||C||""===C){var O=E&&f?f:l,j=E&&h?h:p,T=E&&d?d:c,B=E&&b||m,N=E&&"function"==typeof C?C:g,P=E&&w||y,$=E&&x||A,I=v(u(_)?_.enter:_);0;var z=!1!==o&&!Q,D=yo(N),L=n._enterCb=F((function(){z&&(lo(n,T),lo(n,j)),L.cancelled?(z&&lo(n,O),$&&$(n)):P&&P(n),n._enterCb=null}));t.data.show||fe(t,"insert",(function(){var e=n.parentNode,r=e&&e._pending&&e._pending[t.key];r&&r.tag===t.tag&&r.elm._leaveCb&&r.elm._leaveCb(),N&&N(n,L)})),B&&B(n),z&&(so(n,O),so(n,j),ao((function(){lo(n,O),L.cancelled||(so(n,T),D||(go(I)?setTimeout(L,I):uo(n,s,L)))}))),t.data.show&&(e&&e(),N&&N(n,L)),z||D||L()}}}function vo(t,e){var n=t.elm;a(n._enterCb)&&(n._enterCb.cancelled=!0,n._enterCb());var r=Xr(t.data.transition);if(i(r)||1!==n.nodeType)return e();if(!a(n._leaveCb)){var o=r.css,s=r.type,l=r.leaveClass,c=r.leaveToClass,p=r.leaveActiveClass,f=r.beforeLeave,d=r.leave,h=r.afterLeave,m=r.leaveCancelled,g=r.delayLeave,y=r.duration,A=!1!==o&&!Q,b=yo(d),C=v(u(y)?y.leave:y);0;var w=n._leaveCb=F((function(){n.parentNode&&n.parentNode._pending&&(n.parentNode._pending[t.key]=null),A&&(lo(n,c),lo(n,p)),w.cancelled?(A&&lo(n,l),m&&m(n)):(e(),h&&h(n)),n._leaveCb=null}));g?g(x):x()}function x(){w.cancelled||(!t.data.show&&n.parentNode&&((n.parentNode._pending||(n.parentNode._pending={}))[t.key]=t),f&&f(n),A&&(so(n,l),so(n,p),ao((function(){lo(n,l),w.cancelled||(so(n,c),b||(go(C)?setTimeout(w,C):uo(n,s,w)))}))),d&&d(n,w),A||b||w())}}function go(t){return"number"==typeof t&&!isNaN(t)}function yo(t){if(i(t))return!1;var e=t.fns;return a(e)?yo(Array.isArray(e)?e[0]:e):(t._length||t.length)>1}function Ao(t,e){!0!==e.data.show&&mo(e)}var bo=function(t){var e,n,r={},o=t.modules,u=t.nodeOps;for(e=0;e<ur.length;++e)for(r[ur[e]]=[],n=0;n<o.length;++n)a(o[n][ur[e]])&&r[ur[e]].push(o[n][ur[e]]);function c(t){var e=u.parentNode(t);a(e)&&u.removeChild(e,t)}function p(t,e,n,o,i,l,c){if(a(t.elm)&&a(l)&&(t=l[c]=Ct(t)),t.isRootInsert=!i,!function(t,e,n,o){var i=t.data;if(a(i)){var l=a(t.componentInstance)&&i.keepAlive;if(a(i=i.hook)&&a(i=i.init)&&i(t,!1),a(t.componentInstance))return f(t,e),d(n,t.elm,o),s(l)&&function(t,e,n,o){var i,s=t;for(;s.componentInstance;)if(a(i=(s=s.componentInstance._vnode).data)&&a(i=i.transition)){for(i=0;i<r.activate.length;++i)r.activate[i](lr,s);e.push(s);break}d(n,t.elm,o)}(t,e,n,o),!0}}(t,e,n,o)){var p=t.data,m=t.children,g=t.tag;a(g)?(t.elm=t.ns?u.createElementNS(t.ns,g):u.createElement(g,t),y(t),h(t,m,e),a(p)&&v(t,e),d(n,t.elm,o)):s(t.isComment)?(t.elm=u.createComment(t.text),d(n,t.elm,o)):(t.elm=u.createTextNode(t.text),d(n,t.elm,o))}}function f(t,e){a(t.data.pendingInsert)&&(e.push.apply(e,t.data.pendingInsert),t.data.pendingInsert=null),t.elm=t.componentInstance.$el,m(t)?(v(t,e),y(t)):(sr(t),e.push(t))}function d(t,e,n){a(t)&&(a(n)?u.parentNode(n)===t&&u.insertBefore(t,e,n):u.appendChild(t,e))}function h(t,e,n){if(Array.isArray(e)){0;for(var r=0;r<e.length;++r)p(e[r],n,t.elm,null,!0,e,r)}else l(t.text)&&u.appendChild(t.elm,u.createTextNode(String(t.text)))}function m(t){for(;t.componentInstance;)t=t.componentInstance._vnode;return a(t.tag)}function v(t,n){for(var o=0;o<r.create.length;++o)r.create[o](lr,t);a(e=t.data.hook)&&(a(e.create)&&e.create(lr,t),a(e.insert)&&n.push(t))}function y(t){var e;if(a(e=t.fnScopeId))u.setStyleScope(t.elm,e);else for(var n=t;n;)a(e=n.context)&&a(e=e.$options._scopeId)&&u.setStyleScope(t.elm,e),n=n.parent;a(e=nn)&&e!==t.context&&e!==t.fnContext&&a(e=e.$options._scopeId)&&u.setStyleScope(t.elm,e)}function A(t,e,n,r,o,i){for(;r<=o;++r)p(n[r],i,t,e,!1,n,r)}function b(t){var e,n,o=t.data;if(a(o))for(a(e=o.hook)&&a(e=e.destroy)&&e(t),e=0;e<r.destroy.length;++e)r.destroy[e](t);if(a(e=t.children))for(n=0;n<t.children.length;++n)b(t.children[n])}function C(t,e,n){for(;e<=n;++e){var r=t[e];a(r)&&(a(r.tag)?(w(r),b(r)):c(r.elm))}}function w(t,e){if(a(e)||a(t.data)){var n,o=r.remove.length+1;for(a(e)?e.listeners+=o:e=function(t,e){function n(){0==--n.listeners&&c(t)}return n.listeners=e,n}(t.elm,o),a(n=t.componentInstance)&&a(n=n._vnode)&&a(n.data)&&w(n,e),n=0;n<r.remove.length;++n)r.remove[n](t,e);a(n=t.data.hook)&&a(n=n.remove)?n(t,e):e()}else c(t.elm)}function x(t,e,n,r){for(var o=n;o<r;o++){var i=e[o];if(a(i)&&cr(t,i))return o}}function _(t,e,n,o,l,c){if(t!==e){a(e.elm)&&a(o)&&(e=o[l]=Ct(e));var f=e.elm=t.elm;if(s(t.isAsyncPlaceholder))a(e.asyncFactory.resolved)?E(t.elm,e,n):e.isAsyncPlaceholder=!0;else if(s(e.isStatic)&&s(t.isStatic)&&e.key===t.key&&(s(e.isCloned)||s(e.isOnce)))e.componentInstance=t.componentInstance;else{var d,h=e.data;a(h)&&a(d=h.hook)&&a(d=d.prepatch)&&d(t,e);var v=t.children,g=e.children;if(a(h)&&m(e)){for(d=0;d<r.update.length;++d)r.update[d](t,e);a(d=h.hook)&&a(d=d.update)&&d(t,e)}i(e.text)?a(v)&&a(g)?v!==g&&function(t,e,n,r,o){var s,l,c,f=0,d=0,h=e.length-1,m=e[0],v=e[h],g=n.length-1,y=n[0],b=n[g],w=!o;for(;f<=h&&d<=g;)i(m)?m=e[++f]:i(v)?v=e[--h]:cr(m,y)?(_(m,y,r,n,d),m=e[++f],y=n[++d]):cr(v,b)?(_(v,b,r,n,g),v=e[--h],b=n[--g]):cr(m,b)?(_(m,b,r,n,g),w&&u.insertBefore(t,m.elm,u.nextSibling(v.elm)),m=e[++f],b=n[--g]):cr(v,y)?(_(v,y,r,n,d),w&&u.insertBefore(t,v.elm,m.elm),v=e[--h],y=n[++d]):(i(s)&&(s=pr(e,f,h)),i(l=a(y.key)?s[y.key]:x(y,e,f,h))?p(y,r,t,m.elm,!1,n,d):cr(c=e[l],y)?(_(c,y,r,n,d),e[l]=void 0,w&&u.insertBefore(t,c.elm,m.elm)):p(y,r,t,m.elm,!1,n,d),y=n[++d]);f>h?A(t,i(n[g+1])?null:n[g+1].elm,n,d,g,r):d>g&&C(e,f,h)}(f,v,g,n,c):a(g)?(a(t.text)&&u.setTextContent(f,""),A(f,null,g,0,g.length-1,n)):a(v)?C(v,0,v.length-1):a(t.text)&&u.setTextContent(f,""):t.text!==e.text&&u.setTextContent(f,e.text),a(h)&&a(d=h.hook)&&a(d=d.postpatch)&&d(t,e)}}}function S(t,e,n){if(s(n)&&a(t.parent))t.parent.data.pendingInsert=e;else for(var r=0;r<e.length;++r)e[r].data.hook.insert(e[r])}var k=g("attrs,class,staticClass,staticStyle,key");function E(t,e,n,r){var o,i=e.tag,l=e.data,u=e.children;if(r=r||l&&l.pre,e.elm=t,s(e.isComment)&&a(e.asyncFactory))return e.isAsyncPlaceholder=!0,!0;if(a(l)&&(a(o=l.hook)&&a(o=o.init)&&o(e,!0),a(o=e.componentInstance)))return f(e,n),!0;if(a(i)){if(a(u))if(t.hasChildNodes())if(a(o=l)&&a(o=o.domProps)&&a(o=o.innerHTML)){if(o!==t.innerHTML)return!1}else{for(var c=!0,p=t.firstChild,d=0;d<u.length;d++){if(!p||!E(p,u[d],n,r)){c=!1;break}p=p.nextSibling}if(!c||p)return!1}else h(e,u,n);if(a(l)){var m=!1;for(var g in l)if(!k(g)){m=!0,v(e,n);break}!m&&l.class&&se(l.class)}}else t.data!==e.text&&(t.data=e.text);return!0}return function(t,e,n,o){if(!i(e)){var l,c=!1,f=[];if(i(t))c=!0,p(e,f);else{var d=a(t.nodeType);if(!d&&cr(t,e))_(t,e,f,null,null,o);else{if(d){if(1===t.nodeType&&t.hasAttribute(D)&&(t.removeAttribute(D),n=!0),s(n)&&E(t,e,f))return S(e,f,!0),t;l=t,t=new gt(u.tagName(l).toLowerCase(),{},[],void 0,l)}var h=t.elm,v=u.parentNode(h);if(p(e,f,h._leaveCb?null:v,u.nextSibling(h)),a(e.parent))for(var g=e.parent,y=m(e);g;){for(var A=0;A<r.destroy.length;++A)r.destroy[A](g);if(g.elm=e.elm,y){for(var w=0;w<r.create.length;++w)r.create[w](lr,g);var x=g.data.hook.insert;if(x.merged)for(var k=1;k<x.fns.length;k++)x.fns[k]()}else sr(g);g=g.parent}a(v)?C([t],0,0):a(t.tag)&&b(t)}}return S(e,f,c),e.elm}a(t)&&b(t)}}({nodeOps:ir,modules:[wr,Sr,Nr,Ir,Wr,Y?{create:Ao,activate:Ao,remove:function(t,e){!0!==t.data.show?vo(t,e):e()}}:{}].concat(yr)});Q&&document.addEventListener("selectionchange",(function(){var t=document.activeElement;t&&t.vmodel&&Oo(t,"input")}));var Co={inserted:function(t,e,n,r){"select"===n.tag?(r.elm&&!r.elm._vOptions?fe(n,"postpatch",(function(){Co.componentUpdated(t,e,n)})):wo(t,e,n.context),t._vOptions=[].map.call(t.options,So)):("textarea"===n.tag||or(t.type))&&(t._vModifiers=e.modifiers,e.modifiers.lazy||(t.addEventListener("compositionstart",ko),t.addEventListener("compositionend",Eo),t.addEventListener("change",Eo),Q&&(t.vmodel=!0)))},componentUpdated:function(t,e,n){if("select"===n.tag){wo(t,e,n.context);var r=t._vOptions,o=t._vOptions=[].map.call(t.options,So);if(o.some((function(t,e){return!I(t,r[e])})))(t.multiple?e.value.some((function(t){return _o(t,o)})):e.value!==e.oldValue&&_o(e.value,o))&&Oo(t,"change")}}};function wo(t,e,n){xo(t,e,n),(J||tt)&&setTimeout((function(){xo(t,e,n)}),0)}function xo(t,e,n){var r=e.value,o=t.multiple;if(!o||Array.isArray(r)){for(var i,a,s=0,l=t.options.length;s<l;s++)if(a=t.options[s],o)i=z(r,So(a))>-1,a.selected!==i&&(a.selected=i);else if(I(So(a),r))return void(t.selectedIndex!==s&&(t.selectedIndex=s));o||(t.selectedIndex=-1)}}function _o(t,e){return e.every((function(e){return!I(e,t)}))}function So(t){return"_value"in t?t._value:t.value}function ko(t){t.target.composing=!0}function Eo(t){t.target.composing&&(t.target.composing=!1,Oo(t.target,"input"))}function Oo(t,e){var n=document.createEvent("HTMLEvents");n.initEvent(e,!0,!0),t.dispatchEvent(n)}function jo(t){return!t.componentInstance||t.data&&t.data.transition?t:jo(t.componentInstance._vnode)}var To={bind:function(t,e,n){var r=e.value,o=(n=jo(n)).data&&n.data.transition,i=t.__vOriginalDisplay="none"===t.style.display?"":t.style.display;r&&o?(n.data.show=!0,mo(n,(function(){t.style.display=i}))):t.style.display=r?i:"none"},update:function(t,e,n){var r=e.value;!r!=!e.oldValue&&((n=jo(n)).data&&n.data.transition?(n.data.show=!0,r?mo(n,(function(){t.style.display=t.__vOriginalDisplay})):vo(n,(function(){t.style.display="none"}))):t.style.display=r?t.__vOriginalDisplay:"none")},unbind:function(t,e,n,r,o){o||(t.style.display=t.__vOriginalDisplay)}},Bo={model:Co,show:To},No={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function Po(t){var e=t&&t.componentOptions;return e&&e.Ctor.options.abstract?Po(Ze(e.children)):t}function $o(t){var e={},n=t.$options;for(var r in n.propsData)e[r]=t[r];var o=n._parentListeners;for(var i in o)e[_(i)]=o[i];return e}function Io(t,e){if(/\d-keep-alive$/.test(e.tag))return t("keep-alive",{props:e.componentOptions.propsData})}var zo=function(t){return t.tag||be(t)},Fo=function(t){return"show"===t.name},Do={name:"transition",props:No,abstract:!0,render:function(t){var e=this,n=this.$slots.default;if(n&&(n=n.filter(zo)).length){0;var r=this.mode;0;var o=n[0];if(function(t){for(;t=t.parent;)if(t.data.transition)return!0}(this.$vnode))return o;var i=Po(o);if(!i)return o;if(this._leaving)return Io(t,o);var a="__transition-"+this._uid+"-";i.key=null==i.key?i.isComment?a+"comment":a+i.tag:l(i.key)?0===String(i.key).indexOf(a)?i.key:a+i.key:i.key;var s=(i.data||(i.data={})).transition=$o(this),u=this._vnode,c=Po(u);if(i.data.directives&&i.data.directives.some(Fo)&&(i.data.show=!0),c&&c.data&&!function(t,e){return e.key===t.key&&e.tag===t.tag}(i,c)&&!be(c)&&(!c.componentInstance||!c.componentInstance._vnode.isComment)){var p=c.data.transition=T({},s);if("out-in"===r)return this._leaving=!0,fe(p,"afterLeave",(function(){e._leaving=!1,e.$forceUpdate()})),Io(t,o);if("in-out"===r){if(be(i))return u;var f,d=function(){f()};fe(s,"afterEnter",d),fe(s,"enterCancelled",d),fe(p,"delayLeave",(function(t){f=t}))}}return o}}},Lo=T({tag:String,moveClass:String},No);function Ro(t){t.elm._moveCb&&t.elm._moveCb(),t.elm._enterCb&&t.elm._enterCb()}function Mo(t){t.data.newPos=t.elm.getBoundingClientRect()}function Uo(t){var e=t.data.pos,n=t.data.newPos,r=e.left-n.left,o=e.top-n.top;if(r||o){t.data.moved=!0;var i=t.elm.style;i.transform=i.WebkitTransform="translate("+r+"px,"+o+"px)",i.transitionDuration="0s"}}delete Lo.mode;var Go={Transition:Do,TransitionGroup:{props:Lo,beforeMount:function(){var t=this,e=this._update;this._update=function(n,r){var o=rn(t);t.__patch__(t._vnode,t.kept,!1,!0),t._vnode=t.kept,o(),e.call(t,n,r)}},render:function(t){for(var e=this.tag||this.$vnode.data.tag||"span",n=Object.create(null),r=this.prevChildren=this.children,o=this.$slots.default||[],i=this.children=[],a=$o(this),s=0;s<o.length;s++){var l=o[s];if(l.tag)if(null!=l.key&&0!==String(l.key).indexOf("__vlist"))i.push(l),n[l.key]=l,(l.data||(l.data={})).transition=a;else;}if(r){for(var u=[],c=[],p=0;p<r.length;p++){var f=r[p];f.data.transition=a,f.data.pos=f.elm.getBoundingClientRect(),n[f.key]?u.push(f):c.push(f)}this.kept=t(e,null,u),this.removed=c}return t(e,null,i)},updated:function(){var t=this.prevChildren,e=this.moveClass||(this.name||"v")+"-move";t.length&&this.hasMove(t[0].elm,e)&&(t.forEach(Ro),t.forEach(Mo),t.forEach(Uo),this._reflow=document.body.offsetHeight,t.forEach((function(t){if(t.data.moved){var n=t.elm,r=n.style;so(n,e),r.transform=r.WebkitTransform=r.transitionDuration="",n.addEventListener(no,n._moveCb=function t(r){r&&r.target!==n||r&&!/transform$/.test(r.propertyName)||(n.removeEventListener(no,t),n._moveCb=null,lo(n,e))})}})))},methods:{hasMove:function(t,e){if(!Jr)return!1;if(this._hasMove)return this._hasMove;var n=t.cloneNode();t._transitionClasses&&t._transitionClasses.forEach((function(t){Kr(n,t)})),Yr(n,e),n.style.display="none",this.$el.appendChild(n);var r=po(n);return this.$el.removeChild(n),this._hasMove=r.hasTransform}}}};Bn.config.mustUseProp=function(t,e,n){return"value"===n&&Mn(t)&&"button"!==e||"selected"===n&&"option"===t||"checked"===n&&"input"===t||"muted"===n&&"video"===t},Bn.config.isReservedTag=nr,Bn.config.isReservedAttr=Rn,Bn.config.getTagNamespace=function(t){return er(t)?"svg":"math"===t?"math":void 0},Bn.config.isUnknownElement=function(t){if(!Y)return!0;if(nr(t))return!1;if(t=t.toLowerCase(),null!=rr[t])return rr[t];var e=document.createElement(t);return t.indexOf("-")>-1?rr[t]=e.constructor===window.HTMLUnknownElement||e.constructor===window.HTMLElement:rr[t]=/HTMLUnknownElement/.test(e.toString())},T(Bn.options.directives,Bo),T(Bn.options.components,Go),Bn.prototype.__patch__=Y?bo:N,Bn.prototype.$mount=function(t,e){return function(t,e,n){var r;return t.$el=e,t.$options.render||(t.$options.render=At),ln(t,"beforeMount"),r=function(){t._update(t._render(),n)},new bn(t,r,N,{before:function(){t._isMounted&&!t._isDestroyed&&ln(t,"beforeUpdate")}},!0),n=!1,null==t.$vnode&&(t._isMounted=!0,ln(t,"mounted")),t}(this,t=t&&Y?function(t){if("string"==typeof t){return document.querySelector(t)||document.createElement("div")}return t}(t):void 0,e)},Y&&setTimeout((function(){M.devtools&&st&&st.emit("init",Bn)}),0);const qo=Bn},6430:(t,e,n)=>{"use strict";var r=n(9804),o=n(6314),i=n(1924),a=i("Object.prototype.toString"),s=n(6410)(),l="undefined"==typeof globalThis?n.g:globalThis,u=o(),c=i("String.prototype.slice"),p={},f=n(4079),d=Object.getPrototypeOf;s&&f&&d&&r(u,(function(t){if("function"==typeof l[t]){var e=new l[t];if(Symbol.toStringTag in e){var n=d(e),r=f(n,Symbol.toStringTag);if(!r){var o=d(n);r=f(o,Symbol.toStringTag)}p[t]=r.get}}}));var h=n(5692);t.exports=function(t){return!!h(t)&&(s&&Symbol.toStringTag in t?function(t){var e=!1;return r(p,(function(n,r){if(!e)try{var o=n.call(t);o===r&&(e=o)}catch(t){}})),e}(t):c(a(t),8,-1))}}},n={};function r(t){var o=n[t];if(void 0!==o)return o.exports;var i=n[t]={id:t,loaded:!1,exports:{}};return e[t](i,i.exports,r),i.loaded=!0,i.exports}r.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return r.d(e,{a:e}),e},r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.nmd=t=>(t.paths=[],t.children||(t.children=[]),t),r.p="/apps/firstrunwizard/js/",(()=>{"use strict";var e=r(144),n=r(9753),o=r(9944),i=r(7450),a=r.n(i),s=r(4820);const l={name:"IntroVideo",data:()=>({videoMp4:(0,n.FW)("firstrunwizard","img","Nextcloud.mp4"),videoWebm:(0,n.FW)("firstrunwizard","img","Nextcloud.webm")}),computed:{videoFallbackText:()=>t("firstrunwizard","Welcome to {cloudName}!",{cloudName:window.OC.theme.name})}};var u=r(3379),c=r.n(u),p=r(7795),f=r.n(p),d=r(569),h=r.n(d),m=r(3565),v=r.n(m),g=r(9216),y=r.n(g),A=r(4589),b=r.n(A),C=r(3392),w={};w.styleTagTransform=b(),w.setAttributes=v(),w.insert=h().bind(null,"head"),w.domAPI=f(),w.insertStyleElement=y();c()(C.Z,w);C.Z&&C.Z.locals&&C.Z.locals;var x=r(1900);const _=(0,x.Z)(l,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"video-wrapper"},[n("video",{ref:"video",attrs:{playsinline:"",autoplay:"",muted:""},domProps:{muted:!0}},[n("source",{attrs:{src:t.videoWebm,type:"video/webm"}}),t._v(" "),n("source",{attrs:{src:t.videoMp4,type:"video/mp4"}}),t._v("\n\t\t"+t._s(t.videoFallbackText)+"\n\t")])])}),[],!1,null,"70de3a6e",null).exports;var S=r(5108);const k={name:"App",components:{Modal:a()},data:()=>({showModal:!1,withIntro:!0,slides:[],currentSlide:0,fadeDirection:"next",slidesLoaded:!1}),computed:{slideList(){if(this.withIntro)return this.slides;return this.slides.slice(1)},hasNext(){return this.currentSlide<this.slideList.length-1},hasPrevious(){return this.currentSlide>0},isLast(){return this.currentSlide===this.slideList.length-1},isFirst(){return 0===this.currentSlide},startButtonText:()=>t("firstrunwizard","Start using {cloudName}",{cloudName:window.OC.theme.name})},async created(){this.slides=[_],window.addEventListener("resize",this.onResize)},beforeDestroy(){window.removeEventListener("resize",this.onResize)},methods:{async loadStaticSlides(){if(!this.slidesLoaded)try{const t=await s.Z.get((0,n.nu)("/apps/firstrunwizard/wizard"));this.slides.push(...t.data.slides),this.withIntro=t.data.hasVideo,this.slidesLoaded=!0}catch(t){S.error("Failed to load slides")}},async open(t=!0){await this.loadStaticSlides(),this.withIntro=this.withIntro&t,this.showModal=!0,this.currentSlide=0},close(){this.showModal=!1,s.Z.delete((0,n.nu)("/apps/firstrunwizard/wizard"))},next(){this.fadeDirection="next",this.isLast?this.close():this.currentSlide+=1},previous(){this.fadeDirection="previous",this.isFirst||(this.currentSlide-=1)}}};var E=r(6060),O={};O.styleTagTransform=b(),O.setAttributes=v(),O.insert=h().bind(null,"head"),O.domAPI=f(),O.insertStyleElement=y();c()(E.Z,O);E.Z&&E.Z.locals&&E.Z.locals;var j=r(4165),T={};T.styleTagTransform=b(),T.setAttributes=v(),T.insert=h().bind(null,"head"),T.domAPI=f(),T.insertStyleElement=y();c()(j.Z,T);j.Z&&j.Z.locals&&j.Z.locals;const B=(0,x.Z)(k,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return t.showModal&&t.slideList.length>0?n("Modal",{attrs:{id:"firstrunwizard",size:"large","has-previous":t.hasPrevious,"has-next":t.hasNext,"clear-view-delay":-1,name:"modal"},on:{previous:t.previous,next:t.next,close:t.close}},[0===t.currentSlide&&t.withIntro?t._e():n("div",{staticClass:"modal-header"},[n("div",{staticClass:"firstrunwizard-header"},[n("div",{staticClass:"logo"},[n("p",{staticClass:"hidden-visually"},[t._v("\n\t\t\t\t\t"+t._s(t.oc_defaults.name)+"\n\t\t\t\t")])]),t._v(" "),n("h2",{domProps:{innerHTML:t._s(t.oc_defaults.slogan)}}),t._v(" "),n("p")])]),t._v(" "),n("div",{staticClass:"modal-body"},[t.slideList.length>0?t._t("body",(function(){return[n("transition",{attrs:{name:t.fadeDirection,mode:"out-in"}},["inline"===t.slideList[t.currentSlide].type?n("div",{key:t.currentSlide,domProps:{innerHTML:t._s(t.slideList[t.currentSlide].content)}}):n(t.slideList[t.currentSlide],{tag:"div",on:{finished:function(e){t.currentSlide++}}})],1)]})):t._e()],2),t._v(" "),n("div",{staticClass:"modal-footer"},[t.isLast?n("button",{staticClass:"primary modal-default-button",on:{click:t.close}},[t._v("\n\t\t\t"+t._s(t.startButtonText)+"\n\t\t")]):t._e()])]):t._e()}),[],!1,null,"e75b1dfa",null).exports;r.p=(0,n.FW)("firstrunwizard","","js/"),e.default.prototype.t=o.translate,e.default.prototype.n=o.translatePlural,e.default.prototype.oc_defaults=window.oc_defaults;const N=document.createElement("div");N.id="firstrunwizard",document.querySelector("body").appendChild(N);const P=(new(e.default.extend(B))).$mount(N);window.OCA.FirstRunWizard={open:P.open}})()})();
-//# sourceMappingURL=firstrunwizard-main.js.map?v=8b8f74c4c728762acacd \ No newline at end of file
+(()=>{var e={2200:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"getRequestToken",{enumerable:!0,get:function(){return r.getRequestToken}}),Object.defineProperty(e,"onRequestTokenUpdate",{enumerable:!0,get:function(){return r.onRequestTokenUpdate}}),Object.defineProperty(e,"getCurrentUser",{enumerable:!0,get:function(){return o.getCurrentUser}});var r=n(1894),o=n(1618)},1894:(t,e,n)=>{"use strict";var r=n(5108);n(9554),Object.defineProperty(e,"__esModule",{value:!0}),e.getRequestToken=function(){return a},e.onRequestTokenUpdate=function(t){s.push(t)};var o=n(7594),i=document.getElementsByTagName("head")[0],a=i?i.getAttribute("data-requesttoken"):null,s=[];(0,o.subscribe)("csrf-token-update",(function(t){a=t.token,s.forEach((function(e){try{e(t.token)}catch(t){r.error("error updating CSRF token observer",t)}}))}))},1618:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getCurrentUser=function(){if(null===r)return null;return{uid:r,displayName:i,isAdmin:a}};var n=document.getElementsByTagName("head")[0],r=n?n.getAttribute("data-user"):null,o=document.getElementsByTagName("head")[0],i=o?o.getAttribute("data-user-displayname"):null,a="undefined"!=typeof OC&&OC.isUserAdmin()},4820:(t,e,n)=>{"use strict";e.Z=void 0;var r,o,i=(r=n(9669))&&r.__esModule?r:{default:r},a=n(2200);const s=i.default.create({headers:{requesttoken:null!==(o=(0,a.getRequestToken)())&&void 0!==o?o:""}}),l=Object.assign(s,{CancelToken:i.default.CancelToken,isCancel:i.default.isCancel});(0,a.onRequestTokenUpdate)((t=>s.defaults.headers.requesttoken=t));var u=l;e.Z=u},4201:(t,e,n)=>{"use strict";var r=n(5108);Object.defineProperty(e,"__esModule",{value:!0}),e.ProxyBus=void 0;var o=a(n(6397)),i=a(n(8679));function a(t){return t&&t.__esModule?t:{default:t}}function s(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}var l="1.2.0",u=function(){function t(e){var n,a,s;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),s=void 0,(a="bus")in(n=this)?Object.defineProperty(n,a,{value:s,enumerable:!0,configurable:!0,writable:!0}):n[a]=s,"function"==typeof e.getVersion&&(0,o.default)(e.getVersion())?(0,i.default)(e.getVersion())!==(0,i.default)(this.getVersion())&&r.warn("Proxying an event bus of version "+e.getVersion()+" with "+this.getVersion()):r.warn("Proxying an event bus with an unknown or invalid version"),this.bus=e}var e,n,a;return e=t,(n=[{key:"getVersion",value:function(){return l}},{key:"subscribe",value:function(t,e){this.bus.subscribe(t,e)}},{key:"unsubscribe",value:function(t,e){this.bus.unsubscribe(t,e)}},{key:"emit",value:function(t,e){this.bus.emit(t,e)}}])&&s(e.prototype,n),a&&s(e,a),t}();e.ProxyBus=u},6936:(t,e,n)=>{"use strict";var r=n(5108);function o(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}n(2222),n(7327),n(9554),n(6992),n(1532),n(1539),n(8783),n(4747),n(3948),Object.defineProperty(e,"__esModule",{value:!0}),e.SimpleBus=void 0;var i="1.2.0",a=function(){function t(){var e,n,r;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),e=this,n="handlers",r=new Map,n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r}var e,n,a;return e=t,(n=[{key:"getVersion",value:function(){return i}},{key:"subscribe",value:function(t,e){this.handlers.set(t,(this.handlers.get(t)||[]).concat(e))}},{key:"unsubscribe",value:function(t,e){this.handlers.set(t,(this.handlers.get(t)||[]).filter((function(t){return t!=e})))}},{key:"emit",value:function(t,e){(this.handlers.get(t)||[]).forEach((function(t){try{t(e)}catch(t){r.error("could not invoke event listener",t)}}))}}])&&o(e.prototype,n),a&&o(e,a),t}();e.SimpleBus=a},7594:(t,e,n)=>{"use strict";var r=n(5108);Object.defineProperty(e,"__esModule",{value:!0}),e.subscribe=function(t,e){a.subscribe(t,e)},e.unsubscribe=function(t,e){a.unsubscribe(t,e)},e.emit=function(t,e){a.emit(t,e)};var o=n(4201),i=n(6936);var a=(void 0!==window.OC&&window.OC._eventBus&&void 0===window._nc_event_bus&&(r.warn("found old event bus instance at OC._eventBus. Update your version!"),window._nc_event_bus=window.OC._eventBus),void 0!==window._nc_event_bus?new o.ProxyBus(window._nc_event_bus):window._nc_event_bus=new i.SimpleBus)},3955:(t,e,n)=>{"use strict";n(1539),n(4916),n(9714),n(5306),Object.defineProperty(e,"__esModule",{value:!0}),e.getGettextBuilder=function(){return new u};var r,o=(r=n(7699))&&r.__esModule?r:{default:r},i=n(9944);function a(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function l(t,e,n){return e&&s(t.prototype,e),n&&s(t,n),t}var u=function(){function t(){a(this,t),this.translations={},this.debug=!1}return l(t,[{key:"setLanguage",value:function(t){return this.locale=t,this}},{key:"detectLocale",value:function(){return this.setLanguage((0,i.getLanguage)().replace("-","_"))}},{key:"addTranslation",value:function(t,e){return this.translations[t]=e,this}},{key:"enableDebugMode",value:function(){return this.debug=!0,this}},{key:"build",value:function(){return new c(this.locale||"en",this.translations,this.debug)}}]),t}(),c=function(){function t(e,n,r){for(var i in a(this,t),this.gt=new o.default({debug:r,sourceLocale:"en"}),n)this.gt.addTranslations(i,"messages",n[i]);this.gt.setLocale(e)}return l(t,[{key:"subtitudePlaceholders",value:function(t,e){return t.replace(/{([^{}]*)}/g,(function(t,n){var r=e[n];return"string"==typeof r||"number"==typeof r?r.toString():t}))}},{key:"gettext",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.subtitudePlaceholders(this.gt.gettext(t),e)}},{key:"ngettext",value:function(t,e,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return this.subtitudePlaceholders(this.gt.ngettext(t,e,n).replace(/%n/g,n.toString()),r)}}]),t}()},9944:(t,e,n)=>{"use strict";var r=n(5108);function o(){return"undefined"==typeof OC?(r.warn("No OC found"),"en"):OC.getLocale()}n(4916),n(5306),Object.defineProperty(e,"__esModule",{value:!0}),e.getLocale=o,e.getCanonicalLocale=function(){return o().replace(/_/g,"-")},e.getLanguage=function(){if("undefined"==typeof OC)return r.warn("No OC found"),"en";return OC.getLanguage()},e.translate=function(t,e,n,o,i){if("undefined"==typeof OC)return r.warn("No OC found"),e;return OC.L10N.translate(t,e,n,o,i)},e.translatePlural=function(t,e,n,o,i,a){if("undefined"==typeof OC)return r.warn("No OC found"),e;return OC.L10N.translatePlural(t,e,n,o,i,a)},e.getFirstDay=function(){if(void 0===window.firstDay)return r.warn("No firstDay found"),1;return window.firstDay},e.getDayNames=function(){if(void 0===window.dayNames)return r.warn("No dayNames found"),["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];return window.dayNames},e.getDayNamesShort=function(){if(void 0===window.dayNamesShort)return r.warn("No dayNamesShort found"),["Sun.","Mon.","Tue.","Wed.","Thu.","Fri.","Sat."];return window.dayNamesShort},e.getDayNamesMin=function(){if(void 0===window.dayNamesMin)return r.warn("No dayNamesMin found"),["Su","Mo","Tu","We","Th","Fr","Sa"];return window.dayNamesMin},e.getMonthNames=function(){if(void 0===window.monthNames)return r.warn("No monthNames found"),["January","February","March","April","May","June","July","August","September","October","November","December"];return window.monthNames},e.getMonthNamesShort=function(){if(void 0===window.monthNamesShort)return r.warn("No monthNamesShort found"),["Jan.","Feb.","Mar.","Apr.","May.","Jun.","Jul.","Aug.","Sep.","Oct.","Nov.","Dec."];return window.monthNamesShort}},9753:(t,e,n)=>{"use strict";n(2772),n(9601),n(1539),n(4916),n(9714),n(5306),e.FW=e.nu=void 0;e.nu=function(t,e,n){var r=Object.assign({escape:!0,noRewrite:!1},n||{}),i=function(t,e){return e=e||{},t.replace(/{([^{}]*)}/g,(function(t,n){var o=e[n];return r.escape?"string"==typeof o||"number"==typeof o?encodeURIComponent(o.toString()):encodeURIComponent(t):"string"==typeof o||"number"==typeof o?o.toString():t}))};return"/"!==t.charAt(0)&&(t="/"+t),!0!==OC.config.modRewriteWorking||r.noRewrite?o()+"/index.php"+i(t,e||{}):o()+i(t,e||{})};var r=function(t,e,n){var r=-1!==OC.coreApps.indexOf(t),i=o();return"php"!==n.substring(n.length-3)||r?"php"===n.substring(n.length-3)||r?(i+="settings"!==t&&"core"!==t&&"search"!==t||"ajax"!==e?"/":"/index.php/",r||(i+="apps/"),""!==t&&(i+=t+="/"),e&&(i+=e+"/"),i+=n):(i=OC.appswebroots[t],e&&(i+="/"+e+"/"),"/"!==i.substring(i.length-1)&&(i+="/"),i+=n):(i+="/index.php/apps/"+t,"index.php"!==n&&(i+="/",e&&(i+=encodeURI(e+"/")),i+=n)),i};e.FW=r;var o=function(){return OC.webroot}},7450:(t,e,n)=>{window,t.exports=function(t){var e={};function n(r){if(e[r])return e[r].exports;var o=e[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)n.d(r,o,function(e){return t[e]}.bind(null,o));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="/dist/",n(n.s=108)}([function(t,e,n){"use strict";function r(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=t&&("undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"]);if(null!=n){var r,o,i=[],a=!0,s=!1;try{for(n=n.call(t);!(a=(r=n.next()).done)&&(i.push(r.value),!e||i.length!==e);a=!0);}catch(t){s=!0,o=t}finally{try{a||null==n.return||n.return()}finally{if(s)throw o}}return i}}(t,e)||function(t,e){if(t){if("string"==typeof t)return o(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?o(t,e):void 0}}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}t.exports=function(t){var e=r(t,4),n=e[1],o=e[3];if(!o)return n;if("function"==typeof btoa){var i=btoa(unescape(encodeURIComponent(JSON.stringify(o)))),a="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(i),s="/*# ".concat(a," */"),l=o.sources.map((function(t){return"/*# sourceURL=".concat(o.sourceRoot||"").concat(t," */")}));return[n].concat(l).concat([s]).join("\n")}return[n].join("\n")}},function(t,e,n){"use strict";t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var n=t(e);return e[2]?"@media ".concat(e[2]," {").concat(n,"}"):n})).join("")},e.i=function(t,n,r){"string"==typeof t&&(t=[[null,t,""]]);var o={};if(r)for(var i=0;i<this.length;i++){var a=this[i][0];null!=a&&(o[a]=!0)}for(var s=0;s<t.length;s++){var l=[].concat(t[s]);r&&o[l[0]]||(n&&(l[2]?l[2]="".concat(n," and ").concat(l[2]):l[2]=n),e.push(l))}},e}},function(t,e,n){"use strict";var r,o=function(){return void 0===r&&(r=Boolean(window&&document&&document.all&&!window.atob)),r},i=function(){var t={};return function(e){if(void 0===t[e]){var n=document.querySelector(e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(t){n=null}t[e]=n}return t[e]}}(),a=[];function s(t){for(var e=-1,n=0;n<a.length;n++)if(a[n].identifier===t){e=n;break}return e}function l(t,e){for(var n={},r=[],o=0;o<t.length;o++){var i=t[o],l=e.base?i[0]+e.base:i[0],u=n[l]||0,c="".concat(l," ").concat(u);n[l]=u+1;var p=s(c),f={css:i[1],media:i[2],sourceMap:i[3]};-1!==p?(a[p].references++,a[p].updater(f)):a.push({identifier:c,updater:v(f,e),references:1}),r.push(c)}return r}function u(t){var e=document.createElement("style"),r=t.attributes||{};if(void 0===r.nonce){var o=n.nc;o&&(r.nonce=o)}if(Object.keys(r).forEach((function(t){e.setAttribute(t,r[t])})),"function"==typeof t.insert)t.insert(e);else{var a=i(t.insert||"head");if(!a)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");a.appendChild(e)}return e}var c,p=(c=[],function(t,e){return c[t]=e,c.filter(Boolean).join("\n")});function f(t,e,n,r){var o=n?"":r.media?"@media ".concat(r.media," {").concat(r.css,"}"):r.css;if(t.styleSheet)t.styleSheet.cssText=p(e,o);else{var i=document.createTextNode(o),a=t.childNodes;a[e]&&t.removeChild(a[e]),a.length?t.insertBefore(i,a[e]):t.appendChild(i)}}function d(t,e,n){var r=n.css,o=n.media,i=n.sourceMap;if(o?t.setAttribute("media",o):t.removeAttribute("media"),i&&"undefined"!=typeof btoa&&(r+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i))))," */")),t.styleSheet)t.styleSheet.cssText=r;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(r))}}var h=null,m=0;function v(t,e){var n,r,o;if(e.singleton){var i=m++;n=h||(h=u(e)),r=f.bind(null,n,i,!1),o=f.bind(null,n,i,!0)}else n=u(e),r=d.bind(null,n,e),o=function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(n)};return r(t),function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap)return;r(t=e)}else o()}}t.exports=function(t,e){(e=e||{}).singleton||"boolean"==typeof e.singleton||(e.singleton=o());var n=l(t=t||[],e);return function(t){if(t=t||[],"[object Array]"===Object.prototype.toString.call(t)){for(var r=0;r<n.length;r++){var o=s(n[r]);a[o].references--}for(var i=l(t,e),u=0;u<n.length;u++){var c=s(n[u]);0===a[c].references&&(a[c].updater(),a.splice(c,1))}n=i}}}},function(t,e,n){"use strict";function r(t,e,n,r,o,i,a,s){var l,u="function"==typeof t?t.options:t;if(e&&(u.render=e,u.staticRenderFns=n,u._compiled=!0),r&&(u.functional=!0),i&&(u._scopeId="data-v-"+i),a?(l=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),o&&o.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(a)},u._ssrRegister=l):o&&(l=s?function(){o.call(this,(u.functional?this.parent:this).$root.$options.shadowRoot)}:o),l)if(u.functional){u._injectStyles=l;var c=u.render;u.render=function(t,e){return l.call(e),c(t,e)}}else{var p=u.beforeCreate;u.beforeCreate=p?[].concat(p,l):[l]}return{exports:t,options:u}}n.d(e,"a",(function(){return r}))},function(t,e,n){"use strict";n.d(e,"b",(function(){return s})),n.d(e,"a",(function(){return a}));var r=n(11),o=Object(r.getGettextBuilder)().detectLocale();[{locale:"ar",translations:{"{tag} (invisible)":"{tag} (غير مرئي)","{tag} (restricted)":"{tag} (مقيد)",Actions:"الإجراءات",Activities:"النشاطات","Animals & Nature":"الحيوانات والطبيعة","Avatar of {displayName}":"صورة {displayName} الرمزية","Avatar of {displayName}, {status}":"صورة {displayName} الرمزية، {status}","Cancel changes":"إلغاء التغييرات",Choose:"إختيار",Close:"أغلق","Close navigation":"إغلاق المتصفح","Confirm changes":"تأكيد التغييرات",Custom:"مخصص","Edit item":"تعديل عنصر","External documentation for {title}":"الوثائق الخارجية لـ{title}",Flags:"الأعلام","Food & Drink":"الطعام والشراب","Frequently used":"كثيرا ما تستخدم",Global:"عالمي","Go back to the list":"العودة إلى القائمة","Message limit of {count} characters reached":"تم الوصول إلى الحد الأقصى لعدد الأحرف في الرسالة: {count} حرف",Next:"التالي","No emoji found":"لم يتم العثور على أي رمز تعبيري","No results":"ليس هناك أية نتيجة",Objects:"الأشياء","Open navigation":"فتح المتصفح","Pause slideshow":"إيقاف العرض مؤقتًا","People & Body":"الناس والجسم","Pick an emoji":"اختر رمزًا تعبيريًا","Please select a time zone:":"الرجاء تحديد المنطقة الزمنية:",Previous:"السابق",Search:"بحث","Search results":"نتائج البحث","Select a tag":"اختر علامة",Settings:"الإعدادات","Settings navigation":"إعدادات المتصفح","Smileys & Emotion":"الوجوه و الرموز التعبيرية","Start slideshow":"بدء العرض",Submit:"إرسال",Symbols:"الرموز","Travel & Places":"السفر والأماكن","Type to search time zone":"اكتب للبحث عن منطقة زمنية","Unable to search the group":"تعذر البحث في المجموعة","Undo changes":"التراجع عن التغييرات","Write message, @ to mention someone, : for emoji autocompletion …":"اكتب رسالة، @ للإشارة إلى شخص ما، : للإكمال التلقائي للرموز التعبيرية ..."}},{locale:"br",translations:{"{tag} (invisible)":"{tag} (diwelus)","{tag} (restricted)":"{tag} (bevennet)",Actions:"Oberioù",Activities:"Oberiantizoù","Animals & Nature":"Loened & Natur",Choose:"Dibab",Close:"Serriñ",Custom:"Personelañ",Flags:"Bannieloù","Food & Drink":"Boued & Evajoù","Frequently used":"Implijet alies",Next:"Da heul","No emoji found":"Emoji ebet kavet","No results":"Disoc'h ebet",Objects:"Traoù","Pause slideshow":"Arsav an diaporama","People & Body":"Tud & Korf","Pick an emoji":"Choaz un emoji",Previous:"A-raok",Search:"Klask","Search results":"Disoc'hoù an enklask","Select a tag":"Choaz ur c'hlav",Settings:"Arventennoù","Smileys & Emotion":"Smileyioù & Fromoù","Start slideshow":"Kregiñ an diaporama",Symbols:"Arouezioù","Travel & Places":"Beaj & Lec'hioù","Unable to search the group":"Dibosupl eo klask ar strollad"}},{locale:"ca",translations:{"{tag} (invisible)":"{tag} (invisible)","{tag} (restricted)":"{tag} (restringit)",Actions:"Accions",Activities:"Activitats","Animals & Nature":"Animals i natura","Cancel changes":"Cancel·la els canvis",Choose:"Tria",Close:"Tanca","Confirm changes":"Confirmeu els canvis",Custom:"Personalitzat","External documentation for {title}":"Documentació externa per a {title}",Flags:"Marques","Food & Drink":"Menjar i begudes","Frequently used":"Utilitzats recentment","Message limit of {count} characters reached":"S'ha arribat al límit de {count} caràcters per missatge",Next:"Següent","No emoji found":"No s'ha trobat cap emoji","No results":"Sense resultats",Objects:"Objectes","Pause slideshow":"Atura la presentació","People & Body":"Persones i cos","Pick an emoji":"Trieu un emoji",Previous:"Anterior",Search:"Cerca","Search results":"Resultats de cerca","Select a tag":"Selecciona una etiqueta",Settings:"Paràmetres","Settings navigation":"Navegació d'opcions","Smileys & Emotion":"Cares i emocions","Start slideshow":"Inicia la presentació",Submit:"Envia",Symbols:"Símbols","Travel & Places":"Viatges i llocs","Unable to search the group":"No es pot cercar el grup","Write message, @ to mention someone …":"Escriu un missatge, @ per mencionar algú..."}},{locale:"cs_CZ",translations:{"{tag} (invisible)":"{tag} (neviditelné)","{tag} (restricted)":"{tag} (omezené)",Actions:"Akce",Activities:"Aktivity","Animals & Nature":"Zvířata a příroda","Avatar of {displayName}":"Zástupný obrázek uživatele {displayName}","Avatar of {displayName}, {status}":"Zástupný obrázek uživatele {displayName}, {status}","Cancel changes":"Zrušit změny",Choose:"Zvolit",Close:"Zavřít","Close navigation":"Zavřít navigaci","Confirm changes":"Potvrdit změny",Custom:"Uživatelsky určené","Edit item":"Upravit položku","External documentation for {title}":"Externí dokumentace k {title}",Flags:"Příznaky","Food & Drink":"Jídlo a pití","Frequently used":"Často používané",Global:"Globální","Go back to the list":"Jít zpět na seznam","Message limit of {count} characters reached":"Dosaženo limitu počtu ({count}) znaků zprávy",Next:"Následující","No emoji found":"Nenalezeno žádné emoji","No results":"Nic nenalezeno",Objects:"Objekty","Open navigation":"Otevřít navigaci","Pause slideshow":"Pozastavit prezentaci","People & Body":"Lidé a tělo","Pick an emoji":"Vybrat emoji","Please select a time zone:":"Vyberte časovou zónu:",Previous:"Předchozí",Search:"Hledat","Search results":"Výsledky hledání","Select a tag":"Vybrat štítek",Settings:"Nastavení","Settings navigation":"Pohyb po nastavení","Smileys & Emotion":"Úsměvy a emoce","Start slideshow":"Spustit prezentaci",Submit:"Odeslat",Symbols:"Symboly","Travel & Places":"Cestování a místa","Type to search time zone":"Psaním vyhledejte časovou zónu","Unable to search the group":"Nedaří se hledat skupinu","Undo changes":"Vzít změny zpět","Write message, @ to mention someone, : for emoji autocompletion …":"Napište zprávu – pokud chcete někoho zmínit, napište před jeho uživatelským jménem @ (zavináč); automatické doplňování emotikonů zahájíte napsáním : (dvojtečky)…"}},{locale:"da",translations:{"{tag} (invisible)":"{tag} (usynlig)","{tag} (restricted)":"{tag} (begrænset)",Actions:"Handlinger",Activities:"Aktiviteter","Animals & Nature":"Dyr & Natur",Choose:"Vælg",Close:"Luk",Custom:"Brugerdefineret",Flags:"Flag","Food & Drink":"Mad & Drikke","Frequently used":"Ofte brugt","Message limit of {count} characters reached":"Begrænsning på {count} tegn er nået",Next:"Videre","No emoji found":"Ingen emoji fundet","No results":"Ingen resultater",Objects:"Objekter","Pause slideshow":"Suspender fremvisning","People & Body":"Mennesker & Menneskekroppen","Pick an emoji":"Vælg en emoji",Previous:"Forrige",Search:"Søg","Search results":"Søgeresultater","Select a tag":"Vælg et mærke",Settings:"Indstillinger","Settings navigation":"Naviger i indstillinger","Smileys & Emotion":"Smileys & Emotion","Start slideshow":"Start fremvisning",Symbols:"Symboler","Travel & Places":"Rejser & Rejsemål","Unable to search the group":"Kan ikke søge på denne gruppe","Write message, @ to mention someone …":"Skriv i meddelelse, @ for at nævne nogen …"}},{locale:"de",translations:{"{tag} (invisible)":"{tag} (unsichtbar)","{tag} (restricted)":"{tag} (eingeschränkt)",Actions:"Aktionen",Activities:"Aktivitäten","Animals & Nature":"Tiere & Natur","Avatar of {displayName}":"Avatar von {displayName}","Avatar of {displayName}, {status}":"Avatar von {displayName}, {status}","Cancel changes":"Änderungen verwerfen",Choose:"Auswählen",Close:"Schließen","Close navigation":"Navigation schließen","Confirm changes":"Änderungen bestätigen",Custom:"Benutzerdefiniert","Edit item":"Objekt bearbeiten","External documentation for {title}":"Externe Dokumentation für {title}",Flags:"Flaggen","Food & Drink":"Essen & Trinken","Frequently used":"Häufig verwendet",Global:"Global","Go back to the list":"Zurück zur Liste","Message limit of {count} characters reached":"Nachrichtenlimit von {count} Zeichen erreicht",Next:"Weiter","No emoji found":"Kein Emoji gefunden","No results":"Keine Ergebnisse",Objects:"Gegenstände","Open navigation":"Navigation öffnen","Pause slideshow":"Diashow pausieren","People & Body":"Menschen & Körper","Pick an emoji":"Ein Emoji auswählen","Please select a time zone:":"Bitte wählen Sie eine Zeitzone:",Previous:"Vorherige",Search:"Suche","Search results":"Suchergebnisse","Select a tag":"Schlagwort auswählen",Settings:"Einstellungen","Settings navigation":"Einstellungen für die Navigation","Smileys & Emotion":"Smileys & Emotionen","Start slideshow":"Diashow starten",Submit:"Einreichen",Symbols:"Symbole","Travel & Places":"Reisen & Orte","Type to search time zone":"Tippen, um Zeitzone zu suchen","Unable to search the group":"Die Gruppe konnte nicht durchsucht werden","Undo changes":"Änderungen rückgängig machen","Write message, @ to mention someone, : for emoji autocompletion …":"Nachricht schreiben, @, um jemanden zu erwähnen, : für die automatische Vervollständigung von Emojis … "}},{locale:"de_DE",translations:{"{tag} (invisible)":"{tag} (unsichtbar)","{tag} (restricted)":"{tag} (eingeschränkt)",Actions:"Aktionen",Activities:"Aktivitäten","Animals & Nature":"Tiere & Natur","Avatar of {displayName}":"Avatar von {displayName}","Avatar of {displayName}, {status}":"Avatar von {displayName}, {status}","Cancel changes":"Änderungen verwerfen",Choose:"Auswählen",Close:"Schließen","Close navigation":"Navigation schließen","Confirm changes":"Änderungen bestätigen",Custom:"Benutzerdefiniert","Edit item":"Objekt bearbeiten","External documentation for {title}":"Externe Dokumentation für {title}",Flags:"Flaggen","Food & Drink":"Essen & Trinken","Frequently used":"Häufig verwendet",Global:"Global","Go back to the list":"Zurück zur Liste","Message limit of {count} characters reached":"Nachrichtenlimit von {count} Zeichen erreicht",Next:"Weiter","No emoji found":"Kein Emoji gefunden","No results":"Keine Ergebnisse",Objects:"Objekte","Open navigation":"Navigation öffnen","Pause slideshow":"Diashow pausieren","People & Body":"Menschen & Körper","Pick an emoji":"Ein Emoji auswählen","Please select a time zone:":"Bitte eine Zeitzone auswählen:",Previous:"Vorherige",Search:"Suche","Search results":"Suchergebnisse","Select a tag":"Schlagwort auswählen",Settings:"Einstellungen","Settings navigation":"Einstellungen für die Navigation","Smileys & Emotion":"Smileys & Emotionen","Start slideshow":"Diashow starten",Submit:"Einreichen",Symbols:"Symbole","Travel & Places":"Reisen & Orte","Type to search time zone":"Tippen, um eine Zeitzone zu suchen","Unable to search the group":"Die Gruppe kann nicht durchsucht werden","Undo changes":"Änderungen rückgängig machen","Write message, @ to mention someone, : for emoji autocompletion …":"Nachricht schreiben, @, um jemanden zu erwähnen, : für die automatische Vervollständigung von Emojis …"}},{locale:"el",translations:{"{tag} (invisible)":"{tag} (αόρατο)","{tag} (restricted)":"{tag} (περιορισμένο)",Actions:"Ενέργειες",Activities:"Δραστηριότητες","Animals & Nature":"Ζώα & Φύση","Avatar of {displayName}":"Άβαταρ του {displayName}","Cancel changes":"Ακύρωση αλλαγών",Choose:"Επιλογή",Close:"Κλείσιμο","Close navigation":"Κλείσιμο πλοήγησης","Confirm changes":"Επιβεβαίωση αλλαγών",Custom:"Προσαρμογή","Edit item":"Επεξεργασία","External documentation for {title}":"Εξωτερική τεκμηρίωση για {title}",Flags:"Σημαίες","Food & Drink":"Φαγητό & Ποτό","Frequently used":"Συχνά χρησιμοποιούμενο",Global:"Καθολικό","Go back to the list":"Επιστροφή στην αρχική λίστα ","Message limit of {count} characters reached":"Συμπληρώθηκε το όριο των {count} χαρακτήρων του μηνύματος",Next:"Επόμενο","No emoji found":"Δεν βρέθηκε emoji","No results":"Κανένα αποτέλεσμα",Objects:"Αντικείμενα","Open navigation":"Άνοιγμα πλοήγησης","Pause slideshow":"Παύση προβολής διαφανειών","People & Body":"Άνθρωποι & Σώμα","Pick an emoji":"Επιλέξτε ένα emoji","Please select a time zone:":"Παρακαλούμε επιλέξτε μια ζώνη ώρας:",Previous:"Προηγούμενο",Search:"Αναζήτηση","Search results":"Αποτελέσματα αναζήτησης","Select a tag":"Επιλογή ετικέτας",Settings:"Ρυθμίσεις","Settings navigation":"Πλοήγηση ρυθμίσεων","Smileys & Emotion":"Φατσούλες & Συναίσθημα","Start slideshow":"Έναρξη προβολής διαφανειών",Submit:"Υποβολή",Symbols:"Σύμβολα","Travel & Places":"Ταξίδια & Τοποθεσίες","Type to search time zone":"Πληκτρολογήστε για αναζήτηση ζώνης ώρας","Unable to search the group":"Δεν είναι δυνατή η αναζήτηση της ομάδας","Undo changes":"Αναίρεση Αλλαγών","Write message, @ to mention someone …":"Γράψτε ένα μήνυμα, και με το σύμβολο @, μνημονεύστε κάποιον …"}},{locale:"eo",translations:{"{tag} (invisible)":"{tag} (kaŝita)","{tag} (restricted)":"{tag} (limigita)",Actions:"Agoj",Activities:"Aktiveco","Animals & Nature":"Bestoj & Naturo",Choose:"Elektu",Close:"Fermu",Custom:"Propra",Flags:"Flagoj","Food & Drink":"Manĝaĵo & Trinkaĵo","Frequently used":"Ofte uzataj","Message limit of {count} characters reached":"La limo je {count} da literoj atingita",Next:"Sekva","No emoji found":"La emoĝio forestas","No results":"La rezulto forestas",Objects:"Objektoj","Pause slideshow":"Payzi bildprezenton","People & Body":"Homoj & Korpo","Pick an emoji":"Elekti emoĝion ",Previous:"Antaŭa",Search:"Serĉi","Search results":"Serĉrezultoj","Select a tag":"Elektu etikedon",Settings:"Agordo","Settings navigation":"Agorda navigado","Smileys & Emotion":"Ridoj kaj Emocioj","Start slideshow":"Komenci bildprezenton",Symbols:"Signoj","Travel & Places":"Vojaĵoj & Lokoj","Unable to search the group":"Ne eblas serĉi en la grupo","Write message, @ to mention someone …":"Mesaĝi, uzu @ por mencii iun ..."}},{locale:"es",translations:{"{tag} (invisible)":"{tag} (invisible)","{tag} (restricted)":"{tag} (restringido)",Actions:"Acciones",Activities:"Actividades","Animals & Nature":"Animales y naturaleza","Avatar of {displayName}":"Avatar de {displayName}","Avatar of {displayName}, {status}":"Avatar de {displayName}, {status}","Cancel changes":"Cancelar cambios",Choose:"Elegir",Close:"Cerrar","Close navigation":"Cerrar navegación","Confirm changes":"Confirmar cambios",Custom:"Personalizado","Edit item":"Editar elemento","External documentation for {title}":"Documentacion externa de {title}",Flags:"Banderas","Food & Drink":"Comida y bebida","Frequently used":"Usado con frecuenca",Global:"Global","Go back to the list":"Volver a la lista","Message limit of {count} characters reached":"El mensaje ha alcanzado el límite de {count} caracteres",Next:"Siguiente","No emoji found":"No hay ningún emoji","No results":" Ningún resultado",Objects:"Objetos","Open navigation":"Abrir navegación","Pause slideshow":"Pausar la presentación ","People & Body":"Personas y cuerpos","Pick an emoji":"Elegir un emoji","Please select a time zone:":"Por favor elige un huso de horario:",Previous:"Anterior",Search:"Buscar","Search results":"Resultados de la búsqueda","Select a tag":"Seleccione una etiqueta",Settings:"Ajustes","Settings navigation":"Navegación por ajustes","Smileys & Emotion":"Smileys y emoticonos","Start slideshow":"Iniciar la presentación",Submit:"Enviar",Symbols:"Símbolos","Travel & Places":"Viajes y lugares","Type to search time zone":"Escribe para buscar un huso de horario","Unable to search the group":"No es posible buscar en el grupo","Undo changes":"Deshacer cambios","Write message, @ to mention someone …":"Escriba un mensaje, @ para mencionar a alguien..."}},{locale:"eu",translations:{"{tag} (invisible)":"{tag} (ikusezina)","{tag} (restricted)":"{tag} (mugatua)",Actions:"Ekintzak",Activities:"Jarduerak","Animals & Nature":"Animaliak eta Natura","Avatar of {displayName}":"{displayName}-(e)n irudia","Cancel changes":"Ezeztatu aldaketak",Choose:"Aukeratu",Close:"Itxi","Close navigation":"Itxi nabigazioa","Confirm changes":"Baieztatu aldaketak",Custom:"Pertsonalizatua","External documentation for {title}":"Kanpoko dokumentazioa {title}(r)entzat",Flags:"Banderak","Food & Drink":"Janaria eta edariak","Frequently used":"Askotan erabilia",Global:"Globala","Go back to the list":"Bueltatu zerrendara","Message limit of {count} characters reached":"Mezuaren {count} karaketere-limitera heldu zara",Next:"Hurrengoa","No emoji found":"Ez da emojirik aurkitu","No results":"Emaitzarik ez",Objects:"Objektuak","Open navigation":"Ireki nabigazioa","Pause slideshow":"Pausatu diaporama","People & Body":"Jendea eta gorputza","Pick an emoji":"Aukeratu emoji bat","Please select a time zone:":"Mesedez hautatu ordu-zona bat:",Previous:"Aurrekoa",Search:"Bilatu","Search results":"Bilaketa emaitzak","Select a tag":"Hautatu etiketa bat",Settings:"Ezarpenak","Settings navigation":"Nabigazio ezarpenak","Smileys & Emotion":"Smileyak eta emozioa","Start slideshow":"Hasi diaporama",Submit:"Bidali",Symbols:"Sinboloak","Travel & Places":"Bidaiak eta lekuak","Type to search time zone":"Idatzi ordu-zona bat bilatzeko","Unable to search the group":"Ezin izan da taldea bilatu","Write message, @ to mention someone …":"Idatzi mezua, @ norbait aipatzeko …"}},{locale:"fi_FI",translations:{"{tag} (invisible)":"{tag} (näkymätön)","{tag} (restricted)":"{tag} (rajoitettu)",Actions:"Toiminnot",Activities:"Aktiviteetit","Animals & Nature":"Eläimet & luonto","Avatar of {displayName}":"Käyttäjän {displayName} avatar","Avatar of {displayName}, {status}":"Käyttäjän {displayName} avatar, {status}","Cancel changes":"Peruuta muutokset",Choose:"Valitse",Close:"Sulje","Close navigation":"Sulje navigaatio","Confirm changes":"Vahvista muutokset",Custom:"Mukautettu","Edit item":"Muokkaa kohdetta","External documentation for {title}":"Ulkoinen dokumentaatio kohteelle {title}",Flags:"Liput","Food & Drink":"Ruoka & juoma","Frequently used":"Usein käytetyt",Global:"Yleinen","Go back to the list":"Siirry takaisin listaan","Message limit of {count} characters reached":"Viestin merkken enimmäisimäärä {count} täynnä ",Next:"Seuraava","No emoji found":"Emojia ei löytynyt","No results":"Ei tuloksia",Objects:"Esineet & asiat","Open navigation":"Avaa navigaatio","Pause slideshow":"Keskeytä diaesitys","People & Body":"Ihmiset & keho","Pick an emoji":"Valitse emoji","Please select a time zone:":"Valitse aikavyöhyke:",Previous:"Edellinen",Search:"Etsi","Search results":"Hakutulokset","Select a tag":"Valitse tagi",Settings:"Asetukset","Settings navigation":"Asetusnavigaatio","Smileys & Emotion":"Hymiöt & tunteet","Start slideshow":"Aloita diaesitys",Submit:"Lähetä",Symbols:"Symbolit","Travel & Places":"Matkustus & kohteet","Type to search time zone":"Kirjoita etsiäksesi aikavyöhyke","Unable to search the group":"Ryhmää ei voi hakea","Undo changes":"Kumoa muutokset","Write message, @ to mention someone …":"Kirjoita viesti, @ mainitaksesi jonkun..."}},{locale:"fr",translations:{"{tag} (invisible)":"{tag} (invisible)","{tag} (restricted)":"{tag} (restreint)",Actions:"Actions",Activities:"Activités","Animals & Nature":"Animaux & Nature","Avatar of {displayName}":"Avatar de {displayName}","Avatar of {displayName}, {status}":"Avatar de {displayName}, {status}","Cancel changes":"Annuler les modifications",Choose:"Choisir",Close:"Fermer","Close navigation":"Fermer la navigation","Confirm changes":"Confirmer les modifications",Custom:"Personnalisé","Edit item":"Éditer l'élément","External documentation for {title}":"Documentation externe pour {title}",Flags:"Drapeaux","Food & Drink":"Nourriture & Boissons","Frequently used":"Utilisés fréquemment",Global:"Global","Go back to the list":"Retourner à la liste","Message limit of {count} characters reached":"Limite de messages de {count} caractères atteinte",Next:"Suivant","No emoji found":"Pas d’émoji trouvé","No results":"Aucun résultat",Objects:"Objets","Open navigation":"Ouvrir la navigation","Pause slideshow":"Mettre le diaporama en pause","People & Body":"Personnes & Corps","Pick an emoji":"Choisissez un émoji","Please select a time zone:":"Sélectionnez un fuseau horaire : ",Previous:"Précédent",Search:"Chercher","Search results":"Résultats de recherche","Select a tag":"Sélectionnez une balise",Settings:"Paramètres","Settings navigation":"Navigation dans les paramètres","Smileys & Emotion":"Smileys & Émotions","Start slideshow":"Démarrer le diaporama",Submit:"Valider",Symbols:"Symboles","Travel & Places":"Voyage & Lieux","Type to search time zone":"Saisissez les premiers lettres pour rechercher un fuseau horaire","Unable to search the group":"Impossible de chercher le groupe","Undo changes":"Annuler les changements","Write message, @ to mention someone …":"Écrivez un message, @ pour mentionner quelqu'un…"}},{locale:"gl",translations:{"{tag} (invisible)":"{tag} (invisíbel)","{tag} (restricted)":"{tag} (restrinxido)",Actions:"Accións",Activities:"Actividades","Animals & Nature":"Animais e natureza","Cancel changes":"Cancelar os cambios",Choose:"Escoller",Close:"Pechar","Confirm changes":"Confirma os cambios",Custom:"Personalizado","External documentation for {title}":"Documentación externa para {title}",Flags:"Bandeiras","Food & Drink":"Comida e bebida","Frequently used":"Usado con frecuencia","Message limit of {count} characters reached":"Acadouse o límite de {count} caracteres por mensaxe",Next:"Seguinte","No emoji found":"Non se atopou ningún «emoji»","No results":"Sen resultados",Objects:"Obxectos","Pause slideshow":"Pausar o diaporama","People & Body":"Persoas e corpo","Pick an emoji":"Escolla un «emoji»",Previous:"Anterir",Search:"Buscar","Search results":"Resultados da busca","Select a tag":"Seleccione unha etiqueta",Settings:"Axustes","Settings navigation":"Navegación polos axustes","Smileys & Emotion":"Sorrisos e emocións","Start slideshow":"Iniciar o diaporama",Submit:"Enviar",Symbols:"Símbolos","Travel & Places":"Viaxes e lugares","Unable to search the group":"Non foi posíbel buscar o grupo","Write message, @ to mention someone …":"Escriba a mensaxe, @ para mencionar a alguén…"}},{locale:"he",translations:{"{tag} (invisible)":"{tag} (נסתר)","{tag} (restricted)":"{tag} (מוגבל)",Actions:"פעולות",Activities:"פעילויות","Animals & Nature":"חיות וטבע",Choose:"בחירה",Close:"סגירה",Custom:"בהתאמה אישית",Flags:"דגלים","Food & Drink":"מזון ומשקאות","Frequently used":"בשימוש תדיר",Next:"הבא","No emoji found":"לא נמצא אמוג׳י","No results":"אין תוצאות",Objects:"חפצים","Pause slideshow":"השהיית מצגת","People & Body":"אנשים וגוף","Pick an emoji":"נא לבחור אמוג׳י",Previous:"הקודם",Search:"חיפוש","Search results":"תוצאות חיפוש","Select a tag":"בחירת תגית",Settings:"הגדרות","Smileys & Emotion":"חייכנים ורגשונים","Start slideshow":"התחלת המצגת",Symbols:"סמלים","Travel & Places":"טיולים ומקומות","Unable to search the group":"לא ניתן לחפש בקבוצה"}},{locale:"hu_HU",translations:{"{tag} (invisible)":"{tag} (láthatatlan)","{tag} (restricted)":"{tag} (korlátozott)",Actions:"Műveletek",Activities:"Tevékenységek","Animals & Nature":"Állatok és természet","Avatar of {displayName}":"{displayName} profilképe","Cancel changes":"Változtatások elvetése",Choose:"Válassszon",Close:"Bezárás","Confirm changes":"Változtatások megerősítése",Custom:"Egyéni","External documentation for {title}":"Külső dokumentáció ehhez: {title}",Flags:"Zászló","Food & Drink":"Étel és ital","Frequently used":"Gyakran használt",Global:"Globális","Message limit of {count} characters reached":"{count} karakteres üzenetkorlát elérve",Next:"Következő","No emoji found":"Nem található emodzsi","No results":"Nincs találat",Objects:"Tárgyak","Pause slideshow":"Diavetítés szüneteltetése","People & Body":"Emberek és test","Pick an emoji":"Válasszon egy emodzsit","Please select a time zone:":"Válasszon időzónát:",Previous:"Előző",Search:"Keresés","Search results":"Találatok","Select a tag":"Válasszon címkét",Settings:"Beállítások","Settings navigation":"Navigáció a beállításokban","Smileys & Emotion":"Mosolyok és érzelmek","Start slideshow":"Diavetítés indítása",Submit:"Beküldés",Symbols:"Szimbólumok","Travel & Places":"Utazás és helyek","Type to search time zone":"Gépeljen az időzóna kereséséhez","Unable to search the group":"A csoport nem kereshető","Write message, @ to mention someone …":"Írjon üzenetet, @ valaki megemlítéséhez…"}},{locale:"is",translations:{"{tag} (invisible)":"{tag} (ósýnilegt)","{tag} (restricted)":"{tag} (takmarkað)",Actions:"Aðgerðir",Activities:"Aðgerðir","Animals & Nature":"Dýr og náttúra",Choose:"Velja",Close:"Loka",Custom:"Sérsniðið",Flags:"Flögg","Food & Drink":"Matur og drykkur","Frequently used":"Oftast notað",Next:"Næsta","No emoji found":"Ekkert tjáningartákn fannst","No results":"Engar niðurstöður",Objects:"Hlutir","Pause slideshow":"Gera hlé á skyggnusýningu","People & Body":"Fólk og líkami","Pick an emoji":"Veldu tjáningartákn",Previous:"Fyrri",Search:"Leita","Search results":"Leitarniðurstöður","Select a tag":"Veldu merki",Settings:"Stillingar","Smileys & Emotion":"Broskallar og tilfinningar","Start slideshow":"Byrja skyggnusýningu",Symbols:"Tákn","Travel & Places":"Staðir og ferðalög","Unable to search the group":"Get ekki leitað í hópnum"}},{locale:"it",translations:{"{tag} (invisible)":"{tag} (invisibile)","{tag} (restricted)":"{tag} (limitato)",Actions:"Azioni",Activities:"Attività","Animals & Nature":"Animali e natura","Avatar of {displayName}":"Avatar di {displayName}","Cancel changes":"Annulla modifiche",Choose:"Scegli",Close:"Chiudi","Confirm changes":"Conferma modifiche",Custom:"Personalizzato","External documentation for {title}":"Documentazione esterna per {title}",Flags:"Bandiere","Food & Drink":"Cibo e bevande","Frequently used":"Usati di frequente","Message limit of {count} characters reached":"Limite dei messaggi di {count} caratteri raggiunto",Next:"Successivo","No emoji found":"Nessun emoji trovato","No results":"Nessun risultato",Objects:"Oggetti","Pause slideshow":"Presentazione in pausa","People & Body":"Persone e corpo","Pick an emoji":"Scegli un emoji",Previous:"Precedente",Search:"Cerca","Search results":"Risultati di ricerca","Select a tag":"Seleziona un'etichetta",Settings:"Impostazioni","Settings navigation":"Navigazione delle impostazioni","Smileys & Emotion":"Faccine ed emozioni","Start slideshow":"Avvia presentazione",Submit:"Invia",Symbols:"Simboli","Travel & Places":"Viaggi e luoghi","Unable to search the group":"Impossibile cercare il gruppo","Write message, @ to mention someone …":"Scrivi messaggio, @ per menzionare qualcuno…"}},{locale:"ja_JP",translations:{"{tag} (invisible)":"{タグ} (不可視)","{tag} (restricted)":"{タグ} (制限付)",Actions:"操作",Activities:"アクティビティ","Animals & Nature":"動物と自然","Avatar of {displayName}":"{displayName} のアバター","Cancel changes":"変更をキャンセル",Choose:"選択",Close:"閉じる","Confirm changes":"変更を承認",Custom:"カスタム","External documentation for {title}":"{title} のための添付文書",Flags:"国旗","Food & Drink":"食べ物と飲み物","Frequently used":"よく使うもの",Global:"全体","Message limit of {count} characters reached":"{count} 文字のメッセージ上限に達しています",Next:"次","No emoji found":"絵文字が見つかりません","No results":"なし",Objects:"物","Pause slideshow":"スライドショーを一時停止","People & Body":"様々な人と体の部位","Pick an emoji":"絵文字を選択","Please select a time zone:":"タイムゾーンを選んで下さい:",Previous:"前",Search:"検索","Search results":"検索結果","Select a tag":"タグを選択",Settings:"設定","Settings navigation":"ナビゲーション設定","Smileys & Emotion":"感情表現","Start slideshow":"スライドショーを開始",Submit:"提出",Symbols:"記号","Travel & Places":"旅行と場所","Type to search time zone":"タイムゾーン検索のため入力してください","Unable to search the group":"グループを検索できません","Write message, @ to mention someone …":"メッセージを記入 @をつけるとその人に通知が行きます"}},{locale:"lt_LT",translations:{"{tag} (invisible)":"{tag} (nematoma)","{tag} (restricted)":"{tag} (apribota)",Actions:"Veiksmai",Activities:"Veiklos","Animals & Nature":"Gyvūnai ir gamta",Choose:"Pasirinkti",Close:"Užverti",Custom:"Tinkinti","External documentation for {title}":"Išorinė {title} dokumentacija",Flags:"Vėliavos","Food & Drink":"Maistas ir gėrimai","Frequently used":"Dažniausiai naudoti","Message limit of {count} characters reached":"Pasiekta {count} simbolių žinutės riba",Next:"Kitas","No emoji found":"Nerasta jaustukų","No results":"Nėra rezultatų",Objects:"Objektai","Pause slideshow":"Pristabdyti skaidrių rodymą","People & Body":"Žmonės ir kūnas","Pick an emoji":"Pasirinkti jaustuką",Previous:"Ankstesnis",Search:"Ieškoti","Search results":"Paieškos rezultatai","Select a tag":"Pasirinkti žymę",Settings:"Nustatymai","Settings navigation":"Naršymas nustatymuose","Smileys & Emotion":"Šypsenos ir emocijos","Start slideshow":"Pradėti skaidrių rodymą",Submit:"Pateikti",Symbols:"Simboliai","Travel & Places":"Kelionės ir vietos","Unable to search the group":"Nepavyko atlikti paiešką grupėje","Write message, @ to mention someone …":"Rašykite žinutę, naudokite @ norėdami kažką paminėti…"}},{locale:"lv",translations:{"{tag} (invisible)":"{tag} (neredzams)","{tag} (restricted)":"{tag} (ierobežots)",Choose:"Izvēlēties",Close:"Aizvērt",Next:"Nākamais","No results":"Nav rezultātu","Pause slideshow":"Pauzēt slaidrādi",Previous:"Iepriekšējais","Select a tag":"Izvēlēties birku",Settings:"Iestatījumi","Start slideshow":"Sākt slaidrādi"}},{locale:"mk",translations:{"{tag} (invisible)":"{tag} (невидливо)","{tag} (restricted)":"{tag} (ограничено)",Actions:"Акции",Activities:"Активности","Animals & Nature":"Животни & Природа",Choose:"Избери",Close:"Затвори",Custom:"Прилагодени",Flags:"Знамиња","Food & Drink":"Храна & Пијалоци","Frequently used":"Најчесто користени","Message limit of {count} characters reached":"Ограничувањето на должината на пораката од {count} карактери е надминато",Next:"Следно","No emoji found":"Не се пронајдени емотикони","No results":"Нема резултати",Objects:"Објекти","Pause slideshow":"Пузирај слајдшоу","People & Body":"Луѓе & Тело","Pick an emoji":"Избери емотикон",Previous:"Предходно",Search:"Барај","Search results":"Резултати од барувањето","Select a tag":"Избери ознака",Settings:"Параметри","Settings navigation":"Параметри за навигација","Smileys & Emotion":"Смешковци & Емотикони","Start slideshow":"Стартувај слајдшоу",Symbols:"Симболи","Travel & Places":"Патувања & Места","Unable to search the group":"Неможе да се принајде групата","Write message, @ to mention someone …":"Напиши порака, @ за да спомнеш некој …"}},{locale:"my",translations:{"{tag} (invisible)":"{tag} (ကွယ်ဝှက်ထား)","{tag} (restricted)":"{tag} (ကန့်သတ်)",Actions:"လုပ်ဆောင်ချက်များ",Activities:"ပြုလုပ်ဆောင်တာများ","Animals & Nature":"တိရစ္ဆာန်များနှင့် သဘာဝ","Avatar of {displayName}":"{displayName} ၏ ကိုယ်ပွား","Cancel changes":"ပြောင်းလဲမှုများ ပယ်ဖျက်ရန်",Choose:"ရွေးချယ်ရန်",Close:"ပိတ်ရန်","Confirm changes":"ပြောင်းလဲမှုများ အတည်ပြုရန်",Custom:"အလိုကျချိန်ညှိမှု","External documentation for {title}":"{title} အတွက် ပြင်ပ စာရွက်စာတမ်း",Flags:"အလံများ","Food & Drink":"အစားအသောက်","Frequently used":"မကြာခဏအသုံးပြုသော",Global:"ကမ္ဘာလုံးဆိုင်ရာ","Message limit of {count} characters reached":"ကန့်သတ် စာလုံးရေ {count} လုံး ပြည့်ပါပြီ",Next:"နောက်သို့ဆက်ရန်","No emoji found":"အီမိုဂျီ ရှာဖွေမတွေ့နိုင်ပါ","No results":"ရလဒ်မရှိပါ",Objects:"အရာဝတ္ထုများ","Pause slideshow":"စလိုက်ရှိုး ခေတ္တရပ်ရန်","People & Body":"လူပုဂ္ဂိုလ်များနှင့် ခန္ဓာကိုယ်","Pick an emoji":"အီမိုဂျီရွေးရန်","Please select a time zone:":"ဒေသစံတော်ချိန် ရွေးချယ်ပေးပါ",Previous:"ယခင်",Search:"ရှာဖွေရန်","Search results":"ရှာဖွေမှု ရလဒ်များ","Select a tag":"tag ရွေးချယ်ရန်",Settings:"ချိန်ညှိချက်များ","Settings navigation":"ချိန်ညှိချက်အညွှန်း","Smileys & Emotion":"စမိုင်လီများနှင့် အီမိုရှင်း","Start slideshow":"စလိုက်ရှိုးအား စတင်ရန်",Submit:"တင်သွင်းရန်",Symbols:"သင်္ကေတများ","Travel & Places":"ခရီးသွားလာခြင်းနှင့် နေရာများ","Type to search time zone":"ဒေသစံတော်ချိန်များ ရှာဖွေရန် စာရိုက်ပါ","Unable to search the group":"အဖွဲ့အား ရှာဖွေ၍ မရနိုင်ပါ","Write message, @ to mention someone …":"စာရေးသားရန်၊ တစ်စုံတစ်ဦးအား @ အသုံးပြု ရည်ညွှန်းရန်..."}},{locale:"nb_NO",translations:{"{tag} (invisible)":"{tag} (usynlig)","{tag} (restricted)":"{tag} (beskyttet)",Actions:"Handlinger",Activities:"Aktiviteter","Animals & Nature":"Dyr og natur","Avatar of {displayName}":"Avataren til {displayName}","Avatar of {displayName}, {status}":"{displayName}'s avatar, {status}","Cancel changes":"Avbryt endringer",Choose:"Velg",Close:"Lukk","Close navigation":"Lukk navigasjon","Confirm changes":"Bekreft endringer",Custom:"Tilpasset","Edit item":"Rediger","External documentation for {title}":"Ekstern dokumentasjon for {title}",Flags:"Flagg","Food & Drink":"Mat og drikke","Frequently used":"Ofte brukt",Global:"Global","Go back to the list":"Gå tilbake til listen","Message limit of {count} characters reached":"Karakter begrensing {count} nådd i melding",Next:"Neste","No emoji found":"Fant ingen emoji","No results":"Ingen resultater",Objects:"Objekter","Open navigation":"Åpne navigasjon","Pause slideshow":"Pause lysbildefremvisning","People & Body":"Mennesker og kropp","Pick an emoji":"Velg en emoji","Please select a time zone:":"Vennligst velg tidssone",Previous:"Forrige",Search:"Søk","Search results":"Søkeresultater","Select a tag":"Velg en merkelapp",Settings:"Innstillinger","Settings navigation":"Navigasjons instillinger","Smileys & Emotion":"Smilefjes og følelser","Start slideshow":"Start lysbildefremvisning",Submit:"Send",Symbols:"Symboler","Travel & Places":"Reise og steder","Type to search time zone":"Skriv for å søke etter tidssone","Unable to search the group":"Kunne ikke søke i gruppen","Undo changes":"Tilbakestill endringer","Write message, @ to mention someone …":"Bruk @ for å nevne noen i en melding"}},{locale:"nl",translations:{"{tag} (invisible)":"{tag} (onzichtbaar)","{tag} (restricted)":"{tag} (beperkt)",Actions:"Acties",Activities:"Activiteiten","Animals & Nature":"Dieren & Natuur","Avatar of {displayName}":"Avatar van {displayName}","Avatar of {displayName}, {status}":"Avatar van {displayName}, {status}","Cancel changes":"Wijzigingen annuleren",Choose:"Kies",Close:"Sluiten","Close navigation":"Navigatie sluiten","Confirm changes":"Wijzigingen bevestigen",Custom:"Aangepast","Edit item":"Item bewerken","External documentation for {title}":"Externe documentatie voor {title}",Flags:"Vlaggen","Food & Drink":"Eten & Drinken","Frequently used":"Vaak gebruikt",Global:"Globaal","Go back to the list":"Ga terug naar de lijst","Message limit of {count} characters reached":"Berichtlimiet van {count} karakters bereikt",Next:"Volgende","No emoji found":"Geen emoji gevonden","No results":"Geen resultaten",Objects:"Objecten","Open navigation":"Navigatie openen","Pause slideshow":"Pauzeer diavoorstelling","People & Body":"Mensen & Lichaam","Pick an emoji":"Kies een emoji","Please select a time zone:":"Selecteer een tijdzone:",Previous:"Vorige",Search:"Zoeken","Search results":"Zoekresultaten","Select a tag":"Selecteer een label",Settings:"Instellingen","Settings navigation":"Instellingen navigatie","Smileys & Emotion":"Smileys & Emotie","Start slideshow":"Start diavoorstelling",Submit:"Verwerken",Symbols:"Symbolen","Travel & Places":"Reizen & Plaatsen","Type to search time zone":"Type om de tijdzone te zoeken","Unable to search the group":"Kan niet in de groep zoeken","Undo changes":"Wijzigingen ongedaan maken","Write message, @ to mention someone, : for emoji autocompletion …":"Schrijf bericht, @ om iemand te noemen, : voor emoji auto-aanvullen ..."}},{locale:"oc",translations:{"{tag} (invisible)":"{tag} (invisible)","{tag} (restricted)":"{tag} (limit)",Actions:"Accions",Choose:"Causir",Close:"Tampar",Next:"Seguent","No results":"Cap de resultat","Pause slideshow":"Metre en pausa lo diaporama",Previous:"Precedent","Select a tag":"Seleccionar una etiqueta",Settings:"Paramètres","Start slideshow":"Lançar lo diaporama"}},{locale:"pl",translations:{"{tag} (invisible)":"{tag} (niewidoczna)","{tag} (restricted)":"{tag} (ograniczona)",Actions:"Działania",Activities:"Aktywność","Animals & Nature":"Zwierzęta i natura","Avatar of {displayName}":"Awatar {displayName}","Avatar of {displayName}, {status}":"Awatar {displayName}, {status}","Cancel changes":"Anuluj zmiany",Choose:"Wybierz",Close:"Zamknij","Close navigation":"Zamknij nawigację","Confirm changes":"Potwierdź zmiany",Custom:"Zwyczajne","Edit item":"Edytuj element","External documentation for {title}":"Dokumentacja zewnętrzna dla {title}",Flags:"Flagi","Food & Drink":"Jedzenie i picie","Frequently used":"Często używane",Global:"Globalnie","Go back to the list":"Powrót do listy","Message limit of {count} characters reached":"Przekroczono limit wiadomości wynoszący {count} znaków",Next:"Następny","No emoji found":"Nie znaleziono emotikonów","No results":"Brak wyników",Objects:"Obiekty","Open navigation":"Otwórz nawigację","Pause slideshow":"Wstrzymaj pokaz slajdów","People & Body":"Ludzie i ciało","Pick an emoji":"Wybierz emoji","Please select a time zone:":"Wybierz strefę czasową:",Previous:"Poprzedni",Search:"Szukaj","Search results":"Wyniki wyszukiwania","Select a tag":"Wybierz etykietę",Settings:"Ustawienia","Settings navigation":"Ustawienia nawigacji","Smileys & Emotion":"Buźki i emotikony","Start slideshow":"Rozpocznij pokaz slajdów",Submit:"Wyślij",Symbols:"Symbole","Travel & Places":"Podróże i miejsca","Type to search time zone":"Wpisz, aby wyszukać strefę czasową","Unable to search the group":"Nie można przeszukać grupy","Undo changes":"Cofnij zmiany","Write message, @ to mention someone, : for emoji autocompletion …":"Napisz wiadomość, @ aby o kimś wspomnieć, : dla autouzupełniania emotikonów…"}},{locale:"pt_BR",translations:{"{tag} (invisible)":"{tag} (invisível)","{tag} (restricted)":"{tag} (restrito) ",Actions:"Ações",Activities:"Atividades","Animals & Nature":"Animais & Natureza","Avatar of {displayName}":"Avatar de {displayName}","Avatar of {displayName}, {status}":"Avatar de {displayName}, {status}","Cancel changes":"Cancelar alterações",Choose:"Escolher",Close:"Fechar","Close navigation":"Fechar navegação","Confirm changes":"Confirmar alterações",Custom:"Personalizado","Edit item":"Editar item","External documentation for {title}":"Documentação externa para {title}",Flags:"Bandeiras","Food & Drink":"Comida & Bebida","Frequently used":"Mais usados",Global:"Global","Go back to the list":"Volte para a lista","Message limit of {count} characters reached":"Limite de mensagem de {count} caracteres atingido",Next:"Próximo","No emoji found":"Nenhum emoji encontrado","No results":"Sem resultados",Objects:"Objetos","Open navigation":"Abrir navegação","Pause slideshow":"Pausar apresentação de slides","People & Body":"Pessoas & Corpo","Pick an emoji":"Escolha um emoji","Please select a time zone:":"Selecione um fuso horário: ",Previous:"Anterior",Search:"Pesquisar","Search results":"Resultados da pesquisa","Select a tag":"Selecionar uma tag",Settings:"Configurações","Settings navigation":"Navegação de configurações","Smileys & Emotion":"Smiles & Emoções","Start slideshow":"Iniciar apresentação de slides",Submit:"Enviar",Symbols:"Símbolo","Travel & Places":"Viagem & Lugares","Type to search time zone":"Digite para pesquisar o fuso horário ","Unable to search the group":"Não foi possível pesquisar o grupo","Undo changes":"Desfazer modificações","Write message, @ to mention someone, : for emoji autocompletion …":"Escreva mensagem, @ para mencionar alguém, : para autocompleção emoji..."}},{locale:"pt_PT",translations:{"{tag} (invisible)":"{tag} (invisivel)","{tag} (restricted)":"{tag} (restrito)",Actions:"Ações",Choose:"Escolher",Close:"Fechar",Next:"Seguinte","No results":"Sem resultados","Pause slideshow":"Pausar diaporama",Previous:"Anterior","Select a tag":"Selecionar uma etiqueta",Settings:"Definições","Start slideshow":"Iniciar diaporama","Unable to search the group":"Não é possível pesquisar o grupo"}},{locale:"ru",translations:{"{tag} (invisible)":"{tag} (невидимое)","{tag} (restricted)":"{tag} (ограниченное)",Actions:"Действия ",Activities:"События","Animals & Nature":"Животные и природа ","Avatar of {displayName}":"Аватар {displayName}","Cancel changes":"Отменить изменения",Choose:"Выберите",Close:"Закрыть","Confirm changes":"Подтвердить изменения",Custom:"Пользовательское","External documentation for {title}":"Внешняя документация для {title}",Flags:"Флаги","Food & Drink":"Еда, напиток","Frequently used":"Часто используемый",Global:"Глобальный","Message limit of {count} characters reached":"Достигнуто ограничение на количество символов в {count}",Next:"Следующее","No emoji found":"Эмодзи не найдено","No results":"Результаты отсуствуют",Objects:"Объекты","Pause slideshow":"Приостановить показ слйдов","People & Body":"Люди и тело","Pick an emoji":"Выберите эмодзи","Please select a time zone:":"Пожалуйста, выберите часовой пояс:",Previous:"Предыдущее",Search:"Поиск","Search results":"Результаты поиска","Select a tag":"Выберите метку",Settings:"Параметры","Settings navigation":"Навигация по настройкам","Smileys & Emotion":"Смайлики и эмоции","Start slideshow":"Начать показ слайдов",Submit:"Утвердить",Symbols:"Символы","Travel & Places":"Путешествия и места","Type to search time zone":"Введите для поиска часового пояса","Unable to search the group":"Невозможно найти группу","Write message, @ to mention someone …":"Напишите сообщение, используйте @ чтобы упомянуть кого-то…"}},{locale:"sk_SK",translations:{"{tag} (invisible)":"{tag} (neviditeľný)","{tag} (restricted)":"{tag} (obmedzený)",Actions:"Akcie",Activities:"Aktivity","Animals & Nature":"Zvieratá a príroda","Avatar of {displayName}":"Avatar {displayName}","Cancel changes":"Zrušiť zmeny",Choose:"Vybrať",Close:"Zatvoriť","Close navigation":"Zavrieť navigáciu","Confirm changes":"Potvrdiť zmeny",Custom:"Zvyk","Edit item":"Upraviť položku","External documentation for {title}":"Externá dokumentácia pre {title}",Flags:"Vlajky","Food & Drink":"Jedlo a nápoje","Frequently used":"Často používané",Global:"Globálne","Go back to the list":"Naspäť na zoznam","Message limit of {count} characters reached":"Limit správy na {count} znakov dosiahnutý",Next:"Ďalší","No emoji found":"Nenašli sa žiadne emodži","No results":"Žiadne výsledky",Objects:"Objekty","Open navigation":"Otvoriť navigáciu","Pause slideshow":"Pozastaviť prezentáciu","People & Body":"Ľudia a telo","Pick an emoji":"Vyberte si emodži","Please select a time zone:":"Prosím vyberte časovú zónu:",Previous:"Predchádzajúci",Search:"Hľadať","Search results":"Výsledky vyhľadávania","Select a tag":"Vybrať štítok",Settings:"Nastavenia","Settings navigation":"Navigácia v nastaveniach","Smileys & Emotion":"Smajlíky a emócie","Start slideshow":"Začať prezentáciu",Submit:"Odoslať",Symbols:"Symboly","Travel & Places":"Cestovanie a miesta","Type to search time zone":"Začníte písať pre vyhľadávanie časovej zóny","Unable to search the group":"Skupinu sa nepodarilo nájsť","Undo changes":"Vrátiť zmeny","Write message, @ to mention someone …":"Napíšte správu, @ pre spomenutie niekoho ..."}},{locale:"sl",translations:{"{tag} (invisible)":"{tag} (nevidno)","{tag} (restricted)":"{tag} (omejeno)",Actions:"Dejanja",Activities:"Dejavnosti","Animals & Nature":"Živali in Narava","Avatar of {displayName}":"Podoba {displayName}","Cancel changes":"Prekliči spremembe",Choose:"Izbor",Close:"Zapri","Confirm changes":"Potrdi spremembe",Custom:"Po meri","External documentation for {title}":"Zunanja dokumentacija za {title}",Flags:"Zastavice","Food & Drink":"Hrana in Pijača","Frequently used":"Pogostost uporabe",Global:"Splošno","Message limit of {count} characters reached":"Dosežena omejitev {count} znakov na sporočilo.",Next:"Naslednji","No emoji found":"Ni najdenih izraznih ikon","No results":"Ni zadetkov",Objects:"Predmeti","Pause slideshow":"Ustavi predstavitev","People & Body":"Ljudje in Telo","Pick an emoji":"Izbor izrazne ikone","Please select a time zone:":"Izbor časovnega pasu:",Previous:"Predhodni",Search:"Iskanje","Search results":"Zadetki iskanja","Select a tag":"Izbor oznake",Settings:"Nastavitve","Settings navigation":"Krmarjenje nastavitev","Smileys & Emotion":"Izrazne ikone","Start slideshow":"Začni predstavitev",Submit:"Pošlji",Symbols:"Simboli","Travel & Places":"Potovanja in Kraji","Type to search time zone":"Vpišite niz za iskanje časovnega pasu","Unable to search the group":"Ni mogoče iskati po skupini","Write message, @ to mention someone …":"Napišite sporočilo, z @ omenite osebo ..."}},{locale:"sv",translations:{"{tag} (invisible)":"{tag} (osynlig)","{tag} (restricted)":"{tag} (begränsad)",Actions:"Åtgärder",Activities:"Aktiviteter","Animals & Nature":"Djur & Natur","Avatar of {displayName}":"{displayName}s avatar","Avatar of {displayName}, {status}":"{displayName}s avatar, {status}","Cancel changes":"Avbryt ändringar",Choose:"Välj",Close:"Stäng","Close navigation":"Stäng navigering","Confirm changes":"Bekräfta ändringar",Custom:"Anpassad","Edit item":"Ändra","External documentation for {title}":"Extern dokumentation för {title}",Flags:"Flaggor","Food & Drink":"Mat & Dryck","Frequently used":"Används ofta",Global:"Global","Go back to the list":"Gå tillbaka till listan","Message limit of {count} characters reached":"Meddelandegräns {count} tecken används",Next:"Nästa","No emoji found":"Hittade inga emojis","No results":"Inga resultat",Objects:"Objekt","Open navigation":"Öppna navigering","Pause slideshow":"Pausa bildspelet","People & Body":"Kropp & Själ","Pick an emoji":"Välj en emoji","Please select a time zone:":"Välj tidszon:",Previous:"Föregående",Search:"Sök","Search results":"Sökresultat","Select a tag":"Välj en tag",Settings:"Inställningar","Settings navigation":"Inställningsmeny","Smileys & Emotion":"Selfies & Känslor","Start slideshow":"Starta bildspelet",Submit:"Skicka",Symbols:"Symboler","Travel & Places":"Resor & Sevärdigheter","Type to search time zone":"Skriv för att välja tidszon","Unable to search the group":"Kunde inte söka i gruppen","Undo changes":"Ångra ändringar","Write message, @ to mention someone, : for emoji autocompletion …":"Skriv meddelande, @ för att nämna någon, : för automatiska emojiförslag ..."}},{locale:"tr",translations:{"{tag} (invisible)":"{tag} (görünmez)","{tag} (restricted)":"{tag} (kısıtlı)",Actions:"İşlemler",Activities:"Etkinlikler","Animals & Nature":"Hayvanlar ve Doğa","Avatar of {displayName}":"{displayName} avatarı","Avatar of {displayName}, {status}":"{displayName}, {status} avatarı","Cancel changes":"Değişiklikleri iptal et",Choose:"Seçin",Close:"Kapat","Close navigation":"Gezinmeyi kapat","Confirm changes":"Değişiklikleri onayla",Custom:"Özel","Edit item":"Ögeyi düzenle","External documentation for {title}":"{title} için dış belgeler",Flags:"Bayraklar","Food & Drink":"Yeme ve İçme","Frequently used":"Sık kullanılanlar",Global:"Evrensel","Go back to the list":"Listeye dön","Message limit of {count} characters reached":"{count} karakter ileti sınırına ulaşıldı",Next:"Sonraki","No emoji found":"Herhangi bir emoji bulunamadı","No results":"Herhangi bir sonuç bulunamadı",Objects:"Nesneler","Open navigation":"Gezinmeyi aç","Pause slideshow":"Slayt sunumunu duraklat","People & Body":"İnsanlar ve Beden","Pick an emoji":"Bir emoji seçin","Please select a time zone:":"Lütfen bir saat dilimi seçin:",Previous:"Önceki",Search:"Arama","Search results":"Arama sonuçları","Select a tag":"Bir etiket seçin",Settings:"Ayarlar","Settings navigation":"Gezinme ayarları","Smileys & Emotion":"İfadeler ve Duygular","Start slideshow":"Slayt sunumunu başlat",Submit:"Gönder",Symbols:"Simgeler","Travel & Places":"Gezi ve Yerler","Type to search time zone":"Saat dilimi aramak için yazmaya başlayın","Unable to search the group":"Grupta arama yapılamadı","Undo changes":"Değişiklikleri geri al","Write message, @ to mention someone, : for emoji autocompletion …":"İleti yazın, birini anmak için @, otomatik emoji tamamlamak için : kullanın…"}},{locale:"uk",translations:{"{tag} (invisible)":"{tag} (invisible)","{tag} (restricted)":"{tag} (restricted)",Actions:"Дії",Activities:"Діяльність","Animals & Nature":"Тварини та природа",Choose:"Виберіть",Close:"Закрити",Custom:"Власне",Flags:"Прапори","Food & Drink":"Їжа та напитки","Frequently used":"Найчастіші",Next:"Вперед","No emoji found":"Емоційки відсутні","No results":"Відсутні результати",Objects:"Об'єкти","Pause slideshow":"Пауза у показі слайдів","People & Body":"Люди та жести","Pick an emoji":"Виберіть емоційку",Previous:"Назад",Search:"Пошук","Search results":"Результати пошуку","Select a tag":"Виберіть позначку",Settings:"Налаштування","Smileys & Emotion":"Усміхайлики та емоційки","Start slideshow":"Почати показ слайдів",Symbols:"Символи","Travel & Places":"Поїздки та місця","Unable to search the group":"Неможливо шукати в групі"}},{locale:"zh_CN",translations:{"{tag} (invisible)":"{tag} (不可见)","{tag} (restricted)":"{tag} (受限)",Actions:"行为",Activities:"活动","Animals & Nature":"动物 & 自然","Avatar of {displayName}":"{displayName}的头像","Avatar of {displayName}, {status}":"{displayName}的头像,{status}","Cancel changes":"取消更改",Choose:"选择",Close:"关闭","Close navigation":"关闭导航","Confirm changes":"确认更改",Custom:"自定义","Edit item":"编辑项目","External documentation for {title}":"{title}的外部文档",Flags:"旗帜","Food & Drink":"食物 & 饮品","Frequently used":"经常使用",Global:"全局","Go back to the list":"返回至列表","Message limit of {count} characters reached":"已达到 {count} 个字符的消息限制",Next:"下一个","No emoji found":"表情未找到","No results":"无结果",Objects:"物体","Open navigation":"开启导航","Pause slideshow":"暂停幻灯片","People & Body":"人 & 身体","Pick an emoji":"选择一个表情","Please select a time zone:":"请选择一个时区:",Previous:"上一个",Search:"搜索","Search results":"搜索结果","Select a tag":"选择一个标签",Settings:"设置","Settings navigation":"设置向导","Smileys & Emotion":"笑脸 & 情感","Start slideshow":"开始幻灯片",Submit:"提交",Symbols:"符号","Travel & Places":"旅游 & 地点","Type to search time zone":"打字以搜索时区","Unable to search the group":"无法搜索分组","Undo changes":"撤销更改","Write message, @ to mention someone, : for emoji autocompletion …":"写信息,@ 提到某人,: 用于表情符号自动完成 ..."}},{locale:"zh_HK",translations:{"{tag} (invisible)":"{tag} (隱藏)","{tag} (restricted)":"{tag} (受限)",Actions:"動作",Activities:"活動","Animals & Nature":"動物與自然","Avatar of {displayName}":"{displayName} 的頭像","Avatar of {displayName}, {status}":"{displayName}的頭像,{status}","Cancel changes":"取消更改",Choose:"選擇",Close:"關閉","Close navigation":"關閉導航","Confirm changes":"確認更改",Custom:"自定義","Edit item":"編輯項目","External documentation for {title}":"{title} 的外部文檔",Flags:"旗幟","Food & Drink":"食物與飲料","Frequently used":"經常使用",Global:"全球的","Go back to the list":"返回清單","Message limit of {count} characters reached":"已達到訊息最多 {count} 字元限制",Next:"下一個","No emoji found":"未找到表情符號","No results":"無結果",Objects:"物件","Open navigation":"開啟導航","Pause slideshow":"暫停幻燈片","People & Body":"人物","Pick an emoji":"選擇表情符號","Please select a time zone:":"請選擇時區:",Previous:"上一個",Search:"搜尋","Search results":"搜尋結果","Select a tag":"選擇標籤",Settings:"設定","Settings navigation":"設定值導覽","Smileys & Emotion":"表情","Start slideshow":"開始幻燈片",Submit:"提交",Symbols:"標誌","Travel & Places":"旅遊與景點","Type to search time zone":"鍵入以搜索時區","Unable to search the group":"無法搜尋群組","Undo changes":"取消更改","Write message, @ to mention someone …":"輸入訊息時可使用 @ 來標示某人..."}},{locale:"zh_TW",translations:{"{tag} (invisible)":"{tag} (隱藏)","{tag} (restricted)":"{tag} (受限)",Actions:"動作",Activities:"活動","Animals & Nature":"動物與自然",Choose:"選擇",Close:"關閉",Custom:"自定義",Flags:"旗幟","Food & Drink":"食物與飲料","Frequently used":"最近使用","Message limit of {count} characters reached":"已達到訊息最多 {count} 字元限制",Next:"下一個","No emoji found":"未找到表情符號","No results":"無結果",Objects:"物件","Pause slideshow":"暫停幻燈片","People & Body":"人物","Pick an emoji":"選擇表情符號",Previous:"上一個",Search:"搜尋","Search results":"搜尋結果","Select a tag":"選擇標籤",Settings:"設定","Settings navigation":"設定值導覽","Smileys & Emotion":"表情","Start slideshow":"開始幻燈片",Symbols:"標誌","Travel & Places":"旅遊與景點","Unable to search the group":"無法搜尋群組","Write message, @ to mention someone …":"輸入訊息時可使用 @ 來標示某人..."}}].forEach((function(t){var e={};for(var n in t.translations)t.translations[n].pluralId?e[n]={msgid:n,msgid_plural:t.translations[n].pluralId,msgstr:t.translations[n].msgstr}:e[n]={msgid:n,msgstr:[t.translations[n]]};o.addTranslation(t.locale,{translations:{"":e}})}));var i=o.build(),a=i.ngettext.bind(i),s=i.gettext.bind(i)},function(t,e){t.exports=n(2998)},function(t,e){t.exports=n(144)},,function(t,e,n){"use strict";var r=n(0),o=n.n(r),i=n(1),a=n.n(i)()(o.a);a.push([t.i,".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.popover{z-index:100000;display:block !important;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.popover__inner{padding:0;color:var(--color-main-text);border-radius:var(--border-radius);background:var(--color-main-background)}.popover__arrow{position:absolute;z-index:1;width:0;height:0;margin:10px;border-style:solid;border-color:var(--color-main-background)}.popover[x-placement^='top']{margin-bottom:10px}.popover[x-placement^='top'] .popover__arrow{bottom:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent !important;border-bottom-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='bottom']{margin-top:10px}.popover[x-placement^='bottom'] .popover__arrow{top:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent !important;border-right-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='right']{margin-left:10px}.popover[x-placement^='right'] .popover__arrow{top:calc(50% - $arrow-width);left:-10px;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent !important;border-bottom-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='left']{margin-right:10px}.popover[x-placement^='left'] .popover__arrow{top:calc(50% - $arrow-width);right:-10px;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent !important;border-right-color:transparent !important;border-bottom-color:transparent !important}.popover[aria-hidden='true']{visibility:hidden;transition:opacity var(--animation-quick),visibility var(--animation-quick);opacity:0}.popover[aria-hidden='false']{visibility:visible;transition:opacity var(--animation-quick);opacity:1}\n","",{version:3,sources:["webpack://./../../assets/material-icons.css","webpack://./Popover.vue"],names:[],mappings:"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC0GxB,SACC,cAAe,CACf,wBAAyB,CAEzB,sDAAuD,CAEvD,gBACC,SAAU,CACV,4BAA6B,CAC7B,kCAAmC,CACnC,uCAAwC,CACxC,gBAGA,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,WApBgB,CAqBhB,kBAAmB,CACnB,yCAA0C,CApB5C,6BAwBE,kBA1BgB,CAElB,6CA2BG,YA7Be,CA8Bf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,6BAjCe,CAkCf,yCAA0C,CAC1C,0CAA2C,CAC3C,wCAAyC,CAlC5C,gCAuCE,eAzCgB,CAElB,gDA0CG,SA5Ce,CA6Cf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,6BAhDe,CAiDf,uCAAwC,CACxC,yCAA0C,CAC1C,wCAAyC,CAjD5C,+BAsDE,gBAxDgB,CAElB,+CAyDG,4BAA6B,CAC7B,UA5De,CA6Df,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,uCAAwC,CACxC,0CAA2C,CAC3C,wCAAyC,CAhE5C,8BAqEE,iBAvEgB,CAElB,8CAwEG,4BAA6B,CAC7B,WA3Ee,CA4Ef,cAAe,CACf,aAAc,CACd,6BA9Ee,CA+Ef,uCAAwC,CACxC,yCAA0C,CAC1C,0CAA2C,CA/E9C,6BAoFE,iBAAkB,CAClB,2EAA6E,CAC7E,SAAU,CAtFZ,8BA0FE,kBAAmB,CACnB,yCAA0C,CAC1C,SAAU",sourcesContent:["/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n\tdisplay: flex;\n\talign-self: center;\n\tjustify-self: center;\n\talign-items: center;\n\tjustify-content: center;\n}\n","$scope_version:\"75cef38\"; @import 'variables'; @import 'material-icons';\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n$arrow-width: 10px;\n\n.popover {\n\tz-index: 100000;\n\tdisplay: block !important;\n\n\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\n\n\t&__inner {\n\t\tpadding: 0;\n\t\tcolor: var(--color-main-text);\n\t\tborder-radius: var(--border-radius);\n\t\tbackground: var(--color-main-background);\n\t}\n\n\t&__arrow {\n\t\tposition: absolute;\n\t\tz-index: 1;\n\t\twidth: 0;\n\t\theight: 0;\n\t\tmargin: $arrow-width;\n\t\tborder-style: solid;\n\t\tborder-color: var(--color-main-background);\n\t}\n\n\t&[x-placement^='top'] {\n\t\tmargin-bottom: $arrow-width;\n\n\t\t.popover__arrow {\n\t\t\tbottom: -$arrow-width;\n\t\t\tleft: calc(50% - $arrow-width);\n\t\t\tmargin-top: 0;\n\t\t\tmargin-bottom: 0;\n\t\t\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\n\t\t\tborder-right-color: transparent !important;\n\t\t\tborder-bottom-color: transparent !important;\n\t\t\tborder-left-color: transparent !important;\n\t\t}\n\t}\n\n\t&[x-placement^='bottom'] {\n\t\tmargin-top: $arrow-width;\n\n\t\t.popover__arrow {\n\t\t\ttop: -$arrow-width;\n\t\t\tleft: calc(50% - $arrow-width);\n\t\t\tmargin-top: 0;\n\t\t\tmargin-bottom: 0;\n\t\t\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\n\t\t\tborder-top-color: transparent !important;\n\t\t\tborder-right-color: transparent !important;\n\t\t\tborder-left-color: transparent !important;\n\t\t}\n\t}\n\n\t&[x-placement^='right'] {\n\t\tmargin-left: $arrow-width;\n\n\t\t.popover__arrow {\n\t\t\ttop: calc(50% - $arrow-width);\n\t\t\tleft: -$arrow-width;\n\t\t\tmargin-right: 0;\n\t\t\tmargin-left: 0;\n\t\t\tborder-width: $arrow-width $arrow-width $arrow-width 0;\n\t\t\tborder-top-color: transparent !important;\n\t\t\tborder-bottom-color: transparent !important;\n\t\t\tborder-left-color: transparent !important;\n\t\t}\n\t}\n\n\t&[x-placement^='left'] {\n\t\tmargin-right: $arrow-width;\n\n\t\t.popover__arrow {\n\t\t\ttop: calc(50% - $arrow-width);\n\t\t\tright: -$arrow-width;\n\t\t\tmargin-right: 0;\n\t\t\tmargin-left: 0;\n\t\t\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\n\t\t\tborder-top-color: transparent !important;\n\t\t\tborder-right-color: transparent !important;\n\t\t\tborder-bottom-color: transparent !important;\n\t\t}\n\t}\n\n\t&[aria-hidden='true'] {\n\t\tvisibility: hidden;\n\t\ttransition: opacity var(--animation-quick), visibility var(--animation-quick);\n\t\topacity: 0;\n\t}\n\n\t&[aria-hidden='false'] {\n\t\tvisibility: visible;\n\t\ttransition: opacity var(--animation-quick);\n\t\topacity: 1;\n\t}\n}\n\n"],sourceRoot:""}]),e.a=a},function(t,e){},function(t,e,n){"use strict";n.r(e);var r=n(5),o=n(2),i=n.n(o),a=n(12),s={insert:"head",singleton:!1};i()(a.a,s),a.a.locals,r.VTooltip.options.defaultTemplate='<div class="vue-tooltip" role="tooltip" data-v-'.concat("75cef38",'><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'),r.VTooltip.options.defaultHtml=!1,r.VTooltip.options.defaultDelay={show:500,hide:200},e.default=r.VTooltip},function(t,e){t.exports=n(3955)},function(t,e,n){"use strict";var r=n(0),o=n.n(r),i=n(1),a=n.n(i)()(o.a);a.push([t.i,".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.vue-tooltip[data-v-75cef38]{position:absolute;z-index:100000;right:auto;left:auto;display:block;margin:0;margin-top:-3px;padding:10px 0;text-align:left;text-align:start;opacity:0;line-height:1.6;line-break:auto;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.vue-tooltip[data-v-75cef38][x-placement^='top'] .tooltip-arrow{bottom:0;margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-75cef38][x-placement^='bottom'] .tooltip-arrow{top:0;margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent;border-right-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-75cef38][x-placement^='right'] .tooltip-arrow{right:100%;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-75cef38][x-placement^='left'] .tooltip-arrow{left:100%;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent;border-right-color:transparent;border-bottom-color:transparent}.vue-tooltip[data-v-75cef38][aria-hidden='true']{visibility:hidden;transition:opacity .15s, visibility .15s;opacity:0}.vue-tooltip[data-v-75cef38][aria-hidden='false']{visibility:visible;transition:opacity .15s;opacity:1}.vue-tooltip[data-v-75cef38] .tooltip-inner{max-width:350px;padding:5px 8px;text-align:center;color:var(--color-main-text);border-radius:var(--border-radius);background-color:var(--color-main-background)}.vue-tooltip[data-v-75cef38] .tooltip-arrow{position:absolute;z-index:1;width:0;height:0;margin:0;border-style:solid;border-color:var(--color-main-background)}\n","",{version:3,sources:["webpack://./../../assets/material-icons.css","webpack://./index.scss"],names:[],mappings:"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCOxB,6BACC,iBAAkB,CAClB,cAAe,CACf,UAAW,CACX,SAAU,CACV,aAAc,CACd,QAAS,CAET,eAAgB,CAChB,cAAe,CACf,eAAgB,CAChB,gBAAiB,CACjB,SAAU,CACV,eAAgB,CAEhB,eAAgB,CAChB,sDAAuD,CAhBxD,gEAqBG,QAAS,CACT,YAAa,CACb,eAAgB,CAChB,6BA1Be,CA2Bf,8BAA+B,CAC/B,+BAAgC,CAChC,6BAA8B,CA3BjC,mEAkCG,KAAM,CACN,YAAa,CACb,eAAgB,CAChB,6BAvCe,CAwCf,4BAA6B,CAC7B,8BAA+B,CAC/B,6BAA8B,CAxCjC,kEA+CG,UAAW,CACX,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,4BAA6B,CAC7B,+BAAgC,CAChC,6BAA8B,CArDjC,iEA4DG,SAAU,CACV,cAAe,CACf,aAAc,CACd,6BAjEe,CAkEf,4BAA6B,CAC7B,8BAA+B,CAC/B,+BAAgC,CAlEnC,iDAwEE,iBAAkB,CAClB,wCAAyC,CACzC,SAAU,CA1EZ,kDA6EE,kBAAmB,CACnB,uBAAwB,CACxB,SAAU,CA/EZ,4CAoFE,eAAgB,CAChB,eAAgB,CAChB,iBAAkB,CAClB,4BAA6B,CAC7B,kCAAmC,CACnC,6CAA8C,CAzFhD,4CA8FE,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,QAAS,CACT,kBAAmB,CACnB,yCAA0C",sourcesContent:["/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n\tdisplay: flex;\n\talign-self: center;\n\tjustify-self: center;\n\talign-items: center;\n\tjustify-content: center;\n}\n","$scope_version:\"75cef38\"; @import 'variables'; @import 'material-icons';\n/**\n* @copyright Copyright (c) 2016, John Molakvoæ <skjnldsv@protonmail.com>\n* @copyright Copyright (c) 2016, Robin Appelman <robin@icewind.nl>\n* @copyright Copyright (c) 2016, Jan-Christoph Borchardt <hey@jancborchardt.net>\n* @copyright Copyright (c) 2016, Erik Pellikka <erik@pellikka.org>\n* @copyright Copyright (c) 2015, Vincent Petry <pvince81@owncloud.com>\n*\n* Bootstrap v3.3.5 (http://getbootstrap.com)\n* Copyright 2011-2015 Twitter, Inc.\n* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n*/\n\n$arrow-width: 10px;\n\n.vue-tooltip[data-v-#{$scope_version}] {\n\tposition: absolute;\n\tz-index: 100000;\n\tright: auto;\n\tleft: auto;\n\tdisplay: block;\n\tmargin: 0;\n\t/* default to top */\n\tmargin-top: -3px;\n\tpadding: 10px 0;\n\ttext-align: left;\n\ttext-align: start;\n\topacity: 0;\n\tline-height: 1.6;\n\n\tline-break: auto;\n\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\n\n\t// TOP\n\t&[x-placement^='top'] {\n\t\t.tooltip-arrow {\n\t\t\tbottom: 0;\n\t\t\tmargin-top: 0;\n\t\t\tmargin-bottom: 0;\n\t\t\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\n\t\t\tborder-right-color: transparent;\n\t\t\tborder-bottom-color: transparent;\n\t\t\tborder-left-color: transparent;\n\t\t}\n\t}\n\n\t// BOTTOM\n\t&[x-placement^='bottom'] {\n\t\t.tooltip-arrow {\n\t\t\ttop: 0;\n\t\t\tmargin-top: 0;\n\t\t\tmargin-bottom: 0;\n\t\t\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\n\t\t\tborder-top-color: transparent;\n\t\t\tborder-right-color: transparent;\n\t\t\tborder-left-color: transparent;\n\t\t}\n\t}\n\n\t// RIGHT\n\t&[x-placement^='right'] {\n\t\t.tooltip-arrow {\n\t\t\tright: 100%;\n\t\t\tmargin-right: 0;\n\t\t\tmargin-left: 0;\n\t\t\tborder-width: $arrow-width $arrow-width $arrow-width 0;\n\t\t\tborder-top-color: transparent;\n\t\t\tborder-bottom-color: transparent;\n\t\t\tborder-left-color: transparent;\n\t\t}\n\t}\n\n\t// LEFT\n\t&[x-placement^='left'] {\n\t\t.tooltip-arrow {\n\t\t\tleft: 100%;\n\t\t\tmargin-right: 0;\n\t\t\tmargin-left: 0;\n\t\t\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\n\t\t\tborder-top-color: transparent;\n\t\t\tborder-right-color: transparent;\n\t\t\tborder-bottom-color: transparent;\n\t\t}\n\t}\n\n\t// HIDDEN / SHOWN\n\t&[aria-hidden='true'] {\n\t\tvisibility: hidden;\n\t\ttransition: opacity .15s, visibility .15s;\n\t\topacity: 0;\n\t}\n\t&[aria-hidden='false'] {\n\t\tvisibility: visible;\n\t\ttransition: opacity .15s;\n\t\topacity: 1;\n\t}\n\n\t// CONTENT\n\t.tooltip-inner {\n\t\tmax-width: 350px;\n\t\tpadding: 5px 8px;\n\t\ttext-align: center;\n\t\tcolor: var(--color-main-text);\n\t\tborder-radius: var(--border-radius);\n\t\tbackground-color: var(--color-main-background);\n\t}\n\n\t// ARROW\n\t.tooltip-arrow {\n\t\tposition: absolute;\n\t\tz-index: 1;\n\t\twidth: 0;\n\t\theight: 0;\n\t\tmargin: 0;\n\t\tborder-style: solid;\n\t\tborder-color: var(--color-main-background);\n\t}\n}\n"],sourceRoot:""}]),e.a=a},,function(t,e,n){"use strict";var r={name:"Popover",components:{VPopover:n(5).VPopover},mounted:function(){var t=this;this.$watch((function(){return t.$refs.popover.isOpen}),(function(e){e?t.$emit("after-show"):t.$emit("after-hide")}))}},o=n(2),i=n.n(o),a=n(8),s={insert:"head",singleton:!1},l=(i()(a.a,s),a.a.locals,n(3)),u=n(9),c=n.n(u),p=Object(l.a)(r,(function(){var t=this,e=t.$createElement;return(t._self._c||e)("VPopover",t._g(t._b({ref:"popover",attrs:{"popover-base-class":"popover","popover-wrapper-class":"popover__wrapper","popover-arrow-class":"popover__arrow","popover-inner-class":"popover__inner"},scopedSlots:t._u([{key:"popover",fn:function(){return[t._t("default")]},proxy:!0}],null,!0)},"VPopover",t.$attrs,!1),t.$listeners),[t._t("trigger")],2)}),[],!1,null,null,null);"function"==typeof c.a&&c()(p),e.a=p.exports},function(t,e,n){"use strict";e.a=function(t){return Math.random().toString(36).replace(/[^a-z]+/g,"").substr(0,t||5)}},function(t,e){t.exports=n(9578)},,,function(t,e,n){"use strict";n.r(e);var r=n(14);e.default=r.a},,,,,,function(t,e,n){"use strict";var r=n(6),o=n.n(r);e.a={before:function(){this.$slots.default&&""!==this.text.trim()||(o.a.util.warn("".concat(this.$options.name," cannot be empty and requires a meaningful text content"),this),this.$destroy(),this.$el.remove())},beforeUpdate:function(){this.text=this.getText()},data:function(){return{text:this.getText()}},computed:{isLongText:function(){return this.text&&this.text.trim().length>20}},methods:{getText:function(){return this.$slots.default?this.$slots.default[0].text.trim():""}}}},function(t,e,n){"use strict";var r=n(4);e.a={methods:{n:r.a,t:r.b}}},,function(t,e,n){"use strict";var r=n(0),o=n.n(r),i=n(1),a=n.n(i)()(o.a);a.push([t.i,".material-design-icon[data-v-6aa4b9df]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.action-item[data-v-6aa4b9df]{position:relative;display:inline-block}.action-item--single[data-v-6aa4b9df]:hover,.action-item--single[data-v-6aa4b9df]:focus,.action-item--single[data-v-6aa4b9df]:active,.action-item__menutoggle[data-v-6aa4b9df]:hover,.action-item__menutoggle[data-v-6aa4b9df]:focus,.action-item__menutoggle[data-v-6aa4b9df]:active{opacity:1;background-color:rgba(127,127,127,0.25) !important}.action-item__menutoggle[data-v-6aa4b9df]:disabled,.action-item--single[data-v-6aa4b9df]:disabled{opacity:.3 !important}.action-item.action-item--open .action-item__menutoggle[data-v-6aa4b9df]{opacity:1;background-color:rgba(127,127,127,0.25)}.action-item--single[data-v-6aa4b9df],.action-item__menutoggle[data-v-6aa4b9df]{box-sizing:border-box;width:auto;min-width:44px;height:44px;margin:0;padding:0;cursor:pointer;border:none;border-radius:22px;background-color:transparent}.action-item--single--with-title[data-v-6aa4b9df],.action-item__menutoggle--with-title[data-v-6aa4b9df]{position:relative;padding:0 14px;padding-left:44px;white-space:nowrap;opacity:1;border:1px solid var(--color-border-dark);background-color:var(--color-background-dark);background-position:14px center;font-size:inherit}.action-item--single--with-title[data-v-6aa4b9df] span,.action-item__menutoggle--with-title[data-v-6aa4b9df] span{width:24px;height:24px;line-height:16px;position:absolute;top:0;left:0}.action-item[data-v-6aa4b9df] .material-design-icon{width:44px;height:44px;opacity:1}.action-item[data-v-6aa4b9df] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-item__menutoggle[data-v-6aa4b9df]{display:flex;align-items:center;justify-content:center;opacity:.7;font-weight:bold;line-height:16px}.action-item__menutoggle--primary[data-v-6aa4b9df]{opacity:1;color:var(--color-primary-text);border:none;background-color:var(--color-primary-element)}.action-item--open .action-item__menutoggle--primary[data-v-6aa4b9df],.action-item__menutoggle--primary[data-v-6aa4b9df]:hover,.action-item__menutoggle--primary[data-v-6aa4b9df]:focus,.action-item__menutoggle--primary[data-v-6aa4b9df]:active{color:var(--color-primary-text) !important;background-color:var(--color-primary-element-light) !important}.action-item--single[data-v-6aa4b9df]{opacity:.7}.action-item--single[data-v-6aa4b9df]:hover,.action-item--single[data-v-6aa4b9df]:focus,.action-item--single[data-v-6aa4b9df]:active{opacity:1}.action-item--single>[hidden][data-v-6aa4b9df]{display:none}.ie .action-item__menu[data-v-6aa4b9df],.ie .action-item__menu .action-item__menu_arrow[data-v-6aa4b9df],.edge .action-item__menu[data-v-6aa4b9df],.edge .action-item__menu .action-item__menu_arrow[data-v-6aa4b9df]{border:1px solid var(--color-border)}\n","",{version:3,sources:["webpack://./../../assets/material-icons.css","webpack://./Actions.vue","webpack://./../../assets/variables.scss"],names:[],mappings:"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC+oBxB,8BACC,iBAAkB,CAClB,oBAAqB,CAIrB,sRAMC,SCvnBc,CDynBd,kDAA2C,CAC3C,kGAKA,qBAAsB,CApBxB,yEAwBE,SCnoBc,CDooBd,uCChoBgD,CDioBhD,gFAKA,qBAAsB,CACtB,UAAW,CACX,cC/pBmB,CDgqBnB,WChqBmB,CDiqBnB,QAAS,CACT,SAAU,CACV,cAAe,CACf,WAAY,CACZ,kBAAkC,CAClC,4BAA6B,CAE7B,wGACC,iBAAkB,CAClB,cClqB6C,CDmqB7C,iBC3qBkB,CD4qBlB,kBAAmB,CACnB,SC1pBa,CD2pBb,yCAA0C,CAE1C,6CAA8C,CAC9C,+BAAwC,CACxC,iBAAkB,CAVlB,kHAeC,UAAW,CACX,WAAY,CACZ,gBCrrBY,CDsrBZ,iBAAkB,CAClB,KAAM,CACN,MAAO,CA9DX,oDAoEE,UClsBmB,CDmsBnB,WCnsBmB,CDosBnB,SCjrBc,CD2mBhB,+EAyEG,qBAAsB,CACtB,0CAMD,YAAa,CACb,kBAAmB,CACnB,sBAAuB,CACvB,UC/rBiB,CDgsBjB,gBAAiB,CACjB,gBC/sBc,CDitBd,mDACC,SCnsBa,CDosBb,+BAAgC,CAChC,WAAY,CACZ,6CAA8C,CAC9C,kPAIC,0CAA2C,CAC3C,8DAA+D,CAC/D,sCAKF,UCntBiB,CDktBjB,qIAKC,SCttBa,CDitBd,+CASC,YAAa,CACb,sNAQD,oCAAqC",sourcesContent:["/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n\tdisplay: flex;\n\talign-self: center;\n\tjustify-self: center;\n\talign-items: center;\n\tjustify-content: center;\n}\n","$scope_version:\"75cef38\"; @import 'variables'; @import 'material-icons';\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.action-item {\n\tposition: relative;\n\tdisplay: inline-block;\n\n\t// put a grey round background when menu is opened\n\t// or hover-focused\n\t&--single:hover,\n\t&--single:focus,\n\t&--single:active,\n\t&__menutoggle:hover,\n\t&__menutoggle:focus,\n\t&__menutoggle:active {\n\t\topacity: $opacity_full;\n\t\t// good looking on dark AND white bg, override server styling\n\t\tbackground-color: $icon-focus-bg !important;\n\t}\n\n\t// TODO: handle this in the future button component\n\t&__menutoggle:disabled,\n\t&--single:disabled {\n\t\topacity: .3 !important;\n\t}\n\n\t&.action-item--open .action-item__menutoggle {\n\t\topacity: $opacity_full;\n\t\tbackground-color: $action-background-hover;\n\t}\n\n\t// icons\n\t&--single,\n\t&__menutoggle {\n\t\tbox-sizing: border-box;\n\t\twidth: auto;\n\t\tmin-width: $clickable-area;\n\t\theight: $clickable-area;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\tcursor: pointer;\n\t\tborder: none;\n\t\tborder-radius: $clickable-area / 2;\n\t\tbackground-color: transparent;\n\n\t\t&--with-title {\n\t\t\tposition: relative;\n\t\t\tpadding: 0 $icon-margin;\n\t\t\tpadding-left: $clickable-area;\n\t\t\twhite-space: nowrap;\n\t\t\topacity: $opacity_full;\n\t\t\tborder: 1px solid var(--color-border-dark);\n\t\t\t// with a title, we need to display this as a real button\n\t\t\tbackground-color: var(--color-background-dark);\n\t\t\tbackground-position: $icon-margin center;\n\t\t\tfont-size: inherit;\n\n\t\t\t// non-background icon class\n\t\t\t// image slot\n\t\t\t/deep/ span {\n\t\t\t\twidth: 24px;\n\t\t\t\theight: 24px;\n\t\t\t\tline-height: $icon-size;\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: 0;\n\t\t\t\tleft: 0;\n\t\t\t}\n\t\t}\n\t}\n\n\t&::v-deep .material-design-icon {\n\t\twidth: $clickable-area;\n\t\theight: $clickable-area;\n\t\topacity: $opacity_full;\n\n\t\t.material-design-icon__svg {\n\t\t\tvertical-align: middle;\n\t\t}\n\t}\n\n\t// icon-more\n\t&__menutoggle {\n\t\t// align menu icon in center\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\topacity: $opacity_normal;\n\t\tfont-weight: bold;\n\t\tline-height: $icon-size;\n\n\t\t&--primary {\n\t\t\topacity: $opacity_full;\n\t\t\tcolor: var(--color-primary-text);\n\t\t\tborder: none;\n\t\t\tbackground-color: var(--color-primary-element);\n\t\t\t.action-item--open &,\n\t\t\t&:hover,\n\t\t\t&:focus,\n\t\t\t&:active {\n\t\t\t\tcolor: var(--color-primary-text) !important;\n\t\t\t\tbackground-color: var(--color-primary-element-light) !important;\n\t\t\t}\n\t\t}\n\t}\n\n\t&--single {\n\t\topacity: $opacity_normal;\n\t\t&:hover,\n\t\t&:focus,\n\t\t&:active {\n\t\t\topacity: $opacity_full;\n\t\t}\n\t\t// hide anything the slot is displaying\n\t\t& > [hidden] {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n}\n\n.ie,\n.edge {\n\t.action-item__menu,\n\t.action-item__menu .action-item__menu_arrow {\n\t\tborder: 1px solid var(--color-border);\n\t}\n}\n\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: ($clickable-area - $icon-size) / 2;\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n"],sourceRoot:""}]),e.a=a},function(t,e){},,function(t,e,n){"use strict";var r=n(25),o=function(t,e){for(var n=t.$parent;n;){if(n.$options.name===e)return n;n=n.$parent}};e.a={mixins:[r.a],props:{icon:{type:String,default:""},title:{type:String,default:""},closeAfterClick:{type:Boolean,default:!1},ariaLabel:{type:String,default:""}},computed:{isIconUrl:function(){try{return new URL(this.icon)}catch(t){return!1}}},methods:{onClick:function(t){if(this.$emit("click",t),this.closeAfterClick){var e=o(this,"Actions");e&&e.closeMenu&&e.closeMenu()}}}}},,,,,,function(t,e,n){"use strict";var r=n(16),o=n.n(r),i=n(10),a=n(15),s=n(4),l=n(19);function u(t){return function(t){if(Array.isArray(t))return c(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return c(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?c(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function c(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function p(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function f(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?p(Object(n),!0).forEach((function(e){d(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):p(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function d(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var h={name:"Actions",directives:{tooltip:i.default},components:{DotsHorizontal:o.a,Popover:l.default,VNodes:{functional:!0,render:function(t,e){return e.props.vnodes}}},props:{open:{type:Boolean,default:!1},forceMenu:{type:Boolean,default:!1},forceTitle:{type:Boolean,default:!1},menuTitle:{type:String,default:null},primary:{type:Boolean,default:!1},defaultIcon:{type:String,default:""},ariaLabel:{type:String,default:Object(s.b)("Actions")},placement:{type:String,default:"bottom"},boundariesElement:{type:Element,default:function(){return document.querySelector("body")}},container:{type:String,default:"body"},disabled:{type:Boolean,default:!1}},data:function(){return{actions:[],opened:this.open,focusIndex:0,randomId:"menu-"+Object(a.a)(),children:this.$children}},computed:{hasMultipleActions:function(){return this.actions.length>1},isValidSingleAction:function(){return 1===this.actions.length&&null!==this.firstActionElement},singleActionTitle:function(){return this.forceTitle?this.menuTitle:""},isDisabled:function(){var t,e;return this.disabled||1===this.actions.length&&(null===(t=this.firstAction)||void 0===t||null===(e=t.$props)||void 0===e?void 0:e.disabled)},firstActionVNode:function(){return this.actions[0]},firstAction:function(){return this.children[0]?this.children[0]:{}},firstActionBinding:function(){if(this.firstActionVNode&&this.firstActionVNode.componentOptions){var t=this.firstActionVNode.componentOptions.tag;if("ActionLink"===t)return f(f({is:"a",href:this.firstAction.href,target:this.firstAction.target,"aria-label":this.firstAction.ariaLabel},this.firstAction.$attrs),this.firstAction.$props);if("ActionRouter"===t)return f(f({is:"router-link",to:this.firstAction.to,exact:this.firstAction.exact,"aria-label":this.firstAction.ariaLabel},this.firstAction.$attrs),this.firstAction.$props);if("ActionButton"===t)return f(f({is:"button","aria-label":this.firstAction.ariaLabel},this.firstAction.$attrs),this.firstAction.$props)}return null},firstActionEvent:function(){var t,e,n;return null===(t=this.firstActionVNode)||void 0===t||null===(e=t.componentOptions)||void 0===e||null===(n=e.listeners)||void 0===n?void 0:n.click},firstActionEventBinding:function(){return this.firstActionEvent?"click":null},firstActionIconSlot:function(){var t,e;return null===(t=this.firstAction)||void 0===t||null===(e=t.$slots)||void 0===e?void 0:e.icon},firstActionClass:function(){return((this.firstActionVNode&&this.firstActionVNode.data.staticClass)+" "+(this.firstActionVNode&&this.firstActionVNode.data.class)).trim()},iconSlotIsPopulated:function(){return!!this.$slots.icon}},watch:{open:function(t){t!==this.opened&&(this.opened=t)}},beforeMount:function(){this.initActions()},beforeUpdate:function(){this.initActions()},methods:{openMenu:function(t){this.opened||(this.opened=!0,this.$emit("update:open",!0),this.$emit("open"))},closeMenu:function(t){this.opened&&(this.opened=!1,this.$emit("update:open",!1),this.$emit("close"),this.opened=!1,this.focusIndex=0,this.$refs.menuButton.focus())},onOpen:function(t){var e=this;this.$nextTick((function(){e.focusFirstAction(t)}))},onMouseFocusAction:function(t){if(document.activeElement!==t.target){var e=t.target.closest("li");if(e){var n=e.querySelector(".focusable");if(n){var r=u(this.$refs.menu.querySelectorAll(".focusable")).indexOf(n);r>-1&&(this.focusIndex=r,this.focusAction())}}}},removeCurrentActive:function(){var t=this.$refs.menu.querySelector("li.active");t&&t.classList.remove("active")},focusAction:function(){var t=this.$refs.menu.querySelectorAll(".focusable")[this.focusIndex];if(t){this.removeCurrentActive();var e=t.closest("li.action");t.focus(),e&&e.classList.add("active")}},focusPreviousAction:function(t){this.opened&&(0===this.focusIndex?this.closeMenu():(this.preventIfEvent(t),this.focusIndex=this.focusIndex-1),this.focusAction())},focusNextAction:function(t){if(this.opened){var e=this.$refs.menu.querySelectorAll(".focusable").length-1;this.focusIndex===e?this.closeMenu():(this.preventIfEvent(t),this.focusIndex=this.focusIndex+1),this.focusAction()}},focusFirstAction:function(t){this.opened&&(this.preventIfEvent(t),this.focusIndex=0,this.focusAction())},focusLastAction:function(t){this.opened&&(this.preventIfEvent(t),this.focusIndex=this.$el.querySelectorAll(".focusable").length-1,this.focusAction())},preventIfEvent:function(t){t&&(t.preventDefault(),t.stopPropagation())},execFirstAction:function(t){this.firstActionEvent&&this.firstActionEvent(t)},initActions:function(){this.actions=(this.$slots.default||[]).filter((function(t){return!!t&&!!t.componentOptions}))},onFocus:function(t){this.$emit("focus",t)},onBlur:function(t){this.$emit("blur",t)}}},m=n(2),v=n.n(m),g=n(28),y={insert:"head",singleton:!1},A=(v()(g.a,y),g.a.locals,n(3)),b=n(29),C=n.n(b),w=Object(A.a)(h,(function(){var t,e=this,n=e.$createElement,r=e._self._c||n;return e.isValidSingleAction&&!e.forceMenu?r("element",e._b({directives:[{name:"tooltip",rawName:"v-tooltip.auto",value:e.firstAction.text,expression:"firstAction.text",modifiers:{auto:!0}}],staticClass:"action-item action-item--single",class:(t={},t[e.firstAction.icon]=e.firstAction.icon,t[e.firstActionClass]=e.firstActionClass,t["action-item--single--with-title"]=e.singleActionTitle,t),attrs:{rel:"nofollow noreferrer noopener",disabled:e.isDisabled},on:e._d({focus:e.onFocus,blur:e.onBlur},[e.firstActionEventBinding,e.execFirstAction])},"element",e.firstActionBinding,!1),[r("VNodes",{attrs:{vnodes:e.firstActionIconSlot}}),e._v("\n\n\t"+e._s(e.singleActionTitle)+"\n\n\t"),e._v(" "),r("span",{attrs:{"aria-hidden":!0,hidden:""}},[e._t("default")],2)],1):r("div",{directives:[{name:"show",rawName:"v-show",value:e.hasMultipleActions||e.forceMenu,expression:"hasMultipleActions || forceMenu"}],staticClass:"action-item",class:{"action-item--open":e.opened}},[r("Popover",{attrs:{delay:0,"handle-resize":!0,open:e.opened,placement:e.placement,"boundaries-element":e.boundariesElement,container:e.container},on:{"update:open":function(t){e.opened=t},show:e.openMenu,"after-show":e.onOpen,hide:e.closeMenu},scopedSlots:e._u([{key:"trigger",fn:function(){var t;return[r("button",{ref:"menuButton",staticClass:"icon action-item__menutoggle",class:(t={},t[e.defaultIcon]=!e.iconSlotIsPopulated,t["action-item__menutoggle--with-title"]=e.menuTitle,t["action-item__menutoggle--with-icon-slot"]=e.iconSlotIsPopulated,t["action-item__menutoggle--default-icon"]=!e.iconSlotIsPopulated&&""===e.defaultIcon,t["action-item__menutoggle--primary"]=e.primary,t),attrs:{disabled:e.disabled,"aria-haspopup":"true","aria-label":e.ariaLabel,"aria-controls":e.randomId,"aria-expanded":e.opened?"true":"false","test-attr":"1",type:"button"},on:{focus:e.onFocus,blur:e.onBlur}},[e.iconSlotIsPopulated?e._t("icon"):""===e.defaultIcon?r("DotsHorizontal",{attrs:{size:20,decorative:""}}):e._e(),e._v("\n\t\t\t\t"+e._s(e.menuTitle)+"\n\t\t\t")],2)]},proxy:!0}],null,!0)},[e._v(" "),r("div",{directives:[{name:"show",rawName:"v-show",value:e.opened,expression:"opened"}],ref:"menu",class:{open:e.opened},attrs:{tabindex:"-1"},on:{keydown:[function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"up",38,t.key,["Up","ArrowUp"])||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:e.focusPreviousAction(t)},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"down",40,t.key,["Down","ArrowDown"])||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:e.focusNextAction(t)},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"tab",9,t.key,"Tab")||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:e.focusNextAction(t)},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"tab",9,t.key,"Tab")?null:t.shiftKey?t.ctrlKey||t.altKey||t.metaKey?null:e.focusPreviousAction(t):null},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"page-up",void 0,t.key,void 0)||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:e.focusFirstAction(t)},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"page-down",void 0,t.key,void 0)||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:e.focusLastAction(t)},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"esc",27,t.key,["Esc","Escape"])||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),e.closeMenu(t))}],mousemove:e.onMouseFocusAction}},[r("ul",{attrs:{id:e.randomId,tabindex:"-1"}},[e.opened?[e._t("default")]:e._e()],2)])])],1)}),[],!1,null,"6aa4b9df",null);"function"==typeof C.a&&C()(w),e.a=w.exports},,,,,,,,,,,,,,,,function(t,e,n){"use strict";n.r(e);var r=n(37);e.default=r.a},,,,,,function(t,e,n){"use strict";e.a=function(t){t.mounted?Array.isArray(t.mounted)||(t.mounted=[t.mounted]):t.mounted=[],t.mounted.push((function(){this.$el.setAttribute("data-v-".concat("75cef38"),"")}))}},,,function(t,e,n){"use strict";var r=n(0),o=n.n(r),i=n(1),a=n.n(i)()(o.a);a.push([t.i,".material-design-icon[data-v-71ea20d2]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.active[data-v-71ea20d2]{background-color:var(--color-background-hover)}.action--disabled[data-v-71ea20d2]{pointer-events:none;opacity:.5}.action--disabled[data-v-71ea20d2]:hover,.action--disabled[data-v-71ea20d2]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-71ea20d2]{opacity:1 !important}.action-button[data-v-71ea20d2]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;padding-right:14px;box-sizing:border-box;cursor:pointer;white-space:nowrap;opacity:.7;color:var(--color-main-text);border:0;border-radius:0;background-color:transparent;box-shadow:none;font-weight:normal;font-size:var(--default-font-size);line-height:44px}.action-button[data-v-71ea20d2]:hover,.action-button[data-v-71ea20d2]:focus{opacity:1}.action-button>span[data-v-71ea20d2]{cursor:pointer;white-space:nowrap}.action-button__icon[data-v-71ea20d2]{width:44px;height:44px;opacity:1;background-position:14px center;background-size:16px;background-repeat:no-repeat}.action-button[data-v-71ea20d2] .material-design-icon{width:44px;height:44px;opacity:1}.action-button[data-v-71ea20d2] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-button p[data-v-71ea20d2]{max-width:220px;line-height:1.6em;padding:10.8px 0;cursor:pointer;text-align:left;overflow:hidden;text-overflow:ellipsis}.action-button__longtext[data-v-71ea20d2]{cursor:pointer;white-space:pre-wrap}.action-button__title[data-v-71ea20d2]{font-weight:bold;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%;display:inline-block}\n","",{version:3,sources:["webpack://./../../assets/material-icons.css","webpack://./../../assets/action.scss","webpack://./../../assets/variables.scss"],names:[],mappings:"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CACvB,2BCiBE,8CAA+C,CAC/C,mCAMD,mBAAoB,CACpB,UCQmB,CDVpB,kFAIE,cAAe,CACf,UCKkB,CDVpB,qCAQE,oBAAqB,CACrB,gCAOD,YAAa,CACb,sBAAuB,CAEvB,UAAW,CACX,WAAY,CACZ,QAAS,CACT,SAAU,CACV,kBCtB8C,CDuB9C,qBAAsB,CAEtB,cAAe,CACf,kBAAmB,CAEnB,UClBiB,CDmBjB,4BAA6B,CAC7B,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,eAAgB,CAEhB,kBAAmB,CACnB,kCAAmC,CACnC,gBC7CmB,CDsBpB,4EA2BE,SC9Ba,CDGf,qCA+BE,cAAe,CACf,kBAAmB,CACnB,sCAGA,UC1DkB,CD2DlB,WC3DkB,CD4DlB,SCzCa,CD0Cb,+BAAwC,CACxC,oBC1Da,CD2Db,2BAA4B,CAzC9B,sDA6CE,UCnEkB,CDoElB,WCpEkB,CDqElB,SClDa,CDGf,iFAkDG,qBAAsB,CAlDzB,kCAwDE,eAAgB,CAChB,iBAAkB,CAGlB,gBAA8C,CAE9C,cAAe,CACf,eAAgB,CAGhB,eAAgB,CAChB,sBAAuB,CACvB,0CAGA,cAAe,CAEf,oBAAqB,CACrB,uCAGA,gBAAiB,CACjB,sBAAuB,CACvB,eAAgB,CAChB,kBAAmB,CACnB,cAAe,CACf,oBAAqB",sourcesContent:["/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n\tdisplay: flex;\n\talign-self: center;\n\tjustify-self: center;\n\talign-items: center;\n\tjustify-content: center;\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n * @author Marco Ambrosini <marcoambrosini@pm.me>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n@mixin action-active {\n\tli {\n\t\t&.active {\n\t\t\tbackground-color: var(--color-background-hover);\n\t\t}\n\t}\n}\n\n@mixin action--disabled {\n\t.action--disabled {\n\t\tpointer-events: none;\n\t\topacity: $opacity_disabled;\n\t\t&:hover, &:focus {\n\t\t\tcursor: default;\n\t\t\topacity: $opacity_disabled;\n\t\t}\n\t\t& * {\n\t\t\topacity: 1 !important;\n\t\t}\n\t}\n}\n\n\n@mixin action-item($name) {\n\t.action-#{$name} {\n\t\tdisplay: flex;\n\t\talign-items: flex-start;\n\n\t\twidth: 100%;\n\t\theight: auto;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\tpadding-right: $icon-margin;\n\t\tbox-sizing: border-box; // otherwise router-link overflows in Firefox\n\n\t\tcursor: pointer;\n\t\twhite-space: nowrap;\n\n\t\topacity: $opacity_normal;\n\t\tcolor: var(--color-main-text);\n\t\tborder: 0;\n\t\tborder-radius: 0; // otherwise Safari will cut the border-radius area\n\t\tbackground-color: transparent;\n\t\tbox-shadow: none;\n\n\t\tfont-weight: normal;\n\t\tfont-size: var(--default-font-size);\n\t\tline-height: $clickable-area;\n\n\t\t&:hover,\n\t\t&:focus {\n\t\t\topacity: $opacity_full;\n\t\t}\n\n\t\t& > span {\n\t\t\tcursor: pointer;\n\t\t\twhite-space: nowrap;\n\t\t}\n\n\t\t&__icon {\n\t\t\twidth: $clickable-area;\n\t\t\theight: $clickable-area;\n\t\t\topacity: $opacity_full;\n\t\t\tbackground-position: $icon-margin center;\n\t\t\tbackground-size: $icon-size;\n\t\t\tbackground-repeat: no-repeat;\n\t\t}\n\n\t\t&::v-deep .material-design-icon {\n\t\t\twidth: $clickable-area;\n\t\t\theight: $clickable-area;\n\t\t\topacity: $opacity_full;\n\n\t\t\t.material-design-icon__svg {\n\t\t\t\tvertical-align: middle;\n\t\t\t}\n\t\t}\n\n\t\t// long text area\n\t\tp {\n\t\t\tmax-width: 220px;\n\t\t\tline-height: 1.6em;\n\n\t\t\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\n\t\t\tpadding: #{($clickable-area - 1.6*14px) / 2} 0;\n\n\t\t\tcursor: pointer;\n\t\t\ttext-align: left;\n\n\t\t\t// in case there are no spaces like long email addresses\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t}\n\n\t\t&__longtext {\n\t\t\tcursor: pointer;\n\t\t\t// allow the use of `\\n`\n\t\t\twhite-space: pre-wrap;\n\t\t}\n\n\t\t&__title {\n\t\t\tfont-weight: bold;\n\t\t\ttext-overflow: ellipsis;\n\t\t\toverflow: hidden;\n\t\t\twhite-space: nowrap;\n\t\t\tmax-width: 100%;\n\t\t\tdisplay: inline-block;\n\t\t}\n\t}\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: ($clickable-area - $icon-size) / 2;\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n"],sourceRoot:""}]),e.a=a},function(t,e){},,,,,,function(t,e,n){"use strict";var r={name:"ActionButton",mixins:[n(31).a],props:{disabled:{type:Boolean,default:!1}},computed:{isFocusable:function(){return!this.disabled}}},o=n(2),i=n.n(o),a=n(62),s={insert:"head",singleton:!1},l=(i()(a.a,s),a.a.locals,n(3)),u=n(63),c=n.n(u),p=Object(l.a)(r,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("li",{staticClass:"action",class:{"action--disabled":t.disabled}},[n("button",{staticClass:"action-button",class:{focusable:t.isFocusable},attrs:{"aria-label":t.ariaLabel,type:"button"},on:{click:t.onClick}},[t._t("icon",[n("span",{staticClass:"action-button__icon",class:[t.isIconUrl?"action-button__icon--url":t.icon],style:{backgroundImage:t.isIconUrl?"url("+t.icon+")":null}})]),t._v(" "),t.title?n("p",[n("strong",{staticClass:"action-button__title"},[t._v("\n\t\t\t\t"+t._s(t.title)+"\n\t\t\t")]),t._v(" "),n("br"),t._v(" "),n("span",{staticClass:"action-button__longtext",domProps:{textContent:t._s(t.text)}})]):t.isLongText?n("p",{staticClass:"action-button__longtext",domProps:{textContent:t._s(t.text)}}):n("span",{staticClass:"action-button__text"},[t._v(t._s(t.text))]),t._v(" "),t._e()],2)])}),[],!1,null,"71ea20d2",null);"function"==typeof c.a&&c()(p),e.a=p.exports},,,function(t,e){t.exports=n(8039)},,,function(t,e){t.exports=n(1567)},,,,function(t,e){t.exports=n(840)},function(t,e,n){"use strict";n.r(e);var r=n(69);e.default=r.a},,,,,,,,,,,,,function(t,e,n){"use strict";var r=n(0),o=n.n(r),i=n(1),a=n.n(i)()(o.a);a.push([t.i,".material-design-icon[data-v-3e8e4882]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.modal-mask[data-v-3e8e4882]{position:fixed;z-index:9998;top:0;left:0;display:block;width:100%;height:100%;background-color:rgba(0,0,0,0.5)}.modal-mask--dark[data-v-3e8e4882]{background-color:rgba(0,0,0,0.92)}.modal-header[data-v-3e8e4882]{position:absolute;z-index:10001;top:0;right:0;left:0;display:flex !important;align-items:center;justify-content:center;width:100%;height:50px;transition:opacity 250ms, visibility 250ms}.modal-header.invisible[style*='display:none'][data-v-3e8e4882],.modal-header.invisible[style*='display: none'][data-v-3e8e4882]{visibility:hidden}.modal-header .modal-title[data-v-3e8e4882]{overflow-x:hidden;box-sizing:border-box;width:100%;padding:0 132px 0 12px;transition:padding ease 100ms;white-space:nowrap;text-overflow:ellipsis;color:#fff;font-size:14px}@media only screen and (min-width: 512px){.modal-header .modal-title[data-v-3e8e4882]{padding-left:132px;text-align:center}}.modal-header .icons-menu[data-v-3e8e4882]{position:absolute;right:0;display:flex;align-items:center;justify-content:flex-end}.modal-header .icons-menu .header-close[data-v-3e8e4882]{display:flex;align-items:center;justify-content:center;box-sizing:border-box;margin:3px;padding:0}.modal-header .icons-menu .play-pause-icons[data-v-3e8e4882]{position:relative;width:50px;height:50px;margin:0;padding:0;cursor:pointer;border:none;background-color:transparent}.modal-header .icons-menu .play-pause-icons:hover .play-pause-icons__play[data-v-3e8e4882],.modal-header .icons-menu .play-pause-icons:hover .play-pause-icons__pause[data-v-3e8e4882],.modal-header .icons-menu .play-pause-icons:focus .play-pause-icons__play[data-v-3e8e4882],.modal-header .icons-menu .play-pause-icons:focus .play-pause-icons__pause[data-v-3e8e4882]{opacity:1;border-radius:22px;background-color:rgba(127,127,127,0.25)}.modal-header .icons-menu .play-pause-icons__play[data-v-3e8e4882],.modal-header .icons-menu .play-pause-icons__pause[data-v-3e8e4882]{box-sizing:border-box;width:44px;height:44px;margin:3px;cursor:pointer;opacity:.7}.modal-header .icons-menu .header-actions[data-v-3e8e4882]{margin:3px;color:white}.modal-header .icons-menu .action-item--single[data-v-3e8e4882]{box-sizing:border-box;width:44px;height:44px;cursor:pointer;background-position:center;background-size:22px}.modal-header .icons-menu[data-v-3e8e4882] button{color:#fff}.modal-header .icons-menu[data-v-3e8e4882] .action-item__menutoggle{padding:0}.modal-header .icons-menu[data-v-3e8e4882] .action-item__menutoggle span,.modal-header .icons-menu[data-v-3e8e4882] .action-item__menutoggle svg{width:var(--icon-size);height:var(--icon-size)}.modal-wrapper[data-v-3e8e4882]{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;height:100%}.modal-wrapper .prev[data-v-3e8e4882],.modal-wrapper .next[data-v-3e8e4882]{z-index:10000;display:flex !important;align-items:center;justify-content:center;width:8%;min-width:44px;height:35vw;position:absolute;transition:opacity 250ms, visibility 250ms}.modal-wrapper .prev.invisible[style*='display:none'][data-v-3e8e4882],.modal-wrapper .prev.invisible[style*='display: none'][data-v-3e8e4882],.modal-wrapper .next.invisible[style*='display:none'][data-v-3e8e4882],.modal-wrapper .next.invisible[style*='display: none'][data-v-3e8e4882]{visibility:hidden}.modal-wrapper .prev[data-v-3e8e4882]{left:0}.modal-wrapper .next[data-v-3e8e4882]{right:0}.modal-wrapper .icon-next[data-v-3e8e4882],.modal-wrapper .icon-previous[data-v-3e8e4882]{box-sizing:border-box;width:44px;height:44px;color:white;background-image:none;display:flex}.modal-wrapper .modal-container[data-v-3e8e4882]{display:block;overflow:auto;padding:0;transition:transform 300ms ease;border-radius:var(--border-radius-large);background-color:var(--color-main-background);box-shadow:0 0 40px rgba(0,0,0,0.2)}.modal-wrapper--small .modal-container[data-v-3e8e4882]{width:330px;max-height:90%}.modal-wrapper--normal .modal-container[data-v-3e8e4882]{max-width:90%;width:600px;max-height:90%;height:600px}.modal-wrapper--large .modal-container[data-v-3e8e4882]{max-width:90%;width:900px;max-height:90%;height:700px}.modal-wrapper--full .modal-container[data-v-3e8e4882]{width:100%;height:calc(100% - var(--header-height));position:absolute;top:50px;border-radius:0}@media only screen and (max-width: 512px){.modal-wrapper:not(.modal-wrapper--small) .modal-container[data-v-3e8e4882]{max-width:initial;width:100%;max-height:initial;height:calc(100% - var(--header-height));position:absolute;top:50px;border-radius:0}}.fade-enter-active[data-v-3e8e4882],.fade-leave-active[data-v-3e8e4882]{transition:opacity 250ms}.fade-enter[data-v-3e8e4882],.fade-leave-to[data-v-3e8e4882]{opacity:0}.fade-visibility-enter[data-v-3e8e4882],.fade-visibility-leave-to[data-v-3e8e4882]{visibility:hidden;opacity:0}.modal-in-enter-active[data-v-3e8e4882],.modal-in-leave-active[data-v-3e8e4882],.modal-out-enter-active[data-v-3e8e4882],.modal-out-leave-active[data-v-3e8e4882]{transition:opacity 250ms}.modal-in-enter[data-v-3e8e4882],.modal-in-leave-to[data-v-3e8e4882],.modal-out-enter[data-v-3e8e4882],.modal-out-leave-to[data-v-3e8e4882]{opacity:0}.modal-in-enter .modal-container[data-v-3e8e4882],.modal-in-leave-to .modal-container[data-v-3e8e4882]{transform:scale(0.9)}.modal-out-enter .modal-container[data-v-3e8e4882],.modal-out-leave-to .modal-container[data-v-3e8e4882]{transform:scale(1.1)}.modal-mask .play-pause-icons .progress-ring[data-v-3e8e4882]{position:absolute;top:0;left:0;transform:rotate(-90deg)}.modal-mask .play-pause-icons .progress-ring .progress-ring__circle[data-v-3e8e4882]{transition:100ms stroke-dashoffset;transform-origin:50% 50%;animation:progressring-data-v-3e8e4882 linear var(--slideshow-duration) infinite;stroke-linecap:round;stroke-dashoffset:94.24778;stroke-dasharray:94.24778}.modal-mask .play-pause-icons--paused .icon-pause[data-v-3e8e4882]{animation:breath-data-v-3e8e4882 2s cubic-bezier(0.4, 0, 0.2, 1) infinite}.modal-mask .play-pause-icons--paused .progress-ring__circle[data-v-3e8e4882]{animation-play-state:paused !important}@keyframes progressring-data-v-3e8e4882{from{stroke-dashoffset:94.24778}to{stroke-dashoffset:0}}@keyframes breath-data-v-3e8e4882{0%{opacity:1}50%{opacity:0}100%{opacity:1}}\n","",{version:3,sources:["webpack://./../../assets/material-icons.css","webpack://./Modal.vue","webpack://./../../assets/variables.scss"],names:[],mappings:"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",sourcesContent:["/*\n* Ensure proper alignment of the vue material icons\n*/\n.material-design-icon {\n\tdisplay: flex;\n\talign-self: center;\n\tjustify-self: center;\n\talign-items: center;\n\tjustify-content: center;\n}\n","$scope_version:\"75cef38\"; @import 'variables'; @import 'material-icons';\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.modal-mask {\n\tposition: fixed;\n\tz-index: 9998;\n\ttop: 0;\n\tleft: 0;\n\tdisplay: block;\n\twidth: 100%;\n\theight: 100%;\n\tbackground-color: rgba(0, 0, 0, .5);\n\t&--dark {\n\t\tbackground-color: rgba(0, 0, 0, .92);\n\t}\n}\n\n.modal-header {\n\tposition: absolute;\n\tz-index: 10001;\n\ttop: 0;\n\tright: 0;\n\tleft: 0;\n\t// prevent vue show to use display:none and reseting\n\t// the circle animation loop\n\tdisplay: flex !important;\n\talign-items: center;\n\tjustify-content: center;\n\twidth: 100%;\n\theight: $header-height;\n\ttransition: opacity 250ms,\n\t\tvisibility 250ms;\n\n\t// replace display by visibility\n\t&.invisible[style*='display:none'],\n\t&.invisible[style*='display: none'] {\n\t\tvisibility: hidden;\n\t}\n\n\t.modal-title {\n\t\toverflow-x: hidden;\n\t\tbox-sizing: border-box;\n\t\twidth: 100%;\n\t\tpadding: 0 #{$clickable-area * 3} 0 12px; // maximum actions is 3\n\t\ttransition: padding ease 100ms;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\tcolor: #fff;\n\t\tfont-size: $icon-margin;\n\t}\n\n\t// On wider screens the title can be centered\n\t@media only screen and (min-width: $breakpoint-mobile/2) {\n\t\t.modal-title {\n\t\t\tpadding-left: #{$clickable-area * 3}; // maximum actions is 3\n\t\t\ttext-align: center;\n\t\t}\n\t}\n\n\t.icons-menu {\n\t\tposition: absolute;\n\t\tright: 0;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: flex-end;\n\n\t\t.header-close {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: center;\n\t\t\tbox-sizing: border-box;\n\t\t\tmargin: ($header-height - $clickable-area) / 2;\n\t\t\tpadding: 0;\n\t\t}\n\n\t\t.play-pause-icons {\n\t\t\tposition: relative;\n\t\t\twidth: $header-height;\n\t\t\theight: $header-height;\n\t\t\tmargin: 0;\n\t\t\tpadding: 0;\n\t\t\tcursor: pointer;\n\t\t\tborder: none;\n\t\t\tbackground-color: transparent;\n\t\t\t&:hover,\n\t\t\t&:focus {\n\t\t\t\t.play-pause-icons__play,\n\t\t\t\t.play-pause-icons__pause {\n\t\t\t\t\topacity: $opacity_full;\n\t\t\t\t\tborder-radius: $clickable-area / 2;\n\t\t\t\t\tbackground-color: $icon-focus-bg;\n\t\t\t\t}\n\t\t\t}\n\t\t\t&__play,\n\t\t\t&__pause {\n\t\t\t\tbox-sizing: border-box;\n\t\t\t\twidth: $clickable-area;\n\t\t\t\theight: $clickable-area;\n\t\t\t\tmargin: ($header-height - $clickable-area) / 2;\n\t\t\t\tcursor: pointer;\n\t\t\t\topacity: $opacity_normal;\n\t\t\t}\n\t\t}\n\n\t\t.header-actions {\n\t\t\tmargin: ($header-height - $clickable-area) / 2;\n\t\t\tcolor: white;\n\t\t}\n\n\t\t.action-item--single {\n\t\t\tbox-sizing: border-box;\n\t\t\twidth: $clickable-area;\n\t\t\theight: $clickable-area;\n\t\t\tcursor: pointer;\n\t\t\tbackground-position: center;\n\t\t\tbackground-size: 22px;\n\t\t}\n\n\t\t::v-deep button {\n\t\t\t// force white instead of default main text\n\t\t\tcolor: #fff;\n\t\t}\n\n\t\t// Force the Actions menu icon to be the same size as other icons\n\t\t&::v-deep .action-item__menutoggle {\n\t\t\tpadding: 0;\n\t\t\tspan, svg {\n\t\t\t\twidth: var(--icon-size);\n\t\t\t\theight: var(--icon-size);\n\t\t\t}\n\t\t}\n\t}\n}\n\n.modal-wrapper {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tbox-sizing: border-box;\n\twidth: 100%;\n\theight: 100%;\n\n\t/* Navigation buttons */\n\t.prev,\n\t.next {\n\t\tz-index: 10000;\n\t\t// ignore display: none\n\t\tdisplay: flex !important;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\twidth: 8%;\n\t\tmin-width: $clickable-area;\n\t\theight: 35vw;\n\t\tposition: absolute;\n\t\ttransition: opacity 250ms,\n\t\t\tvisibility 250ms;\n\n\t\t// we want to keep the elements on page\n\t\t// even if hidden to avoid having a unbalanced\n\t\t// centered content\n\t\t// replace display by visibility\n\t\t&.invisible[style*='display:none'],\n\t\t&.invisible[style*='display: none'] {\n\t\t\tvisibility: hidden;\n\t\t}\n\t}\n\t.prev {\n\t\tleft: 0;\n\t}\n\t.next {\n\t\tright: 0;\n\t}\n\n\t// buttons/icons\n\t.icon-next,\n\t.icon-previous {\n\t\tbox-sizing: border-box;\n\t\twidth: $clickable-area;\n\t\theight: $clickable-area;\n\t\tcolor: white;\n\t\tbackground-image: none;\n\t\tdisplay: flex;\n\t}\n\n\t/* Content */\n\t.modal-container {\n\t\tdisplay: block;\n\t\toverflow: auto; // avoids unecessary hacks if the content should be bigger than the modal\n\t\tpadding: 0;\n\t\ttransition: transform 300ms ease;\n\t\tborder-radius: var(--border-radius-large);\n\t\tbackground-color: var(--color-main-background);\n\t\tbox-shadow: 0 0 40px rgba(0, 0, 0, .2);\n\t}\n\n\t// Sizing\n\t&--small {\n\t\t.modal-container {\n\t\t\twidth: 330px;\n\t\t\tmax-height: 90%;\n\t\t}\n\t}\n\t&--normal {\n\t\t.modal-container {\n\t\t\tmax-width: 90%;\n\t\t\twidth: 600px;\n\t\t\tmax-height: 90%;\n\t\t\theight: 600px;\n\t\t}\n\t}\n\t&--large {\n\t\t.modal-container {\n\t\t\tmax-width: 90%;\n\t\t\twidth: 900px;\n\t\t\tmax-height: 90%;\n\t\t\theight: 700px;\n\t\t}\n\t}\n\t&--full {\n\t\t.modal-container {\n\t\t\twidth: 100%;\n\t\t\theight: calc(100% - var(--header-height));\n\t\t\tposition: absolute;\n\t\t\ttop: $header-height;\n\t\t\tborder-radius: 0;\n\t\t}\n\t}\n\n\t// Make modal full screen on mobile\n\t@media only screen and (max-width: $breakpoint-mobile/2) {\n\t\t&:not(&--small) .modal-container {\n\t\t\tmax-width: initial;\n\t\t\twidth: 100%;\n\t\t\tmax-height: initial;\n\t\t\theight: calc(100% - var(--header-height));\n\t\t\tposition: absolute;\n\t\t\ttop: $header-height;\n\t\t\tborder-radius: 0;\n\t\t}\n\t}\n}\n\n/* TRANSITIONS */\n.fade-enter-active,\n.fade-leave-active {\n\ttransition: opacity 250ms;\n}\n\n.fade-enter,\n.fade-leave-to {\n\topacity: 0;\n}\n\n.fade-visibility-enter,\n.fade-visibility-leave-to {\n\tvisibility: hidden;\n\topacity: 0;\n}\n\n.modal-in-enter-active,\n.modal-in-leave-active,\n.modal-out-enter-active,\n.modal-out-leave-active {\n\ttransition: opacity 250ms;\n}\n\n.modal-in-enter,\n.modal-in-leave-to,\n.modal-out-enter,\n.modal-out-leave-to {\n\topacity: 0;\n}\n\n.modal-in-enter .modal-container,\n.modal-in-leave-to .modal-container {\n\ttransform: scale(.9);\n}\n\n.modal-out-enter .modal-container,\n.modal-out-leave-to .modal-container {\n\ttransform: scale(1.1);\n}\n\n// animated circle\n$radius: 15;\n$pi: 3.14159265358979;\n\n.modal-mask .play-pause-icons {\n\t.progress-ring {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\ttransform: rotate(-90deg);\n\t\t.progress-ring__circle {\n\t\t\ttransition: 100ms stroke-dashoffset;\n\t\t\ttransform-origin: 50% 50%; // axis compensation\n\t\t\tanimation: progressring linear var(--slideshow-duration) infinite;\n\n\t\t\tstroke-linecap: round;\n\t\t\tstroke-dashoffset: $radius * 2 * $pi; // radius * 2 * PI\n\t\t\tstroke-dasharray: $radius * 2 * $pi; // radius * 2 * PI\n\t\t}\n\t}\n\t&--paused {\n\t\t.icon-pause {\n\t\t\tanimation: breath 2s cubic-bezier(.4, 0, .2, 1) infinite;\n\t\t}\n\t\t.progress-ring__circle {\n\t\t\tanimation-play-state: paused !important;\n\t\t}\n\t}\n}\n\n// keyframes get scoped too and break the animation name, we need them unscoped\n@keyframes progressring {\n\tfrom {\n\t\tstroke-dashoffset: $radius * 2 * $pi; // radius * 2 * PI\n\t}\n\tto {\n\t\tstroke-dashoffset: 0;\n\t}\n}\n\n@keyframes breath {\n\t0% {\n\t\topacity: 1;\n\t}\n\t50% {\n\t\topacity: 0;\n\t}\n\t100% {\n\t\topacity: 1;\n\t}\n}\n\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\n// recommended is 48px\n// 44px is what we choose and have very good visual-to-usability ratio\n$clickable-area: 44px;\n\n// background icon size\n// also used for the scss icon font\n$icon-size: 16px;\n\n// icon padding for a $clickable-area width and a $icon-size icon\n// ( 44px - 16px ) / 2\n$icon-margin: ($clickable-area - $icon-size) / 2;\n\n// transparency background for icons\n$icon-focus-bg: rgba(127, 127, 127, .25);\n\n// popovermenu arrow width from the triangle center\n$arrow-width: 9px;\n\n// opacities\n$opacity_disabled: .5;\n$opacity_normal: .7;\n$opacity_full: 1;\n\n// menu round background hover feedback\n// good looking on dark AND white bg\n$action-background-hover: rgba(127, 127, 127, .25);\n\n// various structure data used in the \n// `AppNavigation` component\n$header-height: 50px;\n$navigation-width: 300px;\n\n// mobile breakpoint\n$breakpoint-mobile: 1024px;\n"],sourceRoot:""}]),e.a=a},function(t,e){},,,,,,,,,,,,,,function(t,e,n){"use strict";n.r(e);var r=n(59),o=n(79),i=n.n(o),a=n(125),s=n.n(a),l=n(75),u=n.n(l),c=n(72),p=n.n(c),f=n(126),d=n.n(f),h=n(127),m=n.n(h),v=n(53),g=n(80),y=n(26),A=n(4),b=n(10);function C(t,e){var n,r,o,i=e;this.start=function(){o=!0,r=new Date,n=setTimeout(t,i)},this.pause=function(){o=!1,clearTimeout(n),i-=new Date-r},this.clear=function(){o=!1,clearTimeout(n),i=0},this.getTimeLeft=function(){return o&&(this.pause(),this.start()),i},this.getStateRunning=function(){return o},this.start()}var w={name:"Modal",components:{ActionButton:g.default,Actions:v.default,ChevronLeft:s.a,ChevronRight:u.a,Close:p.a,Pause:d.a,Play:m.a},directives:{tooltip:b.default},mixins:[y.a],props:{title:{type:String,default:""},hasPrevious:{type:Boolean,default:!1},hasNext:{type:Boolean,default:!1},outTransition:{type:Boolean,default:!1},enableSlideshow:{type:Boolean,default:!1},clearViewDelay:{type:Number,default:5e3},slideshowDelay:{type:Number,default:5e3},slideshowPaused:{type:Boolean,default:!1},enableSwipe:{type:Boolean,default:!0},spreadNavigation:{type:Boolean,default:!1},size:{type:String,default:"normal",validator:function(t){return["small","normal","large","full"].includes(t)}},canClose:{type:Boolean,default:!0},dark:{type:Boolean,default:!1},container:{type:String,default:"body"}},data:function(){return{mc:null,showModal:!1,clearView:!1,clearViewTimeout:null,playing:!1,slideshowTimeout:null,iconSize:24}},computed:{modalTransitionName:function(){return"modal-".concat(this.outTransition?"out":"in")},playPauseTitle:function(){return this.playing?Object(A.b)("Pause slideshow"):Object(A.b)("Start slideshow")},cssVariables:function(){return{"--slideshow-duration":this.slideshowDelay+"ms","--icon-size":this.iconSize+"px"}}},watch:{slideshowPaused:function(t){this.slideshowTimeout&&(t?this.slideshowTimeout.pause():this.slideshowTimeout.start())}},beforeMount:function(){window.addEventListener("keydown",this.handleKeydown)},beforeDestroy:function(){window.removeEventListener("keydown",this.handleKeydown),this.mc.off("swipeleft swiperight"),this.mc.destroy()},mounted:function(){var t=this;this.showModal=!0,this.handleMouseMove(),this.mc=new i.a(this.$refs.mask),this.mc.on("swipeleft swiperight",(function(e){t.handleSwipe(e)})),"body"===this.container?document.body.insertBefore(this.$el,document.body.lastChild):document.querySelector(this.container).appendChild(this.$el)},destroyed:function(){this.$el.remove()},methods:{previous:function(t){this.hasPrevious&&(t&&this.resetSlideshow(),this.$emit("previous",t))},next:function(t){this.hasNext&&(t&&this.resetSlideshow(),this.$emit("next",t))},close:function(t){var e=this;this.canClose&&(this.showModal=!1,setTimeout((function(){e.$emit("close",t)}),300))},handleKeydown:function(t){switch(t.keyCode){case 37:this.previous(t);break;case 13:case 39:this.next(t);break;case 27:this.close(t)}},handleSwipe:function(t){this.enableSwipe&&("swipeleft"===t.type?this.next(t):"swiperight"===t.type&&this.previous(t))},handleMouseMove:function(){var t=this;this.clearViewDelay>0&&(this.clearView=!1,clearTimeout(this.clearViewTimeout),this.clearViewTimeout=setTimeout((function(){t.clearView=!0}),this.clearViewDelay))},togglePlayPause:function(){this.playing=!this.playing,this.playing?this.handleSlideshow():this.clearSlideshowTimeout()},resetSlideshow:function(){this.playing=!this.playing,this.clearSlideshowTimeout(),this.$nextTick((function(){this.togglePlayPause()}))},handleSlideshow:function(){var t=this;this.playing=!0,this.hasNext?this.slideshowTimeout=new C((function(){t.next(),t.handleSlideshow()}),this.slideshowDelay):(this.playing=!1,this.clearSlideshowTimeout())},clearSlideshowTimeout:function(){this.slideshowTimeout&&this.slideshowTimeout.clear()}}},x=n(2),_=n.n(x),S=n(93),k={insert:"head",singleton:!1},E=(_()(S.a,k),S.a.locals,n(3)),O=n(94),j=n.n(O),T=Object(E.a)(w,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("transition",{attrs:{name:"fade"}},[n("div",{ref:"mask",staticClass:"modal-mask",class:{"modal-mask--dark":t.dark},style:t.cssVariables,on:{click:t.handleMouseMove,mousemove:t.handleMouseMove,touchmove:t.handleMouseMove}},[n("transition",{attrs:{name:"fade-visibility"}},[n("div",{directives:[{name:"show",rawName:"v-show",value:!t.clearView,expression:"!clearView"}],staticClass:"modal-header",class:{invisible:t.clearView}},[""!==t.title.trim()?n("div",{staticClass:"modal-title"},[t._v("\n\t\t\t\t\t"+t._s(t.title)+"\n\t\t\t\t")]):t._e(),t._v(" "),n("div",{staticClass:"icons-menu"},[t.hasNext&&t.enableSlideshow?n("button",{directives:[{name:"tooltip",rawName:"v-tooltip.auto",value:t.playPauseTitle,expression:"playPauseTitle",modifiers:{auto:!0}}],staticClass:"play-pause-icons",class:{"play-pause-icons--paused":t.slideshowPaused},attrs:{type:"button"},on:{click:t.togglePlayPause}},[t.playing?n("Pause",{staticClass:"play-pause-icons__pause",attrs:{size:t.iconSize,title:"",decorative:""}}):n("Play",{staticClass:"play-pause-icons__play",attrs:{size:t.iconSize,title:"",decorative:""}}),t._v(" "),n("span",{staticClass:"hidden-visually"},[t._v("\n\t\t\t\t\t\t\t"+t._s(t.playPauseTitle)+"\n\t\t\t\t\t\t")]),t._v(" "),t.playing?n("svg",{staticClass:"progress-ring",attrs:{height:"50",width:"50"}},[n("circle",{staticClass:"progress-ring__circle",attrs:{stroke:"white","stroke-width":"2",fill:"transparent",r:"15",cx:"25",cy:"25"}})]):t._e()],1):t._e(),t._v(" "),n("Actions",{staticClass:"header-actions"},[t._t("actions")],2),t._v(" "),t.canClose?n("Actions",{staticClass:"header-close"},[n("ActionButton",{on:{click:t.close},scopedSlots:t._u([{key:"icon",fn:function(){return[n("Close",{attrs:{size:t.iconSize,title:"",decorative:""}})]},proxy:!0}],null,!1,1372351874)},[t._v("\n\t\t\t\t\t\t\t"+t._s(t.t("Close"))+"\n\t\t\t\t\t\t")])],1):t._e()],1)])]),t._v(" "),n("transition",{attrs:{name:t.modalTransitionName}},[n("div",{directives:[{name:"show",rawName:"v-show",value:t.showModal,expression:"showModal"}],staticClass:"modal-wrapper",class:["modal-wrapper--"+t.size,t.spreadNavigation?"modal-wrapper--spread-navigation":""],on:{mousedown:function(e){return e.target!==e.currentTarget?null:t.close(e)}}},[n("transition",{attrs:{name:"fade-visibility"}},[n("a",{directives:[{name:"show",rawName:"v-show",value:t.hasPrevious&&!t.clearView,expression:"hasPrevious && !clearView"}],staticClass:"prev",class:{invisible:t.clearView||!t.hasPrevious},attrs:{href:"#"},on:{click:function(e){return e.preventDefault(),e.stopPropagation(),t.previous(e)}}},[n("span",{staticClass:"icon-previous"},[n("ChevronLeft",{attrs:{size:40,title:"",decorative:""}}),t._v(" "),n("span",{staticClass:"hidden-visually"},[t._v("\n\t\t\t\t\t\t\t\t"+t._s(t.t("Previous"))+"\n\t\t\t\t\t\t\t")])],1)])]),t._v(" "),n("div",{staticClass:"modal-container"},[t._t("default")],2),t._v(" "),n("transition",{attrs:{name:"fade-visibility"}},[n("a",{directives:[{name:"show",rawName:"v-show",value:t.hasNext&&!t.clearView,expression:"hasNext && !clearView"}],staticClass:"next",class:{invisible:t.clearView||!t.hasNext},attrs:{href:"#"},on:{click:function(e){return e.preventDefault(),e.stopPropagation(),t.next(e)}}},[n("span",{staticClass:"icon-next"},[n("ChevronRight",{attrs:{size:40,title:"",decorative:""}}),t._v(" "),n("span",{staticClass:"hidden-visually"},[t._v("\n\t\t\t\t\t\t\t\t"+t._s(t.t("Next"))+"\n\t\t\t\t\t\t\t")])],1)])])],1)])],1)])}),[],!1,null,"3e8e4882",null);"function"==typeof j.a&&j()(T);var B=T.exports;Object(r.a)(B),e.default=B},,,,,,,,,,,,,,,,,function(t,e){t.exports=n(1889)},function(t,e){t.exports=n(3817)},function(t,e){t.exports=n(1170)}])},6314:(t,e,n)=>{"use strict";var r=["BigInt64Array","BigUint64Array","Float32Array","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Uint8Array","Uint8ClampedArray"],o="undefined"==typeof globalThis?n.g:globalThis;t.exports=function(){for(var t=[],e=0;e<r.length;e++)"function"==typeof o[r[e]]&&(t[t.length]=r[e]);return t}},9669:(t,e,n)=>{t.exports=n(1609)},5448:(t,e,n)=>{"use strict";var r=n(4867),o=n(6026),i=n(4372),a=n(5327),s=n(4097),l=n(4109),u=n(7985),c=n(5061),p=n(5655),f=n(5263);t.exports=function(t){return new Promise((function(e,n){var d,h=t.data,m=t.headers,v=t.responseType;function g(){t.cancelToken&&t.cancelToken.unsubscribe(d),t.signal&&t.signal.removeEventListener("abort",d)}r.isFormData(h)&&delete m["Content-Type"];var y=new XMLHttpRequest;if(t.auth){var A=t.auth.username||"",b=t.auth.password?unescape(encodeURIComponent(t.auth.password)):"";m.Authorization="Basic "+btoa(A+":"+b)}var C=s(t.baseURL,t.url);function w(){if(y){var r="getAllResponseHeaders"in y?l(y.getAllResponseHeaders()):null,i={data:v&&"text"!==v&&"json"!==v?y.response:y.responseText,status:y.status,statusText:y.statusText,headers:r,config:t,request:y};o((function(t){e(t),g()}),(function(t){n(t),g()}),i),y=null}}if(y.open(t.method.toUpperCase(),a(C,t.params,t.paramsSerializer),!0),y.timeout=t.timeout,"onloadend"in y?y.onloadend=w:y.onreadystatechange=function(){y&&4===y.readyState&&(0!==y.status||y.responseURL&&0===y.responseURL.indexOf("file:"))&&setTimeout(w)},y.onabort=function(){y&&(n(c("Request aborted",t,"ECONNABORTED",y)),y=null)},y.onerror=function(){n(c("Network Error",t,null,y)),y=null},y.ontimeout=function(){var e=t.timeout?"timeout of "+t.timeout+"ms exceeded":"timeout exceeded",r=t.transitional||p.transitional;t.timeoutErrorMessage&&(e=t.timeoutErrorMessage),n(c(e,t,r.clarifyTimeoutError?"ETIMEDOUT":"ECONNABORTED",y)),y=null},r.isStandardBrowserEnv()){var x=(t.withCredentials||u(C))&&t.xsrfCookieName?i.read(t.xsrfCookieName):void 0;x&&(m[t.xsrfHeaderName]=x)}"setRequestHeader"in y&&r.forEach(m,(function(t,e){void 0===h&&"content-type"===e.toLowerCase()?delete m[e]:y.setRequestHeader(e,t)})),r.isUndefined(t.withCredentials)||(y.withCredentials=!!t.withCredentials),v&&"json"!==v&&(y.responseType=t.responseType),"function"==typeof t.onDownloadProgress&&y.addEventListener("progress",t.onDownloadProgress),"function"==typeof t.onUploadProgress&&y.upload&&y.upload.addEventListener("progress",t.onUploadProgress),(t.cancelToken||t.signal)&&(d=function(t){y&&(n(!t||t&&t.type?new f("canceled"):t),y.abort(),y=null)},t.cancelToken&&t.cancelToken.subscribe(d),t.signal&&(t.signal.aborted?d():t.signal.addEventListener("abort",d))),h||(h=null),y.send(h)}))}},1609:(t,e,n)=>{"use strict";var r=n(4867),o=n(1849),i=n(321),a=n(7185);var s=function t(e){var n=new i(e),s=o(i.prototype.request,n);return r.extend(s,i.prototype,n),r.extend(s,n),s.create=function(n){return t(a(e,n))},s}(n(5655));s.Axios=i,s.Cancel=n(5263),s.CancelToken=n(4972),s.isCancel=n(6502),s.VERSION=n(7288).version,s.all=function(t){return Promise.all(t)},s.spread=n(8713),s.isAxiosError=n(6268),t.exports=s,t.exports.default=s},5263:t=>{"use strict";function e(t){this.message=t}e.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},e.prototype.__CANCEL__=!0,t.exports=e},4972:(t,e,n)=>{"use strict";var r=n(5263);function o(t){if("function"!=typeof t)throw new TypeError("executor must be a function.");var e;this.promise=new Promise((function(t){e=t}));var n=this;this.promise.then((function(t){if(n._listeners){var e,r=n._listeners.length;for(e=0;e<r;e++)n._listeners[e](t);n._listeners=null}})),this.promise.then=function(t){var e,r=new Promise((function(t){n.subscribe(t),e=t})).then(t);return r.cancel=function(){n.unsubscribe(e)},r},t((function(t){n.reason||(n.reason=new r(t),e(n.reason))}))}o.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},o.prototype.subscribe=function(t){this.reason?t(this.reason):this._listeners?this._listeners.push(t):this._listeners=[t]},o.prototype.unsubscribe=function(t){if(this._listeners){var e=this._listeners.indexOf(t);-1!==e&&this._listeners.splice(e,1)}},o.source=function(){var t;return{token:new o((function(e){t=e})),cancel:t}},t.exports=o},6502:t=>{"use strict";t.exports=function(t){return!(!t||!t.__CANCEL__)}},321:(t,e,n)=>{"use strict";var r=n(4867),o=n(5327),i=n(782),a=n(3572),s=n(7185),l=n(4875),u=l.validators;function c(t){this.defaults=t,this.interceptors={request:new i,response:new i}}c.prototype.request=function(t){"string"==typeof t?(t=arguments[1]||{}).url=arguments[0]:t=t||{},(t=s(this.defaults,t)).method?t.method=t.method.toLowerCase():this.defaults.method?t.method=this.defaults.method.toLowerCase():t.method="get";var e=t.transitional;void 0!==e&&l.assertOptions(e,{silentJSONParsing:u.transitional(u.boolean),forcedJSONParsing:u.transitional(u.boolean),clarifyTimeoutError:u.transitional(u.boolean)},!1);var n=[],r=!0;this.interceptors.request.forEach((function(e){"function"==typeof e.runWhen&&!1===e.runWhen(t)||(r=r&&e.synchronous,n.unshift(e.fulfilled,e.rejected))}));var o,i=[];if(this.interceptors.response.forEach((function(t){i.push(t.fulfilled,t.rejected)})),!r){var c=[a,void 0];for(Array.prototype.unshift.apply(c,n),c=c.concat(i),o=Promise.resolve(t);c.length;)o=o.then(c.shift(),c.shift());return o}for(var p=t;n.length;){var f=n.shift(),d=n.shift();try{p=f(p)}catch(t){d(t);break}}try{o=a(p)}catch(t){return Promise.reject(t)}for(;i.length;)o=o.then(i.shift(),i.shift());return o},c.prototype.getUri=function(t){return t=s(this.defaults,t),o(t.url,t.params,t.paramsSerializer).replace(/^\?/,"")},r.forEach(["delete","get","head","options"],(function(t){c.prototype[t]=function(e,n){return this.request(s(n||{},{method:t,url:e,data:(n||{}).data}))}})),r.forEach(["post","put","patch"],(function(t){c.prototype[t]=function(e,n,r){return this.request(s(r||{},{method:t,url:e,data:n}))}})),t.exports=c},782:(t,e,n)=>{"use strict";var r=n(4867);function o(){this.handlers=[]}o.prototype.use=function(t,e,n){return this.handlers.push({fulfilled:t,rejected:e,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1},o.prototype.eject=function(t){this.handlers[t]&&(this.handlers[t]=null)},o.prototype.forEach=function(t){r.forEach(this.handlers,(function(e){null!==e&&t(e)}))},t.exports=o},4097:(t,e,n)=>{"use strict";var r=n(1793),o=n(7303);t.exports=function(t,e){return t&&!r(e)?o(t,e):e}},5061:(t,e,n)=>{"use strict";var r=n(481);t.exports=function(t,e,n,o,i){var a=new Error(t);return r(a,e,n,o,i)}},3572:(t,e,n)=>{"use strict";var r=n(4867),o=n(8527),i=n(6502),a=n(5655),s=n(5263);function l(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new s("canceled")}t.exports=function(t){return l(t),t.headers=t.headers||{},t.data=o.call(t,t.data,t.headers,t.transformRequest),t.headers=r.merge(t.headers.common||{},t.headers[t.method]||{},t.headers),r.forEach(["delete","get","head","post","put","patch","common"],(function(e){delete t.headers[e]})),(t.adapter||a.adapter)(t).then((function(e){return l(t),e.data=o.call(t,e.data,e.headers,t.transformResponse),e}),(function(e){return i(e)||(l(t),e&&e.response&&(e.response.data=o.call(t,e.response.data,e.response.headers,t.transformResponse))),Promise.reject(e)}))}},481:t=>{"use strict";t.exports=function(t,e,n,r,o){return t.config=e,n&&(t.code=n),t.request=r,t.response=o,t.isAxiosError=!0,t.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code,status:this.response&&this.response.status?this.response.status:null}},t}},7185:(t,e,n)=>{"use strict";var r=n(4867);t.exports=function(t,e){e=e||{};var n={};function o(t,e){return r.isPlainObject(t)&&r.isPlainObject(e)?r.merge(t,e):r.isPlainObject(e)?r.merge({},e):r.isArray(e)?e.slice():e}function i(n){return r.isUndefined(e[n])?r.isUndefined(t[n])?void 0:o(void 0,t[n]):o(t[n],e[n])}function a(t){if(!r.isUndefined(e[t]))return o(void 0,e[t])}function s(n){return r.isUndefined(e[n])?r.isUndefined(t[n])?void 0:o(void 0,t[n]):o(void 0,e[n])}function l(n){return n in e?o(t[n],e[n]):n in t?o(void 0,t[n]):void 0}var u={url:a,method:a,data:a,baseURL:s,transformRequest:s,transformResponse:s,paramsSerializer:s,timeout:s,timeoutMessage:s,withCredentials:s,adapter:s,responseType:s,xsrfCookieName:s,xsrfHeaderName:s,onUploadProgress:s,onDownloadProgress:s,decompress:s,maxContentLength:s,maxBodyLength:s,transport:s,httpAgent:s,httpsAgent:s,cancelToken:s,socketPath:s,responseEncoding:s,validateStatus:l};return r.forEach(Object.keys(t).concat(Object.keys(e)),(function(t){var e=u[t]||i,o=e(t);r.isUndefined(o)&&e!==l||(n[t]=o)})),n}},6026:(t,e,n)=>{"use strict";var r=n(5061);t.exports=function(t,e,n){var o=n.config.validateStatus;n.status&&o&&!o(n.status)?e(r("Request failed with status code "+n.status,n.config,null,n.request,n)):t(n)}},8527:(t,e,n)=>{"use strict";var r=n(4867),o=n(5655);t.exports=function(t,e,n){var i=this||o;return r.forEach(n,(function(n){t=n.call(i,t,e)})),t}},5655:(t,e,n)=>{"use strict";var r=n(4155),o=n(4867),i=n(6016),a=n(481),s={"Content-Type":"application/x-www-form-urlencoded"};function l(t,e){!o.isUndefined(t)&&o.isUndefined(t["Content-Type"])&&(t["Content-Type"]=e)}var u,c={transitional:{silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},adapter:(("undefined"!=typeof XMLHttpRequest||void 0!==r&&"[object process]"===Object.prototype.toString.call(r))&&(u=n(5448)),u),transformRequest:[function(t,e){return i(e,"Accept"),i(e,"Content-Type"),o.isFormData(t)||o.isArrayBuffer(t)||o.isBuffer(t)||o.isStream(t)||o.isFile(t)||o.isBlob(t)?t:o.isArrayBufferView(t)?t.buffer:o.isURLSearchParams(t)?(l(e,"application/x-www-form-urlencoded;charset=utf-8"),t.toString()):o.isObject(t)||e&&"application/json"===e["Content-Type"]?(l(e,"application/json"),function(t,e,n){if(o.isString(t))try{return(e||JSON.parse)(t),o.trim(t)}catch(t){if("SyntaxError"!==t.name)throw t}return(n||JSON.stringify)(t)}(t)):t}],transformResponse:[function(t){var e=this.transitional||c.transitional,n=e&&e.silentJSONParsing,r=e&&e.forcedJSONParsing,i=!n&&"json"===this.responseType;if(i||r&&o.isString(t)&&t.length)try{return JSON.parse(t)}catch(t){if(i){if("SyntaxError"===t.name)throw a(t,this,"E_JSON_PARSE");throw t}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};o.forEach(["delete","get","head"],(function(t){c.headers[t]={}})),o.forEach(["post","put","patch"],(function(t){c.headers[t]=o.merge(s)})),t.exports=c},7288:t=>{t.exports={version:"0.24.0"}},1849:t=>{"use strict";t.exports=function(t,e){return function(){for(var n=new Array(arguments.length),r=0;r<n.length;r++)n[r]=arguments[r];return t.apply(e,n)}}},5327:(t,e,n)=>{"use strict";var r=n(4867);function o(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}t.exports=function(t,e,n){if(!e)return t;var i;if(n)i=n(e);else if(r.isURLSearchParams(e))i=e.toString();else{var a=[];r.forEach(e,(function(t,e){null!=t&&(r.isArray(t)?e+="[]":t=[t],r.forEach(t,(function(t){r.isDate(t)?t=t.toISOString():r.isObject(t)&&(t=JSON.stringify(t)),a.push(o(e)+"="+o(t))})))})),i=a.join("&")}if(i){var s=t.indexOf("#");-1!==s&&(t=t.slice(0,s)),t+=(-1===t.indexOf("?")?"?":"&")+i}return t}},7303:t=>{"use strict";t.exports=function(t,e){return e?t.replace(/\/+$/,"")+"/"+e.replace(/^\/+/,""):t}},4372:(t,e,n)=>{"use strict";var r=n(4867);t.exports=r.isStandardBrowserEnv()?{write:function(t,e,n,o,i,a){var s=[];s.push(t+"="+encodeURIComponent(e)),r.isNumber(n)&&s.push("expires="+new Date(n).toGMTString()),r.isString(o)&&s.push("path="+o),r.isString(i)&&s.push("domain="+i),!0===a&&s.push("secure"),document.cookie=s.join("; ")},read:function(t){var e=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove:function(t){this.write(t,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},1793:t=>{"use strict";t.exports=function(t){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(t)}},6268:t=>{"use strict";t.exports=function(t){return"object"==typeof t&&!0===t.isAxiosError}},7985:(t,e,n)=>{"use strict";var r=n(4867);t.exports=r.isStandardBrowserEnv()?function(){var t,e=/(msie|trident)/i.test(navigator.userAgent),n=document.createElement("a");function o(t){var r=t;return e&&(n.setAttribute("href",r),r=n.href),n.setAttribute("href",r),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:"/"===n.pathname.charAt(0)?n.pathname:"/"+n.pathname}}return t=o(window.location.href),function(e){var n=r.isString(e)?o(e):e;return n.protocol===t.protocol&&n.host===t.host}}():function(){return!0}},6016:(t,e,n)=>{"use strict";var r=n(4867);t.exports=function(t,e){r.forEach(t,(function(n,r){r!==e&&r.toUpperCase()===e.toUpperCase()&&(t[e]=n,delete t[r])}))}},4109:(t,e,n)=>{"use strict";var r=n(4867),o=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];t.exports=function(t){var e,n,i,a={};return t?(r.forEach(t.split("\n"),(function(t){if(i=t.indexOf(":"),e=r.trim(t.substr(0,i)).toLowerCase(),n=r.trim(t.substr(i+1)),e){if(a[e]&&o.indexOf(e)>=0)return;a[e]="set-cookie"===e?(a[e]?a[e]:[]).concat([n]):a[e]?a[e]+", "+n:n}})),a):a}},8713:t=>{"use strict";t.exports=function(t){return function(e){return t.apply(null,e)}}},4875:(t,e,n)=>{"use strict";var r=n(5108),o=n(7288).version,i={};["object","boolean","number","function","string","symbol"].forEach((function(t,e){i[t]=function(n){return typeof n===t||"a"+(e<1?"n ":" ")+t}}));var a={};i.transitional=function(t,e,n){function i(t,e){return"[Axios v"+o+"] Transitional option '"+t+"'"+e+(n?". "+n:"")}return function(n,o,s){if(!1===t)throw new Error(i(o," has been removed"+(e?" in "+e:"")));return e&&!a[o]&&(a[o]=!0,r.warn(i(o," has been deprecated since v"+e+" and will be removed in the near future"))),!t||t(n,o,s)}},t.exports={assertOptions:function(t,e,n){if("object"!=typeof t)throw new TypeError("options must be an object");for(var r=Object.keys(t),o=r.length;o-- >0;){var i=r[o],a=e[i];if(a){var s=t[i],l=void 0===s||a(s,i,t);if(!0!==l)throw new TypeError("option "+i+" must be "+l)}else if(!0!==n)throw Error("Unknown option "+i)}},validators:i}},4867:(t,e,n)=>{"use strict";var r=n(1849),o=Object.prototype.toString;function i(t){return"[object Array]"===o.call(t)}function a(t){return void 0===t}function s(t){return null!==t&&"object"==typeof t}function l(t){if("[object Object]"!==o.call(t))return!1;var e=Object.getPrototypeOf(t);return null===e||e===Object.prototype}function u(t){return"[object Function]"===o.call(t)}function c(t,e){if(null!=t)if("object"!=typeof t&&(t=[t]),i(t))for(var n=0,r=t.length;n<r;n++)e.call(null,t[n],n,t);else for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.call(null,t[o],o,t)}t.exports={isArray:i,isArrayBuffer:function(t){return"[object ArrayBuffer]"===o.call(t)},isBuffer:function(t){return null!==t&&!a(t)&&null!==t.constructor&&!a(t.constructor)&&"function"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)},isFormData:function(t){return"undefined"!=typeof FormData&&t instanceof FormData},isArrayBufferView:function(t){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(t):t&&t.buffer&&t.buffer instanceof ArrayBuffer},isString:function(t){return"string"==typeof t},isNumber:function(t){return"number"==typeof t},isObject:s,isPlainObject:l,isUndefined:a,isDate:function(t){return"[object Date]"===o.call(t)},isFile:function(t){return"[object File]"===o.call(t)},isBlob:function(t){return"[object Blob]"===o.call(t)},isFunction:u,isStream:function(t){return s(t)&&u(t.pipe)},isURLSearchParams:function(t){return"undefined"!=typeof URLSearchParams&&t instanceof URLSearchParams},isStandardBrowserEnv:function(){return("undefined"==typeof navigator||"ReactNative"!==navigator.product&&"NativeScript"!==navigator.product&&"NS"!==navigator.product)&&("undefined"!=typeof window&&"undefined"!=typeof document)},forEach:c,merge:function t(){var e={};function n(n,r){l(e[r])&&l(n)?e[r]=t(e[r],n):l(n)?e[r]=t({},n):i(n)?e[r]=n.slice():e[r]=n}for(var r=0,o=arguments.length;r<o;r++)c(arguments[r],n);return e},extend:function(t,e,n){return c(e,(function(e,o){t[o]=n&&"function"==typeof e?r(e,n):e})),t},trim:function(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")},stripBOM:function(t){return 65279===t.charCodeAt(0)&&(t=t.slice(1)),t}}},1924:(t,e,n)=>{"use strict";var r=n(210),o=n(5559),i=o(r("String.prototype.indexOf"));t.exports=function(t,e){var n=r(t,!!e);return"function"==typeof n&&i(t,".prototype.")>-1?o(n):n}},5559:(t,e,n)=>{"use strict";var r=n(8612),o=n(210),i=o("%Function.prototype.apply%"),a=o("%Function.prototype.call%"),s=o("%Reflect.apply%",!0)||r.call(a,i),l=o("%Object.getOwnPropertyDescriptor%",!0),u=o("%Object.defineProperty%",!0),c=o("%Math.max%");if(u)try{u({},"a",{value:1})}catch(t){u=null}t.exports=function(t){var e=s(r,a,arguments);if(l&&u){var n=l(e,"length");n.configurable&&u(e,"length",{value:1+c(0,t.length-(arguments.length-1))})}return e};var p=function(){return s(r,i,arguments)};u?u(t.exports,"apply",{value:p}):t.exports.apply=p},5108:(t,e,n)=>{var r=n(374),o=n(686);function i(){return(new Date).getTime()}var a,s=Array.prototype.slice,l={};a=void 0!==n.g&&n.g.console?n.g.console:"undefined"!=typeof window&&window.console?window.console:{};for(var u=[[function(){},"log"],[function(){a.log.apply(a,arguments)},"info"],[function(){a.log.apply(a,arguments)},"warn"],[function(){a.warn.apply(a,arguments)},"error"],[function(t){l[t]=i()},"time"],[function(t){var e=l[t];if(!e)throw new Error("No such label: "+t);delete l[t];var n=i()-e;a.log(t+": "+n+"ms")},"timeEnd"],[function(){var t=new Error;t.name="Trace",t.message=r.format.apply(null,arguments),a.error(t.stack)},"trace"],[function(t){a.log(r.inspect(t)+"\n")},"dir"],[function(t){if(!t){var e=s.call(arguments,1);o.ok(!1,r.format.apply(null,e))}},"assert"]],c=0;c<u.length;c++){var p=u[c],f=p[0],d=p[1];a[d]||(a[d]=f)}t.exports=a},3099:t=>{t.exports=function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return t}},6077:(t,e,n)=>{var r=n(111);t.exports=function(t){if(!r(t)&&null!==t)throw TypeError("Can't set "+String(t)+" as a prototype");return t}},1223:(t,e,n)=>{var r=n(5112),o=n(30),i=n(3070),a=r("unscopables"),s=Array.prototype;null==s[a]&&i.f(s,a,{configurable:!0,value:o(null)}),t.exports=function(t){s[a][t]=!0}},1530:(t,e,n)=>{"use strict";var r=n(8710).charAt;t.exports=function(t,e,n){return e+(n?r(t,e).length:1)}},5787:t=>{t.exports=function(t,e,n){if(!(t instanceof e))throw TypeError("Incorrect "+(n?n+" ":"")+"invocation");return t}},9670:(t,e,n)=>{var r=n(111);t.exports=function(t){if(!r(t))throw TypeError(String(t)+" is not an object");return t}},8533:(t,e,n)=>{"use strict";var r=n(2092).forEach,o=n(9341),i=n(9207),a=o("forEach"),s=i("forEach");t.exports=a&&s?[].forEach:function(t){return r(this,t,arguments.length>1?arguments[1]:void 0)}},1318:(t,e,n)=>{var r=n(5656),o=n(7466),i=n(1400),a=function(t){return function(e,n,a){var s,l=r(e),u=o(l.length),c=i(a,u);if(t&&n!=n){for(;u>c;)if((s=l[c++])!=s)return!0}else for(;u>c;c++)if((t||c in l)&&l[c]===n)return t||c||0;return!t&&-1}};t.exports={includes:a(!0),indexOf:a(!1)}},2092:(t,e,n)=>{var r=n(9974),o=n(8361),i=n(7908),a=n(7466),s=n(5417),l=[].push,u=function(t){var e=1==t,n=2==t,u=3==t,c=4==t,p=6==t,f=5==t||p;return function(d,h,m,v){for(var g,y,A=i(d),b=o(A),C=r(h,m,3),w=a(b.length),x=0,_=v||s,S=e?_(d,w):n?_(d,0):void 0;w>x;x++)if((f||x in b)&&(y=C(g=b[x],x,A),t))if(e)S[x]=y;else if(y)switch(t){case 3:return!0;case 5:return g;case 6:return x;case 2:l.call(S,g)}else if(c)return!1;return p?-1:u||c?c:S}};t.exports={forEach:u(0),map:u(1),filter:u(2),some:u(3),every:u(4),find:u(5),findIndex:u(6)}},1194:(t,e,n)=>{var r=n(7293),o=n(5112),i=n(7392),a=o("species");t.exports=function(t){return i>=51||!r((function(){var e=[];return(e.constructor={})[a]=function(){return{foo:1}},1!==e[t](Boolean).foo}))}},9341:(t,e,n)=>{"use strict";var r=n(7293);t.exports=function(t,e){var n=[][t];return!!n&&r((function(){n.call(null,e||function(){throw 1},1)}))}},9207:(t,e,n)=>{var r=n(9781),o=n(7293),i=n(6656),a=Object.defineProperty,s={},l=function(t){throw t};t.exports=function(t,e){if(i(s,t))return s[t];e||(e={});var n=[][t],u=!!i(e,"ACCESSORS")&&e.ACCESSORS,c=i(e,0)?e[0]:l,p=i(e,1)?e[1]:void 0;return s[t]=!!n&&!o((function(){if(u&&!r)return!0;var t={length:-1};u?a(t,1,{enumerable:!0,get:l}):t[1]=1,n.call(t,c,p)}))}},5417:(t,e,n)=>{var r=n(111),o=n(3157),i=n(5112)("species");t.exports=function(t,e){var n;return o(t)&&("function"!=typeof(n=t.constructor)||n!==Array&&!o(n.prototype)?r(n)&&null===(n=n[i])&&(n=void 0):n=void 0),new(void 0===n?Array:n)(0===e?0:e)}},3411:(t,e,n)=>{var r=n(9670);t.exports=function(t,e,n,o){try{return o?e(r(n)[0],n[1]):e(n)}catch(e){var i=t.return;throw void 0!==i&&r(i.call(t)),e}}},7072:(t,e,n)=>{var r=n(5112)("iterator"),o=!1;try{var i=0,a={next:function(){return{done:!!i++}},return:function(){o=!0}};a[r]=function(){return this},Array.from(a,(function(){throw 2}))}catch(t){}t.exports=function(t,e){if(!e&&!o)return!1;var n=!1;try{var i={};i[r]=function(){return{next:function(){return{done:n=!0}}}},t(i)}catch(t){}return n}},4326:t=>{var e={}.toString;t.exports=function(t){return e.call(t).slice(8,-1)}},648:(t,e,n)=>{var r=n(1694),o=n(4326),i=n(5112)("toStringTag"),a="Arguments"==o(function(){return arguments}());t.exports=r?o:function(t){var e,n,r;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=function(t,e){try{return t[e]}catch(t){}}(e=Object(t),i))?n:a?o(e):"Object"==(r=o(e))&&"function"==typeof e.callee?"Arguments":r}},5631:(t,e,n)=>{"use strict";var r=n(3070).f,o=n(30),i=n(2248),a=n(9974),s=n(5787),l=n(408),u=n(654),c=n(6340),p=n(9781),f=n(2423).fastKey,d=n(9909),h=d.set,m=d.getterFor;t.exports={getConstructor:function(t,e,n,u){var c=t((function(t,r){s(t,c,e),h(t,{type:e,index:o(null),first:void 0,last:void 0,size:0}),p||(t.size=0),null!=r&&l(r,t[u],t,n)})),d=m(e),v=function(t,e,n){var r,o,i=d(t),a=g(t,e);return a?a.value=n:(i.last=a={index:o=f(e,!0),key:e,value:n,previous:r=i.last,next:void 0,removed:!1},i.first||(i.first=a),r&&(r.next=a),p?i.size++:t.size++,"F"!==o&&(i.index[o]=a)),t},g=function(t,e){var n,r=d(t),o=f(e);if("F"!==o)return r.index[o];for(n=r.first;n;n=n.next)if(n.key==e)return n};return i(c.prototype,{clear:function(){for(var t=d(this),e=t.index,n=t.first;n;)n.removed=!0,n.previous&&(n.previous=n.previous.next=void 0),delete e[n.index],n=n.next;t.first=t.last=void 0,p?t.size=0:this.size=0},delete:function(t){var e=this,n=d(e),r=g(e,t);if(r){var o=r.next,i=r.previous;delete n.index[r.index],r.removed=!0,i&&(i.next=o),o&&(o.previous=i),n.first==r&&(n.first=o),n.last==r&&(n.last=i),p?n.size--:e.size--}return!!r},forEach:function(t){for(var e,n=d(this),r=a(t,arguments.length>1?arguments[1]:void 0,3);e=e?e.next:n.first;)for(r(e.value,e.key,this);e&&e.removed;)e=e.previous},has:function(t){return!!g(this,t)}}),i(c.prototype,n?{get:function(t){var e=g(this,t);return e&&e.value},set:function(t,e){return v(this,0===t?0:t,e)}}:{add:function(t){return v(this,t=0===t?0:t,t)}}),p&&r(c.prototype,"size",{get:function(){return d(this).size}}),c},setStrong:function(t,e,n){var r=e+" Iterator",o=m(e),i=m(r);u(t,e,(function(t,e){h(this,{type:r,target:t,state:o(t),kind:e,last:void 0})}),(function(){for(var t=i(this),e=t.kind,n=t.last;n&&n.removed;)n=n.previous;return t.target&&(t.last=n=n?n.next:t.state.first)?"keys"==e?{value:n.key,done:!1}:"values"==e?{value:n.value,done:!1}:{value:[n.key,n.value],done:!1}:(t.target=void 0,{value:void 0,done:!0})}),n?"entries":"values",!n,!0),c(e)}}},7710:(t,e,n)=>{"use strict";var r=n(2109),o=n(7854),i=n(4705),a=n(1320),s=n(2423),l=n(408),u=n(5787),c=n(111),p=n(7293),f=n(7072),d=n(8003),h=n(9587);t.exports=function(t,e,n){var m=-1!==t.indexOf("Map"),v=-1!==t.indexOf("Weak"),g=m?"set":"add",y=o[t],A=y&&y.prototype,b=y,C={},w=function(t){var e=A[t];a(A,t,"add"==t?function(t){return e.call(this,0===t?0:t),this}:"delete"==t?function(t){return!(v&&!c(t))&&e.call(this,0===t?0:t)}:"get"==t?function(t){return v&&!c(t)?void 0:e.call(this,0===t?0:t)}:"has"==t?function(t){return!(v&&!c(t))&&e.call(this,0===t?0:t)}:function(t,n){return e.call(this,0===t?0:t,n),this})};if(i(t,"function"!=typeof y||!(v||A.forEach&&!p((function(){(new y).entries().next()})))))b=n.getConstructor(e,t,m,g),s.REQUIRED=!0;else if(i(t,!0)){var x=new b,_=x[g](v?{}:-0,1)!=x,S=p((function(){x.has(1)})),k=f((function(t){new y(t)})),E=!v&&p((function(){for(var t=new y,e=5;e--;)t[g](e,e);return!t.has(-0)}));k||((b=e((function(e,n){u(e,b,t);var r=h(new y,e,b);return null!=n&&l(n,r[g],r,m),r}))).prototype=A,A.constructor=b),(S||E)&&(w("delete"),w("has"),m&&w("get")),(E||_)&&w(g),v&&A.clear&&delete A.clear}return C[t]=b,r({global:!0,forced:b!=y},C),d(b,t),v||n.setStrong(b,t,m),b}},9920:(t,e,n)=>{var r=n(6656),o=n(3887),i=n(1236),a=n(3070);t.exports=function(t,e){for(var n=o(e),s=a.f,l=i.f,u=0;u<n.length;u++){var c=n[u];r(t,c)||s(t,c,l(e,c))}}},8544:(t,e,n)=>{var r=n(7293);t.exports=!r((function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype}))},4994:(t,e,n)=>{"use strict";var r=n(3383).IteratorPrototype,o=n(30),i=n(9114),a=n(8003),s=n(7497),l=function(){return this};t.exports=function(t,e,n){var u=e+" Iterator";return t.prototype=o(r,{next:i(1,n)}),a(t,u,!1,!0),s[u]=l,t}},8880:(t,e,n)=>{var r=n(9781),o=n(3070),i=n(9114);t.exports=r?function(t,e,n){return o.f(t,e,i(1,n))}:function(t,e,n){return t[e]=n,t}},9114:t=>{t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},6135:(t,e,n)=>{"use strict";var r=n(7593),o=n(3070),i=n(9114);t.exports=function(t,e,n){var a=r(e);a in t?o.f(t,a,i(0,n)):t[a]=n}},654:(t,e,n)=>{"use strict";var r=n(2109),o=n(4994),i=n(9518),a=n(7674),s=n(8003),l=n(8880),u=n(1320),c=n(5112),p=n(1913),f=n(7497),d=n(3383),h=d.IteratorPrototype,m=d.BUGGY_SAFARI_ITERATORS,v=c("iterator"),g="keys",y="values",A="entries",b=function(){return this};t.exports=function(t,e,n,c,d,C,w){o(n,e,c);var x,_,S,k=function(t){if(t===d&&B)return B;if(!m&&t in j)return j[t];switch(t){case g:case y:case A:return function(){return new n(this,t)}}return function(){return new n(this)}},E=e+" Iterator",O=!1,j=t.prototype,T=j[v]||j["@@iterator"]||d&&j[d],B=!m&&T||k(d),N="Array"==e&&j.entries||T;if(N&&(x=i(N.call(new t)),h!==Object.prototype&&x.next&&(p||i(x)===h||(a?a(x,h):"function"!=typeof x[v]&&l(x,v,b)),s(x,E,!0,!0),p&&(f[E]=b))),d==y&&T&&T.name!==y&&(O=!0,B=function(){return T.call(this)}),p&&!w||j[v]===B||l(j,v,B),f[e]=B,d)if(_={values:k(y),keys:C?B:k(g),entries:k(A)},w)for(S in _)(m||O||!(S in j))&&u(j,S,_[S]);else r({target:e,proto:!0,forced:m||O},_);return _}},9781:(t,e,n)=>{var r=n(7293);t.exports=!r((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},317:(t,e,n)=>{var r=n(7854),o=n(111),i=r.document,a=o(i)&&o(i.createElement);t.exports=function(t){return a?i.createElement(t):{}}},8324:t=>{t.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},8113:(t,e,n)=>{var r=n(5005);t.exports=r("navigator","userAgent")||""},7392:(t,e,n)=>{var r,o,i=n(7854),a=n(8113),s=i.process,l=s&&s.versions,u=l&&l.v8;u?o=(r=u.split("."))[0]+r[1]:a&&(!(r=a.match(/Edge\/(\d+)/))||r[1]>=74)&&(r=a.match(/Chrome\/(\d+)/))&&(o=r[1]),t.exports=o&&+o},748:t=>{t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},2109:(t,e,n)=>{var r=n(7854),o=n(1236).f,i=n(8880),a=n(1320),s=n(3505),l=n(9920),u=n(4705);t.exports=function(t,e){var n,c,p,f,d,h=t.target,m=t.global,v=t.stat;if(n=m?r:v?r[h]||s(h,{}):(r[h]||{}).prototype)for(c in e){if(f=e[c],p=t.noTargetGet?(d=o(n,c))&&d.value:n[c],!u(m?c:h+(v?".":"#")+c,t.forced)&&void 0!==p){if(typeof f==typeof p)continue;l(f,p)}(t.sham||p&&p.sham)&&i(f,"sham",!0),a(n,c,f,t)}}},7293:t=>{t.exports=function(t){try{return!!t()}catch(t){return!0}}},7007:(t,e,n)=>{"use strict";n(4916);var r=n(1320),o=n(7293),i=n(5112),a=n(2261),s=n(8880),l=i("species"),u=!o((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$<a>")})),c="$0"==="a".replace(/./,"$0"),p=i("replace"),f=!!/./[p]&&""===/./[p]("a","$0"),d=!o((function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var n="ab".split(t);return 2!==n.length||"a"!==n[0]||"b"!==n[1]}));t.exports=function(t,e,n,p){var h=i(t),m=!o((function(){var e={};return e[h]=function(){return 7},7!=""[t](e)})),v=m&&!o((function(){var e=!1,n=/a/;return"split"===t&&((n={}).constructor={},n.constructor[l]=function(){return n},n.flags="",n[h]=/./[h]),n.exec=function(){return e=!0,null},n[h](""),!e}));if(!m||!v||"replace"===t&&(!u||!c||f)||"split"===t&&!d){var g=/./[h],y=n(h,""[t],(function(t,e,n,r,o){return e.exec===a?m&&!o?{done:!0,value:g.call(e,n,r)}:{done:!0,value:t.call(n,e,r)}:{done:!1}}),{REPLACE_KEEPS_$0:c,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:f}),A=y[0],b=y[1];r(String.prototype,t,A),r(RegExp.prototype,h,2==e?function(t,e){return b.call(t,this,e)}:function(t){return b.call(t,this)})}p&&s(RegExp.prototype[h],"sham",!0)}},6677:(t,e,n)=>{var r=n(7293);t.exports=!r((function(){return Object.isExtensible(Object.preventExtensions({}))}))},9974:(t,e,n)=>{var r=n(3099);t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 0:return function(){return t.call(e)};case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,o){return t.call(e,n,r,o)}}return function(){return t.apply(e,arguments)}}},5005:(t,e,n)=>{var r=n(857),o=n(7854),i=function(t){return"function"==typeof t?t:void 0};t.exports=function(t,e){return arguments.length<2?i(r[t])||i(o[t]):r[t]&&r[t][e]||o[t]&&o[t][e]}},1246:(t,e,n)=>{var r=n(648),o=n(7497),i=n(5112)("iterator");t.exports=function(t){if(null!=t)return t[i]||t["@@iterator"]||o[r(t)]}},7854:(t,e,n)=>{var r=function(t){return t&&t.Math==Math&&t};t.exports=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof n.g&&n.g)||Function("return this")()},6656:t=>{var e={}.hasOwnProperty;t.exports=function(t,n){return e.call(t,n)}},3501:t=>{t.exports={}},490:(t,e,n)=>{var r=n(5005);t.exports=r("document","documentElement")},4664:(t,e,n)=>{var r=n(9781),o=n(7293),i=n(317);t.exports=!r&&!o((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},8361:(t,e,n)=>{var r=n(7293),o=n(4326),i="".split;t.exports=r((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==o(t)?i.call(t,""):Object(t)}:Object},9587:(t,e,n)=>{var r=n(111),o=n(7674);t.exports=function(t,e,n){var i,a;return o&&"function"==typeof(i=e.constructor)&&i!==n&&r(a=i.prototype)&&a!==n.prototype&&o(t,a),t}},2788:(t,e,n)=>{var r=n(5465),o=Function.toString;"function"!=typeof r.inspectSource&&(r.inspectSource=function(t){return o.call(t)}),t.exports=r.inspectSource},2423:(t,e,n)=>{var r=n(3501),o=n(111),i=n(6656),a=n(3070).f,s=n(9711),l=n(6677),u=s("meta"),c=0,p=Object.isExtensible||function(){return!0},f=function(t){a(t,u,{value:{objectID:"O"+ ++c,weakData:{}}})},d=t.exports={REQUIRED:!1,fastKey:function(t,e){if(!o(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!i(t,u)){if(!p(t))return"F";if(!e)return"E";f(t)}return t[u].objectID},getWeakData:function(t,e){if(!i(t,u)){if(!p(t))return!0;if(!e)return!1;f(t)}return t[u].weakData},onFreeze:function(t){return l&&d.REQUIRED&&p(t)&&!i(t,u)&&f(t),t}};r[u]=!0},9909:(t,e,n)=>{var r,o,i,a=n(8536),s=n(7854),l=n(111),u=n(8880),c=n(6656),p=n(6200),f=n(3501),d=s.WeakMap;if(a){var h=new d,m=h.get,v=h.has,g=h.set;r=function(t,e){return g.call(h,t,e),e},o=function(t){return m.call(h,t)||{}},i=function(t){return v.call(h,t)}}else{var y=p("state");f[y]=!0,r=function(t,e){return u(t,y,e),e},o=function(t){return c(t,y)?t[y]:{}},i=function(t){return c(t,y)}}t.exports={set:r,get:o,has:i,enforce:function(t){return i(t)?o(t):r(t,{})},getterFor:function(t){return function(e){var n;if(!l(e)||(n=o(e)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return n}}}},7659:(t,e,n)=>{var r=n(5112),o=n(7497),i=r("iterator"),a=Array.prototype;t.exports=function(t){return void 0!==t&&(o.Array===t||a[i]===t)}},3157:(t,e,n)=>{var r=n(4326);t.exports=Array.isArray||function(t){return"Array"==r(t)}},4705:(t,e,n)=>{var r=n(7293),o=/#|\.prototype\./,i=function(t,e){var n=s[a(t)];return n==u||n!=l&&("function"==typeof e?r(e):!!e)},a=i.normalize=function(t){return String(t).replace(o,".").toLowerCase()},s=i.data={},l=i.NATIVE="N",u=i.POLYFILL="P";t.exports=i},111:t=>{t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},1913:t=>{t.exports=!1},408:(t,e,n)=>{var r=n(9670),o=n(7659),i=n(7466),a=n(9974),s=n(1246),l=n(3411),u=function(t,e){this.stopped=t,this.result=e};(t.exports=function(t,e,n,c,p){var f,d,h,m,v,g,y,A=a(e,n,c?2:1);if(p)f=t;else{if("function"!=typeof(d=s(t)))throw TypeError("Target is not iterable");if(o(d)){for(h=0,m=i(t.length);m>h;h++)if((v=c?A(r(y=t[h])[0],y[1]):A(t[h]))&&v instanceof u)return v;return new u(!1)}f=d.call(t)}for(g=f.next;!(y=g.call(f)).done;)if("object"==typeof(v=l(f,A,y.value,c))&&v&&v instanceof u)return v;return new u(!1)}).stop=function(t){return new u(!0,t)}},3383:(t,e,n)=>{"use strict";var r,o,i,a=n(9518),s=n(8880),l=n(6656),u=n(5112),c=n(1913),p=u("iterator"),f=!1;[].keys&&("next"in(i=[].keys())?(o=a(a(i)))!==Object.prototype&&(r=o):f=!0),null==r&&(r={}),c||l(r,p)||s(r,p,(function(){return this})),t.exports={IteratorPrototype:r,BUGGY_SAFARI_ITERATORS:f}},7497:t=>{t.exports={}},133:(t,e,n)=>{var r=n(7293);t.exports=!!Object.getOwnPropertySymbols&&!r((function(){return!String(Symbol())}))},8536:(t,e,n)=>{var r=n(7854),o=n(2788),i=r.WeakMap;t.exports="function"==typeof i&&/native code/.test(o(i))},1574:(t,e,n)=>{"use strict";var r=n(9781),o=n(7293),i=n(1956),a=n(5181),s=n(5296),l=n(7908),u=n(8361),c=Object.assign,p=Object.defineProperty;t.exports=!c||o((function(){if(r&&1!==c({b:1},c(p({},"a",{enumerable:!0,get:function(){p(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var t={},e={},n=Symbol(),o="abcdefghijklmnopqrst";return t[n]=7,o.split("").forEach((function(t){e[t]=t})),7!=c({},t)[n]||i(c({},e)).join("")!=o}))?function(t,e){for(var n=l(t),o=arguments.length,c=1,p=a.f,f=s.f;o>c;)for(var d,h=u(arguments[c++]),m=p?i(h).concat(p(h)):i(h),v=m.length,g=0;v>g;)d=m[g++],r&&!f.call(h,d)||(n[d]=h[d]);return n}:c},30:(t,e,n)=>{var r,o=n(9670),i=n(6048),a=n(748),s=n(3501),l=n(490),u=n(317),c=n(6200),p=c("IE_PROTO"),f=function(){},d=function(t){return"<script>"+t+"</"+"script>"},h=function(){try{r=document.domain&&new ActiveXObject("htmlfile")}catch(t){}var t,e;h=r?function(t){t.write(d("")),t.close();var e=t.parentWindow.Object;return t=null,e}(r):((e=u("iframe")).style.display="none",l.appendChild(e),e.src=String("javascript:"),(t=e.contentWindow.document).open(),t.write(d("document.F=Object")),t.close(),t.F);for(var n=a.length;n--;)delete h.prototype[a[n]];return h()};s[p]=!0,t.exports=Object.create||function(t,e){var n;return null!==t?(f.prototype=o(t),n=new f,f.prototype=null,n[p]=t):n=h(),void 0===e?n:i(n,e)}},6048:(t,e,n)=>{var r=n(9781),o=n(3070),i=n(9670),a=n(1956);t.exports=r?Object.defineProperties:function(t,e){i(t);for(var n,r=a(e),s=r.length,l=0;s>l;)o.f(t,n=r[l++],e[n]);return t}},3070:(t,e,n)=>{var r=n(9781),o=n(4664),i=n(9670),a=n(7593),s=Object.defineProperty;e.f=r?s:function(t,e,n){if(i(t),e=a(e,!0),i(n),o)try{return s(t,e,n)}catch(t){}if("get"in n||"set"in n)throw TypeError("Accessors not supported");return"value"in n&&(t[e]=n.value),t}},1236:(t,e,n)=>{var r=n(9781),o=n(5296),i=n(9114),a=n(5656),s=n(7593),l=n(6656),u=n(4664),c=Object.getOwnPropertyDescriptor;e.f=r?c:function(t,e){if(t=a(t),e=s(e,!0),u)try{return c(t,e)}catch(t){}if(l(t,e))return i(!o.f.call(t,e),t[e])}},8006:(t,e,n)=>{var r=n(6324),o=n(748).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return r(t,o)}},5181:(t,e)=>{e.f=Object.getOwnPropertySymbols},9518:(t,e,n)=>{var r=n(6656),o=n(7908),i=n(6200),a=n(8544),s=i("IE_PROTO"),l=Object.prototype;t.exports=a?Object.getPrototypeOf:function(t){return t=o(t),r(t,s)?t[s]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?l:null}},6324:(t,e,n)=>{var r=n(6656),o=n(5656),i=n(1318).indexOf,a=n(3501);t.exports=function(t,e){var n,s=o(t),l=0,u=[];for(n in s)!r(a,n)&&r(s,n)&&u.push(n);for(;e.length>l;)r(s,n=e[l++])&&(~i(u,n)||u.push(n));return u}},1956:(t,e,n)=>{var r=n(6324),o=n(748);t.exports=Object.keys||function(t){return r(t,o)}},5296:(t,e)=>{"use strict";var n={}.propertyIsEnumerable,r=Object.getOwnPropertyDescriptor,o=r&&!n.call({1:2},1);e.f=o?function(t){var e=r(this,t);return!!e&&e.enumerable}:n},7674:(t,e,n)=>{var r=n(9670),o=n(6077);t.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,n={};try{(t=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(n,[]),e=n instanceof Array}catch(t){}return function(n,i){return r(n),o(i),e?t.call(n,i):n.__proto__=i,n}}():void 0)},288:(t,e,n)=>{"use strict";var r=n(1694),o=n(648);t.exports=r?{}.toString:function(){return"[object "+o(this)+"]"}},3887:(t,e,n)=>{var r=n(5005),o=n(8006),i=n(5181),a=n(9670);t.exports=r("Reflect","ownKeys")||function(t){var e=o.f(a(t)),n=i.f;return n?e.concat(n(t)):e}},857:(t,e,n)=>{var r=n(7854);t.exports=r},2248:(t,e,n)=>{var r=n(1320);t.exports=function(t,e,n){for(var o in e)r(t,o,e[o],n);return t}},1320:(t,e,n)=>{var r=n(7854),o=n(8880),i=n(6656),a=n(3505),s=n(2788),l=n(9909),u=l.get,c=l.enforce,p=String(String).split("String");(t.exports=function(t,e,n,s){var l=!!s&&!!s.unsafe,u=!!s&&!!s.enumerable,f=!!s&&!!s.noTargetGet;"function"==typeof n&&("string"!=typeof e||i(n,"name")||o(n,"name",e),c(n).source=p.join("string"==typeof e?e:"")),t!==r?(l?!f&&t[e]&&(u=!0):delete t[e],u?t[e]=n:o(t,e,n)):u?t[e]=n:a(e,n)})(Function.prototype,"toString",(function(){return"function"==typeof this&&u(this).source||s(this)}))},7651:(t,e,n)=>{var r=n(4326),o=n(2261);t.exports=function(t,e){var n=t.exec;if("function"==typeof n){var i=n.call(t,e);if("object"!=typeof i)throw TypeError("RegExp exec method returned something other than an Object or null");return i}if("RegExp"!==r(t))throw TypeError("RegExp#exec called on incompatible receiver");return o.call(t,e)}},2261:(t,e,n)=>{"use strict";var r,o,i=n(7066),a=n(2999),s=RegExp.prototype.exec,l=String.prototype.replace,u=s,c=(r=/a/,o=/b*/g,s.call(r,"a"),s.call(o,"a"),0!==r.lastIndex||0!==o.lastIndex),p=a.UNSUPPORTED_Y||a.BROKEN_CARET,f=void 0!==/()??/.exec("")[1];(c||f||p)&&(u=function(t){var e,n,r,o,a=this,u=p&&a.sticky,d=i.call(a),h=a.source,m=0,v=t;return u&&(-1===(d=d.replace("y","")).indexOf("g")&&(d+="g"),v=String(t).slice(a.lastIndex),a.lastIndex>0&&(!a.multiline||a.multiline&&"\n"!==t[a.lastIndex-1])&&(h="(?: "+h+")",v=" "+v,m++),n=new RegExp("^(?:"+h+")",d)),f&&(n=new RegExp("^"+h+"$(?!\\s)",d)),c&&(e=a.lastIndex),r=s.call(u?n:a,v),u?r?(r.input=r.input.slice(m),r[0]=r[0].slice(m),r.index=a.lastIndex,a.lastIndex+=r[0].length):a.lastIndex=0:c&&r&&(a.lastIndex=a.global?r.index+r[0].length:e),f&&r&&r.length>1&&l.call(r[0],n,(function(){for(o=1;o<arguments.length-2;o++)void 0===arguments[o]&&(r[o]=void 0)})),r}),t.exports=u},7066:(t,e,n)=>{"use strict";var r=n(9670);t.exports=function(){var t=r(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.dotAll&&(e+="s"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e}},2999:(t,e,n)=>{"use strict";var r=n(7293);function o(t,e){return RegExp(t,e)}e.UNSUPPORTED_Y=r((function(){var t=o("a","y");return t.lastIndex=2,null!=t.exec("abcd")})),e.BROKEN_CARET=r((function(){var t=o("^r","gy");return t.lastIndex=2,null!=t.exec("str")}))},4488:t=>{t.exports=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t}},3505:(t,e,n)=>{var r=n(7854),o=n(8880);t.exports=function(t,e){try{o(r,t,e)}catch(n){r[t]=e}return e}},6340:(t,e,n)=>{"use strict";var r=n(5005),o=n(3070),i=n(5112),a=n(9781),s=i("species");t.exports=function(t){var e=r(t),n=o.f;a&&e&&!e[s]&&n(e,s,{configurable:!0,get:function(){return this}})}},8003:(t,e,n)=>{var r=n(3070).f,o=n(6656),i=n(5112)("toStringTag");t.exports=function(t,e,n){t&&!o(t=n?t:t.prototype,i)&&r(t,i,{configurable:!0,value:e})}},6200:(t,e,n)=>{var r=n(2309),o=n(9711),i=r("keys");t.exports=function(t){return i[t]||(i[t]=o(t))}},5465:(t,e,n)=>{var r=n(7854),o=n(3505),i="__core-js_shared__",a=r[i]||o(i,{});t.exports=a},2309:(t,e,n)=>{var r=n(1913),o=n(5465);(t.exports=function(t,e){return o[t]||(o[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.6.5",mode:r?"pure":"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})},8710:(t,e,n)=>{var r=n(9958),o=n(4488),i=function(t){return function(e,n){var i,a,s=String(o(e)),l=r(n),u=s.length;return l<0||l>=u?t?"":void 0:(i=s.charCodeAt(l))<55296||i>56319||l+1===u||(a=s.charCodeAt(l+1))<56320||a>57343?t?s.charAt(l):i:t?s.slice(l,l+2):a-56320+(i-55296<<10)+65536}};t.exports={codeAt:i(!1),charAt:i(!0)}},1400:(t,e,n)=>{var r=n(9958),o=Math.max,i=Math.min;t.exports=function(t,e){var n=r(t);return n<0?o(n+e,0):i(n,e)}},5656:(t,e,n)=>{var r=n(8361),o=n(4488);t.exports=function(t){return r(o(t))}},9958:t=>{var e=Math.ceil,n=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?n:e)(t)}},7466:(t,e,n)=>{var r=n(9958),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},7908:(t,e,n)=>{var r=n(4488);t.exports=function(t){return Object(r(t))}},7593:(t,e,n)=>{var r=n(111);t.exports=function(t,e){if(!r(t))return t;var n,o;if(e&&"function"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;if("function"==typeof(n=t.valueOf)&&!r(o=n.call(t)))return o;if(!e&&"function"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},1694:(t,e,n)=>{var r={};r[n(5112)("toStringTag")]="z",t.exports="[object z]"===String(r)},9711:t=>{var e=0,n=Math.random();t.exports=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++e+n).toString(36)}},3307:(t,e,n)=>{var r=n(133);t.exports=r&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},5112:(t,e,n)=>{var r=n(7854),o=n(2309),i=n(6656),a=n(9711),s=n(133),l=n(3307),u=o("wks"),c=r.Symbol,p=l?c:c&&c.withoutSetter||a;t.exports=function(t){return i(u,t)||(s&&i(c,t)?u[t]=c[t]:u[t]=p("Symbol."+t)),u[t]}},2222:(t,e,n)=>{"use strict";var r=n(2109),o=n(7293),i=n(3157),a=n(111),s=n(7908),l=n(7466),u=n(6135),c=n(5417),p=n(1194),f=n(5112),d=n(7392),h=f("isConcatSpreadable"),m=9007199254740991,v="Maximum allowed index exceeded",g=d>=51||!o((function(){var t=[];return t[h]=!1,t.concat()[0]!==t})),y=p("concat"),A=function(t){if(!a(t))return!1;var e=t[h];return void 0!==e?!!e:i(t)};r({target:"Array",proto:!0,forced:!g||!y},{concat:function(t){var e,n,r,o,i,a=s(this),p=c(a,0),f=0;for(e=-1,r=arguments.length;e<r;e++)if(A(i=-1===e?a:arguments[e])){if(f+(o=l(i.length))>m)throw TypeError(v);for(n=0;n<o;n++,f++)n in i&&u(p,f,i[n])}else{if(f>=m)throw TypeError(v);u(p,f++,i)}return p.length=f,p}})},7327:(t,e,n)=>{"use strict";var r=n(2109),o=n(2092).filter,i=n(1194),a=n(9207),s=i("filter"),l=a("filter");r({target:"Array",proto:!0,forced:!s||!l},{filter:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}})},9554:(t,e,n)=>{"use strict";var r=n(2109),o=n(8533);r({target:"Array",proto:!0,forced:[].forEach!=o},{forEach:o})},2772:(t,e,n)=>{"use strict";var r=n(2109),o=n(1318).indexOf,i=n(9341),a=n(9207),s=[].indexOf,l=!!s&&1/[1].indexOf(1,-0)<0,u=i("indexOf"),c=a("indexOf",{ACCESSORS:!0,1:0});r({target:"Array",proto:!0,forced:l||!u||!c},{indexOf:function(t){return l?s.apply(this,arguments)||0:o(this,t,arguments.length>1?arguments[1]:void 0)}})},6992:(t,e,n)=>{"use strict";var r=n(5656),o=n(1223),i=n(7497),a=n(9909),s=n(654),l="Array Iterator",u=a.set,c=a.getterFor(l);t.exports=s(Array,"Array",(function(t,e){u(this,{type:l,target:r(t),index:0,kind:e})}),(function(){var t=c(this),e=t.target,n=t.kind,r=t.index++;return!e||r>=e.length?(t.target=void 0,{value:void 0,done:!0}):"keys"==n?{value:r,done:!1}:"values"==n?{value:e[r],done:!1}:{value:[r,e[r]],done:!1}}),"values"),i.Arguments=i.Array,o("keys"),o("values"),o("entries")},1532:(t,e,n)=>{"use strict";var r=n(7710),o=n(5631);t.exports=r("Map",(function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}}),o)},9601:(t,e,n)=>{var r=n(2109),o=n(1574);r({target:"Object",stat:!0,forced:Object.assign!==o},{assign:o})},1539:(t,e,n)=>{var r=n(1694),o=n(1320),i=n(288);r||o(Object.prototype,"toString",i,{unsafe:!0})},4916:(t,e,n)=>{"use strict";var r=n(2109),o=n(2261);r({target:"RegExp",proto:!0,forced:/./.exec!==o},{exec:o})},9714:(t,e,n)=>{"use strict";var r=n(1320),o=n(9670),i=n(7293),a=n(7066),s="toString",l=RegExp.prototype,u=l.toString,c=i((function(){return"/a/b"!=u.call({source:"a",flags:"b"})})),p=u.name!=s;(c||p)&&r(RegExp.prototype,s,(function(){var t=o(this),e=String(t.source),n=t.flags;return"/"+e+"/"+String(void 0===n&&t instanceof RegExp&&!("flags"in l)?a.call(t):n)}),{unsafe:!0})},8783:(t,e,n)=>{"use strict";var r=n(8710).charAt,o=n(9909),i=n(654),a="String Iterator",s=o.set,l=o.getterFor(a);i(String,"String",(function(t){s(this,{type:a,string:String(t),index:0})}),(function(){var t,e=l(this),n=e.string,o=e.index;return o>=n.length?{value:void 0,done:!0}:(t=r(n,o),e.index+=t.length,{value:t,done:!1})}))},5306:(t,e,n)=>{"use strict";var r=n(7007),o=n(9670),i=n(7908),a=n(7466),s=n(9958),l=n(4488),u=n(1530),c=n(7651),p=Math.max,f=Math.min,d=Math.floor,h=/\$([$&'`]|\d\d?|<[^>]*>)/g,m=/\$([$&'`]|\d\d?)/g;r("replace",2,(function(t,e,n,r){var v=r.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,g=r.REPLACE_KEEPS_$0,y=v?"$":"$0";return[function(n,r){var o=l(this),i=null==n?void 0:n[t];return void 0!==i?i.call(n,o,r):e.call(String(o),n,r)},function(t,r){if(!v&&g||"string"==typeof r&&-1===r.indexOf(y)){var i=n(e,t,this,r);if(i.done)return i.value}var l=o(t),d=String(this),h="function"==typeof r;h||(r=String(r));var m=l.global;if(m){var b=l.unicode;l.lastIndex=0}for(var C=[];;){var w=c(l,d);if(null===w)break;if(C.push(w),!m)break;""===String(w[0])&&(l.lastIndex=u(d,a(l.lastIndex),b))}for(var x,_="",S=0,k=0;k<C.length;k++){w=C[k];for(var E=String(w[0]),O=p(f(s(w.index),d.length),0),j=[],T=1;T<w.length;T++)j.push(void 0===(x=w[T])?x:String(x));var B=w.groups;if(h){var N=[E].concat(j,O,d);void 0!==B&&N.push(B);var P=String(r.apply(void 0,N))}else P=A(E,d,O,j,B,r);O>=S&&(_+=d.slice(S,O)+P,S=O+E.length)}return _+d.slice(S)}];function A(t,n,r,o,a,s){var l=r+t.length,u=o.length,c=m;return void 0!==a&&(a=i(a),c=h),e.call(s,c,(function(e,i){var s;switch(i.charAt(0)){case"$":return"$";case"&":return t;case"`":return n.slice(0,r);case"'":return n.slice(l);case"<":s=a[i.slice(1,-1)];break;default:var c=+i;if(0===c)return e;if(c>u){var p=d(c/10);return 0===p?e:p<=u?void 0===o[p-1]?i.charAt(1):o[p-1]+i.charAt(1):e}s=o[c-1]}return void 0===s?"":s}))}}))},4747:(t,e,n)=>{var r=n(7854),o=n(8324),i=n(8533),a=n(8880);for(var s in o){var l=r[s],u=l&&l.prototype;if(u&&u.forEach!==i)try{a(u,"forEach",i)}catch(t){u.forEach=i}}},3948:(t,e,n)=>{var r=n(7854),o=n(8324),i=n(6992),a=n(8880),s=n(5112),l=s("iterator"),u=s("toStringTag"),c=i.values;for(var p in o){var f=r[p],d=f&&f.prototype;if(d){if(d[l]!==c)try{a(d,l,c)}catch(t){d[l]=c}if(d[u]||a(d,u,p),o[p])for(var h in i)if(d[h]!==i[h])try{a(d,h,i[h])}catch(t){d[h]=i[h]}}}},6060:(t,e,n)=>{"use strict";n.d(e,{Z:()=>s});var r=n(7537),o=n.n(r),i=n(3645),a=n.n(i)()(o());a.push([t.id,"#firstrunwizard .page{display:flex;flex-direction:row;flex-wrap:wrap;margin:auto}#firstrunwizard .page h3{margin:10px 0 10px;line-height:120%;padding:0}#firstrunwizard .page .image{padding:20px;max-width:calc(50% - 40px);flex-grow:1}#firstrunwizard .page .image img{width:100%}#firstrunwizard .page .content{padding:20px;width:100%}#firstrunwizard .page p{margin-bottom:20px}#firstrunwizard .page .description-block:first-child{margin-bottom:20px}#firstrunwizard .page .description{margin:20px;width:auto;flex-grow:1;max-width:calc(50% - 40px)}#firstrunwizard .page ul{margin:10px}#firstrunwizard .page ul li{margin-left:20px;margin-bottom:10px;list-style:circle outside}#firstrunwizard .page a:not(.button):hover,#firstrunwizard .page a:not(.button):focus{text-decoration:underline}#firstrunwizard .page .button{display:inline-block}#firstrunwizard .page .button img{width:16px;height:16px;opacity:.5;margin-top:-3px;vertical-align:middle}#firstrunwizard .content-clients{width:100%;text-align:center}#firstrunwizard .content-clients a{text-decoration:none;display:inline-block}#firstrunwizard .content-clients .clientslinks .appsmall{height:32px;width:32px;position:relative;opacity:.5;vertical-align:middle}#firstrunwizard .content-clients .clientslinks .button{display:inline-block;padding:8px;font-weight:normal;font-size:14px}#firstrunwizard .content-final h3{background-position:0;background-size:16px 16px;padding-left:26px;opacity:.7}#firstrunwizard p a{font-weight:bold;color:var(--color-primary)}#firstrunwizard p a:hover,#firstrunwizard p a:focus{color:var(color-text-light)}#firstrunwizard .footnote{margin-top:40px}#firstrunwizard .modal-wrapper .icon-next{background-color:var(--color-primary);color:var(--color-primary-text);box-shadow:0 2px 8px rgba(0,0,0,.33);left:22px;border-radius:40px}#firstrunwizard .modal-wrapper .icon-previous{background-color:var(--color-primary-light);color:var(--color-primary-light-text);box-shadow:0 2px 8px rgba(0,0,0,.33);left:22px;border-radius:40px}.clientslinks{margin-top:20px;margin-bottom:20px}#wizard-values{list-style-type:none;display:flex;flex-wrap:wrap;margin:0}#wizard-values li{display:block;min-width:250px;width:33%;flex-grow:1;margin:20px 0 20px 0}#wizard-values li span{opacity:.7;display:block;height:50px;width:50px;background-size:40px;margin:auto}#wizard-values li h3{margin:10px 0 10px 0;font-size:130%;text-align:center}.details-link{text-align:center}@media only screen and (max-width: 680px){#firstrunwizard .firstrunwizard-header div.logo{background-size:120px}#firstrunwizard h2{font-size:20px}#firstrunwizard .page>div{max-width:100% !important;width:100%}#firstrunwizard .page #wizard-values li{min-width:100%;overflow:hidden;display:flex}#firstrunwizard .page #wizard-values li span{width:44px !important;padding-right:20px;flex-grow:0}#firstrunwizard .page #wizard-values li h3{font-size:12px;text-align:left;flex-grow:1}#firstrunwizard .page.content-final{padding-bottom:50px}.modal-mask .modal-wrapper .next,.prev{top:220px;align-items:start !important}}","",{version:3,sources:["webpack://./src/App.vue"],names:[],mappings:"AA4CC,sBACC,YAAA,CACA,kBAAA,CACA,cAAA,CACA,WAAA,CAEA,yBACC,kBAAA,CACA,gBAAA,CACA,SAAA,CAED,6BACC,YAAA,CACA,0BAAA,CACA,WAAA,CACA,iCACC,UAAA,CAGF,+BACC,YAAA,CACA,UAAA,CAED,wBACC,kBAAA,CAED,qDACC,kBAAA,CAED,mCACC,WAAA,CACA,UAAA,CACA,WAAA,CACA,0BAAA,CAED,yBACC,WAAA,CACA,4BACC,gBAAA,CACA,kBAAA,CACA,yBAAA,CAID,sFAEC,yBAAA,CAGF,8BACC,oBAAA,CAEA,kCACC,UAAA,CACA,WAAA,CACA,UAAA,CACA,eAAA,CACA,qBAAA,CAKH,iCACC,UAAA,CACA,iBAAA,CACA,mCACC,oBAAA,CACA,oBAAA,CAED,yDACC,WAAA,CACA,UAAA,CACA,iBAAA,CACA,UAAA,CACA,qBAAA,CAED,uDACC,oBAAA,CACA,WAAA,CACA,kBAAA,CACA,cAAA,CAID,kCACC,qBAAA,CACA,yBAAA,CACA,iBAAA,CACA,UAAA,CAGF,oBACC,gBAAA,CACA,0BAAA,CACA,oDAEC,2BAAA,CAIF,0BACC,eAAA,CAKA,0CACC,qCAAA,CACA,+BAAA,CACA,oCAAA,CACA,SAAA,CACA,kBAAA,CAGD,8CACC,2CAAA,CACA,qCAAA,CACA,oCAAA,CACA,SAAA,CACA,kBAAA,CAKH,cACC,eAAA,CACA,kBAAA,CAGD,eACC,oBAAA,CACA,YAAA,CACA,cAAA,CACA,QAAA,CACA,kBACC,aAAA,CACA,eAAA,CACA,SAAA,CACA,WAAA,CACA,oBAAA,CACA,uBACC,UAAA,CACA,aAAA,CACA,WAAA,CACA,UAAA,CACA,oBAAA,CACA,WAAA,CAED,qBACC,oBAAA,CACA,cAAA,CACA,iBAAA,CAKH,cACC,iBAAA,CAGD,0CAEE,gDACC,qBAAA,CAED,mBACC,cAAA,CAED,0BACC,yBAAA,CACA,UAAA,CAGA,wCACC,cAAA,CACA,eAAA,CACA,YAAA,CACA,6CACC,qBAAA,CACA,kBAAA,CACA,WAAA,CAED,2CACC,cAAA,CACA,eAAA,CACA,WAAA,CAIF,oCACC,mBAAA,CAKH,uCACC,SAAA,CACA,4BAAA,CAAA",sourcesContent:["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/* Page styling needs to be unscoped, since we load it separately from the server */\n#firstrunwizard {\n\n\t.page {\n\t\tdisplay: flex;\n\t\tflex-direction: row;\n\t\tflex-wrap: wrap;\n\t\tmargin: auto;\n\n\t\th3 {\n\t\t\tmargin: 10px 0 10px;\n\t\t\tline-height: 120%;\n\t\t\tpadding: 0;\n\t\t}\n\t\t.image {\n\t\t\tpadding: 20px;\n\t\t\tmax-width: calc(50% - 40px);\n\t\t\tflex-grow: 1;\n\t\t\timg {\n\t\t\t\twidth: 100%;\n\t\t\t}\n\t\t}\n\t\t.content {\n\t\t\tpadding: 20px;\n\t\t\twidth: 100%;\n\t\t}\n\t\tp {\n\t\t\tmargin-bottom: 20px;\n\t\t}\n\t\t.description-block:first-child {\n\t\t\tmargin-bottom: 20px;\n\t\t}\n\t\t.description {\n\t\t\tmargin: 20px;\n\t\t\twidth: auto;\n\t\t\tflex-grow: 1;\n\t\t\tmax-width: calc(50% - 40px);\n\t\t}\n\t\tul {\n\t\t\tmargin: 10px;\n\t\t\tli {\n\t\t\t\tmargin-left: 20px;\n\t\t\t\tmargin-bottom: 10px;\n\t\t\t\tlist-style: circle outside;\n\t\t\t}\n\t\t}\n\t\ta:not(.button) {\n\t\t\t&:hover,\n\t\t\t&:focus {\n\t\t\t\ttext-decoration: underline;\n\t\t\t}\n\t\t}\n\t\t.button {\n\t\t\tdisplay: inline-block;\n\n\t\t\timg {\n\t\t\t\twidth: 16px;\n\t\t\t\theight: 16px;\n\t\t\t\topacity: .5;\n\t\t\t\tmargin-top: -3px;\n\t\t\t\tvertical-align: middle;\n\t\t\t}\n\t\t}\n\t}\n\n\t.content-clients {\n\t\twidth: 100%;\n\t\ttext-align: center;\n\t\ta {\n\t\t\ttext-decoration: none;\n\t\t\tdisplay: inline-block;\n\t\t}\n\t\t.clientslinks .appsmall {\n\t\t\theight: 32px;\n\t\t\twidth: 32px;\n\t\t\tposition: relative;\n\t\t\topacity: .5;\n\t\t\tvertical-align: middle;\n\t\t}\n\t\t.clientslinks .button {\n\t\t\tdisplay: inline-block;\n\t\t\tpadding: 8px;\n\t\t\tfont-weight: normal;\n\t\t\tfont-size: 14px;\n\t\t}\n\t}\n\t.content-final {\n\t\th3 {\n\t\t\tbackground-position: 0;\n\t\t\tbackground-size: 16px 16px;\n\t\t\tpadding-left: 26px;\n\t\t\topacity: .7;\n\t\t}\n\t}\n\tp a {\n\t\tfont-weight: bold;\n\t\tcolor: var(--color-primary);\n\t\t&:hover,\n\t\t&:focus {\n\t\t\tcolor: var(color-text-light);\n\t\t}\n\t}\n\n\t.footnote {\n\t\tmargin-top: 40px;\n\t}\n\n\t// primary on next button\n\t.modal-wrapper {\n\t\t.icon-next {\n\t\t\tbackground-color: var(--color-primary);\n\t\t\tcolor: var(--color-primary-text);\n\t\t\tbox-shadow: 0 2px 8px rgba(0, 0, 0, .33);\n\t\t\tleft: 22px;\n\t\t\tborder-radius: 40px;\n\t\t}\n\n\t\t.icon-previous {\n\t\t\tbackground-color: var(--color-primary-light);\n\t\t\tcolor: var(--color-primary-light-text);\n\t\t\tbox-shadow: 0 2px 8px rgba(0, 0, 0, .33);\n\t\t\tleft: 22px;\n\t\t\tborder-radius: 40px;\n\t\t}\n\t}\n}\n\n.clientslinks {\n\tmargin-top: 20px;\n\tmargin-bottom: 20px;\n}\n\n#wizard-values {\n\tlist-style-type: none;\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\tmargin: 0;\n\tli {\n\t\tdisplay: block;\n\t\tmin-width: 250px;\n\t\twidth: 33%;\n\t\tflex-grow: 1;\n\t\tmargin: 20px 0 20px 0;\n\t\tspan {\n\t\t\topacity: .7;\n\t\t\tdisplay: block;\n\t\t\theight: 50px;\n\t\t\twidth: 50px;\n\t\t\tbackground-size: 40px;\n\t\t\tmargin: auto;\n\t\t}\n\t\th3 {\n\t\t\tmargin: 10px 0 10px 0;\n\t\t\tfont-size: 130%;\n\t\t\ttext-align: center;\n\t\t}\n\t}\n}\n\n.details-link {\n\ttext-align: center;\n}\n\n@media only screen and (max-width: 680px) {\n\t#firstrunwizard {\n\t\t.firstrunwizard-header div.logo {\n\t\t\tbackground-size: 120px;\n\t\t}\n\t\th2 {\n\t\t\tfont-size: 20px;\n\t\t}\n\t\t.page > div {\n\t\t\tmax-width: 100% !important;\n\t\t\twidth: 100%;\n\t\t}\n\t\t.page {\n\t\t\t#wizard-values li {\n\t\t\t\tmin-width: 100%;\n\t\t\t\toverflow: hidden;\n\t\t\t\tdisplay: flex;\n\t\t\t\tspan {\n\t\t\t\t\twidth: 44px !important;\n\t\t\t\t\tpadding-right: 20px;\n\t\t\t\t\tflex-grow: 0;\n\t\t\t\t}\n\t\t\t\th3 {\n\t\t\t\t\tfont-size: 12px;\n\t\t\t\t\ttext-align: left;\n\t\t\t\t\tflex-grow: 1;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t&.content-final {\n\t\t\t\tpadding-bottom: 50px;\n\t\t\t}\n\t\t}\n\t}\n\t// fix button position on mobile (so that they don't overlap with text)\n\t.modal-mask .modal-wrapper .next, .prev {\n\t\ttop: 220px;\n\t\talign-items: start !important;\n\t}\n}\n"],sourceRoot:""}]);const s=a},6912:(t,e,n)=>{"use strict";n.d(e,{Z:()=>s});var r=n(7537),o=n.n(r),i=n(3645),a=n.n(i)()(o());a.push([t.id,".modal-mask[data-v-dd9f3cba]{background-color:rgba(0,0,0,.7)}.modal-mask[data-v-dd9f3cba] .modal-wrapper{position:relative}.modal-mask[data-v-dd9f3cba] .modal-container{display:flex;flex-direction:column;position:relative}.modal-mask .modal-body[data-v-dd9f3cba]{flex-grow:1;display:flex;overflow-x:hidden;overflow-y:auto}.modal-mask .modal-body>div[data-v-dd9f3cba]{display:flex;flex-grow:1;align-items:center;justify-content:center}.modal-header[data-v-dd9f3cba]{flex-shrink:0}.modal-header .firstrunwizard-header[data-v-dd9f3cba]{padding:20px 12px;background:var(--color-primary) var(--image-login-background) no-repeat 50% 50%;background-size:cover;color:var(--color-primary-text);text-align:center}.modal-header .firstrunwizard-header .logo[data-v-dd9f3cba]{background:var(--image-logo) no-repeat center;background-size:contain;width:175px;height:100px;max-height:20vh;margin:0 auto}.modal-header .firstrunwizard-header h2[data-v-dd9f3cba]{font-size:20px;margin-top:7px;line-height:150%;color:var(--color-primary-text);font-weight:300;padding:0 0 10px}.modal-default-button[data-v-dd9f3cba]{align-self:flex-end}.modal-footer[data-v-dd9f3cba]{overflow:hidden;position:absolute;display:flex;bottom:0;right:0}.modal-footer button[data-v-dd9f3cba]{margin:10px}.next-enter-active[data-v-dd9f3cba],.next-leave-active[data-v-dd9f3cba],.previous-enter-active[data-v-dd9f3cba],.previous-leave-active[data-v-dd9f3cba]{transition:transform .1s,opacity .25s}.next-enter[data-v-dd9f3cba]{transform:translateX(50%);opacity:0}.next-leave-to[data-v-dd9f3cba]{transform:translateX(-50%);opacity:0}.previous-enter[data-v-dd9f3cba]{transform:translateX(-50%);opacity:0}.previous-leave-to[data-v-dd9f3cba]{transform:translateX(50%);opacity:0}","",{version:3,sources:["webpack://./src/App.vue"],names:[],mappings:"AAuPA,6BACC,+BAAA,CAEA,4CACC,iBAAA,CAGD,8CACC,YAAA,CACA,qBAAA,CACA,iBAAA,CAGD,yCACC,WAAA,CACA,YAAA,CACA,iBAAA,CACA,eAAA,CAEA,6CACC,YAAA,CACA,WAAA,CACA,kBAAA,CACA,sBAAA,CAKH,+BACC,aAAA,CAEA,sDACC,iBAAA,CACA,+EAAA,CACA,qBAAA,CACA,+BAAA,CACA,iBAAA,CACA,4DACC,6CAAA,CACA,uBAAA,CACA,WAAA,CACA,YAAA,CACA,eAAA,CACA,aAAA,CAED,yDACC,cAAA,CACA,cAAA,CACA,gBAAA,CACA,+BAAA,CACA,eAAA,CACA,gBAAA,CAKH,uCACC,mBAAA,CAGD,+BACC,eAAA,CACA,iBAAA,CACA,YAAA,CACA,QAAA,CACA,OAAA,CAGD,sCACC,WAAA,CAID,wJAEC,qCAAA,CAGD,6BACC,yBAAA,CACA,SAAA,CAGD,gCACC,0BAAA,CACA,SAAA,CAGD,iCACC,0BAAA,CACA,SAAA,CAGD,oCACC,yBAAA,CACA,SAAA",sourcesContent:["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.modal-mask {\n\tbackground-color: rgba(0, 0, 0, 0.7);\n\n\t&::v-deep .modal-wrapper {\n\t\tposition: relative;\n\t}\n\n\t&::v-deep .modal-container {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tposition: relative;\n\t}\n\n\t.modal-body {\n\t\tflex-grow: 1;\n\t\tdisplay: flex;\n\t\toverflow-x: hidden;\n\t\toverflow-y: auto;\n\n\t\t& > div {\n\t\t\tdisplay: flex;\n\t\t\tflex-grow: 1;\n\t\t\talign-items: center;\n\t\t\tjustify-content: center;\n\t\t}\n\t}\n}\n\n.modal-header {\n\tflex-shrink: 0;\n\n\t.firstrunwizard-header {\n\t\tpadding: 20px 12px;\n\t\tbackground: var(--color-primary) var(--image-login-background) no-repeat 50% 50%;\n\t\tbackground-size: cover;\n\t\tcolor: var(--color-primary-text);\n\t\ttext-align: center;\n\t\t.logo {\n\t\t\tbackground: var(--image-logo) no-repeat center;\n\t\t\tbackground-size: contain;\n\t\t\twidth: 175px;\n\t\t\theight: 100px;\n\t\t\tmax-height: 20vh;\n\t\t\tmargin: 0 auto;\n\t\t}\n\t\th2 {\n\t\t\tfont-size: 20px;\n\t\t\tmargin-top: 7px;\n\t\t\tline-height: 150%;\n\t\t\tcolor: var(--color-primary-text);\n\t\t\tfont-weight: 300;\n\t\t\tpadding: 0 0 10px;\n\t\t}\n\t}\n}\n\n.modal-default-button {\n\talign-self: flex-end;\n}\n\n.modal-footer {\n\toverflow: hidden;\n\tposition: absolute;\n\tdisplay: flex;\n\tbottom: 0;\n\tright: 0;\n}\n\n.modal-footer button {\n\tmargin: 10px;\n}\n\n/* Transitions */\n.next-enter-active, .next-leave-active,\n.previous-enter-active, .previous-leave-active {\n\ttransition: transform .1s, opacity .25s;\n}\n\n.next-enter {\n\ttransform: translateX(50%);\n\topacity: 0;\n}\n\n.next-leave-to {\n\ttransform: translateX(-50%);\n\topacity: 0;\n}\n\n.previous-enter {\n\ttransform: translateX(-50%);\n\topacity: 0;\n}\n\n.previous-leave-to {\n\ttransform: translateX(50%);\n\topacity: 0;\n}\n"],sourceRoot:""}]);const s=a},3392:(t,e,n)=>{"use strict";n.d(e,{Z:()=>s});var r=n(7537),o=n.n(r),i=n(3645),a=n.n(i)()(o());a.push([t.id,"video[data-v-70de3a6e]{width:100%;height:100%;object-fit:cover}.video-wrapper[data-v-70de3a6e]{background-color:var(--color-primary)}","",{version:3,sources:["webpack://./src/components/IntroVideo.vue"],names:[],mappings:"AAuDA,uBACC,UAAA,CACA,WAAA,CACA,gBAAA,CAGD,gCACC,qCAAA",sourcesContent:["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvideo {\n\twidth: 100%;\n\theight: 100%;\n\tobject-fit: cover;\n}\n\n.video-wrapper {\n\tbackground-color: var(--color-primary);\n}\n"],sourceRoot:""}]);const s=a},3645:t=>{"use strict";t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var n="",r=void 0!==e[5];return e[4]&&(n+="@supports (".concat(e[4],") {")),e[2]&&(n+="@media ".concat(e[2]," {")),r&&(n+="@layer".concat(e[5].length>0?" ".concat(e[5]):""," {")),n+=t(e),r&&(n+="}"),e[2]&&(n+="}"),e[4]&&(n+="}"),n})).join("")},e.i=function(t,n,r,o,i){"string"==typeof t&&(t=[[null,t,void 0]]);var a={};if(r)for(var s=0;s<this.length;s++){var l=this[s][0];null!=l&&(a[l]=!0)}for(var u=0;u<t.length;u++){var c=[].concat(t[u]);r&&a[c[0]]||(void 0!==i&&(void 0===c[5]||(c[1]="@layer".concat(c[5].length>0?" ".concat(c[5]):""," {").concat(c[1],"}")),c[5]=i),n&&(c[2]?(c[1]="@media ".concat(c[2]," {").concat(c[1],"}"),c[2]=n):c[2]=n),o&&(c[4]?(c[1]="@supports (".concat(c[4],") {").concat(c[1],"}"),c[4]=o):c[4]="".concat(o)),e.push(c))}},e}},7537:t=>{"use strict";t.exports=function(t){var e=t[1],n=t[3];if(!n)return e;if("function"==typeof btoa){var r=btoa(unescape(encodeURIComponent(JSON.stringify(n)))),o="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(r),i="/*# ".concat(o," */"),a=n.sources.map((function(t){return"/*# sourceURL=".concat(n.sourceRoot||"").concat(t," */")}));return[e].concat(a).concat([i]).join("\n")}return[e].join("\n")}},4289:(t,e,n)=>{"use strict";var r=n(2215),o="function"==typeof Symbol&&"symbol"==typeof Symbol("foo"),i=Object.prototype.toString,a=Array.prototype.concat,s=Object.defineProperty,l=s&&function(){var t={};try{for(var e in s(t,"x",{enumerable:!1,value:t}),t)return!1;return t.x===t}catch(t){return!1}}(),u=function(t,e,n,r){var o;(!(e in t)||"function"==typeof(o=r)&&"[object Function]"===i.call(o)&&r())&&(l?s(t,e,{configurable:!0,enumerable:!1,value:n,writable:!0}):t[e]=n)},c=function(t,e){var n=arguments.length>2?arguments[2]:{},i=r(e);o&&(i=a.call(i,Object.getOwnPropertySymbols(e)));for(var s=0;s<i.length;s+=1)u(t,i[s],e[i[s]],n[i[s]])};c.supportsDescriptors=!!l,t.exports=c},4079:(t,e,n)=>{"use strict";var r=n(210)("%Object.getOwnPropertyDescriptor%",!0);if(r)try{r([],"length")}catch(t){r=null}t.exports=r},8091:t=>{"use strict";function e(t,e){if(null==t)throw new TypeError("Cannot convert first argument to object");for(var n=Object(t),r=1;r<arguments.length;r++){var o=arguments[r];if(null!=o)for(var i=Object.keys(Object(o)),a=0,s=i.length;a<s;a++){var l=i[a],u=Object.getOwnPropertyDescriptor(o,l);void 0!==u&&u.enumerable&&(n[l]=o[l])}}return n}t.exports={assign:e,polyfill:function(){Object.assign||Object.defineProperty(Object,"assign",{enumerable:!1,configurable:!0,writable:!0,value:e})}}},9804:t=>{var e=Object.prototype.hasOwnProperty,n=Object.prototype.toString;t.exports=function(t,r,o){if("[object Function]"!==n.call(r))throw new TypeError("iterator must be a function");var i=t.length;if(i===+i)for(var a=0;a<i;a++)r.call(o,t[a],a,t);else for(var s in t)e.call(t,s)&&r.call(o,t[s],s,t)}},7648:t=>{"use strict";var e="Function.prototype.bind called on incompatible ",n=Array.prototype.slice,r=Object.prototype.toString,o="[object Function]";t.exports=function(t){var i=this;if("function"!=typeof i||r.call(i)!==o)throw new TypeError(e+i);for(var a,s=n.call(arguments,1),l=function(){if(this instanceof a){var e=i.apply(this,s.concat(n.call(arguments)));return Object(e)===e?e:this}return i.apply(t,s.concat(n.call(arguments)))},u=Math.max(0,i.length-s.length),c=[],p=0;p<u;p++)c.push("$"+p);if(a=Function("binder","return function ("+c.join(",")+"){ return binder.apply(this,arguments); }")(l),i.prototype){var f=function(){};f.prototype=i.prototype,a.prototype=new f,f.prototype=null}return a}},8612:(t,e,n)=>{"use strict";var r=n(7648);t.exports=Function.prototype.bind||r},210:(t,e,n)=>{"use strict";var r,o=SyntaxError,i=Function,a=TypeError,s=function(t){try{return i('"use strict"; return ('+t+").constructor;")()}catch(t){}},l=Object.getOwnPropertyDescriptor;if(l)try{l({},"")}catch(t){l=null}var u=function(){throw new a},c=l?function(){try{return u}catch(t){try{return l(arguments,"callee").get}catch(t){return u}}}():u,p=n(1405)(),f=Object.getPrototypeOf||function(t){return t.__proto__},d={},h="undefined"==typeof Uint8Array?r:f(Uint8Array),m={"%AggregateError%":"undefined"==typeof AggregateError?r:AggregateError,"%Array%":Array,"%ArrayBuffer%":"undefined"==typeof ArrayBuffer?r:ArrayBuffer,"%ArrayIteratorPrototype%":p?f([][Symbol.iterator]()):r,"%AsyncFromSyncIteratorPrototype%":r,"%AsyncFunction%":d,"%AsyncGenerator%":d,"%AsyncGeneratorFunction%":d,"%AsyncIteratorPrototype%":d,"%Atomics%":"undefined"==typeof Atomics?r:Atomics,"%BigInt%":"undefined"==typeof BigInt?r:BigInt,"%Boolean%":Boolean,"%DataView%":"undefined"==typeof DataView?r:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":"undefined"==typeof Float32Array?r:Float32Array,"%Float64Array%":"undefined"==typeof Float64Array?r:Float64Array,"%FinalizationRegistry%":"undefined"==typeof FinalizationRegistry?r:FinalizationRegistry,"%Function%":i,"%GeneratorFunction%":d,"%Int8Array%":"undefined"==typeof Int8Array?r:Int8Array,"%Int16Array%":"undefined"==typeof Int16Array?r:Int16Array,"%Int32Array%":"undefined"==typeof Int32Array?r:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":p?f(f([][Symbol.iterator]())):r,"%JSON%":"object"==typeof JSON?JSON:r,"%Map%":"undefined"==typeof Map?r:Map,"%MapIteratorPrototype%":"undefined"!=typeof Map&&p?f((new Map)[Symbol.iterator]()):r,"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":"undefined"==typeof Promise?r:Promise,"%Proxy%":"undefined"==typeof Proxy?r:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":"undefined"==typeof Reflect?r:Reflect,"%RegExp%":RegExp,"%Set%":"undefined"==typeof Set?r:Set,"%SetIteratorPrototype%":"undefined"!=typeof Set&&p?f((new Set)[Symbol.iterator]()):r,"%SharedArrayBuffer%":"undefined"==typeof SharedArrayBuffer?r:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":p?f(""[Symbol.iterator]()):r,"%Symbol%":p?Symbol:r,"%SyntaxError%":o,"%ThrowTypeError%":c,"%TypedArray%":h,"%TypeError%":a,"%Uint8Array%":"undefined"==typeof Uint8Array?r:Uint8Array,"%Uint8ClampedArray%":"undefined"==typeof Uint8ClampedArray?r:Uint8ClampedArray,"%Uint16Array%":"undefined"==typeof Uint16Array?r:Uint16Array,"%Uint32Array%":"undefined"==typeof Uint32Array?r:Uint32Array,"%URIError%":URIError,"%WeakMap%":"undefined"==typeof WeakMap?r:WeakMap,"%WeakRef%":"undefined"==typeof WeakRef?r:WeakRef,"%WeakSet%":"undefined"==typeof WeakSet?r:WeakSet},v=function t(e){var n;if("%AsyncFunction%"===e)n=s("async function () {}");else if("%GeneratorFunction%"===e)n=s("function* () {}");else if("%AsyncGeneratorFunction%"===e)n=s("async function* () {}");else if("%AsyncGenerator%"===e){var r=t("%AsyncGeneratorFunction%");r&&(n=r.prototype)}else if("%AsyncIteratorPrototype%"===e){var o=t("%AsyncGenerator%");o&&(n=f(o.prototype))}return m[e]=n,n},g={"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},y=n(8612),A=n(7642),b=y.call(Function.call,Array.prototype.concat),C=y.call(Function.apply,Array.prototype.splice),w=y.call(Function.call,String.prototype.replace),x=y.call(Function.call,String.prototype.slice),_=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,S=/\\(\\)?/g,k=function(t){var e=x(t,0,1),n=x(t,-1);if("%"===e&&"%"!==n)throw new o("invalid intrinsic syntax, expected closing `%`");if("%"===n&&"%"!==e)throw new o("invalid intrinsic syntax, expected opening `%`");var r=[];return w(t,_,(function(t,e,n,o){r[r.length]=n?w(o,S,"$1"):e||t})),r},E=function(t,e){var n,r=t;if(A(g,r)&&(r="%"+(n=g[r])[0]+"%"),A(m,r)){var i=m[r];if(i===d&&(i=v(r)),void 0===i&&!e)throw new a("intrinsic "+t+" exists, but is not available. Please file an issue!");return{alias:n,name:r,value:i}}throw new o("intrinsic "+t+" does not exist!")};t.exports=function(t,e){if("string"!=typeof t||0===t.length)throw new a("intrinsic name must be a non-empty string");if(arguments.length>1&&"boolean"!=typeof e)throw new a('"allowMissing" argument must be a boolean');var n=k(t),r=n.length>0?n[0]:"",i=E("%"+r+"%",e),s=i.name,u=i.value,c=!1,p=i.alias;p&&(r=p[0],C(n,b([0,1],p)));for(var f=1,d=!0;f<n.length;f+=1){var h=n[f],v=x(h,0,1),g=x(h,-1);if(('"'===v||"'"===v||"`"===v||'"'===g||"'"===g||"`"===g)&&v!==g)throw new o("property names with quotes must have matching quotes");if("constructor"!==h&&d||(c=!0),A(m,s="%"+(r+="."+h)+"%"))u=m[s];else if(null!=u){if(!(h in u)){if(!e)throw new a("base intrinsic for "+t+" exists, but the property is not available.");return}if(l&&f+1>=n.length){var y=l(u,h);u=(d=!!y)&&"get"in y&&!("originalValue"in y.get)?y.get:u[h]}else d=A(u,h),u=u[h];d&&!c&&(m[s]=u)}}return u}},840:(t,e,n)=>{var r;!function(o,i,a,s){"use strict";var l,u=["","webkit","Moz","MS","ms","o"],c=i.createElement("div"),p=Math.round,f=Math.abs,d=Date.now;function h(t,e,n){return setTimeout(C(t,n),e)}function m(t,e,n){return!!Array.isArray(t)&&(v(t,n[e],n),!0)}function v(t,e,n){var r;if(t)if(t.forEach)t.forEach(e,n);else if(t.length!==s)for(r=0;r<t.length;)e.call(n,t[r],r,t),r++;else for(r in t)t.hasOwnProperty(r)&&e.call(n,t[r],r,t)}function g(t,e,n){var r="DEPRECATED METHOD: "+e+"\n"+n+" AT \n";return function(){var e=new Error("get-stack-trace"),n=e&&e.stack?e.stack.replace(/^[^\(]+?[\n$]/gm,"").replace(/^\s+at\s+/gm,"").replace(/^Object.<anonymous>\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",i=o.console&&(o.console.warn||o.console.log);return i&&i.call(o.console,r,n),t.apply(this,arguments)}}l="function"!=typeof Object.assign?function(t){if(t===s||null===t)throw new TypeError("Cannot convert undefined or null to object");for(var e=Object(t),n=1;n<arguments.length;n++){var r=arguments[n];if(r!==s&&null!==r)for(var o in r)r.hasOwnProperty(o)&&(e[o]=r[o])}return e}:Object.assign;var y=g((function(t,e,n){for(var r=Object.keys(e),o=0;o<r.length;)(!n||n&&t[r[o]]===s)&&(t[r[o]]=e[r[o]]),o++;return t}),"extend","Use `assign`."),A=g((function(t,e){return y(t,e,!0)}),"merge","Use `assign`.");function b(t,e,n){var r,o=e.prototype;(r=t.prototype=Object.create(o)).constructor=t,r._super=o,n&&l(r,n)}function C(t,e){return function(){return t.apply(e,arguments)}}function w(t,e){return"function"==typeof t?t.apply(e&&e[0]||s,e):t}function x(t,e){return t===s?e:t}function _(t,e,n){v(O(e),(function(e){t.addEventListener(e,n,!1)}))}function S(t,e,n){v(O(e),(function(e){t.removeEventListener(e,n,!1)}))}function k(t,e){for(;t;){if(t==e)return!0;t=t.parentNode}return!1}function E(t,e){return t.indexOf(e)>-1}function O(t){return t.trim().split(/\s+/g)}function j(t,e,n){if(t.indexOf&&!n)return t.indexOf(e);for(var r=0;r<t.length;){if(n&&t[r][n]==e||!n&&t[r]===e)return r;r++}return-1}function T(t){return Array.prototype.slice.call(t,0)}function B(t,e,n){for(var r=[],o=[],i=0;i<t.length;){var a=e?t[i][e]:t[i];j(o,a)<0&&r.push(t[i]),o[i]=a,i++}return n&&(r=e?r.sort((function(t,n){return t[e]>n[e]})):r.sort()),r}function N(t,e){for(var n,r,o=e[0].toUpperCase()+e.slice(1),i=0;i<u.length;){if((r=(n=u[i])?n+o:e)in t)return r;i++}return s}var P=1;function $(t){var e=t.ownerDocument||t;return e.defaultView||e.parentWindow||o}var I="ontouchstart"in o,z=N(o,"PointerEvent")!==s,F=I&&/mobile|tablet|ip(ad|hone|od)|android/i.test(navigator.userAgent),D="touch",L="mouse",R=24,M=["x","y"],U=["clientX","clientY"];function G(t,e){var n=this;this.manager=t,this.callback=e,this.element=t.element,this.target=t.options.inputTarget,this.domHandler=function(e){w(t.options.enable,[t])&&n.handler(e)},this.init()}function q(t,e,n){var r=n.pointers.length,o=n.changedPointers.length,i=1&e&&r-o==0,a=12&e&&r-o==0;n.isFirst=!!i,n.isFinal=!!a,i&&(t.session={}),n.eventType=e,function(t,e){var n=t.session,r=e.pointers,o=r.length;n.firstInput||(n.firstInput=V(e));o>1&&!n.firstMultiple?n.firstMultiple=V(e):1===o&&(n.firstMultiple=!1);var i=n.firstInput,a=n.firstMultiple,l=a?a.center:i.center,u=e.center=W(r);e.timeStamp=d(),e.deltaTime=e.timeStamp-i.timeStamp,e.angle=X(l,u),e.distance=K(l,u),function(t,e){var n=e.center,r=t.offsetDelta||{},o=t.prevDelta||{},i=t.prevInput||{};1!==e.eventType&&4!==i.eventType||(o=t.prevDelta={x:i.deltaX||0,y:i.deltaY||0},r=t.offsetDelta={x:n.x,y:n.y});e.deltaX=o.x+(n.x-r.x),e.deltaY=o.y+(n.y-r.y)}(n,e),e.offsetDirection=Y(e.deltaX,e.deltaY);var c=H(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=c.x,e.overallVelocityY=c.y,e.overallVelocity=f(c.x)>f(c.y)?c.x:c.y,e.scale=a?(p=a.pointers,h=r,K(h[0],h[1],U)/K(p[0],p[1],U)):1,e.rotation=a?function(t,e){return X(e[1],e[0],U)+X(t[1],t[0],U)}(a.pointers,r):0,e.maxPointers=n.prevInput?e.pointers.length>n.prevInput.maxPointers?e.pointers.length:n.prevInput.maxPointers:e.pointers.length,function(t,e){var n,r,o,i,a=t.lastInterval||e,l=e.timeStamp-a.timeStamp;if(8!=e.eventType&&(l>25||a.velocity===s)){var u=e.deltaX-a.deltaX,c=e.deltaY-a.deltaY,p=H(l,u,c);r=p.x,o=p.y,n=f(p.x)>f(p.y)?p.x:p.y,i=Y(u,c),t.lastInterval=e}else n=a.velocity,r=a.velocityX,o=a.velocityY,i=a.direction;e.velocity=n,e.velocityX=r,e.velocityY=o,e.direction=i}(n,e);var p,h;var m=t.element;k(e.srcEvent.target,m)&&(m=e.srcEvent.target);e.target=m}(t,n),t.emit("hammer.input",n),t.recognize(n),t.session.prevInput=n}function V(t){for(var e=[],n=0;n<t.pointers.length;)e[n]={clientX:p(t.pointers[n].clientX),clientY:p(t.pointers[n].clientY)},n++;return{timeStamp:d(),pointers:e,center:W(e),deltaX:t.deltaX,deltaY:t.deltaY}}function W(t){var e=t.length;if(1===e)return{x:p(t[0].clientX),y:p(t[0].clientY)};for(var n=0,r=0,o=0;o<e;)n+=t[o].clientX,r+=t[o].clientY,o++;return{x:p(n/e),y:p(r/e)}}function H(t,e,n){return{x:e/t||0,y:n/t||0}}function Y(t,e){return t===e?1:f(t)>=f(e)?t<0?2:4:e<0?8:16}function K(t,e,n){n||(n=M);var r=e[n[0]]-t[n[0]],o=e[n[1]]-t[n[1]];return Math.sqrt(r*r+o*o)}function X(t,e,n){n||(n=M);var r=e[n[0]]-t[n[0]],o=e[n[1]]-t[n[1]];return 180*Math.atan2(o,r)/Math.PI}G.prototype={handler:function(){},init:function(){this.evEl&&_(this.element,this.evEl,this.domHandler),this.evTarget&&_(this.target,this.evTarget,this.domHandler),this.evWin&&_($(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&S(this.element,this.evEl,this.domHandler),this.evTarget&&S(this.target,this.evTarget,this.domHandler),this.evWin&&S($(this.element),this.evWin,this.domHandler)}};var Z={mousedown:1,mousemove:2,mouseup:4},J="mousedown",Q="mousemove mouseup";function tt(){this.evEl=J,this.evWin=Q,this.pressed=!1,G.apply(this,arguments)}b(tt,G,{handler:function(t){var e=Z[t.type];1&e&&0===t.button&&(this.pressed=!0),2&e&&1!==t.which&&(e=4),this.pressed&&(4&e&&(this.pressed=!1),this.callback(this.manager,e,{pointers:[t],changedPointers:[t],pointerType:L,srcEvent:t}))}});var et={pointerdown:1,pointermove:2,pointerup:4,pointercancel:8,pointerout:8},nt={2:D,3:"pen",4:L,5:"kinect"},rt="pointerdown",ot="pointermove pointerup pointercancel";function it(){this.evEl=rt,this.evWin=ot,G.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}o.MSPointerEvent&&!o.PointerEvent&&(rt="MSPointerDown",ot="MSPointerMove MSPointerUp MSPointerCancel"),b(it,G,{handler:function(t){var e=this.store,n=!1,r=t.type.toLowerCase().replace("ms",""),o=et[r],i=nt[t.pointerType]||t.pointerType,a=i==D,s=j(e,t.pointerId,"pointerId");1&o&&(0===t.button||a)?s<0&&(e.push(t),s=e.length-1):12&o&&(n=!0),s<0||(e[s]=t,this.callback(this.manager,o,{pointers:e,changedPointers:[t],pointerType:i,srcEvent:t}),n&&e.splice(s,1))}});var at={touchstart:1,touchmove:2,touchend:4,touchcancel:8},st="touchstart",lt="touchstart touchmove touchend touchcancel";function ut(){this.evTarget=st,this.evWin=lt,this.started=!1,G.apply(this,arguments)}function ct(t,e){var n=T(t.touches),r=T(t.changedTouches);return 12&e&&(n=B(n.concat(r),"identifier",!0)),[n,r]}b(ut,G,{handler:function(t){var e=at[t.type];if(1===e&&(this.started=!0),this.started){var n=ct.call(this,t,e);12&e&&n[0].length-n[1].length==0&&(this.started=!1),this.callback(this.manager,e,{pointers:n[0],changedPointers:n[1],pointerType:D,srcEvent:t})}}});var pt={touchstart:1,touchmove:2,touchend:4,touchcancel:8},ft="touchstart touchmove touchend touchcancel";function dt(){this.evTarget=ft,this.targetIds={},G.apply(this,arguments)}function ht(t,e){var n=T(t.touches),r=this.targetIds;if(3&e&&1===n.length)return r[n[0].identifier]=!0,[n,n];var o,i,a=T(t.changedTouches),s=[],l=this.target;if(i=n.filter((function(t){return k(t.target,l)})),1===e)for(o=0;o<i.length;)r[i[o].identifier]=!0,o++;for(o=0;o<a.length;)r[a[o].identifier]&&s.push(a[o]),12&e&&delete r[a[o].identifier],o++;return s.length?[B(i.concat(s),"identifier",!0),s]:void 0}b(dt,G,{handler:function(t){var e=pt[t.type],n=ht.call(this,t,e);n&&this.callback(this.manager,e,{pointers:n[0],changedPointers:n[1],pointerType:D,srcEvent:t})}});function mt(){G.apply(this,arguments);var t=C(this.handler,this);this.touch=new dt(this.manager,t),this.mouse=new tt(this.manager,t),this.primaryTouch=null,this.lastTouches=[]}function vt(t,e){1&t?(this.primaryTouch=e.changedPointers[0].identifier,gt.call(this,e)):12&t&&gt.call(this,e)}function gt(t){var e=t.changedPointers[0];if(e.identifier===this.primaryTouch){var n={x:e.clientX,y:e.clientY};this.lastTouches.push(n);var r=this.lastTouches;setTimeout((function(){var t=r.indexOf(n);t>-1&&r.splice(t,1)}),2500)}}function yt(t){for(var e=t.srcEvent.clientX,n=t.srcEvent.clientY,r=0;r<this.lastTouches.length;r++){var o=this.lastTouches[r],i=Math.abs(e-o.x),a=Math.abs(n-o.y);if(i<=25&&a<=25)return!0}return!1}b(mt,G,{handler:function(t,e,n){var r=n.pointerType==D,o=n.pointerType==L;if(!(o&&n.sourceCapabilities&&n.sourceCapabilities.firesTouchEvents)){if(r)vt.call(this,e,n);else if(o&&yt.call(this,n))return;this.callback(t,e,n)}},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});var At=N(c.style,"touchAction"),bt=At!==s,Ct="compute",wt="auto",xt="manipulation",_t="none",St="pan-x",kt="pan-y",Et=function(){if(!bt)return!1;var t={},e=o.CSS&&o.CSS.supports;return["auto","manipulation","pan-y","pan-x","pan-x pan-y","none"].forEach((function(n){t[n]=!e||o.CSS.supports("touch-action",n)})),t}();function Ot(t,e){this.manager=t,this.set(e)}Ot.prototype={set:function(t){t==Ct&&(t=this.compute()),bt&&this.manager.element.style&&Et[t]&&(this.manager.element.style[At]=t),this.actions=t.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var t=[];return v(this.manager.recognizers,(function(e){w(e.options.enable,[e])&&(t=t.concat(e.getTouchAction()))})),function(t){if(E(t,_t))return _t;var e=E(t,St),n=E(t,kt);if(e&&n)return _t;if(e||n)return e?St:kt;if(E(t,xt))return xt;return wt}(t.join(" "))},preventDefaults:function(t){var e=t.srcEvent,n=t.offsetDirection;if(this.manager.session.prevented)e.preventDefault();else{var r=this.actions,o=E(r,_t)&&!Et.none,i=E(r,kt)&&!Et["pan-y"],a=E(r,St)&&!Et["pan-x"];if(o){var s=1===t.pointers.length,l=t.distance<2,u=t.deltaTime<250;if(s&&l&&u)return}if(!a||!i)return o||i&&6&n||a&&n&R?this.preventSrc(e):void 0}},preventSrc:function(t){this.manager.session.prevented=!0,t.preventDefault()}};var jt=32;function Tt(t){this.options=l({},this.defaults,t||{}),this.id=P++,this.manager=null,this.options.enable=x(this.options.enable,!0),this.state=1,this.simultaneous={},this.requireFail=[]}function Bt(t){return 16&t?"cancel":8&t?"end":4&t?"move":2&t?"start":""}function Nt(t){return 16==t?"down":8==t?"up":2==t?"left":4==t?"right":""}function Pt(t,e){var n=e.manager;return n?n.get(t):t}function $t(){Tt.apply(this,arguments)}function It(){$t.apply(this,arguments),this.pX=null,this.pY=null}function zt(){$t.apply(this,arguments)}function Ft(){Tt.apply(this,arguments),this._timer=null,this._input=null}function Dt(){$t.apply(this,arguments)}function Lt(){$t.apply(this,arguments)}function Rt(){Tt.apply(this,arguments),this.pTime=!1,this.pCenter=!1,this._timer=null,this._input=null,this.count=0}function Mt(t,e){return(e=e||{}).recognizers=x(e.recognizers,Mt.defaults.preset),new Ut(t,e)}Tt.prototype={defaults:{},set:function(t){return l(this.options,t),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(t){if(m(t,"recognizeWith",this))return this;var e=this.simultaneous;return e[(t=Pt(t,this)).id]||(e[t.id]=t,t.recognizeWith(this)),this},dropRecognizeWith:function(t){return m(t,"dropRecognizeWith",this)||(t=Pt(t,this),delete this.simultaneous[t.id]),this},requireFailure:function(t){if(m(t,"requireFailure",this))return this;var e=this.requireFail;return-1===j(e,t=Pt(t,this))&&(e.push(t),t.requireFailure(this)),this},dropRequireFailure:function(t){if(m(t,"dropRequireFailure",this))return this;t=Pt(t,this);var e=j(this.requireFail,t);return e>-1&&this.requireFail.splice(e,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(t){return!!this.simultaneous[t.id]},emit:function(t){var e=this,n=this.state;function r(n){e.manager.emit(n,t)}n<8&&r(e.options.event+Bt(n)),r(e.options.event),t.additionalEvent&&r(t.additionalEvent),n>=8&&r(e.options.event+Bt(n))},tryEmit:function(t){if(this.canEmit())return this.emit(t);this.state=jt},canEmit:function(){for(var t=0;t<this.requireFail.length;){if(!(33&this.requireFail[t].state))return!1;t++}return!0},recognize:function(t){var e=l({},t);if(!w(this.options.enable,[this,e]))return this.reset(),void(this.state=jt);56&this.state&&(this.state=1),this.state=this.process(e),30&this.state&&this.tryEmit(e)},process:function(t){},getTouchAction:function(){},reset:function(){}},b($t,Tt,{defaults:{pointers:1},attrTest:function(t){var e=this.options.pointers;return 0===e||t.pointers.length===e},process:function(t){var e=this.state,n=t.eventType,r=6&e,o=this.attrTest(t);return r&&(8&n||!o)?16|e:r||o?4&n?8|e:2&e?4|e:2:jt}}),b(It,$t,{defaults:{event:"pan",threshold:10,pointers:1,direction:30},getTouchAction:function(){var t=this.options.direction,e=[];return 6&t&&e.push(kt),t&R&&e.push(St),e},directionTest:function(t){var e=this.options,n=!0,r=t.distance,o=t.direction,i=t.deltaX,a=t.deltaY;return o&e.direction||(6&e.direction?(o=0===i?1:i<0?2:4,n=i!=this.pX,r=Math.abs(t.deltaX)):(o=0===a?1:a<0?8:16,n=a!=this.pY,r=Math.abs(t.deltaY))),t.direction=o,n&&r>e.threshold&&o&e.direction},attrTest:function(t){return $t.prototype.attrTest.call(this,t)&&(2&this.state||!(2&this.state)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=Nt(t.direction);e&&(t.additionalEvent=this.options.event+e),this._super.emit.call(this,t)}}),b(zt,$t,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[_t]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||2&this.state)},emit:function(t){if(1!==t.scale){var e=t.scale<1?"in":"out";t.additionalEvent=this.options.event+e}this._super.emit.call(this,t)}}),b(Ft,Tt,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[wt]},process:function(t){var e=this.options,n=t.pointers.length===e.pointers,r=t.distance<e.threshold,o=t.deltaTime>e.time;if(this._input=t,!r||!n||12&t.eventType&&!o)this.reset();else if(1&t.eventType)this.reset(),this._timer=h((function(){this.state=8,this.tryEmit()}),e.time,this);else if(4&t.eventType)return 8;return jt},reset:function(){clearTimeout(this._timer)},emit:function(t){8===this.state&&(t&&4&t.eventType?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=d(),this.manager.emit(this.options.event,this._input)))}}),b(Dt,$t,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[_t]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||2&this.state)}}),b(Lt,$t,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:30,pointers:1},getTouchAction:function(){return It.prototype.getTouchAction.call(this)},attrTest:function(t){var e,n=this.options.direction;return 30&n?e=t.overallVelocity:6&n?e=t.overallVelocityX:n&R&&(e=t.overallVelocityY),this._super.attrTest.call(this,t)&&n&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&&f(e)>this.options.velocity&&4&t.eventType},emit:function(t){var e=Nt(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),b(Rt,Tt,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[xt]},process:function(t){var e=this.options,n=t.pointers.length===e.pointers,r=t.distance<e.threshold,o=t.deltaTime<e.time;if(this.reset(),1&t.eventType&&0===this.count)return this.failTimeout();if(r&&o&&n){if(4!=t.eventType)return this.failTimeout();var i=!this.pTime||t.timeStamp-this.pTime<e.interval,a=!this.pCenter||K(this.pCenter,t.center)<e.posThreshold;if(this.pTime=t.timeStamp,this.pCenter=t.center,a&&i?this.count+=1:this.count=1,this._input=t,0===this.count%e.taps)return this.hasRequireFailures()?(this._timer=h((function(){this.state=8,this.tryEmit()}),e.interval,this),2):8}return jt},failTimeout:function(){return this._timer=h((function(){this.state=jt}),this.options.interval,this),jt},reset:function(){clearTimeout(this._timer)},emit:function(){8==this.state&&(this._input.tapCount=this.count,this.manager.emit(this.options.event,this._input))}}),Mt.VERSION="2.0.7",Mt.defaults={domEvents:!1,touchAction:Ct,enable:!0,inputTarget:null,inputClass:null,preset:[[Dt,{enable:!1}],[zt,{enable:!1},["rotate"]],[Lt,{direction:6}],[It,{direction:6},["swipe"]],[Rt],[Rt,{event:"doubletap",taps:2},["tap"]],[Ft]],cssProps:{userSelect:"none",touchSelect:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}};function Ut(t,e){var n;this.options=l({},Mt.defaults,e||{}),this.options.inputTarget=this.options.inputTarget||t,this.handlers={},this.session={},this.recognizers=[],this.oldCssProps={},this.element=t,this.input=new((n=this).options.inputClass||(z?it:F?dt:I?mt:tt))(n,q),this.touchAction=new Ot(this,this.options.touchAction),Gt(this,!0),v(this.options.recognizers,(function(t){var e=this.add(new t[0](t[1]));t[2]&&e.recognizeWith(t[2]),t[3]&&e.requireFailure(t[3])}),this)}function Gt(t,e){var n,r=t.element;r.style&&(v(t.options.cssProps,(function(o,i){n=N(r.style,i),e?(t.oldCssProps[n]=r.style[n],r.style[n]=o):r.style[n]=t.oldCssProps[n]||""})),e||(t.oldCssProps={}))}Ut.prototype={set:function(t){return l(this.options,t),t.touchAction&&this.touchAction.update(),t.inputTarget&&(this.input.destroy(),this.input.target=t.inputTarget,this.input.init()),this},stop:function(t){this.session.stopped=t?2:1},recognize:function(t){var e=this.session;if(!e.stopped){var n;this.touchAction.preventDefaults(t);var r=this.recognizers,o=e.curRecognizer;(!o||o&&8&o.state)&&(o=e.curRecognizer=null);for(var i=0;i<r.length;)n=r[i],2===e.stopped||o&&n!=o&&!n.canRecognizeWith(o)?n.reset():n.recognize(t),!o&&14&n.state&&(o=e.curRecognizer=n),i++}},get:function(t){if(t instanceof Tt)return t;for(var e=this.recognizers,n=0;n<e.length;n++)if(e[n].options.event==t)return e[n];return null},add:function(t){if(m(t,"add",this))return this;var e=this.get(t.options.event);return e&&this.remove(e),this.recognizers.push(t),t.manager=this,this.touchAction.update(),t},remove:function(t){if(m(t,"remove",this))return this;if(t=this.get(t)){var e=this.recognizers,n=j(e,t);-1!==n&&(e.splice(n,1),this.touchAction.update())}return this},on:function(t,e){if(t!==s&&e!==s){var n=this.handlers;return v(O(t),(function(t){n[t]=n[t]||[],n[t].push(e)})),this}},off:function(t,e){if(t!==s){var n=this.handlers;return v(O(t),(function(t){e?n[t]&&n[t].splice(j(n[t],e),1):delete n[t]})),this}},emit:function(t,e){this.options.domEvents&&function(t,e){var n=i.createEvent("Event");n.initEvent(t,!0,!0),n.gesture=e,e.target.dispatchEvent(n)}(t,e);var n=this.handlers[t]&&this.handlers[t].slice();if(n&&n.length){e.type=t,e.preventDefault=function(){e.srcEvent.preventDefault()};for(var r=0;r<n.length;)n[r](e),r++}},destroy:function(){this.element&&Gt(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null}},l(Mt,{INPUT_START:1,INPUT_MOVE:2,INPUT_END:4,INPUT_CANCEL:8,STATE_POSSIBLE:1,STATE_BEGAN:2,STATE_CHANGED:4,STATE_ENDED:8,STATE_RECOGNIZED:8,STATE_CANCELLED:16,STATE_FAILED:jt,DIRECTION_NONE:1,DIRECTION_LEFT:2,DIRECTION_RIGHT:4,DIRECTION_UP:8,DIRECTION_DOWN:16,DIRECTION_HORIZONTAL:6,DIRECTION_VERTICAL:R,DIRECTION_ALL:30,Manager:Ut,Input:G,TouchAction:Ot,TouchInput:dt,MouseInput:tt,PointerEventInput:it,TouchMouseInput:mt,SingleTouchInput:ut,Recognizer:Tt,AttrRecognizer:$t,Tap:Rt,Pan:It,Swipe:Lt,Pinch:zt,Rotate:Dt,Press:Ft,on:_,off:S,each:v,merge:A,extend:y,assign:l,inherit:b,bindFn:C,prefixed:N}),(void 0!==o?o:"undefined"!=typeof self?self:{}).Hammer=Mt,(r=function(){return Mt}.call(e,n,e,t))===s||(t.exports=r)}(window,document)},1405:(t,e,n)=>{"use strict";var r="undefined"!=typeof Symbol&&Symbol,o=n(5419);t.exports=function(){return"function"==typeof r&&("function"==typeof Symbol&&("symbol"==typeof r("foo")&&("symbol"==typeof Symbol("bar")&&o())))}},5419:t=>{"use strict";t.exports=function(){if("function"!=typeof Symbol||"function"!=typeof Object.getOwnPropertySymbols)return!1;if("symbol"==typeof Symbol.iterator)return!0;var t={},e=Symbol("test"),n=Object(e);if("string"==typeof e)return!1;if("[object Symbol]"!==Object.prototype.toString.call(e))return!1;if("[object Symbol]"!==Object.prototype.toString.call(n))return!1;for(e in t[e]=42,t)return!1;if("function"==typeof Object.keys&&0!==Object.keys(t).length)return!1;if("function"==typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(t).length)return!1;var r=Object.getOwnPropertySymbols(t);if(1!==r.length||r[0]!==e)return!1;if(!Object.prototype.propertyIsEnumerable.call(t,e))return!1;if("function"==typeof Object.getOwnPropertyDescriptor){var o=Object.getOwnPropertyDescriptor(t,e);if(42!==o.value||!0!==o.enumerable)return!1}return!0}},6410:(t,e,n)=>{"use strict";var r=n(5419);t.exports=function(){return r()&&!!Symbol.toStringTag}},7642:(t,e,n)=>{"use strict";var r=n(8612);t.exports=r.call(Function.call,Object.prototype.hasOwnProperty)},2584:(t,e,n)=>{"use strict";var r=n(6410)(),o=n(1924)("Object.prototype.toString"),i=function(t){return!(r&&t&&"object"==typeof t&&Symbol.toStringTag in t)&&"[object Arguments]"===o(t)},a=function(t){return!!i(t)||null!==t&&"object"==typeof t&&"number"==typeof t.length&&t.length>=0&&"[object Array]"!==o(t)&&"[object Function]"===o(t.callee)},s=function(){return i(arguments)}();i.isLegacyArguments=a,t.exports=s?i:a},8662:(t,e,n)=>{"use strict";var r,o=Object.prototype.toString,i=Function.prototype.toString,a=/^\s*(?:function)?\*/,s=n(6410)(),l=Object.getPrototypeOf;t.exports=function(t){if("function"!=typeof t)return!1;if(a.test(i.call(t)))return!0;if(!s)return"[object GeneratorFunction]"===o.call(t);if(!l)return!1;if(void 0===r){var e=function(){if(!s)return!1;try{return Function("return function*() {}")()}catch(t){}}();r=!!e&&l(e)}return l(t)===r}},8611:t=>{"use strict";t.exports=function(t){return t!=t}},360:(t,e,n)=>{"use strict";var r=n(5559),o=n(4289),i=n(8611),a=n(9415),s=n(3194),l=r(a(),Number);o(l,{getPolyfill:a,implementation:i,shim:s}),t.exports=l},9415:(t,e,n)=>{"use strict";var r=n(8611);t.exports=function(){return Number.isNaN&&Number.isNaN(NaN)&&!Number.isNaN("a")?Number.isNaN:r}},3194:(t,e,n)=>{"use strict";var r=n(4289),o=n(9415);t.exports=function(){var t=o();return r(Number,{isNaN:t},{isNaN:function(){return Number.isNaN!==t}}),t}},5692:(t,e,n)=>{"use strict";var r=n(9804),o=n(6314),i=n(1924),a=i("Object.prototype.toString"),s=n(6410)(),l="undefined"==typeof globalThis?n.g:globalThis,u=o(),c=i("Array.prototype.indexOf",!0)||function(t,e){for(var n=0;n<t.length;n+=1)if(t[n]===e)return n;return-1},p=i("String.prototype.slice"),f={},d=n(4079),h=Object.getPrototypeOf;s&&d&&h&&r(u,(function(t){var e=new l[t];if(Symbol.toStringTag in e){var n=h(e),r=d(n,Symbol.toStringTag);if(!r){var o=h(n);r=d(o,Symbol.toStringTag)}f[t]=r.get}}));t.exports=function(t){if(!t||"object"!=typeof t)return!1;if(!s||!(Symbol.toStringTag in t)){var e=p(a(t),8,-1);return c(u,e)>-1}return!!d&&function(t){var e=!1;return r(f,(function(n,r){if(!e)try{e=n.call(t)===r}catch(t){}})),e}(t)}},9208:(t,e,n)=>{var r="__lodash_hash_undefined__",o="[object Function]",i="[object GeneratorFunction]",a=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,s=/^\w*$/,l=/^\./,u=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,c=/\\(\\)?/g,p=/^\[object .+?Constructor\]$/,f="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,d="object"==typeof self&&self&&self.Object===Object&&self,h=f||d||Function("return this")();var m,v=Array.prototype,g=Function.prototype,y=Object.prototype,A=h["__core-js_shared__"],b=(m=/[^.]+$/.exec(A&&A.keys&&A.keys.IE_PROTO||""))?"Symbol(src)_1."+m:"",C=g.toString,w=y.hasOwnProperty,x=y.toString,_=RegExp("^"+C.call(w).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),S=h.Symbol,k=v.splice,E=D(h,"Map"),O=D(Object,"create"),j=S?S.prototype:void 0,T=j?j.toString:void 0;function B(t){var e=-1,n=t?t.length:0;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function N(t){var e=-1,n=t?t.length:0;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function P(t){var e=-1,n=t?t.length:0;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function $(t,e){for(var n,r,o=t.length;o--;)if((n=t[o][0])===(r=e)||n!=n&&r!=r)return o;return-1}function I(t,e){var n;e=function(t,e){if(U(t))return!1;var n=typeof t;if("number"==n||"symbol"==n||"boolean"==n||null==t||q(t))return!0;return s.test(t)||!a.test(t)||null!=e&&t in Object(e)}(e,t)?[e]:U(n=e)?n:L(n);for(var r=0,o=e.length;null!=t&&r<o;)t=t[R(e[r++])];return r&&r==o?t:void 0}function z(t){if(!G(t)||(e=t,b&&b in e))return!1;var e,n=function(t){var e=G(t)?x.call(t):"";return e==o||e==i}(t)||function(t){var e=!1;if(null!=t&&"function"!=typeof t.toString)try{e=!!(t+"")}catch(t){}return e}(t)?_:p;return n.test(function(t){if(null!=t){try{return C.call(t)}catch(t){}try{return t+""}catch(t){}}return""}(t))}function F(t,e){var n,r,o=t.__data__;return("string"==(r=typeof(n=e))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?o["string"==typeof e?"string":"hash"]:o.map}function D(t,e){var n=function(t,e){return null==t?void 0:t[e]}(t,e);return z(n)?n:void 0}B.prototype.clear=function(){this.__data__=O?O(null):{}},B.prototype.delete=function(t){return this.has(t)&&delete this.__data__[t]},B.prototype.get=function(t){var e=this.__data__;if(O){var n=e[t];return n===r?void 0:n}return w.call(e,t)?e[t]:void 0},B.prototype.has=function(t){var e=this.__data__;return O?void 0!==e[t]:w.call(e,t)},B.prototype.set=function(t,e){return this.__data__[t]=O&&void 0===e?r:e,this},N.prototype.clear=function(){this.__data__=[]},N.prototype.delete=function(t){var e=this.__data__,n=$(e,t);return!(n<0)&&(n==e.length-1?e.pop():k.call(e,n,1),!0)},N.prototype.get=function(t){var e=this.__data__,n=$(e,t);return n<0?void 0:e[n][1]},N.prototype.has=function(t){return $(this.__data__,t)>-1},N.prototype.set=function(t,e){var n=this.__data__,r=$(n,t);return r<0?n.push([t,e]):n[r][1]=e,this},P.prototype.clear=function(){this.__data__={hash:new B,map:new(E||N),string:new B}},P.prototype.delete=function(t){return F(this,t).delete(t)},P.prototype.get=function(t){return F(this,t).get(t)},P.prototype.has=function(t){return F(this,t).has(t)},P.prototype.set=function(t,e){return F(this,t).set(t,e),this};var L=M((function(t){var e;t=null==(e=t)?"":function(t){if("string"==typeof t)return t;if(q(t))return T?T.call(t):"";var e=t+"";return"0"==e&&1/t==-1/0?"-0":e}(e);var n=[];return l.test(t)&&n.push(""),t.replace(u,(function(t,e,r,o){n.push(r?o.replace(c,"$1"):e||t)})),n}));function R(t){if("string"==typeof t||q(t))return t;var e=t+"";return"0"==e&&1/t==-1/0?"-0":e}function M(t,e){if("function"!=typeof t||e&&"function"!=typeof e)throw new TypeError("Expected a function");var n=function(){var r=arguments,o=e?e.apply(this,r):r[0],i=n.cache;if(i.has(o))return i.get(o);var a=t.apply(this,r);return n.cache=i.set(o,a),a};return n.cache=new(M.Cache||P),n}M.Cache=P;var U=Array.isArray;function G(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function q(t){return"symbol"==typeof t||function(t){return!!t&&"object"==typeof t}(t)&&"[object Symbol]"==x.call(t)}t.exports=function(t,e,n){var r=null==t?void 0:I(t,e);return void 0===r?n:r}},8552:(t,e,n)=>{var r=n(852)(n(5639),"DataView");t.exports=r},1989:(t,e,n)=>{var r=n(1789),o=n(401),i=n(7667),a=n(1327),s=n(1866);function l(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}l.prototype.clear=r,l.prototype.delete=o,l.prototype.get=i,l.prototype.has=a,l.prototype.set=s,t.exports=l},8407:(t,e,n)=>{var r=n(7040),o=n(4125),i=n(2117),a=n(7518),s=n(3399);function l(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}l.prototype.clear=r,l.prototype.delete=o,l.prototype.get=i,l.prototype.has=a,l.prototype.set=s,t.exports=l},7071:(t,e,n)=>{var r=n(852)(n(5639),"Map");t.exports=r},3369:(t,e,n)=>{var r=n(4785),o=n(1285),i=n(6e3),a=n(9916),s=n(5265);function l(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}l.prototype.clear=r,l.prototype.delete=o,l.prototype.get=i,l.prototype.has=a,l.prototype.set=s,t.exports=l},3818:(t,e,n)=>{var r=n(852)(n(5639),"Promise");t.exports=r},8525:(t,e,n)=>{var r=n(852)(n(5639),"Set");t.exports=r},8668:(t,e,n)=>{var r=n(3369),o=n(619),i=n(2385);function a(t){var e=-1,n=null==t?0:t.length;for(this.__data__=new r;++e<n;)this.add(t[e])}a.prototype.add=a.prototype.push=o,a.prototype.has=i,t.exports=a},6384:(t,e,n)=>{var r=n(8407),o=n(7465),i=n(3779),a=n(7599),s=n(4758),l=n(4309);function u(t){var e=this.__data__=new r(t);this.size=e.size}u.prototype.clear=o,u.prototype.delete=i,u.prototype.get=a,u.prototype.has=s,u.prototype.set=l,t.exports=u},2705:(t,e,n)=>{var r=n(5639).Symbol;t.exports=r},1149:(t,e,n)=>{var r=n(5639).Uint8Array;t.exports=r},577:(t,e,n)=>{var r=n(852)(n(5639),"WeakMap");t.exports=r},6874:t=>{t.exports=function(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}},4963:t=>{t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length,o=0,i=[];++n<r;){var a=t[n];e(a,n,t)&&(i[o++]=a)}return i}},4636:(t,e,n)=>{var r=n(2545),o=n(5694),i=n(1469),a=n(4144),s=n(5776),l=n(6719),u=Object.prototype.hasOwnProperty;t.exports=function(t,e){var n=i(t),c=!n&&o(t),p=!n&&!c&&a(t),f=!n&&!c&&!p&&l(t),d=n||c||p||f,h=d?r(t.length,String):[],m=h.length;for(var v in t)!e&&!u.call(t,v)||d&&("length"==v||p&&("offset"==v||"parent"==v)||f&&("buffer"==v||"byteLength"==v||"byteOffset"==v)||s(v,m))||h.push(v);return h}},2488:t=>{t.exports=function(t,e){for(var n=-1,r=e.length,o=t.length;++n<r;)t[o+n]=e[n];return t}},2908:t=>{t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length;++n<r;)if(e(t[n],n,t))return!0;return!1}},6556:(t,e,n)=>{var r=n(9465),o=n(7813);t.exports=function(t,e,n){(void 0!==n&&!o(t[e],n)||void 0===n&&!(e in t))&&r(t,e,n)}},4865:(t,e,n)=>{var r=n(9465),o=n(7813),i=Object.prototype.hasOwnProperty;t.exports=function(t,e,n){var a=t[e];i.call(t,e)&&o(a,n)&&(void 0!==n||e in t)||r(t,e,n)}},8470:(t,e,n)=>{var r=n(7813);t.exports=function(t,e){for(var n=t.length;n--;)if(r(t[n][0],e))return n;return-1}},9465:(t,e,n)=>{var r=n(8777);t.exports=function(t,e,n){"__proto__"==e&&r?r(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[e]=n}},3118:(t,e,n)=>{var r=n(3218),o=Object.create,i=function(){function t(){}return function(e){if(!r(e))return{};if(o)return o(e);t.prototype=e;var n=new t;return t.prototype=void 0,n}}();t.exports=i},8483:(t,e,n)=>{var r=n(5063)();t.exports=r},8866:(t,e,n)=>{var r=n(2488),o=n(1469);t.exports=function(t,e,n){var i=e(t);return o(t)?i:r(i,n(t))}},4239:(t,e,n)=>{var r=n(2705),o=n(9607),i=n(2333),a=r?r.toStringTag:void 0;t.exports=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":a&&a in Object(t)?o(t):i(t)}},9454:(t,e,n)=>{var r=n(4239),o=n(7005);t.exports=function(t){return o(t)&&"[object Arguments]"==r(t)}},939:(t,e,n)=>{var r=n(2492),o=n(7005);t.exports=function t(e,n,i,a,s){return e===n||(null==e||null==n||!o(e)&&!o(n)?e!=e&&n!=n:r(e,n,i,a,t,s))}},2492:(t,e,n)=>{var r=n(6384),o=n(7114),i=n(8351),a=n(6096),s=n(4160),l=n(1469),u=n(4144),c=n(6719),p="[object Arguments]",f="[object Array]",d="[object Object]",h=Object.prototype.hasOwnProperty;t.exports=function(t,e,n,m,v,g){var y=l(t),A=l(e),b=y?f:s(t),C=A?f:s(e),w=(b=b==p?d:b)==d,x=(C=C==p?d:C)==d,_=b==C;if(_&&u(t)){if(!u(e))return!1;y=!0,w=!1}if(_&&!w)return g||(g=new r),y||c(t)?o(t,e,n,m,v,g):i(t,e,b,n,m,v,g);if(!(1&n)){var S=w&&h.call(t,"__wrapped__"),k=x&&h.call(e,"__wrapped__");if(S||k){var E=S?t.value():t,O=k?e.value():e;return g||(g=new r),v(E,O,n,m,g)}}return!!_&&(g||(g=new r),a(t,e,n,m,v,g))}},8458:(t,e,n)=>{var r=n(3560),o=n(5346),i=n(3218),a=n(346),s=/^\[object .+?Constructor\]$/,l=Function.prototype,u=Object.prototype,c=l.toString,p=u.hasOwnProperty,f=RegExp("^"+c.call(p).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");t.exports=function(t){return!(!i(t)||o(t))&&(r(t)?f:s).test(a(t))}},8749:(t,e,n)=>{var r=n(4239),o=n(1780),i=n(7005),a={};a["[object Float32Array]"]=a["[object Float64Array]"]=a["[object Int8Array]"]=a["[object Int16Array]"]=a["[object Int32Array]"]=a["[object Uint8Array]"]=a["[object Uint8ClampedArray]"]=a["[object Uint16Array]"]=a["[object Uint32Array]"]=!0,a["[object Arguments]"]=a["[object Array]"]=a["[object ArrayBuffer]"]=a["[object Boolean]"]=a["[object DataView]"]=a["[object Date]"]=a["[object Error]"]=a["[object Function]"]=a["[object Map]"]=a["[object Number]"]=a["[object Object]"]=a["[object RegExp]"]=a["[object Set]"]=a["[object String]"]=a["[object WeakMap]"]=!1,t.exports=function(t){return i(t)&&o(t.length)&&!!a[r(t)]}},280:(t,e,n)=>{var r=n(5726),o=n(6916),i=Object.prototype.hasOwnProperty;t.exports=function(t){if(!r(t))return o(t);var e=[];for(var n in Object(t))i.call(t,n)&&"constructor"!=n&&e.push(n);return e}},313:(t,e,n)=>{var r=n(3218),o=n(5726),i=n(3498),a=Object.prototype.hasOwnProperty;t.exports=function(t){if(!r(t))return i(t);var e=o(t),n=[];for(var s in t)("constructor"!=s||!e&&a.call(t,s))&&n.push(s);return n}},2980:(t,e,n)=>{var r=n(6384),o=n(6556),i=n(8483),a=n(9783),s=n(3218),l=n(1704),u=n(6390);t.exports=function t(e,n,c,p,f){e!==n&&i(n,(function(i,l){if(f||(f=new r),s(i))a(e,n,l,c,t,p,f);else{var d=p?p(u(e,l),i,l+"",e,n,f):void 0;void 0===d&&(d=i),o(e,l,d)}}),l)}},9783:(t,e,n)=>{var r=n(6556),o=n(4626),i=n(7133),a=n(278),s=n(8517),l=n(5694),u=n(1469),c=n(9246),p=n(4144),f=n(3560),d=n(3218),h=n(8630),m=n(6719),v=n(6390),g=n(9881);t.exports=function(t,e,n,y,A,b,C){var w=v(t,n),x=v(e,n),_=C.get(x);if(_)r(t,n,_);else{var S=b?b(w,x,n+"",t,e,C):void 0,k=void 0===S;if(k){var E=u(x),O=!E&&p(x),j=!E&&!O&&m(x);S=x,E||O||j?u(w)?S=w:c(w)?S=a(w):O?(k=!1,S=o(x,!0)):j?(k=!1,S=i(x,!0)):S=[]:h(x)||l(x)?(S=w,l(w)?S=g(w):d(w)&&!f(w)||(S=s(x))):k=!1}k&&(C.set(x,S),A(S,x,y,b,C),C.delete(x)),r(t,n,S)}}},5976:(t,e,n)=>{var r=n(6557),o=n(5357),i=n(61);t.exports=function(t,e){return i(o(t,e,r),t+"")}},6560:(t,e,n)=>{var r=n(5703),o=n(8777),i=n(6557),a=o?function(t,e){return o(t,"toString",{configurable:!0,enumerable:!1,value:r(e),writable:!0})}:i;t.exports=a},2545:t=>{t.exports=function(t,e){for(var n=-1,r=Array(t);++n<t;)r[n]=e(n);return r}},1717:t=>{t.exports=function(t){return function(e){return t(e)}}},4757:t=>{t.exports=function(t,e){return t.has(e)}},4318:(t,e,n)=>{var r=n(1149);t.exports=function(t){var e=new t.constructor(t.byteLength);return new r(e).set(new r(t)),e}},4626:(t,e,n)=>{t=n.nmd(t);var r=n(5639),o=e&&!e.nodeType&&e,i=o&&t&&!t.nodeType&&t,a=i&&i.exports===o?r.Buffer:void 0,s=a?a.allocUnsafe:void 0;t.exports=function(t,e){if(e)return t.slice();var n=t.length,r=s?s(n):new t.constructor(n);return t.copy(r),r}},7133:(t,e,n)=>{var r=n(4318);t.exports=function(t,e){var n=e?r(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}},278:t=>{t.exports=function(t,e){var n=-1,r=t.length;for(e||(e=Array(r));++n<r;)e[n]=t[n];return e}},8363:(t,e,n)=>{var r=n(4865),o=n(9465);t.exports=function(t,e,n,i){var a=!n;n||(n={});for(var s=-1,l=e.length;++s<l;){var u=e[s],c=i?i(n[u],t[u],u,n,t):void 0;void 0===c&&(c=t[u]),a?o(n,u,c):r(n,u,c)}return n}},4429:(t,e,n)=>{var r=n(5639)["__core-js_shared__"];t.exports=r},1463:(t,e,n)=>{var r=n(5976),o=n(6612);t.exports=function(t){return r((function(e,n){var r=-1,i=n.length,a=i>1?n[i-1]:void 0,s=i>2?n[2]:void 0;for(a=t.length>3&&"function"==typeof a?(i--,a):void 0,s&&o(n[0],n[1],s)&&(a=i<3?void 0:a,i=1),e=Object(e);++r<i;){var l=n[r];l&&t(e,l,r,a)}return e}))}},5063:t=>{t.exports=function(t){return function(e,n,r){for(var o=-1,i=Object(e),a=r(e),s=a.length;s--;){var l=a[t?s:++o];if(!1===n(i[l],l,i))break}return e}}},8777:(t,e,n)=>{var r=n(852),o=function(){try{var t=r(Object,"defineProperty");return t({},"",{}),t}catch(t){}}();t.exports=o},7114:(t,e,n)=>{var r=n(8668),o=n(2908),i=n(4757);t.exports=function(t,e,n,a,s,l){var u=1&n,c=t.length,p=e.length;if(c!=p&&!(u&&p>c))return!1;var f=l.get(t),d=l.get(e);if(f&&d)return f==e&&d==t;var h=-1,m=!0,v=2&n?new r:void 0;for(l.set(t,e),l.set(e,t);++h<c;){var g=t[h],y=e[h];if(a)var A=u?a(y,g,h,e,t,l):a(g,y,h,t,e,l);if(void 0!==A){if(A)continue;m=!1;break}if(v){if(!o(e,(function(t,e){if(!i(v,e)&&(g===t||s(g,t,n,a,l)))return v.push(e)}))){m=!1;break}}else if(g!==y&&!s(g,y,n,a,l)){m=!1;break}}return l.delete(t),l.delete(e),m}},8351:(t,e,n)=>{var r=n(2705),o=n(1149),i=n(7813),a=n(7114),s=n(8776),l=n(1814),u=r?r.prototype:void 0,c=u?u.valueOf:void 0;t.exports=function(t,e,n,r,u,p,f){switch(n){case"[object DataView]":if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case"[object ArrayBuffer]":return!(t.byteLength!=e.byteLength||!p(new o(t),new o(e)));case"[object Boolean]":case"[object Date]":case"[object Number]":return i(+t,+e);case"[object Error]":return t.name==e.name&&t.message==e.message;case"[object RegExp]":case"[object String]":return t==e+"";case"[object Map]":var d=s;case"[object Set]":var h=1&r;if(d||(d=l),t.size!=e.size&&!h)return!1;var m=f.get(t);if(m)return m==e;r|=2,f.set(t,e);var v=a(d(t),d(e),r,u,p,f);return f.delete(t),v;case"[object Symbol]":if(c)return c.call(t)==c.call(e)}return!1}},6096:(t,e,n)=>{var r=n(8234),o=Object.prototype.hasOwnProperty;t.exports=function(t,e,n,i,a,s){var l=1&n,u=r(t),c=u.length;if(c!=r(e).length&&!l)return!1;for(var p=c;p--;){var f=u[p];if(!(l?f in e:o.call(e,f)))return!1}var d=s.get(t),h=s.get(e);if(d&&h)return d==e&&h==t;var m=!0;s.set(t,e),s.set(e,t);for(var v=l;++p<c;){var g=t[f=u[p]],y=e[f];if(i)var A=l?i(y,g,f,e,t,s):i(g,y,f,t,e,s);if(!(void 0===A?g===y||a(g,y,n,i,s):A)){m=!1;break}v||(v="constructor"==f)}if(m&&!v){var b=t.constructor,C=e.constructor;b==C||!("constructor"in t)||!("constructor"in e)||"function"==typeof b&&b instanceof b&&"function"==typeof C&&C instanceof C||(m=!1)}return s.delete(t),s.delete(e),m}},1957:(t,e,n)=>{var r="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g;t.exports=r},8234:(t,e,n)=>{var r=n(8866),o=n(9551),i=n(3674);t.exports=function(t){return r(t,i,o)}},5050:(t,e,n)=>{var r=n(7019);t.exports=function(t,e){var n=t.__data__;return r(e)?n["string"==typeof e?"string":"hash"]:n.map}},852:(t,e,n)=>{var r=n(8458),o=n(7801);t.exports=function(t,e){var n=o(t,e);return r(n)?n:void 0}},5924:(t,e,n)=>{var r=n(5569)(Object.getPrototypeOf,Object);t.exports=r},9607:(t,e,n)=>{var r=n(2705),o=Object.prototype,i=o.hasOwnProperty,a=o.toString,s=r?r.toStringTag:void 0;t.exports=function(t){var e=i.call(t,s),n=t[s];try{t[s]=void 0;var r=!0}catch(t){}var o=a.call(t);return r&&(e?t[s]=n:delete t[s]),o}},9551:(t,e,n)=>{var r=n(4963),o=n(479),i=Object.prototype.propertyIsEnumerable,a=Object.getOwnPropertySymbols,s=a?function(t){return null==t?[]:(t=Object(t),r(a(t),(function(e){return i.call(t,e)})))}:o;t.exports=s},4160:(t,e,n)=>{var r=n(8552),o=n(7071),i=n(3818),a=n(8525),s=n(577),l=n(4239),u=n(346),c="[object Map]",p="[object Promise]",f="[object Set]",d="[object WeakMap]",h="[object DataView]",m=u(r),v=u(o),g=u(i),y=u(a),A=u(s),b=l;(r&&b(new r(new ArrayBuffer(1)))!=h||o&&b(new o)!=c||i&&b(i.resolve())!=p||a&&b(new a)!=f||s&&b(new s)!=d)&&(b=function(t){var e=l(t),n="[object Object]"==e?t.constructor:void 0,r=n?u(n):"";if(r)switch(r){case m:return h;case v:return c;case g:return p;case y:return f;case A:return d}return e}),t.exports=b},7801:t=>{t.exports=function(t,e){return null==t?void 0:t[e]}},1789:(t,e,n)=>{var r=n(4536);t.exports=function(){this.__data__=r?r(null):{},this.size=0}},401:t=>{t.exports=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}},7667:(t,e,n)=>{var r=n(4536),o=Object.prototype.hasOwnProperty;t.exports=function(t){var e=this.__data__;if(r){var n=e[t];return"__lodash_hash_undefined__"===n?void 0:n}return o.call(e,t)?e[t]:void 0}},1327:(t,e,n)=>{var r=n(4536),o=Object.prototype.hasOwnProperty;t.exports=function(t){var e=this.__data__;return r?void 0!==e[t]:o.call(e,t)}},1866:(t,e,n)=>{var r=n(4536);t.exports=function(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=r&&void 0===e?"__lodash_hash_undefined__":e,this}},8517:(t,e,n)=>{var r=n(3118),o=n(5924),i=n(5726);t.exports=function(t){return"function"!=typeof t.constructor||i(t)?{}:r(o(t))}},5776:t=>{var e=/^(?:0|[1-9]\d*)$/;t.exports=function(t,n){var r=typeof t;return!!(n=null==n?9007199254740991:n)&&("number"==r||"symbol"!=r&&e.test(t))&&t>-1&&t%1==0&&t<n}},6612:(t,e,n)=>{var r=n(7813),o=n(1240),i=n(5776),a=n(3218);t.exports=function(t,e,n){if(!a(n))return!1;var s=typeof e;return!!("number"==s?o(n)&&i(e,n.length):"string"==s&&e in n)&&r(n[e],t)}},7019:t=>{t.exports=function(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t}},5346:(t,e,n)=>{var r,o=n(4429),i=(r=/[^.]+$/.exec(o&&o.keys&&o.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"";t.exports=function(t){return!!i&&i in t}},5726:t=>{var e=Object.prototype;t.exports=function(t){var n=t&&t.constructor;return t===("function"==typeof n&&n.prototype||e)}},7040:t=>{t.exports=function(){this.__data__=[],this.size=0}},4125:(t,e,n)=>{var r=n(8470),o=Array.prototype.splice;t.exports=function(t){var e=this.__data__,n=r(e,t);return!(n<0)&&(n==e.length-1?e.pop():o.call(e,n,1),--this.size,!0)}},2117:(t,e,n)=>{var r=n(8470);t.exports=function(t){var e=this.__data__,n=r(e,t);return n<0?void 0:e[n][1]}},7518:(t,e,n)=>{var r=n(8470);t.exports=function(t){return r(this.__data__,t)>-1}},3399:(t,e,n)=>{var r=n(8470);t.exports=function(t,e){var n=this.__data__,o=r(n,t);return o<0?(++this.size,n.push([t,e])):n[o][1]=e,this}},4785:(t,e,n)=>{var r=n(1989),o=n(8407),i=n(7071);t.exports=function(){this.size=0,this.__data__={hash:new r,map:new(i||o),string:new r}}},1285:(t,e,n)=>{var r=n(5050);t.exports=function(t){var e=r(this,t).delete(t);return this.size-=e?1:0,e}},6e3:(t,e,n)=>{var r=n(5050);t.exports=function(t){return r(this,t).get(t)}},9916:(t,e,n)=>{var r=n(5050);t.exports=function(t){return r(this,t).has(t)}},5265:(t,e,n)=>{var r=n(5050);t.exports=function(t,e){var n=r(this,t),o=n.size;return n.set(t,e),this.size+=n.size==o?0:1,this}},8776:t=>{t.exports=function(t){var e=-1,n=Array(t.size);return t.forEach((function(t,r){n[++e]=[r,t]})),n}},4536:(t,e,n)=>{var r=n(852)(Object,"create");t.exports=r},6916:(t,e,n)=>{var r=n(5569)(Object.keys,Object);t.exports=r},3498:t=>{t.exports=function(t){var e=[];if(null!=t)for(var n in Object(t))e.push(n);return e}},1167:(t,e,n)=>{t=n.nmd(t);var r=n(1957),o=e&&!e.nodeType&&e,i=o&&t&&!t.nodeType&&t,a=i&&i.exports===o&&r.process,s=function(){try{var t=i&&i.require&&i.require("util").types;return t||a&&a.binding&&a.binding("util")}catch(t){}}();t.exports=s},2333:t=>{var e=Object.prototype.toString;t.exports=function(t){return e.call(t)}},5569:t=>{t.exports=function(t,e){return function(n){return t(e(n))}}},5357:(t,e,n)=>{var r=n(6874),o=Math.max;t.exports=function(t,e,n){return e=o(void 0===e?t.length-1:e,0),function(){for(var i=arguments,a=-1,s=o(i.length-e,0),l=Array(s);++a<s;)l[a]=i[e+a];a=-1;for(var u=Array(e+1);++a<e;)u[a]=i[a];return u[e]=n(l),r(t,this,u)}}},5639:(t,e,n)=>{var r=n(1957),o="object"==typeof self&&self&&self.Object===Object&&self,i=r||o||Function("return this")();t.exports=i},6390:t=>{t.exports=function(t,e){if(("constructor"!==e||"function"!=typeof t[e])&&"__proto__"!=e)return t[e]}},619:t=>{t.exports=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this}},2385:t=>{t.exports=function(t){return this.__data__.has(t)}},1814:t=>{t.exports=function(t){var e=-1,n=Array(t.size);return t.forEach((function(t){n[++e]=t})),n}},61:(t,e,n)=>{var r=n(6560),o=n(1275)(r);t.exports=o},1275:t=>{var e=Date.now;t.exports=function(t){var n=0,r=0;return function(){var o=e(),i=16-(o-r);if(r=o,i>0){if(++n>=800)return arguments[0]}else n=0;return t.apply(void 0,arguments)}}},7465:(t,e,n)=>{var r=n(8407);t.exports=function(){this.__data__=new r,this.size=0}},3779:t=>{t.exports=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n}},7599:t=>{t.exports=function(t){return this.__data__.get(t)}},4758:t=>{t.exports=function(t){return this.__data__.has(t)}},4309:(t,e,n)=>{var r=n(8407),o=n(7071),i=n(3369);t.exports=function(t,e){var n=this.__data__;if(n instanceof r){var a=n.__data__;if(!o||a.length<199)return a.push([t,e]),this.size=++n.size,this;n=this.__data__=new i(a)}return n.set(t,e),this.size=n.size,this}},346:t=>{var e=Function.prototype.toString;t.exports=function(t){if(null!=t){try{return e.call(t)}catch(t){}try{return t+""}catch(t){}}return""}},5703:t=>{t.exports=function(t){return function(){return t}}},7813:t=>{t.exports=function(t,e){return t===e||t!=t&&e!=e}},6557:t=>{t.exports=function(t){return t}},5694:(t,e,n)=>{var r=n(9454),o=n(7005),i=Object.prototype,a=i.hasOwnProperty,s=i.propertyIsEnumerable,l=r(function(){return arguments}())?r:function(t){return o(t)&&a.call(t,"callee")&&!s.call(t,"callee")};t.exports=l},1469:t=>{var e=Array.isArray;t.exports=e},1240:(t,e,n)=>{var r=n(3560),o=n(1780);t.exports=function(t){return null!=t&&o(t.length)&&!r(t)}},9246:(t,e,n)=>{var r=n(1240),o=n(7005);t.exports=function(t){return o(t)&&r(t)}},4144:(t,e,n)=>{t=n.nmd(t);var r=n(5639),o=n(5062),i=e&&!e.nodeType&&e,a=i&&t&&!t.nodeType&&t,s=a&&a.exports===i?r.Buffer:void 0,l=(s?s.isBuffer:void 0)||o;t.exports=l},8446:(t,e,n)=>{var r=n(939);t.exports=function(t,e){return r(t,e)}},3560:(t,e,n)=>{var r=n(4239),o=n(3218);t.exports=function(t){if(!o(t))return!1;var e=r(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}},1780:t=>{t.exports=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}},3218:t=>{t.exports=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}},7005:t=>{t.exports=function(t){return null!=t&&"object"==typeof t}},8630:(t,e,n)=>{var r=n(4239),o=n(5924),i=n(7005),a=Function.prototype,s=Object.prototype,l=a.toString,u=s.hasOwnProperty,c=l.call(Object);t.exports=function(t){if(!i(t)||"[object Object]"!=r(t))return!1;var e=o(t);if(null===e)return!0;var n=u.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&l.call(n)==c}},6719:(t,e,n)=>{var r=n(8749),o=n(1717),i=n(1167),a=i&&i.isTypedArray,s=a?o(a):r;t.exports=s},3674:(t,e,n)=>{var r=n(4636),o=n(280),i=n(1240);t.exports=function(t){return i(t)?r(t):o(t)}},1704:(t,e,n)=>{var r=n(4636),o=n(313),i=n(1240);t.exports=function(t){return i(t)?r(t,!0):o(t)}},3857:(t,e,n)=>{var r=n(2980),o=n(1463)((function(t,e,n){r(t,e,n)}));t.exports=o},479:t=>{t.exports=function(){return[]}},5062:t=>{t.exports=function(){return!1}},9881:(t,e,n)=>{var r=n(8363),o=n(1704);t.exports=function(t){return r(t,o(t))}},7699:(t,e,n)=>{"use strict";var r=n(5108),o=n(9208),i=n(4587);function a(t){t=t||{},this.catalogs={},this.locale="",this.domain="messages",this.listeners=[],this.sourceLocale="",t.sourceLocale&&("string"==typeof t.sourceLocale?this.sourceLocale=t.sourceLocale:this.warn("The `sourceLocale` option should be a string")),this.debug="debug"in t&&!0===t.debug}t.exports=a,a.prototype.on=function(t,e){this.listeners.push({eventName:t,callback:e})},a.prototype.off=function(t,e){this.listeners=this.listeners.filter((function(n){return!1==(n.eventName===t&&n.callback===e)}))},a.prototype.emit=function(t,e){for(var n=0;n<this.listeners.length;n++){var r=this.listeners[n];r.eventName===t&&r.callback(e)}},a.prototype.warn=function(t){this.debug&&r.warn(t),this.emit("error",new Error(t))},a.prototype.addTranslations=function(t,e,n){this.catalogs[t]||(this.catalogs[t]={}),this.catalogs[t][e]=n},a.prototype.setLocale=function(t){"string"==typeof t?(""===t.trim()&&this.warn("You called setLocale() with an empty value, which makes little sense."),t===this.sourceLocale||this.catalogs[t]||this.warn('You called setLocale() with "'+t+'", but no translations for that locale has been added.'),this.locale=t):this.warn("You called setLocale() with an argument of type "+typeof t+". The locale must be a string.")},a.prototype.setTextDomain=function(t){"string"==typeof t?(""===t.trim()&&this.warn("You called setTextDomain() with an empty `domain` value."),this.domain=t):this.warn("You called setTextDomain() with an argument of type "+typeof t+". The domain must be a string.")},a.prototype.gettext=function(t){return this.dnpgettext(this.domain,"",t)},a.prototype.dgettext=function(t,e){return this.dnpgettext(t,"",e)},a.prototype.ngettext=function(t,e,n){return this.dnpgettext(this.domain,"",t,e,n)},a.prototype.dngettext=function(t,e,n,r){return this.dnpgettext(t,"",e,n,r)},a.prototype.pgettext=function(t,e){return this.dnpgettext(this.domain,t,e)},a.prototype.dpgettext=function(t,e,n){return this.dnpgettext(t,e,n)},a.prototype.npgettext=function(t,e,n,r){return this.dnpgettext(this.domain,t,e,n,r)},a.prototype.dnpgettext=function(t,e,n,r,o){var s,l,u=n;if(e=e||"",isNaN(o)||1===o||(u=r||n),s=this._getTranslation(t,e,n)){if("number"==typeof o)"boolean"==typeof(l=(0,i[a.getLanguageCode(this.locale)].pluralsFunc)(o))&&(l=l?1:0);else l=0;return s.msgstr[l]||u}return this.sourceLocale&&this.locale===this.sourceLocale||this.warn('No translation was found for msgid "'+n+'" in msgctxt "'+e+'" and domain "'+t+'"'),u},a.prototype.getComment=function(t,e,n){var r;return(r=this._getTranslation(t,e,n))&&r.comments||{}},a.prototype._getTranslation=function(t,e,n){return e=e||"",o(this.catalogs,[this.locale,t,"translations",e,n])},a.getLanguageCode=function(t){return t.split(/[\-_]/)[0].toLowerCase()},a.prototype.textdomain=function(t){this.debug&&r.warn("textdomain(domain) was used to set locales in node-gettext v1. Make sure you are using it for domains, and switch to setLocale(locale) if you are not.\n\n To read more about the migration from node-gettext v1 to v2, see https://github.com/alexanderwallin/node-gettext/#migrating-from-1x-to-2x\n\nThis warning will be removed in the final 2.0.0"),this.setTextDomain(t)},a.prototype.setlocale=function(t){this.setLocale(t)},a.prototype.addTextdomain=function(){r.error("addTextdomain() is deprecated.\n\n* To add translations, use addTranslations()\n* To set the default domain, use setTextDomain() (or its alias textdomain())\n\nTo read more about the migration from node-gettext v1 to v2, see https://github.com/alexanderwallin/node-gettext/#migrating-from-1x-to-2x")}},4587:t=>{"use strict";t.exports={ach:{name:"Acholi",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n > 1)",pluralsFunc:function(t){return t>1}},af:{name:"Afrikaans",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},ak:{name:"Akan",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n > 1)",pluralsFunc:function(t){return t>1}},am:{name:"Amharic",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n > 1)",pluralsFunc:function(t){return t>1}},an:{name:"Aragonese",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},ar:{name:"Arabic",examples:[{plural:0,sample:0},{plural:1,sample:1},{plural:2,sample:2},{plural:3,sample:3},{plural:4,sample:11},{plural:5,sample:100}],nplurals:6,pluralsText:"nplurals = 6; plural = (n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5)",pluralsFunc:function(t){return 0===t?0:1===t?1:2===t?2:t%100>=3&&t%100<=10?3:t%100>=11?4:5}},arn:{name:"Mapudungun",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n > 1)",pluralsFunc:function(t){return t>1}},ast:{name:"Asturian",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},ay:{name:"Aymará",examples:[{plural:0,sample:1}],nplurals:1,pluralsText:"nplurals = 1; plural = 0",pluralsFunc:function(){return 0}},az:{name:"Azerbaijani",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},be:{name:"Belarusian",examples:[{plural:0,sample:1},{plural:1,sample:2},{plural:2,sample:5}],nplurals:3,pluralsText:"nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)",pluralsFunc:function(t){return t%10==1&&t%100!=11?0:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?1:2}},bg:{name:"Bulgarian",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},bn:{name:"Bengali",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},bo:{name:"Tibetan",examples:[{plural:0,sample:1}],nplurals:1,pluralsText:"nplurals = 1; plural = 0",pluralsFunc:function(){return 0}},br:{name:"Breton",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n > 1)",pluralsFunc:function(t){return t>1}},brx:{name:"Bodo",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},bs:{name:"Bosnian",examples:[{plural:0,sample:1},{plural:1,sample:2},{plural:2,sample:5}],nplurals:3,pluralsText:"nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)",pluralsFunc:function(t){return t%10==1&&t%100!=11?0:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?1:2}},ca:{name:"Catalan",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},cgg:{name:"Chiga",examples:[{plural:0,sample:1}],nplurals:1,pluralsText:"nplurals = 1; plural = 0",pluralsFunc:function(){return 0}},cs:{name:"Czech",examples:[{plural:0,sample:1},{plural:1,sample:2},{plural:2,sample:5}],nplurals:3,pluralsText:"nplurals = 3; plural = (n === 1 ? 0 : (n >= 2 && n <= 4) ? 1 : 2)",pluralsFunc:function(t){return 1===t?0:t>=2&&t<=4?1:2}},csb:{name:"Kashubian",examples:[{plural:0,sample:1},{plural:1,sample:2},{plural:2,sample:5}],nplurals:3,pluralsText:"nplurals = 3; plural = (n === 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)",pluralsFunc:function(t){return 1===t?0:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?1:2}},cy:{name:"Welsh",examples:[{plural:0,sample:1},{plural:1,sample:2},{plural:2,sample:3},{plural:3,sample:8}],nplurals:4,pluralsText:"nplurals = 4; plural = (n === 1 ? 0 : n === 2 ? 1 : (n !== 8 && n !== 11) ? 2 : 3)",pluralsFunc:function(t){return 1===t?0:2===t?1:8!==t&&11!==t?2:3}},da:{name:"Danish",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},de:{name:"German",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},doi:{name:"Dogri",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},dz:{name:"Dzongkha",examples:[{plural:0,sample:1}],nplurals:1,pluralsText:"nplurals = 1; plural = 0",pluralsFunc:function(){return 0}},el:{name:"Greek",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},en:{name:"English",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},eo:{name:"Esperanto",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},es:{name:"Spanish",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},et:{name:"Estonian",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},eu:{name:"Basque",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},fa:{name:"Persian",examples:[{plural:0,sample:1}],nplurals:1,pluralsText:"nplurals = 1; plural = 0",pluralsFunc:function(){return 0}},ff:{name:"Fulah",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},fi:{name:"Finnish",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},fil:{name:"Filipino",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n > 1)",pluralsFunc:function(t){return t>1}},fo:{name:"Faroese",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},fr:{name:"French",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n > 1)",pluralsFunc:function(t){return t>1}},fur:{name:"Friulian",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},fy:{name:"Frisian",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},ga:{name:"Irish",examples:[{plural:0,sample:1},{plural:1,sample:2},{plural:2,sample:3},{plural:3,sample:7},{plural:4,sample:11}],nplurals:5,pluralsText:"nplurals = 5; plural = (n === 1 ? 0 : n === 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4)",pluralsFunc:function(t){return 1===t?0:2===t?1:t<7?2:t<11?3:4}},gd:{name:"Scottish Gaelic",examples:[{plural:0,sample:1},{plural:1,sample:2},{plural:2,sample:3},{plural:3,sample:20}],nplurals:4,pluralsText:"nplurals = 4; plural = ((n === 1 || n === 11) ? 0 : (n === 2 || n === 12) ? 1 : (n > 2 && n < 20) ? 2 : 3)",pluralsFunc:function(t){return 1===t||11===t?0:2===t||12===t?1:t>2&&t<20?2:3}},gl:{name:"Galician",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},gu:{name:"Gujarati",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},gun:{name:"Gun",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n > 1)",pluralsFunc:function(t){return t>1}},ha:{name:"Hausa",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},he:{name:"Hebrew",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},hi:{name:"Hindi",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},hne:{name:"Chhattisgarhi",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},hr:{name:"Croatian",examples:[{plural:0,sample:1},{plural:1,sample:2},{plural:2,sample:5}],nplurals:3,pluralsText:"nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)",pluralsFunc:function(t){return t%10==1&&t%100!=11?0:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?1:2}},hu:{name:"Hungarian",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},hy:{name:"Armenian",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},id:{name:"Indonesian",examples:[{plural:0,sample:1}],nplurals:1,pluralsText:"nplurals = 1; plural = 0",pluralsFunc:function(){return 0}},is:{name:"Icelandic",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n % 10 !== 1 || n % 100 === 11)",pluralsFunc:function(t){return t%10!=1||t%100==11}},it:{name:"Italian",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},ja:{name:"Japanese",examples:[{plural:0,sample:1}],nplurals:1,pluralsText:"nplurals = 1; plural = 0",pluralsFunc:function(){return 0}},jbo:{name:"Lojban",examples:[{plural:0,sample:1}],nplurals:1,pluralsText:"nplurals = 1; plural = 0",pluralsFunc:function(){return 0}},jv:{name:"Javanese",examples:[{plural:0,sample:0},{plural:1,sample:1}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 0)",pluralsFunc:function(t){return 0!==t}},ka:{name:"Georgian",examples:[{plural:0,sample:1}],nplurals:1,pluralsText:"nplurals = 1; plural = 0",pluralsFunc:function(){return 0}},kk:{name:"Kazakh",examples:[{plural:0,sample:1}],nplurals:1,pluralsText:"nplurals = 1; plural = 0",pluralsFunc:function(){return 0}},km:{name:"Khmer",examples:[{plural:0,sample:1}],nplurals:1,pluralsText:"nplurals = 1; plural = 0",pluralsFunc:function(){return 0}},kn:{name:"Kannada",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},ko:{name:"Korean",examples:[{plural:0,sample:1}],nplurals:1,pluralsText:"nplurals = 1; plural = 0",pluralsFunc:function(){return 0}},ku:{name:"Kurdish",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},kw:{name:"Cornish",examples:[{plural:0,sample:1},{plural:1,sample:2},{plural:2,sample:3},{plural:3,sample:4}],nplurals:4,pluralsText:"nplurals = 4; plural = (n === 1 ? 0 : n === 2 ? 1 : n === 3 ? 2 : 3)",pluralsFunc:function(t){return 1===t?0:2===t?1:3===t?2:3}},ky:{name:"Kyrgyz",examples:[{plural:0,sample:1}],nplurals:1,pluralsText:"nplurals = 1; plural = 0",pluralsFunc:function(){return 0}},lb:{name:"Letzeburgesch",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},ln:{name:"Lingala",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n > 1)",pluralsFunc:function(t){return t>1}},lo:{name:"Lao",examples:[{plural:0,sample:1}],nplurals:1,pluralsText:"nplurals = 1; plural = 0",pluralsFunc:function(){return 0}},lt:{name:"Lithuanian",examples:[{plural:0,sample:1},{plural:1,sample:2},{plural:2,sample:10}],nplurals:3,pluralsText:"nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)",pluralsFunc:function(t){return t%10==1&&t%100!=11?0:t%10>=2&&(t%100<10||t%100>=20)?1:2}},lv:{name:"Latvian",examples:[{plural:2,sample:0},{plural:0,sample:1},{plural:1,sample:2}],nplurals:3,pluralsText:"nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n !== 0 ? 1 : 2)",pluralsFunc:function(t){return t%10==1&&t%100!=11?0:0!==t?1:2}},mai:{name:"Maithili",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},mfe:{name:"Mauritian Creole",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n > 1)",pluralsFunc:function(t){return t>1}},mg:{name:"Malagasy",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n > 1)",pluralsFunc:function(t){return t>1}},mi:{name:"Maori",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n > 1)",pluralsFunc:function(t){return t>1}},mk:{name:"Macedonian",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n === 1 || n % 10 === 1 ? 0 : 1)",pluralsFunc:function(t){return 1===t||t%10==1?0:1}},ml:{name:"Malayalam",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},mn:{name:"Mongolian",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},mni:{name:"Manipuri",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},mnk:{name:"Mandinka",examples:[{plural:0,sample:0},{plural:1,sample:1},{plural:2,sample:2}],nplurals:3,pluralsText:"nplurals = 3; plural = (n === 0 ? 0 : n === 1 ? 1 : 2)",pluralsFunc:function(t){return 0===t?0:1===t?1:2}},mr:{name:"Marathi",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},ms:{name:"Malay",examples:[{plural:0,sample:1}],nplurals:1,pluralsText:"nplurals = 1; plural = 0",pluralsFunc:function(){return 0}},mt:{name:"Maltese",examples:[{plural:0,sample:1},{plural:1,sample:2},{plural:2,sample:11},{plural:3,sample:20}],nplurals:4,pluralsText:"nplurals = 4; plural = (n === 1 ? 0 : n === 0 || ( n % 100 > 1 && n % 100 < 11) ? 1 : (n % 100 > 10 && n % 100 < 20 ) ? 2 : 3)",pluralsFunc:function(t){return 1===t?0:0===t||t%100>1&&t%100<11?1:t%100>10&&t%100<20?2:3}},my:{name:"Burmese",examples:[{plural:0,sample:1}],nplurals:1,pluralsText:"nplurals = 1; plural = 0",pluralsFunc:function(){return 0}},nah:{name:"Nahuatl",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},nap:{name:"Neapolitan",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},nb:{name:"Norwegian Bokmal",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},ne:{name:"Nepali",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},nl:{name:"Dutch",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},nn:{name:"Norwegian Nynorsk",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},no:{name:"Norwegian",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},nso:{name:"Northern Sotho",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},oc:{name:"Occitan",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n > 1)",pluralsFunc:function(t){return t>1}},or:{name:"Oriya",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},pa:{name:"Punjabi",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},pap:{name:"Papiamento",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},pl:{name:"Polish",examples:[{plural:0,sample:1},{plural:1,sample:2},{plural:2,sample:5}],nplurals:3,pluralsText:"nplurals = 3; plural = (n === 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)",pluralsFunc:function(t){return 1===t?0:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?1:2}},pms:{name:"Piemontese",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},ps:{name:"Pashto",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},pt:{name:"Portuguese",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},rm:{name:"Romansh",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},ro:{name:"Romanian",examples:[{plural:0,sample:1},{plural:1,sample:2},{plural:2,sample:20}],nplurals:3,pluralsText:"nplurals = 3; plural = (n === 1 ? 0 : (n === 0 || (n % 100 > 0 && n % 100 < 20)) ? 1 : 2)",pluralsFunc:function(t){return 1===t?0:0===t||t%100>0&&t%100<20?1:2}},ru:{name:"Russian",examples:[{plural:0,sample:1},{plural:1,sample:2},{plural:2,sample:5}],nplurals:3,pluralsText:"nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)",pluralsFunc:function(t){return t%10==1&&t%100!=11?0:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?1:2}},rw:{name:"Kinyarwanda",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},sah:{name:"Yakut",examples:[{plural:0,sample:1}],nplurals:1,pluralsText:"nplurals = 1; plural = 0",pluralsFunc:function(){return 0}},sat:{name:"Santali",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},sco:{name:"Scots",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},sd:{name:"Sindhi",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},se:{name:"Northern Sami",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},si:{name:"Sinhala",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},sk:{name:"Slovak",examples:[{plural:0,sample:1},{plural:1,sample:2},{plural:2,sample:5}],nplurals:3,pluralsText:"nplurals = 3; plural = (n === 1 ? 0 : (n >= 2 && n <= 4) ? 1 : 2)",pluralsFunc:function(t){return 1===t?0:t>=2&&t<=4?1:2}},sl:{name:"Slovenian",examples:[{plural:0,sample:1},{plural:1,sample:2},{plural:2,sample:3},{plural:3,sample:5}],nplurals:4,pluralsText:"nplurals = 4; plural = (n % 100 === 1 ? 0 : n % 100 === 2 ? 1 : n % 100 === 3 || n % 100 === 4 ? 2 : 3)",pluralsFunc:function(t){return t%100==1?0:t%100==2?1:t%100==3||t%100==4?2:3}},so:{name:"Somali",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},son:{name:"Songhay",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},sq:{name:"Albanian",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},sr:{name:"Serbian",examples:[{plural:0,sample:1},{plural:1,sample:2},{plural:2,sample:5}],nplurals:3,pluralsText:"nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)",pluralsFunc:function(t){return t%10==1&&t%100!=11?0:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?1:2}},su:{name:"Sundanese",examples:[{plural:0,sample:1}],nplurals:1,pluralsText:"nplurals = 1; plural = 0",pluralsFunc:function(){return 0}},sv:{name:"Swedish",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},sw:{name:"Swahili",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},ta:{name:"Tamil",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},te:{name:"Telugu",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},tg:{name:"Tajik",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n > 1)",pluralsFunc:function(t){return t>1}},th:{name:"Thai",examples:[{plural:0,sample:1}],nplurals:1,pluralsText:"nplurals = 1; plural = 0",pluralsFunc:function(){return 0}},ti:{name:"Tigrinya",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n > 1)",pluralsFunc:function(t){return t>1}},tk:{name:"Turkmen",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},tr:{name:"Turkish",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n > 1)",pluralsFunc:function(t){return t>1}},tt:{name:"Tatar",examples:[{plural:0,sample:1}],nplurals:1,pluralsText:"nplurals = 1; plural = 0",pluralsFunc:function(){return 0}},ug:{name:"Uyghur",examples:[{plural:0,sample:1}],nplurals:1,pluralsText:"nplurals = 1; plural = 0",pluralsFunc:function(){return 0}},uk:{name:"Ukrainian",examples:[{plural:0,sample:1},{plural:1,sample:2},{plural:2,sample:5}],nplurals:3,pluralsText:"nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)",pluralsFunc:function(t){return t%10==1&&t%100!=11?0:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?1:2}},ur:{name:"Urdu",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},uz:{name:"Uzbek",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n > 1)",pluralsFunc:function(t){return t>1}},vi:{name:"Vietnamese",examples:[{plural:0,sample:1}],nplurals:1,pluralsText:"nplurals = 1; plural = 0",pluralsFunc:function(){return 0}},wa:{name:"Walloon",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n > 1)",pluralsFunc:function(t){return t>1}},wo:{name:"Wolof",examples:[{plural:0,sample:1}],nplurals:1,pluralsText:"nplurals = 1; plural = 0",pluralsFunc:function(){return 0}},yo:{name:"Yoruba",examples:[{plural:0,sample:1},{plural:1,sample:2}],nplurals:2,pluralsText:"nplurals = 2; plural = (n !== 1)",pluralsFunc:function(t){return 1!==t}},zh:{name:"Chinese",examples:[{plural:0,sample:1}],nplurals:1,pluralsText:"nplurals = 1; plural = 0",pluralsFunc:function(){return 0}}}},686:(t,e,n)=>{"use strict";var r=n(4155),o=n(5108);function i(t){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i(t)}var a,s,l=n(729).codes,u=l.ERR_AMBIGUOUS_ARGUMENT,c=l.ERR_INVALID_ARG_TYPE,p=l.ERR_INVALID_ARG_VALUE,f=l.ERR_INVALID_RETURN_VALUE,d=l.ERR_MISSING_ARGS,h=n(1969),m=n(374).inspect,v=n(374).types,g=v.isPromise,y=v.isRegExp,A=Object.assign?Object.assign:n(8091).assign,b=Object.is?Object.is:n(609);new Map;function C(){var t=n(3632);a=t.isDeepEqual,s=t.isDeepStrictEqual}var w=!1,x=t.exports=E,_={};function S(t){if(t.message instanceof Error)throw t.message;throw new h(t)}function k(t,e,n,r){if(!n){var o=!1;if(0===e)o=!0,r="No value argument passed to `assert.ok()`";else if(r instanceof Error)throw r;var i=new h({actual:n,expected:!0,message:r,operator:"==",stackStartFn:t});throw i.generatedMessage=o,i}}function E(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];k.apply(void 0,[E,e.length].concat(e))}x.fail=function t(e,n,i,a,s){var l,u=arguments.length;if(0===u)l="Failed";else if(1===u)i=e,e=void 0;else{if(!1===w){w=!0;var c=r.emitWarning?r.emitWarning:o.warn.bind(o);c("assert.fail() with more than one argument is deprecated. Please use assert.strictEqual() instead or only pass a message.","DeprecationWarning","DEP0094")}2===u&&(a="!=")}if(i instanceof Error)throw i;var p={actual:e,expected:n,operator:void 0===a?"fail":a,stackStartFn:s||t};void 0!==i&&(p.message=i);var f=new h(p);throw l&&(f.message=l,f.generatedMessage=!0),f},x.AssertionError=h,x.ok=E,x.equal=function t(e,n,r){if(arguments.length<2)throw new d("actual","expected");e!=n&&S({actual:e,expected:n,message:r,operator:"==",stackStartFn:t})},x.notEqual=function t(e,n,r){if(arguments.length<2)throw new d("actual","expected");e==n&&S({actual:e,expected:n,message:r,operator:"!=",stackStartFn:t})},x.deepEqual=function t(e,n,r){if(arguments.length<2)throw new d("actual","expected");void 0===a&&C(),a(e,n)||S({actual:e,expected:n,message:r,operator:"deepEqual",stackStartFn:t})},x.notDeepEqual=function t(e,n,r){if(arguments.length<2)throw new d("actual","expected");void 0===a&&C(),a(e,n)&&S({actual:e,expected:n,message:r,operator:"notDeepEqual",stackStartFn:t})},x.deepStrictEqual=function t(e,n,r){if(arguments.length<2)throw new d("actual","expected");void 0===a&&C(),s(e,n)||S({actual:e,expected:n,message:r,operator:"deepStrictEqual",stackStartFn:t})},x.notDeepStrictEqual=function t(e,n,r){if(arguments.length<2)throw new d("actual","expected");void 0===a&&C();s(e,n)&&S({actual:e,expected:n,message:r,operator:"notDeepStrictEqual",stackStartFn:t})},x.strictEqual=function t(e,n,r){if(arguments.length<2)throw new d("actual","expected");b(e,n)||S({actual:e,expected:n,message:r,operator:"strictEqual",stackStartFn:t})},x.notStrictEqual=function t(e,n,r){if(arguments.length<2)throw new d("actual","expected");b(e,n)&&S({actual:e,expected:n,message:r,operator:"notStrictEqual",stackStartFn:t})};var O=function t(e,n,r){var o=this;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),n.forEach((function(t){t in e&&(void 0!==r&&"string"==typeof r[t]&&y(e[t])&&e[t].test(r[t])?o[t]=r[t]:o[t]=e[t])}))};function j(t,e,n,r,o,i){if(!(n in t)||!s(t[n],e[n])){if(!r){var a=new O(t,o),l=new O(e,o,t),u=new h({actual:a,expected:l,operator:"deepStrictEqual",stackStartFn:i});throw u.actual=t,u.expected=e,u.operator=i.name,u}S({actual:t,expected:e,message:r,operator:i.name,stackStartFn:i})}}function T(t,e,n,r){if("function"!=typeof e){if(y(e))return e.test(t);if(2===arguments.length)throw new c("expected",["Function","RegExp"],e);if("object"!==i(t)||null===t){var o=new h({actual:t,expected:e,message:n,operator:"deepStrictEqual",stackStartFn:r});throw o.operator=r.name,o}var s=Object.keys(e);if(e instanceof Error)s.push("name","message");else if(0===s.length)throw new p("error",e,"may not be an empty object");return void 0===a&&C(),s.forEach((function(o){"string"==typeof t[o]&&y(e[o])&&e[o].test(t[o])||j(t,e,o,n,s,r)})),!0}return void 0!==e.prototype&&t instanceof e||!Error.isPrototypeOf(e)&&!0===e.call({},t)}function B(t){if("function"!=typeof t)throw new c("fn","Function",t);try{t()}catch(t){return t}return _}function N(t){return g(t)||null!==t&&"object"===i(t)&&"function"==typeof t.then&&"function"==typeof t.catch}function P(t){return Promise.resolve().then((function(){var e;if("function"==typeof t){if(!N(e=t()))throw new f("instance of Promise","promiseFn",e)}else{if(!N(t))throw new c("promiseFn",["Function","Promise"],t);e=t}return Promise.resolve().then((function(){return e})).then((function(){return _})).catch((function(t){return t}))}))}function $(t,e,n,r){if("string"==typeof n){if(4===arguments.length)throw new c("error",["Object","Error","Function","RegExp"],n);if("object"===i(e)&&null!==e){if(e.message===n)throw new u("error/message",'The error message "'.concat(e.message,'" is identical to the message.'))}else if(e===n)throw new u("error/message",'The error "'.concat(e,'" is identical to the message.'));r=n,n=void 0}else if(null!=n&&"object"!==i(n)&&"function"!=typeof n)throw new c("error",["Object","Error","Function","RegExp"],n);if(e===_){var o="";n&&n.name&&(o+=" (".concat(n.name,")")),o+=r?": ".concat(r):".";var a="rejects"===t.name?"rejection":"exception";S({actual:void 0,expected:n,operator:t.name,message:"Missing expected ".concat(a).concat(o),stackStartFn:t})}if(n&&!T(e,n,r,t))throw e}function I(t,e,n,r){if(e!==_){if("string"==typeof n&&(r=n,n=void 0),!n||T(e,n)){var o=r?": ".concat(r):".",i="doesNotReject"===t.name?"rejection":"exception";S({actual:e,expected:n,operator:t.name,message:"Got unwanted ".concat(i).concat(o,"\n")+'Actual message: "'.concat(e&&e.message,'"'),stackStartFn:t})}throw e}}function z(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];k.apply(void 0,[z,e.length].concat(e))}x.throws=function t(e){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];$.apply(void 0,[t,B(e)].concat(r))},x.rejects=function t(e){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];return P(e).then((function(e){return $.apply(void 0,[t,e].concat(r))}))},x.doesNotThrow=function t(e){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];I.apply(void 0,[t,B(e)].concat(r))},x.doesNotReject=function t(e){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];return P(e).then((function(e){return I.apply(void 0,[t,e].concat(r))}))},x.ifError=function t(e){if(null!=e){var n="ifError got unwanted exception: ";"object"===i(e)&&"string"==typeof e.message?0===e.message.length&&e.constructor?n+=e.constructor.name:n+=e.message:n+=m(e);var r=new h({actual:e,expected:null,operator:"ifError",message:n,stackStartFn:t}),o=e.stack;if("string"==typeof o){var a=o.split("\n");a.shift();for(var s=r.stack.split("\n"),l=0;l<a.length;l++){var u=s.indexOf(a[l]);if(-1!==u){s=s.slice(0,u);break}}r.stack="".concat(s.join("\n"),"\n").concat(a.join("\n"))}throw r}},x.strict=A(z,x,{equal:x.strictEqual,deepEqual:x.deepStrictEqual,notEqual:x.notStrictEqual,notDeepEqual:x.notDeepStrictEqual}),x.strict.strict=x.strict},1969:(t,e,n)=>{"use strict";var r=n(4155);function o(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function i(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function a(t,e){return!e||"object"!==d(e)&&"function"!=typeof e?s(t):e}function s(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function l(t){var e="function"==typeof Map?new Map:void 0;return l=function(t){if(null===t||(n=t,-1===Function.toString.call(n).indexOf("[native code]")))return t;var n;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,r)}function r(){return c(t,arguments,f(this).constructor)}return r.prototype=Object.create(t.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),p(r,t)},l(t)}function u(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}function c(t,e,n){return c=u()?Reflect.construct:function(t,e,n){var r=[null];r.push.apply(r,e);var o=new(Function.bind.apply(t,r));return n&&p(o,n.prototype),o},c.apply(null,arguments)}function p(t,e){return p=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},p(t,e)}function f(t){return f=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},f(t)}function d(t){return d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},d(t)}var h=n(374).inspect,m=n(729).codes.ERR_INVALID_ARG_TYPE;function v(t,e,n){return(void 0===n||n>t.length)&&(n=t.length),t.substring(n-e.length,n)===e}var g="",y="",A="",b="",C={deepStrictEqual:"Expected values to be strictly deep-equal:",strictEqual:"Expected values to be strictly equal:",strictEqualObject:'Expected "actual" to be reference-equal to "expected":',deepEqual:"Expected values to be loosely deep-equal:",equal:"Expected values to be loosely equal:",notDeepStrictEqual:'Expected "actual" not to be strictly deep-equal to:',notStrictEqual:'Expected "actual" to be strictly unequal to:',notStrictEqualObject:'Expected "actual" not to be reference-equal to "expected":',notDeepEqual:'Expected "actual" not to be loosely deep-equal to:',notEqual:'Expected "actual" to be loosely unequal to:',notIdentical:"Values identical but not reference-equal:"};function w(t){var e=Object.keys(t),n=Object.create(Object.getPrototypeOf(t));return e.forEach((function(e){n[e]=t[e]})),Object.defineProperty(n,"message",{value:t.message}),n}function x(t){return h(t,{compact:!1,customInspect:!1,depth:1e3,maxArrayLength:1/0,showHidden:!1,breakLength:1/0,showProxy:!1,sorted:!0,getters:!0})}function _(t,e,n){var o="",i="",a=0,s="",l=!1,u=x(t),c=u.split("\n"),p=x(e).split("\n"),f=0,h="";if("strictEqual"===n&&"object"===d(t)&&"object"===d(e)&&null!==t&&null!==e&&(n="strictEqualObject"),1===c.length&&1===p.length&&c[0]!==p[0]){var m=c[0].length+p[0].length;if(m<=10){if(!("object"===d(t)&&null!==t||"object"===d(e)&&null!==e||0===t&&0===e))return"".concat(C[n],"\n\n")+"".concat(c[0]," !== ").concat(p[0],"\n")}else if("strictEqualObject"!==n){if(m<(r.stderr&&r.stderr.isTTY?r.stderr.columns:80)){for(;c[0][f]===p[0][f];)f++;f>2&&(h="\n ".concat(function(t,e){if(e=Math.floor(e),0==t.length||0==e)return"";var n=t.length*e;for(e=Math.floor(Math.log(e)/Math.log(2));e;)t+=t,e--;return t+t.substring(0,n-t.length)}(" ",f),"^"),f=0)}}}for(var w=c[c.length-1],_=p[p.length-1];w===_&&(f++<2?s="\n ".concat(w).concat(s):o=w,c.pop(),p.pop(),0!==c.length&&0!==p.length);)w=c[c.length-1],_=p[p.length-1];var S=Math.max(c.length,p.length);if(0===S){var k=u.split("\n");if(k.length>30)for(k[26]="".concat(g,"...").concat(b);k.length>27;)k.pop();return"".concat(C.notIdentical,"\n\n").concat(k.join("\n"),"\n")}f>3&&(s="\n".concat(g,"...").concat(b).concat(s),l=!0),""!==o&&(s="\n ".concat(o).concat(s),o="");var E=0,O=C[n]+"\n".concat(y,"+ actual").concat(b," ").concat(A,"- expected").concat(b),j=" ".concat(g,"...").concat(b," Lines skipped");for(f=0;f<S;f++){var T=f-a;if(c.length<f+1)T>1&&f>2&&(T>4?(i+="\n".concat(g,"...").concat(b),l=!0):T>3&&(i+="\n ".concat(p[f-2]),E++),i+="\n ".concat(p[f-1]),E++),a=f,o+="\n".concat(A,"-").concat(b," ").concat(p[f]),E++;else if(p.length<f+1)T>1&&f>2&&(T>4?(i+="\n".concat(g,"...").concat(b),l=!0):T>3&&(i+="\n ".concat(c[f-2]),E++),i+="\n ".concat(c[f-1]),E++),a=f,i+="\n".concat(y,"+").concat(b," ").concat(c[f]),E++;else{var B=p[f],N=c[f],P=N!==B&&(!v(N,",")||N.slice(0,-1)!==B);P&&v(B,",")&&B.slice(0,-1)===N&&(P=!1,N+=","),P?(T>1&&f>2&&(T>4?(i+="\n".concat(g,"...").concat(b),l=!0):T>3&&(i+="\n ".concat(c[f-2]),E++),i+="\n ".concat(c[f-1]),E++),a=f,i+="\n".concat(y,"+").concat(b," ").concat(N),o+="\n".concat(A,"-").concat(b," ").concat(B),E+=2):(i+=o,o="",1!==T&&0!==f||(i+="\n ".concat(N),E++))}if(E>20&&f<S-2)return"".concat(O).concat(j,"\n").concat(i,"\n").concat(g,"...").concat(b).concat(o,"\n")+"".concat(g,"...").concat(b)}return"".concat(O).concat(l?j:"","\n").concat(i).concat(o).concat(s).concat(h)}var S=function(t){function e(t){var n;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),"object"!==d(t)||null===t)throw new m("options","Object",t);var o=t.message,i=t.operator,l=t.stackStartFn,u=t.actual,c=t.expected,p=Error.stackTraceLimit;if(Error.stackTraceLimit=0,null!=o)n=a(this,f(e).call(this,String(o)));else if(r.stderr&&r.stderr.isTTY&&(r.stderr&&r.stderr.getColorDepth&&1!==r.stderr.getColorDepth()?(g="",y="",b="",A=""):(g="",y="",b="",A="")),"object"===d(u)&&null!==u&&"object"===d(c)&&null!==c&&"stack"in u&&u instanceof Error&&"stack"in c&&c instanceof Error&&(u=w(u),c=w(c)),"deepStrictEqual"===i||"strictEqual"===i)n=a(this,f(e).call(this,_(u,c,i)));else if("notDeepStrictEqual"===i||"notStrictEqual"===i){var h=C[i],v=x(u).split("\n");if("notStrictEqual"===i&&"object"===d(u)&&null!==u&&(h=C.notStrictEqualObject),v.length>30)for(v[26]="".concat(g,"...").concat(b);v.length>27;)v.pop();n=1===v.length?a(this,f(e).call(this,"".concat(h," ").concat(v[0]))):a(this,f(e).call(this,"".concat(h,"\n\n").concat(v.join("\n"),"\n")))}else{var S=x(u),k="",E=C[i];"notDeepEqual"===i||"notEqual"===i?(S="".concat(C[i],"\n\n").concat(S)).length>1024&&(S="".concat(S.slice(0,1021),"...")):(k="".concat(x(c)),S.length>512&&(S="".concat(S.slice(0,509),"...")),k.length>512&&(k="".concat(k.slice(0,509),"...")),"deepEqual"===i||"equal"===i?S="".concat(E,"\n\n").concat(S,"\n\nshould equal\n\n"):k=" ".concat(i," ").concat(k)),n=a(this,f(e).call(this,"".concat(S).concat(k)))}return Error.stackTraceLimit=p,n.generatedMessage=!o,Object.defineProperty(s(n),"name",{value:"AssertionError [ERR_ASSERTION]",enumerable:!1,writable:!0,configurable:!0}),n.code="ERR_ASSERTION",n.actual=u,n.expected=c,n.operator=i,Error.captureStackTrace&&Error.captureStackTrace(s(n),l),n.stack,n.name="AssertionError",a(n)}var n,l,u;return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&p(t,e)}(e,t),n=e,l=[{key:"toString",value:function(){return"".concat(this.name," [").concat(this.code,"]: ").concat(this.message)}},{key:h.custom,value:function(t,e){return h(this,function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter((function(t){return Object.getOwnPropertyDescriptor(n,t).enumerable})))),r.forEach((function(e){o(t,e,n[e])}))}return t}({},e,{customInspect:!1,depth:0}))}}],l&&i(n.prototype,l),u&&i(n,u),e}(l(Error));t.exports=S},729:(t,e,n)=>{"use strict";function r(t){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r(t)}function o(t,e){return!e||"object"!==r(e)&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function i(t){return i=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},i(t)}function a(t,e){return a=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},a(t,e)}var s,l,u={};function c(t,e,n){n||(n=Error);var r=function(n){function r(n,a,s){var l;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,r),l=o(this,i(r).call(this,function(t,n,r){return"string"==typeof e?e:e(t,n,r)}(n,a,s))),l.code=t,l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&a(t,e)}(r,n),r}(n);u[t]=r}function p(t,e){if(Array.isArray(t)){var n=t.length;return t=t.map((function(t){return String(t)})),n>2?"one of ".concat(e," ").concat(t.slice(0,n-1).join(", "),", or ")+t[n-1]:2===n?"one of ".concat(e," ").concat(t[0]," or ").concat(t[1]):"of ".concat(e," ").concat(t[0])}return"of ".concat(e," ").concat(String(t))}c("ERR_AMBIGUOUS_ARGUMENT",'The "%s" argument is ambiguous. %s',TypeError),c("ERR_INVALID_ARG_TYPE",(function(t,e,o){var i,a,l,u;if(void 0===s&&(s=n(686)),s("string"==typeof t,"'name' must be a string"),"string"==typeof e&&(a="not ",e.substr(!l||l<0?0:+l,a.length)===a)?(i="must not be",e=e.replace(/^not /,"")):i="must be",function(t,e,n){return(void 0===n||n>t.length)&&(n=t.length),t.substring(n-e.length,n)===e}(t," argument"))u="The ".concat(t," ").concat(i," ").concat(p(e,"type"));else{var c=function(t,e,n){return"number"!=typeof n&&(n=0),!(n+e.length>t.length)&&-1!==t.indexOf(e,n)}(t,".")?"property":"argument";u='The "'.concat(t,'" ').concat(c," ").concat(i," ").concat(p(e,"type"))}return u+=". Received type ".concat(r(o))}),TypeError),c("ERR_INVALID_ARG_VALUE",(function(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"is invalid";void 0===l&&(l=n(374));var o=l.inspect(e);return o.length>128&&(o="".concat(o.slice(0,128),"...")),"The argument '".concat(t,"' ").concat(r,". Received ").concat(o)}),TypeError,RangeError),c("ERR_INVALID_RETURN_VALUE",(function(t,e,n){var o;return o=n&&n.constructor&&n.constructor.name?"instance of ".concat(n.constructor.name):"type ".concat(r(n)),"Expected ".concat(t,' to be returned from the "').concat(e,'"')+" function but got ".concat(o,".")}),TypeError),c("ERR_MISSING_ARGS",(function(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];void 0===s&&(s=n(686)),s(e.length>0,"At least one arg needs to be specified");var o="The ",i=e.length;switch(e=e.map((function(t){return'"'.concat(t,'"')})),i){case 1:o+="".concat(e[0]," argument");break;case 2:o+="".concat(e[0]," and ").concat(e[1]," arguments");break;default:o+=e.slice(0,i-1).join(", "),o+=", and ".concat(e[i-1]," arguments")}return"".concat(o," must be specified")}),TypeError),t.exports.codes=u},3632:(t,e,n)=>{"use strict";function r(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=[],r=!0,o=!1,i=void 0;try{for(var a,s=t[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!e||n.length!==e);r=!0);}catch(t){o=!0,i=t}finally{try{r||null==s.return||s.return()}finally{if(o)throw i}}return n}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function o(t){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},o(t)}var i=void 0!==/a/g.flags,a=function(t){var e=[];return t.forEach((function(t){return e.push(t)})),e},s=function(t){var e=[];return t.forEach((function(t,n){return e.push([n,t])})),e},l=Object.is?Object.is:n(609),u=Object.getOwnPropertySymbols?Object.getOwnPropertySymbols:function(){return[]},c=Number.isNaN?Number.isNaN:n(360);function p(t){return t.call.bind(t)}var f=p(Object.prototype.hasOwnProperty),d=p(Object.prototype.propertyIsEnumerable),h=p(Object.prototype.toString),m=n(374).types,v=m.isAnyArrayBuffer,g=m.isArrayBufferView,y=m.isDate,A=m.isMap,b=m.isRegExp,C=m.isSet,w=m.isNativeError,x=m.isBoxedPrimitive,_=m.isNumberObject,S=m.isStringObject,k=m.isBooleanObject,E=m.isBigIntObject,O=m.isSymbolObject,j=m.isFloat32Array,T=m.isFloat64Array;function B(t){if(0===t.length||t.length>10)return!0;for(var e=0;e<t.length;e++){var n=t.charCodeAt(e);if(n<48||n>57)return!0}return 10===t.length&&t>=Math.pow(2,32)}function N(t){return Object.keys(t).filter(B).concat(u(t).filter(Object.prototype.propertyIsEnumerable.bind(t)))}function P(t,e){if(t===e)return 0;for(var n=t.length,r=e.length,o=0,i=Math.min(n,r);o<i;++o)if(t[o]!==e[o]){n=t[o],r=e[o];break}return n<r?-1:r<n?1:0}function $(t,e,n,r){if(t===e)return 0!==t||(!n||l(t,e));if(n){if("object"!==o(t))return"number"==typeof t&&c(t)&&c(e);if("object"!==o(e)||null===t||null===e)return!1;if(Object.getPrototypeOf(t)!==Object.getPrototypeOf(e))return!1}else{if(null===t||"object"!==o(t))return(null===e||"object"!==o(e))&&t==e;if(null===e||"object"!==o(e))return!1}var a,s,u,p,f=h(t);if(f!==h(e))return!1;if(Array.isArray(t)){if(t.length!==e.length)return!1;var d=N(t),m=N(e);return d.length===m.length&&z(t,e,n,r,1,d)}if("[object Object]"===f&&(!A(t)&&A(e)||!C(t)&&C(e)))return!1;if(y(t)){if(!y(e)||Date.prototype.getTime.call(t)!==Date.prototype.getTime.call(e))return!1}else if(b(t)){if(!b(e)||(u=t,p=e,!(i?u.source===p.source&&u.flags===p.flags:RegExp.prototype.toString.call(u)===RegExp.prototype.toString.call(p))))return!1}else if(w(t)||t instanceof Error){if(t.message!==e.message||t.name!==e.name)return!1}else{if(g(t)){if(n||!j(t)&&!T(t)){if(!function(t,e){return t.byteLength===e.byteLength&&0===P(new Uint8Array(t.buffer,t.byteOffset,t.byteLength),new Uint8Array(e.buffer,e.byteOffset,e.byteLength))}(t,e))return!1}else if(!function(t,e){if(t.byteLength!==e.byteLength)return!1;for(var n=0;n<t.byteLength;n++)if(t[n]!==e[n])return!1;return!0}(t,e))return!1;var B=N(t),$=N(e);return B.length===$.length&&z(t,e,n,r,0,B)}if(C(t))return!(!C(e)||t.size!==e.size)&&z(t,e,n,r,2);if(A(t))return!(!A(e)||t.size!==e.size)&&z(t,e,n,r,3);if(v(t)){if(s=e,(a=t).byteLength!==s.byteLength||0!==P(new Uint8Array(a),new Uint8Array(s)))return!1}else if(x(t)&&!function(t,e){return _(t)?_(e)&&l(Number.prototype.valueOf.call(t),Number.prototype.valueOf.call(e)):S(t)?S(e)&&String.prototype.valueOf.call(t)===String.prototype.valueOf.call(e):k(t)?k(e)&&Boolean.prototype.valueOf.call(t)===Boolean.prototype.valueOf.call(e):E(t)?E(e)&&BigInt.prototype.valueOf.call(t)===BigInt.prototype.valueOf.call(e):O(e)&&Symbol.prototype.valueOf.call(t)===Symbol.prototype.valueOf.call(e)}(t,e))return!1}return z(t,e,n,r,0)}function I(t,e){return e.filter((function(e){return d(t,e)}))}function z(t,e,n,r,o,i){if(5===arguments.length){i=Object.keys(t);var a=Object.keys(e);if(i.length!==a.length)return!1}for(var s=0;s<i.length;s++)if(!f(e,i[s]))return!1;if(n&&5===arguments.length){var l=u(t);if(0!==l.length){var c=0;for(s=0;s<l.length;s++){var p=l[s];if(d(t,p)){if(!d(e,p))return!1;i.push(p),c++}else if(d(e,p))return!1}var h=u(e);if(l.length!==h.length&&I(e,h).length!==c)return!1}else{var m=u(e);if(0!==m.length&&0!==I(e,m).length)return!1}}if(0===i.length&&(0===o||1===o&&0===t.length||0===t.size))return!0;if(void 0===r)r={val1:new Map,val2:new Map,position:0};else{var v=r.val1.get(t);if(void 0!==v){var g=r.val2.get(e);if(void 0!==g)return v===g}r.position++}r.val1.set(t,r.position),r.val2.set(e,r.position);var y=U(t,e,n,i,r,o);return r.val1.delete(t),r.val2.delete(e),y}function F(t,e,n,r){for(var o=a(t),i=0;i<o.length;i++){var s=o[i];if($(e,s,n,r))return t.delete(s),!0}return!1}function D(t){switch(o(t)){case"undefined":return null;case"object":return;case"symbol":return!1;case"string":t=+t;case"number":if(c(t))return!1}return!0}function L(t,e,n){var r=D(n);return null!=r?r:e.has(r)&&!t.has(r)}function R(t,e,n,r,o){var i=D(n);if(null!=i)return i;var a=e.get(i);return!(void 0===a&&!e.has(i)||!$(r,a,!1,o))&&(!t.has(i)&&$(r,a,!1,o))}function M(t,e,n,r,o,i){for(var s=a(t),l=0;l<s.length;l++){var u=s[l];if($(n,u,o,i)&&$(r,e.get(u),o,i))return t.delete(u),!0}return!1}function U(t,e,n,i,l,u){var c=0;if(2===u){if(!function(t,e,n,r){for(var i=null,s=a(t),l=0;l<s.length;l++){var u=s[l];if("object"===o(u)&&null!==u)null===i&&(i=new Set),i.add(u);else if(!e.has(u)){if(n)return!1;if(!L(t,e,u))return!1;null===i&&(i=new Set),i.add(u)}}if(null!==i){for(var c=a(e),p=0;p<c.length;p++){var f=c[p];if("object"===o(f)&&null!==f){if(!F(i,f,n,r))return!1}else if(!n&&!t.has(f)&&!F(i,f,n,r))return!1}return 0===i.size}return!0}(t,e,n,l))return!1}else if(3===u){if(!function(t,e,n,i){for(var a=null,l=s(t),u=0;u<l.length;u++){var c=r(l[u],2),p=c[0],f=c[1];if("object"===o(p)&&null!==p)null===a&&(a=new Set),a.add(p);else{var d=e.get(p);if(void 0===d&&!e.has(p)||!$(f,d,n,i)){if(n)return!1;if(!R(t,e,p,f,i))return!1;null===a&&(a=new Set),a.add(p)}}}if(null!==a){for(var h=s(e),m=0;m<h.length;m++){var v=r(h[m],2),g=(p=v[0],v[1]);if("object"===o(p)&&null!==p){if(!M(a,t,p,g,n,i))return!1}else if(!(n||t.has(p)&&$(t.get(p),g,!1,i)||M(a,t,p,g,!1,i)))return!1}return 0===a.size}return!0}(t,e,n,l))return!1}else if(1===u)for(;c<t.length;c++){if(!f(t,c)){if(f(e,c))return!1;for(var p=Object.keys(t);c<p.length;c++){var d=p[c];if(!f(e,d)||!$(t[d],e[d],n,l))return!1}return p.length===Object.keys(e).length}if(!f(e,c)||!$(t[c],e[c],n,l))return!1}for(c=0;c<i.length;c++){var h=i[c];if(!$(t[h],e[h],n,l))return!1}return!0}t.exports={isDeepEqual:function(t,e){return $(t,e,false)},isDeepStrictEqual:function(t,e){return $(t,e,true)}}},553:t=>{"function"==typeof Object.create?t.exports=function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:t.exports=function(t,e){if(e){t.super_=e;var n=function(){};n.prototype=e.prototype,t.prototype=new n,t.prototype.constructor=t}}},7872:t=>{t.exports=function(t){return t&&"object"==typeof t&&"function"==typeof t.copy&&"function"==typeof t.fill&&"function"==typeof t.readUInt8}},4851:(t,e,n)=>{"use strict";var r=n(2584),o=n(8662),i=n(6430),a=n(5692);function s(t){return t.call.bind(t)}var l="undefined"!=typeof BigInt,u="undefined"!=typeof Symbol,c=s(Object.prototype.toString),p=s(Number.prototype.valueOf),f=s(String.prototype.valueOf),d=s(Boolean.prototype.valueOf);if(l)var h=s(BigInt.prototype.valueOf);if(u)var m=s(Symbol.prototype.valueOf);function v(t,e){if("object"!=typeof t)return!1;try{return e(t),!0}catch(t){return!1}}function g(t){return"[object Map]"===c(t)}function y(t){return"[object Set]"===c(t)}function A(t){return"[object WeakMap]"===c(t)}function b(t){return"[object WeakSet]"===c(t)}function C(t){return"[object ArrayBuffer]"===c(t)}function w(t){return"undefined"!=typeof ArrayBuffer&&(C.working?C(t):t instanceof ArrayBuffer)}function x(t){return"[object DataView]"===c(t)}function _(t){return"undefined"!=typeof DataView&&(x.working?x(t):t instanceof DataView)}e.isArgumentsObject=r,e.isGeneratorFunction=o,e.isTypedArray=a,e.isPromise=function(t){return"undefined"!=typeof Promise&&t instanceof Promise||null!==t&&"object"==typeof t&&"function"==typeof t.then&&"function"==typeof t.catch},e.isArrayBufferView=function(t){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(t):a(t)||_(t)},e.isUint8Array=function(t){return"Uint8Array"===i(t)},e.isUint8ClampedArray=function(t){return"Uint8ClampedArray"===i(t)},e.isUint16Array=function(t){return"Uint16Array"===i(t)},e.isUint32Array=function(t){return"Uint32Array"===i(t)},e.isInt8Array=function(t){return"Int8Array"===i(t)},e.isInt16Array=function(t){return"Int16Array"===i(t)},e.isInt32Array=function(t){return"Int32Array"===i(t)},e.isFloat32Array=function(t){return"Float32Array"===i(t)},e.isFloat64Array=function(t){return"Float64Array"===i(t)},e.isBigInt64Array=function(t){return"BigInt64Array"===i(t)},e.isBigUint64Array=function(t){return"BigUint64Array"===i(t)},g.working="undefined"!=typeof Map&&g(new Map),e.isMap=function(t){return"undefined"!=typeof Map&&(g.working?g(t):t instanceof Map)},y.working="undefined"!=typeof Set&&y(new Set),e.isSet=function(t){return"undefined"!=typeof Set&&(y.working?y(t):t instanceof Set)},A.working="undefined"!=typeof WeakMap&&A(new WeakMap),e.isWeakMap=function(t){return"undefined"!=typeof WeakMap&&(A.working?A(t):t instanceof WeakMap)},b.working="undefined"!=typeof WeakSet&&b(new WeakSet),e.isWeakSet=function(t){return b(t)},C.working="undefined"!=typeof ArrayBuffer&&C(new ArrayBuffer),e.isArrayBuffer=w,x.working="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof DataView&&x(new DataView(new ArrayBuffer(1),0,1)),e.isDataView=_;var S="undefined"!=typeof SharedArrayBuffer?SharedArrayBuffer:void 0;function k(t){return"[object SharedArrayBuffer]"===c(t)}function E(t){return void 0!==S&&(void 0===k.working&&(k.working=k(new S)),k.working?k(t):t instanceof S)}function O(t){return v(t,p)}function j(t){return v(t,f)}function T(t){return v(t,d)}function B(t){return l&&v(t,h)}function N(t){return u&&v(t,m)}e.isSharedArrayBuffer=E,e.isAsyncFunction=function(t){return"[object AsyncFunction]"===c(t)},e.isMapIterator=function(t){return"[object Map Iterator]"===c(t)},e.isSetIterator=function(t){return"[object Set Iterator]"===c(t)},e.isGeneratorObject=function(t){return"[object Generator]"===c(t)},e.isWebAssemblyCompiledModule=function(t){return"[object WebAssembly.Module]"===c(t)},e.isNumberObject=O,e.isStringObject=j,e.isBooleanObject=T,e.isBigIntObject=B,e.isSymbolObject=N,e.isBoxedPrimitive=function(t){return O(t)||j(t)||T(t)||B(t)||N(t)},e.isAnyArrayBuffer=function(t){return"undefined"!=typeof Uint8Array&&(w(t)||E(t))},["isProxy","isExternal","isModuleNamespaceObject"].forEach((function(t){Object.defineProperty(e,t,{enumerable:!1,value:function(){throw new Error(t+" is not supported in userland")}})}))},374:(t,e,n)=>{var r=n(4155),o=n(5108),i=Object.getOwnPropertyDescriptors||function(t){for(var e=Object.keys(t),n={},r=0;r<e.length;r++)n[e[r]]=Object.getOwnPropertyDescriptor(t,e[r]);return n},a=/%[sdj%]/g;e.format=function(t){if(!b(t)){for(var e=[],n=0;n<arguments.length;n++)e.push(c(arguments[n]));return e.join(" ")}n=1;for(var r=arguments,o=r.length,i=String(t).replace(a,(function(t){if("%%"===t)return"%";if(n>=o)return t;switch(t){case"%s":return String(r[n++]);case"%d":return Number(r[n++]);case"%j":try{return JSON.stringify(r[n++])}catch(t){return"[Circular]"}default:return t}})),s=r[n];n<o;s=r[++n])y(s)||!x(s)?i+=" "+s:i+=" "+c(s);return i},e.deprecate=function(t,n){if(void 0!==r&&!0===r.noDeprecation)return t;if(void 0===r)return function(){return e.deprecate(t,n).apply(this,arguments)};var i=!1;return function(){if(!i){if(r.throwDeprecation)throw new Error(n);r.traceDeprecation?o.trace(n):o.error(n),i=!0}return t.apply(this,arguments)}};var s={},l=/^$/;if(r.env.NODE_DEBUG){var u=r.env.NODE_DEBUG;u=u.replace(/[|\\{}()[\]^$+?.]/g,"\\$&").replace(/\*/g,".*").replace(/,/g,"$|^").toUpperCase(),l=new RegExp("^"+u+"$","i")}function c(t,n){var r={seen:[],stylize:f};return arguments.length>=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),g(n)?r.showHidden=n:n&&e._extend(r,n),C(r.showHidden)&&(r.showHidden=!1),C(r.depth)&&(r.depth=2),C(r.colors)&&(r.colors=!1),C(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=p),d(r,t,r.depth)}function p(t,e){var n=c.styles[e];return n?"["+c.colors[n][0]+"m"+t+"["+c.colors[n][1]+"m":t}function f(t,e){return t}function d(t,n,r){if(t.customInspect&&n&&k(n.inspect)&&n.inspect!==e.inspect&&(!n.constructor||n.constructor.prototype!==n)){var o=n.inspect(r,t);return b(o)||(o=d(t,o,r)),o}var i=function(t,e){if(C(e))return t.stylize("undefined","undefined");if(b(e)){var n="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(n,"string")}if(A(e))return t.stylize(""+e,"number");if(g(e))return t.stylize(""+e,"boolean");if(y(e))return t.stylize("null","null")}(t,n);if(i)return i;var a=Object.keys(n),s=function(t){var e={};return t.forEach((function(t,n){e[t]=!0})),e}(a);if(t.showHidden&&(a=Object.getOwnPropertyNames(n)),S(n)&&(a.indexOf("message")>=0||a.indexOf("description")>=0))return h(n);if(0===a.length){if(k(n)){var l=n.name?": "+n.name:"";return t.stylize("[Function"+l+"]","special")}if(w(n))return t.stylize(RegExp.prototype.toString.call(n),"regexp");if(_(n))return t.stylize(Date.prototype.toString.call(n),"date");if(S(n))return h(n)}var u,c="",p=!1,f=["{","}"];(v(n)&&(p=!0,f=["[","]"]),k(n))&&(c=" [Function"+(n.name?": "+n.name:"")+"]");return w(n)&&(c=" "+RegExp.prototype.toString.call(n)),_(n)&&(c=" "+Date.prototype.toUTCString.call(n)),S(n)&&(c=" "+h(n)),0!==a.length||p&&0!=n.length?r<0?w(n)?t.stylize(RegExp.prototype.toString.call(n),"regexp"):t.stylize("[Object]","special"):(t.seen.push(n),u=p?function(t,e,n,r,o){for(var i=[],a=0,s=e.length;a<s;++a)B(e,String(a))?i.push(m(t,e,n,r,String(a),!0)):i.push("");return o.forEach((function(o){o.match(/^\d+$/)||i.push(m(t,e,n,r,o,!0))})),i}(t,n,r,s,a):a.map((function(e){return m(t,n,r,s,e,p)})),t.seen.pop(),function(t,e,n){if(t.reduce((function(t,e){return e.indexOf("\n")>=0&&0,t+e.replace(/\u001b\[\d\d?m/g,"").length+1}),0)>60)return n[0]+(""===e?"":e+"\n ")+" "+t.join(",\n ")+" "+n[1];return n[0]+e+" "+t.join(", ")+" "+n[1]}(u,c,f)):f[0]+c+f[1]}function h(t){return"["+Error.prototype.toString.call(t)+"]"}function m(t,e,n,r,o,i){var a,s,l;if((l=Object.getOwnPropertyDescriptor(e,o)||{value:e[o]}).get?s=l.set?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):l.set&&(s=t.stylize("[Setter]","special")),B(r,o)||(a="["+o+"]"),s||(t.seen.indexOf(l.value)<0?(s=y(n)?d(t,l.value,null):d(t,l.value,n-1)).indexOf("\n")>-1&&(s=i?s.split("\n").map((function(t){return" "+t})).join("\n").substr(2):"\n"+s.split("\n").map((function(t){return" "+t})).join("\n")):s=t.stylize("[Circular]","special")),C(a)){if(i&&o.match(/^\d+$/))return s;(a=JSON.stringify(""+o)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.substr(1,a.length-2),a=t.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=t.stylize(a,"string"))}return a+": "+s}function v(t){return Array.isArray(t)}function g(t){return"boolean"==typeof t}function y(t){return null===t}function A(t){return"number"==typeof t}function b(t){return"string"==typeof t}function C(t){return void 0===t}function w(t){return x(t)&&"[object RegExp]"===E(t)}function x(t){return"object"==typeof t&&null!==t}function _(t){return x(t)&&"[object Date]"===E(t)}function S(t){return x(t)&&("[object Error]"===E(t)||t instanceof Error)}function k(t){return"function"==typeof t}function E(t){return Object.prototype.toString.call(t)}function O(t){return t<10?"0"+t.toString(10):t.toString(10)}e.debuglog=function(t){if(t=t.toUpperCase(),!s[t])if(l.test(t)){var n=r.pid;s[t]=function(){var r=e.format.apply(e,arguments);o.error("%s %d: %s",t,n,r)}}else s[t]=function(){};return s[t]},e.inspect=c,c.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},c.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},e.types=n(4851),e.isArray=v,e.isBoolean=g,e.isNull=y,e.isNullOrUndefined=function(t){return null==t},e.isNumber=A,e.isString=b,e.isSymbol=function(t){return"symbol"==typeof t},e.isUndefined=C,e.isRegExp=w,e.types.isRegExp=w,e.isObject=x,e.isDate=_,e.types.isDate=_,e.isError=S,e.types.isNativeError=S,e.isFunction=k,e.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||void 0===t},e.isBuffer=n(7872);var j=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function T(){var t=new Date,e=[O(t.getHours()),O(t.getMinutes()),O(t.getSeconds())].join(":");return[t.getDate(),j[t.getMonth()],e].join(" ")}function B(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.log=function(){o.log("%s - %s",T(),e.format.apply(e,arguments))},e.inherits=n(553),e._extend=function(t,e){if(!e||!x(e))return t;for(var n=Object.keys(e),r=n.length;r--;)t[n[r]]=e[n[r]];return t};var N="undefined"!=typeof Symbol?Symbol("util.promisify.custom"):void 0;function P(t,e){if(!t){var n=new Error("Promise was rejected with a falsy value");n.reason=t,t=n}return e(t)}e.promisify=function(t){if("function"!=typeof t)throw new TypeError('The "original" argument must be of type Function');if(N&&t[N]){var e;if("function"!=typeof(e=t[N]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(e,N,{value:e,enumerable:!1,writable:!1,configurable:!0}),e}function e(){for(var e,n,r=new Promise((function(t,r){e=t,n=r})),o=[],i=0;i<arguments.length;i++)o.push(arguments[i]);o.push((function(t,r){t?n(t):e(r)}));try{t.apply(this,o)}catch(t){n(t)}return r}return Object.setPrototypeOf(e,Object.getPrototypeOf(t)),N&&Object.defineProperty(e,N,{value:e,enumerable:!1,writable:!1,configurable:!0}),Object.defineProperties(e,i(t))},e.promisify.custom=N,e.callbackify=function(t){if("function"!=typeof t)throw new TypeError('The "original" argument must be of type Function');function e(){for(var e=[],n=0;n<arguments.length;n++)e.push(arguments[n]);var o=e.pop();if("function"!=typeof o)throw new TypeError("The last argument must be of type Function");var i=this,a=function(){return o.apply(i,arguments)};t.apply(this,e).then((function(t){r.nextTick(a.bind(null,null,t))}),(function(t){r.nextTick(P.bind(null,t,a))}))}return Object.setPrototypeOf(e,Object.getPrototypeOf(t)),Object.defineProperties(e,i(t)),e}},4244:t=>{"use strict";var e=function(t){return t!=t};t.exports=function(t,n){return 0===t&&0===n?1/t==1/n:t===n||!(!e(t)||!e(n))}},609:(t,e,n)=>{"use strict";var r=n(4289),o=n(5559),i=n(4244),a=n(5624),s=n(2281),l=o(a(),Object);r(l,{getPolyfill:a,implementation:i,shim:s}),t.exports=l},5624:(t,e,n)=>{"use strict";var r=n(4244);t.exports=function(){return"function"==typeof Object.is?Object.is:r}},2281:(t,e,n)=>{"use strict";var r=n(5624),o=n(4289);t.exports=function(){var t=r();return o(Object,{is:t},{is:function(){return Object.is!==t}}),t}},8987:(t,e,n)=>{"use strict";var r;if(!Object.keys){var o=Object.prototype.hasOwnProperty,i=Object.prototype.toString,a=n(1414),s=Object.prototype.propertyIsEnumerable,l=!s.call({toString:null},"toString"),u=s.call((function(){}),"prototype"),c=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],p=function(t){var e=t.constructor;return e&&e.prototype===t},f={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},d=function(){if("undefined"==typeof window)return!1;for(var t in window)try{if(!f["$"+t]&&o.call(window,t)&&null!==window[t]&&"object"==typeof window[t])try{p(window[t])}catch(t){return!0}}catch(t){return!0}return!1}();r=function(t){var e=null!==t&&"object"==typeof t,n="[object Function]"===i.call(t),r=a(t),s=e&&"[object String]"===i.call(t),f=[];if(!e&&!n&&!r)throw new TypeError("Object.keys called on a non-object");var h=u&&n;if(s&&t.length>0&&!o.call(t,0))for(var m=0;m<t.length;++m)f.push(String(m));if(r&&t.length>0)for(var v=0;v<t.length;++v)f.push(String(v));else for(var g in t)h&&"prototype"===g||!o.call(t,g)||f.push(String(g));if(l)for(var y=function(t){if("undefined"==typeof window||!d)return p(t);try{return p(t)}catch(t){return!1}}(t),A=0;A<c.length;++A)y&&"constructor"===c[A]||!o.call(t,c[A])||f.push(c[A]);return f}}t.exports=r},2215:(t,e,n)=>{"use strict";var r=Array.prototype.slice,o=n(1414),i=Object.keys,a=i?function(t){return i(t)}:n(8987),s=Object.keys;a.shim=function(){if(Object.keys){var t=function(){var t=Object.keys(arguments);return t&&t.length===arguments.length}(1,2);t||(Object.keys=function(t){return o(t)?s(r.call(t)):s(t)})}else Object.keys=a;return Object.keys||a},t.exports=a},1414:t=>{"use strict";var e=Object.prototype.toString;t.exports=function(t){var n=e.call(t),r="[object Arguments]"===n;return r||(r="[object Array]"!==n&&null!==t&&"object"==typeof t&&"number"==typeof t.length&&t.length>=0&&"[object Function]"===e.call(t.callee)),r}},4155:t=>{var e,n,r=t.exports={};function o(){throw new Error("setTimeout has not been defined")}function i(){throw new Error("clearTimeout has not been defined")}function a(t){if(e===setTimeout)return setTimeout(t,0);if((e===o||!e)&&setTimeout)return e=setTimeout,setTimeout(t,0);try{return e(t,0)}catch(n){try{return e.call(null,t,0)}catch(n){return e.call(this,t,0)}}}!function(){try{e="function"==typeof setTimeout?setTimeout:o}catch(t){e=o}try{n="function"==typeof clearTimeout?clearTimeout:i}catch(t){n=i}}();var s,l=[],u=!1,c=-1;function p(){u&&s&&(u=!1,s.length?l=s.concat(l):c=-1,l.length&&f())}function f(){if(!u){var t=a(p);u=!0;for(var e=l.length;e;){for(s=l,l=[];++c<e;)s&&s[c].run();c=-1,e=l.length}s=null,u=!1,function(t){if(n===clearTimeout)return clearTimeout(t);if((n===i||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(t);try{n(t)}catch(e){try{return n.call(null,t)}catch(e){return n.call(this,t)}}}(t)}}function d(t,e){this.fun=t,this.array=e}function h(){}r.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)e[n-1]=arguments[n];l.push(new d(t,e)),1!==l.length||u||a(f)},d.prototype.run=function(){this.fun.apply(null,this.array)},r.title="browser",r.browser=!0,r.env={},r.argv=[],r.version="",r.versions={},r.on=h,r.addListener=h,r.once=h,r.off=h,r.removeListener=h,r.removeAllListeners=h,r.emit=h,r.prependListener=h,r.prependOnceListener=h,r.listeners=function(t){return[]},r.binding=function(t){throw new Error("process.binding is not supported")},r.cwd=function(){return"/"},r.chdir=function(t){throw new Error("process.chdir is not supported")},r.umask=function(){return 0}},6376:(t,e,n)=>{const r=n(4225),{MAX_LENGTH:o,MAX_SAFE_INTEGER:i}=n(3295),{re:a,t:s}=n(5765),l=n(2893),{compareIdentifiers:u}=n(6742);class c{constructor(t,e){if(e=l(e),t instanceof c){if(t.loose===!!e.loose&&t.includePrerelease===!!e.includePrerelease)return t;t=t.version}else if("string"!=typeof t)throw new TypeError(`Invalid Version: ${t}`);if(t.length>o)throw new TypeError(`version is longer than ${o} characters`);r("SemVer",t,e),this.options=e,this.loose=!!e.loose,this.includePrerelease=!!e.includePrerelease;const n=t.trim().match(e.loose?a[s.LOOSE]:a[s.FULL]);if(!n)throw new TypeError(`Invalid Version: ${t}`);if(this.raw=t,this.major=+n[1],this.minor=+n[2],this.patch=+n[3],this.major>i||this.major<0)throw new TypeError("Invalid major version");if(this.minor>i||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>i||this.patch<0)throw new TypeError("Invalid patch version");n[4]?this.prerelease=n[4].split(".").map((t=>{if(/^[0-9]+$/.test(t)){const e=+t;if(e>=0&&e<i)return e}return t})):this.prerelease=[],this.build=n[5]?n[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(t){if(r("SemVer.compare",this.version,this.options,t),!(t instanceof c)){if("string"==typeof t&&t===this.version)return 0;t=new c(t,this.options)}return t.version===this.version?0:this.compareMain(t)||this.comparePre(t)}compareMain(t){return t instanceof c||(t=new c(t,this.options)),u(this.major,t.major)||u(this.minor,t.minor)||u(this.patch,t.patch)}comparePre(t){if(t instanceof c||(t=new c(t,this.options)),this.prerelease.length&&!t.prerelease.length)return-1;if(!this.prerelease.length&&t.prerelease.length)return 1;if(!this.prerelease.length&&!t.prerelease.length)return 0;let e=0;do{const n=this.prerelease[e],o=t.prerelease[e];if(r("prerelease compare",e,n,o),void 0===n&&void 0===o)return 0;if(void 0===o)return 1;if(void 0===n)return-1;if(n!==o)return u(n,o)}while(++e)}compareBuild(t){t instanceof c||(t=new c(t,this.options));let e=0;do{const n=this.build[e],o=t.build[e];if(r("prerelease compare",e,n,o),void 0===n&&void 0===o)return 0;if(void 0===o)return 1;if(void 0===n)return-1;if(n!==o)return u(n,o)}while(++e)}inc(t,e){switch(t){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",e);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",e);break;case"prepatch":this.prerelease.length=0,this.inc("patch",e),this.inc("pre",e);break;case"prerelease":0===this.prerelease.length&&this.inc("patch",e),this.inc("pre",e);break;case"major":0===this.minor&&0===this.patch&&0!==this.prerelease.length||this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":0===this.patch&&0!==this.prerelease.length||this.minor++,this.patch=0,this.prerelease=[];break;case"patch":0===this.prerelease.length&&this.patch++,this.prerelease=[];break;case"pre":if(0===this.prerelease.length)this.prerelease=[0];else{let t=this.prerelease.length;for(;--t>=0;)"number"==typeof this.prerelease[t]&&(this.prerelease[t]++,t=-2);-1===t&&this.prerelease.push(0)}e&&(this.prerelease[0]===e?isNaN(this.prerelease[1])&&(this.prerelease=[e,0]):this.prerelease=[e,0]);break;default:throw new Error(`invalid increment argument: ${t}`)}return this.format(),this.raw=this.version,this}}t.exports=c},8679:(t,e,n)=>{const r=n(6376);t.exports=(t,e)=>new r(t,e).major},3959:(t,e,n)=>{const{MAX_LENGTH:r}=n(3295),{re:o,t:i}=n(5765),a=n(6376),s=n(2893);t.exports=(t,e)=>{if(e=s(e),t instanceof a)return t;if("string"!=typeof t)return null;if(t.length>r)return null;if(!(e.loose?o[i.LOOSE]:o[i.FULL]).test(t))return null;try{return new a(t,e)}catch(t){return null}}},6397:(t,e,n)=>{const r=n(3959);t.exports=(t,e)=>{const n=r(t,e);return n?n.version:null}},3295:t=>{const e=Number.MAX_SAFE_INTEGER||9007199254740991;t.exports={SEMVER_SPEC_VERSION:"2.0.0",MAX_LENGTH:256,MAX_SAFE_INTEGER:e,MAX_SAFE_COMPONENT_LENGTH:16}},4225:(t,e,n)=>{var r=n(4155),o=n(5108);const i="object"==typeof r&&r.env&&r.env.NODE_DEBUG&&/\bsemver\b/i.test(r.env.NODE_DEBUG)?(...t)=>o.error("SEMVER",...t):()=>{};t.exports=i},6742:t=>{const e=/^[0-9]+$/,n=(t,n)=>{const r=e.test(t),o=e.test(n);return r&&o&&(t=+t,n=+n),t===n?0:r&&!o?-1:o&&!r?1:t<n?-1:1};t.exports={compareIdentifiers:n,rcompareIdentifiers:(t,e)=>n(e,t)}},2893:t=>{const e=["includePrerelease","loose","rtl"];t.exports=t=>t?"object"!=typeof t?{loose:!0}:e.filter((e=>t[e])).reduce(((t,e)=>(t[e]=!0,t)),{}):{}},5765:(t,e,n)=>{const{MAX_SAFE_COMPONENT_LENGTH:r}=n(3295),o=n(4225),i=(e=t.exports={}).re=[],a=e.src=[],s=e.t={};let l=0;const u=(t,e,n)=>{const r=l++;o(r,e),s[t]=r,a[r]=e,i[r]=new RegExp(e,n?"g":void 0)};u("NUMERICIDENTIFIER","0|[1-9]\\d*"),u("NUMERICIDENTIFIERLOOSE","[0-9]+"),u("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*"),u("MAINVERSION",`(${a[s.NUMERICIDENTIFIER]})\\.(${a[s.NUMERICIDENTIFIER]})\\.(${a[s.NUMERICIDENTIFIER]})`),u("MAINVERSIONLOOSE",`(${a[s.NUMERICIDENTIFIERLOOSE]})\\.(${a[s.NUMERICIDENTIFIERLOOSE]})\\.(${a[s.NUMERICIDENTIFIERLOOSE]})`),u("PRERELEASEIDENTIFIER",`(?:${a[s.NUMERICIDENTIFIER]}|${a[s.NONNUMERICIDENTIFIER]})`),u("PRERELEASEIDENTIFIERLOOSE",`(?:${a[s.NUMERICIDENTIFIERLOOSE]}|${a[s.NONNUMERICIDENTIFIER]})`),u("PRERELEASE",`(?:-(${a[s.PRERELEASEIDENTIFIER]}(?:\\.${a[s.PRERELEASEIDENTIFIER]})*))`),u("PRERELEASELOOSE",`(?:-?(${a[s.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${a[s.PRERELEASEIDENTIFIERLOOSE]})*))`),u("BUILDIDENTIFIER","[0-9A-Za-z-]+"),u("BUILD",`(?:\\+(${a[s.BUILDIDENTIFIER]}(?:\\.${a[s.BUILDIDENTIFIER]})*))`),u("FULLPLAIN",`v?${a[s.MAINVERSION]}${a[s.PRERELEASE]}?${a[s.BUILD]}?`),u("FULL",`^${a[s.FULLPLAIN]}$`),u("LOOSEPLAIN",`[v=\\s]*${a[s.MAINVERSIONLOOSE]}${a[s.PRERELEASELOOSE]}?${a[s.BUILD]}?`),u("LOOSE",`^${a[s.LOOSEPLAIN]}$`),u("GTLT","((?:<|>)?=?)"),u("XRANGEIDENTIFIERLOOSE",`${a[s.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),u("XRANGEIDENTIFIER",`${a[s.NUMERICIDENTIFIER]}|x|X|\\*`),u("XRANGEPLAIN",`[v=\\s]*(${a[s.XRANGEIDENTIFIER]})(?:\\.(${a[s.XRANGEIDENTIFIER]})(?:\\.(${a[s.XRANGEIDENTIFIER]})(?:${a[s.PRERELEASE]})?${a[s.BUILD]}?)?)?`),u("XRANGEPLAINLOOSE",`[v=\\s]*(${a[s.XRANGEIDENTIFIERLOOSE]})(?:\\.(${a[s.XRANGEIDENTIFIERLOOSE]})(?:\\.(${a[s.XRANGEIDENTIFIERLOOSE]})(?:${a[s.PRERELEASELOOSE]})?${a[s.BUILD]}?)?)?`),u("XRANGE",`^${a[s.GTLT]}\\s*${a[s.XRANGEPLAIN]}$`),u("XRANGELOOSE",`^${a[s.GTLT]}\\s*${a[s.XRANGEPLAINLOOSE]}$`),u("COERCE",`(^|[^\\d])(\\d{1,${r}})(?:\\.(\\d{1,${r}}))?(?:\\.(\\d{1,${r}}))?(?:$|[^\\d])`),u("COERCERTL",a[s.COERCE],!0),u("LONETILDE","(?:~>?)"),u("TILDETRIM",`(\\s*)${a[s.LONETILDE]}\\s+`,!0),e.tildeTrimReplace="$1~",u("TILDE",`^${a[s.LONETILDE]}${a[s.XRANGEPLAIN]}$`),u("TILDELOOSE",`^${a[s.LONETILDE]}${a[s.XRANGEPLAINLOOSE]}$`),u("LONECARET","(?:\\^)"),u("CARETTRIM",`(\\s*)${a[s.LONECARET]}\\s+`,!0),e.caretTrimReplace="$1^",u("CARET",`^${a[s.LONECARET]}${a[s.XRANGEPLAIN]}$`),u("CARETLOOSE",`^${a[s.LONECARET]}${a[s.XRANGEPLAINLOOSE]}$`),u("COMPARATORLOOSE",`^${a[s.GTLT]}\\s*(${a[s.LOOSEPLAIN]})$|^$`),u("COMPARATOR",`^${a[s.GTLT]}\\s*(${a[s.FULLPLAIN]})$|^$`),u("COMPARATORTRIM",`(\\s*)${a[s.GTLT]}\\s*(${a[s.LOOSEPLAIN]}|${a[s.XRANGEPLAIN]})`,!0),e.comparatorTrimReplace="$1$2$3",u("HYPHENRANGE",`^\\s*(${a[s.XRANGEPLAIN]})\\s+-\\s+(${a[s.XRANGEPLAIN]})\\s*$`),u("HYPHENRANGELOOSE",`^\\s*(${a[s.XRANGEPLAINLOOSE]})\\s+-\\s+(${a[s.XRANGEPLAINLOOSE]})\\s*$`),u("STAR","(<|>)?=?\\s*\\*"),u("GTE0","^\\s*>=\\s*0.0.0\\s*$"),u("GTE0PRE","^\\s*>=\\s*0.0.0-0\\s*$")},3379:t=>{"use strict";var e=[];function n(t){for(var n=-1,r=0;r<e.length;r++)if(e[r].identifier===t){n=r;break}return n}function r(t,r){for(var i={},a=[],s=0;s<t.length;s++){var l=t[s],u=r.base?l[0]+r.base:l[0],c=i[u]||0,p="".concat(u," ").concat(c);i[u]=c+1;var f=n(p),d={css:l[1],media:l[2],sourceMap:l[3],supports:l[4],layer:l[5]};if(-1!==f)e[f].references++,e[f].updater(d);else{var h=o(d,r);r.byIndex=s,e.splice(s,0,{identifier:p,updater:h,references:1})}a.push(p)}return a}function o(t,e){var n=e.domAPI(e);n.update(t);return function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap&&e.supports===t.supports&&e.layer===t.layer)return;n.update(t=e)}else n.remove()}}t.exports=function(t,o){var i=r(t=t||[],o=o||{});return function(t){t=t||[];for(var a=0;a<i.length;a++){var s=n(i[a]);e[s].references--}for(var l=r(t,o),u=0;u<i.length;u++){var c=n(i[u]);0===e[c].references&&(e[c].updater(),e.splice(c,1))}i=l}}},569:t=>{"use strict";var e={};t.exports=function(t,n){var r=function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(t){n=null}e[t]=n}return e[t]}(t);if(!r)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");r.appendChild(n)}},9216:t=>{"use strict";t.exports=function(t){var e=document.createElement("style");return t.setAttributes(e,t.attributes),t.insert(e,t.options),e}},3565:(t,e,n)=>{"use strict";t.exports=function(t){var e=n.nc;e&&t.setAttribute("nonce",e)}},7795:t=>{"use strict";t.exports=function(t){var e=t.insertStyleElement(t);return{update:function(n){!function(t,e,n){var r="";n.supports&&(r+="@supports (".concat(n.supports,") {")),n.media&&(r+="@media ".concat(n.media," {"));var o=void 0!==n.layer;o&&(r+="@layer".concat(n.layer.length>0?" ".concat(n.layer):""," {")),r+=n.css,o&&(r+="}"),n.media&&(r+="}"),n.supports&&(r+="}");var i=n.sourceMap;i&&"undefined"!=typeof btoa&&(r+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i))))," */")),e.styleTagTransform(r,t,e.options)}(e,t,n)},remove:function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(e)}}}},4589:t=>{"use strict";t.exports=function(t,e){if(e.styleSheet)e.styleSheet.cssText=t;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(t))}}},2998:(t,e,n)=>{"use strict";function r(t){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r(t)}function o(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function i(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}n.r(e),n.d(e,{VClosePopover:()=>ye,VPopover:()=>Ae,VTooltip:()=>ge,createTooltip:()=>Ht,default:()=>we,destroyTooltip:()=>Yt,install:()=>ve});var a=n(5108),s="undefined"!=typeof window&&"undefined"!=typeof document&&"undefined"!=typeof navigator,l=function(){for(var t=["Edge","Trident","Firefox"],e=0;e<t.length;e+=1)if(s&&navigator.userAgent.indexOf(t[e])>=0)return 1;return 0}();var u=s&&window.Promise?function(t){var e=!1;return function(){e||(e=!0,window.Promise.resolve().then((function(){e=!1,t()})))}}:function(t){var e=!1;return function(){e||(e=!0,setTimeout((function(){e=!1,t()}),l))}};function c(t){return t&&"[object Function]"==={}.toString.call(t)}function p(t,e){if(1!==t.nodeType)return[];var n=t.ownerDocument.defaultView.getComputedStyle(t,null);return e?n[e]:n}function f(t){return"HTML"===t.nodeName?t:t.parentNode||t.host}function d(t){if(!t)return document.body;switch(t.nodeName){case"HTML":case"BODY":return t.ownerDocument.body;case"#document":return t.body}var e=p(t),n=e.overflow,r=e.overflowX,o=e.overflowY;return/(auto|scroll|overlay)/.test(n+o+r)?t:d(f(t))}function h(t){return t&&t.referenceNode?t.referenceNode:t}var m=s&&!(!window.MSInputMethodContext||!document.documentMode),v=s&&/MSIE 10/.test(navigator.userAgent);function g(t){return 11===t?m:10===t?v:m||v}function y(t){if(!t)return document.documentElement;for(var e=g(10)?document.body:null,n=t.offsetParent||null;n===e&&t.nextElementSibling;)n=(t=t.nextElementSibling).offsetParent;var r=n&&n.nodeName;return r&&"BODY"!==r&&"HTML"!==r?-1!==["TH","TD","TABLE"].indexOf(n.nodeName)&&"static"===p(n,"position")?y(n):n:t?t.ownerDocument.documentElement:document.documentElement}function A(t){return null!==t.parentNode?A(t.parentNode):t}function b(t,e){if(!(t&&t.nodeType&&e&&e.nodeType))return document.documentElement;var n=t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_FOLLOWING,r=n?t:e,o=n?e:t,i=document.createRange();i.setStart(r,0),i.setEnd(o,0);var a,s,l=i.commonAncestorContainer;if(t!==l&&e!==l||r.contains(o))return"BODY"===(s=(a=l).nodeName)||"HTML"!==s&&y(a.firstElementChild)!==a?y(l):l;var u=A(t);return u.host?b(u.host,e):b(t,A(e).host)}function C(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"top",n="top"===e?"scrollTop":"scrollLeft",r=t.nodeName;if("BODY"===r||"HTML"===r){var o=t.ownerDocument.documentElement,i=t.ownerDocument.scrollingElement||o;return i[n]}return t[n]}function w(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=C(e,"top"),o=C(e,"left"),i=n?-1:1;return t.top+=r*i,t.bottom+=r*i,t.left+=o*i,t.right+=o*i,t}function x(t,e){var n="x"===e?"Left":"Top",r="Left"===n?"Right":"Bottom";return parseFloat(t["border"+n+"Width"])+parseFloat(t["border"+r+"Width"])}function _(t,e,n,r){return Math.max(e["offset"+t],e["scroll"+t],n["client"+t],n["offset"+t],n["scroll"+t],g(10)?parseInt(n["offset"+t])+parseInt(r["margin"+("Height"===t?"Top":"Left")])+parseInt(r["margin"+("Height"===t?"Bottom":"Right")]):0)}function S(t){var e=t.body,n=t.documentElement,r=g(10)&&getComputedStyle(n);return{height:_("Height",e,n,r),width:_("Width",e,n,r)}}var k=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},E=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}(),O=function(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t},j=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t};function T(t){return j({},t,{right:t.left+t.width,bottom:t.top+t.height})}function B(t){var e={};try{if(g(10)){e=t.getBoundingClientRect();var n=C(t,"top"),r=C(t,"left");e.top+=n,e.left+=r,e.bottom+=n,e.right+=r}else e=t.getBoundingClientRect()}catch(t){}var o={left:e.left,top:e.top,width:e.right-e.left,height:e.bottom-e.top},i="HTML"===t.nodeName?S(t.ownerDocument):{},a=i.width||t.clientWidth||o.width,s=i.height||t.clientHeight||o.height,l=t.offsetWidth-a,u=t.offsetHeight-s;if(l||u){var c=p(t);l-=x(c,"x"),u-=x(c,"y"),o.width-=l,o.height-=u}return T(o)}function N(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=g(10),o="HTML"===e.nodeName,i=B(t),a=B(e),s=d(t),l=p(e),u=parseFloat(l.borderTopWidth),c=parseFloat(l.borderLeftWidth);n&&o&&(a.top=Math.max(a.top,0),a.left=Math.max(a.left,0));var f=T({top:i.top-a.top-u,left:i.left-a.left-c,width:i.width,height:i.height});if(f.marginTop=0,f.marginLeft=0,!r&&o){var h=parseFloat(l.marginTop),m=parseFloat(l.marginLeft);f.top-=u-h,f.bottom-=u-h,f.left-=c-m,f.right-=c-m,f.marginTop=h,f.marginLeft=m}return(r&&!n?e.contains(s):e===s&&"BODY"!==s.nodeName)&&(f=w(f,e)),f}function P(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=t.ownerDocument.documentElement,r=N(t,n),o=Math.max(n.clientWidth,window.innerWidth||0),i=Math.max(n.clientHeight,window.innerHeight||0),a=e?0:C(n),s=e?0:C(n,"left"),l={top:a-r.top+r.marginTop,left:s-r.left+r.marginLeft,width:o,height:i};return T(l)}function $(t){var e=t.nodeName;if("BODY"===e||"HTML"===e)return!1;if("fixed"===p(t,"position"))return!0;var n=f(t);return!!n&&$(n)}function I(t){if(!t||!t.parentElement||g())return document.documentElement;for(var e=t.parentElement;e&&"none"===p(e,"transform");)e=e.parentElement;return e||document.documentElement}function z(t,e,n,r){var o=arguments.length>4&&void 0!==arguments[4]&&arguments[4],i={top:0,left:0},a=o?I(t):b(t,h(e));if("viewport"===r)i=P(a,o);else{var s=void 0;"scrollParent"===r?"BODY"===(s=d(f(e))).nodeName&&(s=t.ownerDocument.documentElement):s="window"===r?t.ownerDocument.documentElement:r;var l=N(s,a,o);if("HTML"!==s.nodeName||$(a))i=l;else{var u=S(t.ownerDocument),c=u.height,p=u.width;i.top+=l.top-l.marginTop,i.bottom=c+l.top,i.left+=l.left-l.marginLeft,i.right=p+l.left}}var m="number"==typeof(n=n||0);return i.left+=m?n:n.left||0,i.top+=m?n:n.top||0,i.right-=m?n:n.right||0,i.bottom-=m?n:n.bottom||0,i}function F(t){return t.width*t.height}function D(t,e,n,r,o){var i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;if(-1===t.indexOf("auto"))return t;var a=z(n,r,i,o),s={top:{width:a.width,height:e.top-a.top},right:{width:a.right-e.right,height:a.height},bottom:{width:a.width,height:a.bottom-e.bottom},left:{width:e.left-a.left,height:a.height}},l=Object.keys(s).map((function(t){return j({key:t},s[t],{area:F(s[t])})})).sort((function(t,e){return e.area-t.area})),u=l.filter((function(t){var e=t.width,r=t.height;return e>=n.clientWidth&&r>=n.clientHeight})),c=u.length>0?u[0].key:l[0].key,p=t.split("-")[1];return c+(p?"-"+p:"")}function L(t,e,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,o=r?I(e):b(e,h(n));return N(n,o,r)}function R(t){var e=t.ownerDocument.defaultView.getComputedStyle(t),n=parseFloat(e.marginTop||0)+parseFloat(e.marginBottom||0),r=parseFloat(e.marginLeft||0)+parseFloat(e.marginRight||0);return{width:t.offsetWidth+r,height:t.offsetHeight+n}}function M(t){var e={left:"right",right:"left",bottom:"top",top:"bottom"};return t.replace(/left|right|bottom|top/g,(function(t){return e[t]}))}function U(t,e,n){n=n.split("-")[0];var r=R(t),o={width:r.width,height:r.height},i=-1!==["right","left"].indexOf(n),a=i?"top":"left",s=i?"left":"top",l=i?"height":"width",u=i?"width":"height";return o[a]=e[a]+e[l]/2-r[l]/2,o[s]=n===s?e[s]-r[u]:e[M(s)],o}function G(t,e){return Array.prototype.find?t.find(e):t.filter(e)[0]}function q(t,e,n){return(void 0===n?t:t.slice(0,function(t,e,n){if(Array.prototype.findIndex)return t.findIndex((function(t){return t[e]===n}));var r=G(t,(function(t){return t[e]===n}));return t.indexOf(r)}(t,"name",n))).forEach((function(t){t.function&&a.warn("`modifier.function` is deprecated, use `modifier.fn`!");var n=t.function||t.fn;t.enabled&&c(n)&&(e.offsets.popper=T(e.offsets.popper),e.offsets.reference=T(e.offsets.reference),e=n(e,t))})),e}function V(){if(!this.state.isDestroyed){var t={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};t.offsets.reference=L(this.state,this.popper,this.reference,this.options.positionFixed),t.placement=D(this.options.placement,t.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),t.originalPlacement=t.placement,t.positionFixed=this.options.positionFixed,t.offsets.popper=U(this.popper,t.offsets.reference,t.placement),t.offsets.popper.position=this.options.positionFixed?"fixed":"absolute",t=q(this.modifiers,t),this.state.isCreated?this.options.onUpdate(t):(this.state.isCreated=!0,this.options.onCreate(t))}}function W(t,e){return t.some((function(t){var n=t.name;return t.enabled&&n===e}))}function H(t){for(var e=[!1,"ms","Webkit","Moz","O"],n=t.charAt(0).toUpperCase()+t.slice(1),r=0;r<e.length;r++){var o=e[r],i=o?""+o+n:t;if(void 0!==document.body.style[i])return i}return null}function Y(){return this.state.isDestroyed=!0,W(this.modifiers,"applyStyle")&&(this.popper.removeAttribute("x-placement"),this.popper.style.position="",this.popper.style.top="",this.popper.style.left="",this.popper.style.right="",this.popper.style.bottom="",this.popper.style.willChange="",this.popper.style[H("transform")]=""),this.disableEventListeners(),this.options.removeOnDestroy&&this.popper.parentNode.removeChild(this.popper),this}function K(t){var e=t.ownerDocument;return e?e.defaultView:window}function X(t,e,n,r){var o="BODY"===t.nodeName,i=o?t.ownerDocument.defaultView:t;i.addEventListener(e,n,{passive:!0}),o||X(d(i.parentNode),e,n,r),r.push(i)}function Z(t,e,n,r){n.updateBound=r,K(t).addEventListener("resize",n.updateBound,{passive:!0});var o=d(t);return X(o,"scroll",n.updateBound,n.scrollParents),n.scrollElement=o,n.eventsEnabled=!0,n}function J(){this.state.eventsEnabled||(this.state=Z(this.reference,this.options,this.state,this.scheduleUpdate))}function Q(){this.state.eventsEnabled&&(cancelAnimationFrame(this.scheduleUpdate),this.state=function(t,e){return K(t).removeEventListener("resize",e.updateBound),e.scrollParents.forEach((function(t){t.removeEventListener("scroll",e.updateBound)})),e.updateBound=null,e.scrollParents=[],e.scrollElement=null,e.eventsEnabled=!1,e}(this.reference,this.state))}function tt(t){return""!==t&&!isNaN(parseFloat(t))&&isFinite(t)}function et(t,e){Object.keys(e).forEach((function(n){var r="";-1!==["width","height","top","right","bottom","left"].indexOf(n)&&tt(e[n])&&(r="px"),t.style[n]=e[n]+r}))}var nt=s&&/Firefox/i.test(navigator.userAgent);function rt(t,e,n){var r=G(t,(function(t){return t.name===e})),o=!!r&&t.some((function(t){return t.name===n&&t.enabled&&t.order<r.order}));if(!o){var i="`"+e+"`",s="`"+n+"`";a.warn(s+" modifier is required by "+i+" modifier in order to work, be sure to include it before "+i+"!")}return o}var ot=["auto-start","auto","auto-end","top-start","top","top-end","right-start","right","right-end","bottom-end","bottom","bottom-start","left-end","left","left-start"],it=ot.slice(3);function at(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=it.indexOf(t),r=it.slice(n+1).concat(it.slice(0,n));return e?r.reverse():r}var st="flip",lt="clockwise",ut="counterclockwise";function ct(t,e,n,r){var o=[0,0],i=-1!==["right","left"].indexOf(r),s=t.split(/(\+|\-)/).map((function(t){return t.trim()})),l=s.indexOf(G(s,(function(t){return-1!==t.search(/,|\s/)})));s[l]&&-1===s[l].indexOf(",")&&a.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var u=/\s*,\s*|\s+/,c=-1!==l?[s.slice(0,l).concat([s[l].split(u)[0]]),[s[l].split(u)[1]].concat(s.slice(l+1))]:[s];return c=c.map((function(t,r){var o=(1===r?!i:i)?"height":"width",a=!1;return t.reduce((function(t,e){return""===t[t.length-1]&&-1!==["+","-"].indexOf(e)?(t[t.length-1]=e,a=!0,t):a?(t[t.length-1]+=e,a=!1,t):t.concat(e)}),[]).map((function(t){return function(t,e,n,r){var o=t.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),i=+o[1],a=o[2];if(!i)return t;if(0===a.indexOf("%")){return T("%p"===a?n:r)[e]/100*i}if("vh"===a||"vw"===a)return("vh"===a?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*i;return i}(t,o,e,n)}))})),c.forEach((function(t,e){t.forEach((function(n,r){tt(n)&&(o[e]+=n*("-"===t[r-1]?-1:1))}))})),o}var pt={shift:{order:100,enabled:!0,fn:function(t){var e=t.placement,n=e.split("-")[0],r=e.split("-")[1];if(r){var o=t.offsets,i=o.reference,a=o.popper,s=-1!==["bottom","top"].indexOf(n),l=s?"left":"top",u=s?"width":"height",c={start:O({},l,i[l]),end:O({},l,i[l]+i[u]-a[u])};t.offsets.popper=j({},a,c[r])}return t}},offset:{order:200,enabled:!0,fn:function(t,e){var n=e.offset,r=t.placement,o=t.offsets,i=o.popper,a=o.reference,s=r.split("-")[0],l=void 0;return l=tt(+n)?[+n,0]:ct(n,i,a,s),"left"===s?(i.top+=l[0],i.left-=l[1]):"right"===s?(i.top+=l[0],i.left+=l[1]):"top"===s?(i.left+=l[0],i.top-=l[1]):"bottom"===s&&(i.left+=l[0],i.top+=l[1]),t.popper=i,t},offset:0},preventOverflow:{order:300,enabled:!0,fn:function(t,e){var n=e.boundariesElement||y(t.instance.popper);t.instance.reference===n&&(n=y(n));var r=H("transform"),o=t.instance.popper.style,i=o.top,a=o.left,s=o[r];o.top="",o.left="",o[r]="";var l=z(t.instance.popper,t.instance.reference,e.padding,n,t.positionFixed);o.top=i,o.left=a,o[r]=s,e.boundaries=l;var u=e.priority,c=t.offsets.popper,p={primary:function(t){var n=c[t];return c[t]<l[t]&&!e.escapeWithReference&&(n=Math.max(c[t],l[t])),O({},t,n)},secondary:function(t){var n="right"===t?"left":"top",r=c[n];return c[t]>l[t]&&!e.escapeWithReference&&(r=Math.min(c[n],l[t]-("right"===t?c.width:c.height))),O({},n,r)}};return u.forEach((function(t){var e=-1!==["left","top"].indexOf(t)?"primary":"secondary";c=j({},c,p[e](t))})),t.offsets.popper=c,t},priority:["left","right","top","bottom"],padding:5,boundariesElement:"scrollParent"},keepTogether:{order:400,enabled:!0,fn:function(t){var e=t.offsets,n=e.popper,r=e.reference,o=t.placement.split("-")[0],i=Math.floor,a=-1!==["top","bottom"].indexOf(o),s=a?"right":"bottom",l=a?"left":"top",u=a?"width":"height";return n[s]<i(r[l])&&(t.offsets.popper[l]=i(r[l])-n[u]),n[l]>i(r[s])&&(t.offsets.popper[l]=i(r[s])),t}},arrow:{order:500,enabled:!0,fn:function(t,e){var n;if(!rt(t.instance.modifiers,"arrow","keepTogether"))return t;var r=e.element;if("string"==typeof r){if(!(r=t.instance.popper.querySelector(r)))return t}else if(!t.instance.popper.contains(r))return a.warn("WARNING: `arrow.element` must be child of its popper element!"),t;var o=t.placement.split("-")[0],i=t.offsets,s=i.popper,l=i.reference,u=-1!==["left","right"].indexOf(o),c=u?"height":"width",f=u?"Top":"Left",d=f.toLowerCase(),h=u?"left":"top",m=u?"bottom":"right",v=R(r)[c];l[m]-v<s[d]&&(t.offsets.popper[d]-=s[d]-(l[m]-v)),l[d]+v>s[m]&&(t.offsets.popper[d]+=l[d]+v-s[m]),t.offsets.popper=T(t.offsets.popper);var g=l[d]+l[c]/2-v/2,y=p(t.instance.popper),A=parseFloat(y["margin"+f]),b=parseFloat(y["border"+f+"Width"]),C=g-t.offsets.popper[d]-A-b;return C=Math.max(Math.min(s[c]-v,C),0),t.arrowElement=r,t.offsets.arrow=(O(n={},d,Math.round(C)),O(n,h,""),n),t},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(t,e){if(W(t.instance.modifiers,"inner"))return t;if(t.flipped&&t.placement===t.originalPlacement)return t;var n=z(t.instance.popper,t.instance.reference,e.padding,e.boundariesElement,t.positionFixed),r=t.placement.split("-")[0],o=M(r),i=t.placement.split("-")[1]||"",a=[];switch(e.behavior){case st:a=[r,o];break;case lt:a=at(r);break;case ut:a=at(r,!0);break;default:a=e.behavior}return a.forEach((function(s,l){if(r!==s||a.length===l+1)return t;r=t.placement.split("-")[0],o=M(r);var u=t.offsets.popper,c=t.offsets.reference,p=Math.floor,f="left"===r&&p(u.right)>p(c.left)||"right"===r&&p(u.left)<p(c.right)||"top"===r&&p(u.bottom)>p(c.top)||"bottom"===r&&p(u.top)<p(c.bottom),d=p(u.left)<p(n.left),h=p(u.right)>p(n.right),m=p(u.top)<p(n.top),v=p(u.bottom)>p(n.bottom),g="left"===r&&d||"right"===r&&h||"top"===r&&m||"bottom"===r&&v,y=-1!==["top","bottom"].indexOf(r),A=!!e.flipVariations&&(y&&"start"===i&&d||y&&"end"===i&&h||!y&&"start"===i&&m||!y&&"end"===i&&v),b=!!e.flipVariationsByContent&&(y&&"start"===i&&h||y&&"end"===i&&d||!y&&"start"===i&&v||!y&&"end"===i&&m),C=A||b;(f||g||C)&&(t.flipped=!0,(f||g)&&(r=a[l+1]),C&&(i=function(t){return"end"===t?"start":"start"===t?"end":t}(i)),t.placement=r+(i?"-"+i:""),t.offsets.popper=j({},t.offsets.popper,U(t.instance.popper,t.offsets.reference,t.placement)),t=q(t.instance.modifiers,t,"flip"))})),t},behavior:"flip",padding:5,boundariesElement:"viewport",flipVariations:!1,flipVariationsByContent:!1},inner:{order:700,enabled:!1,fn:function(t){var e=t.placement,n=e.split("-")[0],r=t.offsets,o=r.popper,i=r.reference,a=-1!==["left","right"].indexOf(n),s=-1===["top","left"].indexOf(n);return o[a?"left":"top"]=i[n]-(s?o[a?"width":"height"]:0),t.placement=M(e),t.offsets.popper=T(o),t}},hide:{order:800,enabled:!0,fn:function(t){if(!rt(t.instance.modifiers,"hide","preventOverflow"))return t;var e=t.offsets.reference,n=G(t.instance.modifiers,(function(t){return"preventOverflow"===t.name})).boundaries;if(e.bottom<n.top||e.left>n.right||e.top>n.bottom||e.right<n.left){if(!0===t.hide)return t;t.hide=!0,t.attributes["x-out-of-boundaries"]=""}else{if(!1===t.hide)return t;t.hide=!1,t.attributes["x-out-of-boundaries"]=!1}return t}},computeStyle:{order:850,enabled:!0,fn:function(t,e){var n=e.x,r=e.y,o=t.offsets.popper,i=G(t.instance.modifiers,(function(t){return"applyStyle"===t.name})).gpuAcceleration;void 0!==i&&a.warn("WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!");var s=void 0!==i?i:e.gpuAcceleration,l=y(t.instance.popper),u=B(l),c={position:o.position},p=function(t,e){var n=t.offsets,r=n.popper,o=n.reference,i=Math.round,a=Math.floor,s=function(t){return t},l=i(o.width),u=i(r.width),c=-1!==["left","right"].indexOf(t.placement),p=-1!==t.placement.indexOf("-"),f=e?c||p||l%2==u%2?i:a:s,d=e?i:s;return{left:f(l%2==1&&u%2==1&&!p&&e?r.left-1:r.left),top:d(r.top),bottom:d(r.bottom),right:f(r.right)}}(t,window.devicePixelRatio<2||!nt),f="bottom"===n?"top":"bottom",d="right"===r?"left":"right",h=H("transform"),m=void 0,v=void 0;if(v="bottom"===f?"HTML"===l.nodeName?-l.clientHeight+p.bottom:-u.height+p.bottom:p.top,m="right"===d?"HTML"===l.nodeName?-l.clientWidth+p.right:-u.width+p.right:p.left,s&&h)c[h]="translate3d("+m+"px, "+v+"px, 0)",c[f]=0,c[d]=0,c.willChange="transform";else{var g="bottom"===f?-1:1,A="right"===d?-1:1;c[f]=v*g,c[d]=m*A,c.willChange=f+", "+d}var b={"x-placement":t.placement};return t.attributes=j({},b,t.attributes),t.styles=j({},c,t.styles),t.arrowStyles=j({},t.offsets.arrow,t.arrowStyles),t},gpuAcceleration:!0,x:"bottom",y:"right"},applyStyle:{order:900,enabled:!0,fn:function(t){var e,n;return et(t.instance.popper,t.styles),e=t.instance.popper,n=t.attributes,Object.keys(n).forEach((function(t){!1!==n[t]?e.setAttribute(t,n[t]):e.removeAttribute(t)})),t.arrowElement&&Object.keys(t.arrowStyles).length&&et(t.arrowElement,t.arrowStyles),t},onLoad:function(t,e,n,r,o){var i=L(o,e,t,n.positionFixed),a=D(n.placement,i,e,t,n.modifiers.flip.boundariesElement,n.modifiers.flip.padding);return e.setAttribute("x-placement",a),et(e,{position:n.positionFixed?"fixed":"absolute"}),n},gpuAcceleration:void 0}},ft={placement:"bottom",positionFixed:!1,eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:pt},dt=function(){function t(e,n){var r=this,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};k(this,t),this.scheduleUpdate=function(){return requestAnimationFrame(r.update)},this.update=u(this.update.bind(this)),this.options=j({},t.Defaults,o),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=e&&e.jquery?e[0]:e,this.popper=n&&n.jquery?n[0]:n,this.options.modifiers={},Object.keys(j({},t.Defaults.modifiers,o.modifiers)).forEach((function(e){r.options.modifiers[e]=j({},t.Defaults.modifiers[e]||{},o.modifiers?o.modifiers[e]:{})})),this.modifiers=Object.keys(this.options.modifiers).map((function(t){return j({name:t},r.options.modifiers[t])})).sort((function(t,e){return t.order-e.order})),this.modifiers.forEach((function(t){t.enabled&&c(t.onLoad)&&t.onLoad(r.reference,r.popper,r.options,t,r.state)})),this.update();var i=this.options.eventsEnabled;i&&this.enableEventListeners(),this.state.eventsEnabled=i}return E(t,[{key:"update",value:function(){return V.call(this)}},{key:"destroy",value:function(){return Y.call(this)}},{key:"enableEventListeners",value:function(){return J.call(this)}},{key:"disableEventListeners",value:function(){return Q.call(this)}}]),t}();dt.Utils=("undefined"!=typeof window?window:n.g).PopperUtils,dt.placements=ot,dt.Defaults=ft;const ht=dt;var mt,vt=n(8446),gt=n.n(vt);function yt(){yt.init||(yt.init=!0,mt=-1!==function(){var t=window.navigator.userAgent,e=t.indexOf("MSIE ");if(e>0)return parseInt(t.substring(e+5,t.indexOf(".",e)),10);if(t.indexOf("Trident/")>0){var n=t.indexOf("rv:");return parseInt(t.substring(n+3,t.indexOf(".",n)),10)}var r=t.indexOf("Edge/");return r>0?parseInt(t.substring(r+5,t.indexOf(".",r)),10):-1}())}function At(t,e,n,r,o,i,a,s,l,u){"boolean"!=typeof a&&(l=s,s=a,a=!1);var c,p="function"==typeof n?n.options:n;if(t&&t.render&&(p.render=t.render,p.staticRenderFns=t.staticRenderFns,p._compiled=!0,o&&(p.functional=!0)),r&&(p._scopeId=r),i?(c=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),e&&e.call(this,l(t)),t&&t._registeredComponents&&t._registeredComponents.add(i)},p._ssrRegister=c):e&&(c=a?function(t){e.call(this,u(t,this.$root.$options.shadowRoot))}:function(t){e.call(this,s(t))}),c)if(p.functional){var f=p.render;p.render=function(t,e){return c.call(e),f(t,e)}}else{var d=p.beforeCreate;p.beforeCreate=d?[].concat(d,c):[c]}return n}var bt={name:"ResizeObserver",props:{emitOnMount:{type:Boolean,default:!1},ignoreWidth:{type:Boolean,default:!1},ignoreHeight:{type:Boolean,default:!1}},mounted:function(){var t=this;yt(),this.$nextTick((function(){t._w=t.$el.offsetWidth,t._h=t.$el.offsetHeight,t.emitOnMount&&t.emitSize()}));var e=document.createElement("object");this._resizeObject=e,e.setAttribute("aria-hidden","true"),e.setAttribute("tabindex",-1),e.onload=this.addResizeHandlers,e.type="text/html",mt&&this.$el.appendChild(e),e.data="about:blank",mt||this.$el.appendChild(e)},beforeDestroy:function(){this.removeResizeHandlers()},methods:{compareAndNotify:function(){(!this.ignoreWidth&&this._w!==this.$el.offsetWidth||!this.ignoreHeight&&this._h!==this.$el.offsetHeight)&&(this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.emitSize())},emitSize:function(){this.$emit("notify",{width:this._w,height:this._h})},addResizeHandlers:function(){this._resizeObject.contentDocument.defaultView.addEventListener("resize",this.compareAndNotify),this.compareAndNotify()},removeResizeHandlers:function(){this._resizeObject&&this._resizeObject.onload&&(!mt&&this._resizeObject.contentDocument&&this._resizeObject.contentDocument.defaultView.removeEventListener("resize",this.compareAndNotify),this.$el.removeChild(this._resizeObject),this._resizeObject.onload=null,this._resizeObject=null)}}},Ct=function(){var t=this.$createElement;return(this._self._c||t)("div",{staticClass:"resize-observer",attrs:{tabindex:"-1"}})};Ct._withStripped=!0;var wt=At({render:Ct,staticRenderFns:[]},undefined,bt,"data-v-8859cc6c",false,undefined,!1,void 0,void 0,void 0);var xt={version:"1.0.1",install:function(t){t.component("resize-observer",wt),t.component("ResizeObserver",wt)}},_t=null;"undefined"!=typeof window?_t=window.Vue:void 0!==n.g&&(_t=n.g.Vue),_t&&_t.use(xt);var St=n(3857),kt=n.n(St),Et=n(5108),Ot=function(){};function jt(t){return"string"==typeof t&&(t=t.split(" ")),t}function Tt(t,e){var n,r=jt(e);n=t.className instanceof Ot?jt(t.className.baseVal):jt(t.className),r.forEach((function(t){-1===n.indexOf(t)&&n.push(t)})),t instanceof SVGElement?t.setAttribute("class",n.join(" ")):t.className=n.join(" ")}function Bt(t,e){var n,r=jt(e);n=t.className instanceof Ot?jt(t.className.baseVal):jt(t.className),r.forEach((function(t){var e=n.indexOf(t);-1!==e&&n.splice(e,1)})),t instanceof SVGElement?t.setAttribute("class",n.join(" ")):t.className=n.join(" ")}"undefined"!=typeof window&&(Ot=window.SVGAnimatedString);var Nt=!1;if("undefined"!=typeof window){Nt=!1;try{var Pt=Object.defineProperty({},"passive",{get:function(){Nt=!0}});window.addEventListener("test",null,Pt)}catch(t){}}function $t(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function It(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?$t(Object(n),!0).forEach((function(e){o(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):$t(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var zt={container:!1,delay:0,html:!1,placement:"top",title:"",template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",offset:0},Ft=[],Dt=function(){function t(e,n){var r=this;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),o(this,"_events",[]),o(this,"_setTooltipNodeEvent",(function(t,e,n,o){var i=t.relatedreference||t.toElement||t.relatedTarget;return!!r._tooltipNode.contains(i)&&(r._tooltipNode.addEventListener(t.type,(function n(i){var a=i.relatedreference||i.toElement||i.relatedTarget;r._tooltipNode.removeEventListener(t.type,n),e.contains(a)||r._scheduleHide(e,o.delay,o,i)})),!0)})),n=It(It({},zt),n),e.jquery&&(e=e[0]),this.show=this.show.bind(this),this.hide=this.hide.bind(this),this.reference=e,this.options=n,this._isOpen=!1,this._init()}var e,n,r;return e=t,(n=[{key:"show",value:function(){this._show(this.reference,this.options)}},{key:"hide",value:function(){this._hide()}},{key:"dispose",value:function(){this._dispose()}},{key:"toggle",value:function(){return this._isOpen?this.hide():this.show()}},{key:"setClasses",value:function(t){this._classes=t}},{key:"setContent",value:function(t){this.options.title=t,this._tooltipNode&&this._setContent(t,this.options)}},{key:"setOptions",value:function(t){var e=!1,n=t&&t.classes||Xt.options.defaultClass;gt()(this._classes,n)||(this.setClasses(n),e=!0),t=qt(t);var r=!1,o=!1;for(var i in this.options.offset===t.offset&&this.options.placement===t.placement||(r=!0),(this.options.template!==t.template||this.options.trigger!==t.trigger||this.options.container!==t.container||e)&&(o=!0),t)this.options[i]=t[i];if(this._tooltipNode)if(o){var a=this._isOpen;this.dispose(),this._init(),a&&this.show()}else r&&this.popperInstance.update()}},{key:"_init",value:function(){var t="string"==typeof this.options.trigger?this.options.trigger.split(" "):[];this._isDisposed=!1,this._enableDocumentTouch=-1===t.indexOf("manual"),t=t.filter((function(t){return-1!==["click","hover","focus"].indexOf(t)})),this._setEventListeners(this.reference,t,this.options),this.$_originalTitle=this.reference.getAttribute("title"),this.reference.removeAttribute("title"),this.reference.setAttribute("data-original-title",this.$_originalTitle)}},{key:"_create",value:function(t,e){var n=this,r=window.document.createElement("div");r.innerHTML=e.trim();var o=r.childNodes[0];return o.id=this.options.ariaId||"tooltip_".concat(Math.random().toString(36).substr(2,10)),o.setAttribute("aria-hidden","true"),this.options.autoHide&&-1!==this.options.trigger.indexOf("hover")&&(o.addEventListener("mouseenter",(function(e){return n._scheduleHide(t,n.options.delay,n.options,e)})),o.addEventListener("click",(function(e){return n._scheduleHide(t,n.options.delay,n.options,e)}))),o}},{key:"_setContent",value:function(t,e){var n=this;this.asyncContent=!1,this._applyContent(t,e).then((function(){n.popperInstance&&n.popperInstance.update()}))}},{key:"_applyContent",value:function(t,e){var n=this;return new Promise((function(r,o){var i=e.html,a=n._tooltipNode;if(a){var s=a.querySelector(n.options.innerSelector);if(1===t.nodeType){if(i){for(;s.firstChild;)s.removeChild(s.firstChild);s.appendChild(t)}}else{if("function"==typeof t){var l=t();return void(l&&"function"==typeof l.then?(n.asyncContent=!0,e.loadingClass&&Tt(a,e.loadingClass),e.loadingContent&&n._applyContent(e.loadingContent,e),l.then((function(t){return e.loadingClass&&Bt(a,e.loadingClass),n._applyContent(t,e)})).then(r).catch(o)):n._applyContent(l,e).then(r).catch(o))}i?s.innerHTML=t:s.innerText=t}r()}}))}},{key:"_show",value:function(t,e){if(!e||"string"!=typeof e.container||document.querySelector(e.container)){clearTimeout(this._disposeTimer),delete(e=Object.assign({},e)).offset;var n=!0;this._tooltipNode&&(Tt(this._tooltipNode,this._classes),n=!1);var r=this._ensureShown(t,e);return n&&this._tooltipNode&&Tt(this._tooltipNode,this._classes),Tt(t,["v-tooltip-open"]),r}}},{key:"_ensureShown",value:function(t,e){var n=this;if(this._isOpen)return this;if(this._isOpen=!0,Ft.push(this),this._tooltipNode)return this._tooltipNode.style.display="",this._tooltipNode.setAttribute("aria-hidden","false"),this.popperInstance.enableEventListeners(),this.popperInstance.update(),this.asyncContent&&this._setContent(e.title,e),this;var r=t.getAttribute("title")||e.title;if(!r)return this;var o=this._create(t,e.template);this._tooltipNode=o,t.setAttribute("aria-describedby",o.id);var i=this._findContainer(e.container,t);this._append(o,i);var a=It(It({},e.popperOptions),{},{placement:e.placement});return a.modifiers=It(It({},a.modifiers),{},{arrow:{element:this.options.arrowSelector}}),e.boundariesElement&&(a.modifiers.preventOverflow={boundariesElement:e.boundariesElement}),this.popperInstance=new ht(t,o,a),this._setContent(r,e),requestAnimationFrame((function(){!n._isDisposed&&n.popperInstance?(n.popperInstance.update(),requestAnimationFrame((function(){n._isDisposed?n.dispose():n._isOpen&&o.setAttribute("aria-hidden","false")}))):n.dispose()})),this}},{key:"_noLongerOpen",value:function(){var t=Ft.indexOf(this);-1!==t&&Ft.splice(t,1)}},{key:"_hide",value:function(){var t=this;if(!this._isOpen)return this;this._isOpen=!1,this._noLongerOpen(),this._tooltipNode.style.display="none",this._tooltipNode.setAttribute("aria-hidden","true"),this.popperInstance&&this.popperInstance.disableEventListeners(),clearTimeout(this._disposeTimer);var e=Xt.options.disposeTimeout;return null!==e&&(this._disposeTimer=setTimeout((function(){t._tooltipNode&&(t._tooltipNode.removeEventListener("mouseenter",t.hide),t._tooltipNode.removeEventListener("click",t.hide),t._removeTooltipNode())}),e)),Bt(this.reference,["v-tooltip-open"]),this}},{key:"_removeTooltipNode",value:function(){if(this._tooltipNode){var t=this._tooltipNode.parentNode;t&&(t.removeChild(this._tooltipNode),this.reference.removeAttribute("aria-describedby")),this._tooltipNode=null}}},{key:"_dispose",value:function(){var t=this;return this._isDisposed=!0,this.reference.removeAttribute("data-original-title"),this.$_originalTitle&&this.reference.setAttribute("title",this.$_originalTitle),this._events.forEach((function(e){var n=e.func,r=e.event;t.reference.removeEventListener(r,n)})),this._events=[],this._tooltipNode?(this._hide(),this._tooltipNode.removeEventListener("mouseenter",this.hide),this._tooltipNode.removeEventListener("click",this.hide),this.popperInstance.destroy(),this.popperInstance.options.removeOnDestroy||this._removeTooltipNode()):this._noLongerOpen(),this}},{key:"_findContainer",value:function(t,e){return"string"==typeof t?t=window.document.querySelector(t):!1===t&&(t=e.parentNode),t}},{key:"_append",value:function(t,e){e.appendChild(t)}},{key:"_setEventListeners",value:function(t,e,n){var r=this,o=[],i=[];e.forEach((function(t){switch(t){case"hover":o.push("mouseenter"),i.push("mouseleave"),r.options.hideOnTargetClick&&i.push("click");break;case"focus":o.push("focus"),i.push("blur"),r.options.hideOnTargetClick&&i.push("click");break;case"click":o.push("click"),i.push("click")}})),o.forEach((function(e){var o=function(e){!0!==r._isOpen&&(e.usedByTooltip=!0,r._scheduleShow(t,n.delay,n,e))};r._events.push({event:e,func:o}),t.addEventListener(e,o)})),i.forEach((function(e){var o=function(e){!0!==e.usedByTooltip&&r._scheduleHide(t,n.delay,n,e)};r._events.push({event:e,func:o}),t.addEventListener(e,o)}))}},{key:"_onDocumentTouch",value:function(t){this._enableDocumentTouch&&this._scheduleHide(this.reference,this.options.delay,this.options,t)}},{key:"_scheduleShow",value:function(t,e,n){var r=this,o=e&&e.show||e||0;clearTimeout(this._scheduleTimer),this._scheduleTimer=window.setTimeout((function(){return r._show(t,n)}),o)}},{key:"_scheduleHide",value:function(t,e,n,r){var o=this,i=e&&e.hide||e||0;clearTimeout(this._scheduleTimer),this._scheduleTimer=window.setTimeout((function(){if(!1!==o._isOpen&&o._tooltipNode.ownerDocument.body.contains(o._tooltipNode)){if("mouseleave"===r.type&&o._setTooltipNodeEvent(r,t,e,n))return;o._hide(t,n)}}),i)}}])&&i(e.prototype,n),r&&i(e,r),t}();function Lt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function Rt(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?Lt(Object(n),!0).forEach((function(e){o(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Lt(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}"undefined"!=typeof document&&document.addEventListener("touchstart",(function(t){for(var e=0;e<Ft.length;e++)Ft[e]._onDocumentTouch(t)}),!Nt||{passive:!0,capture:!0});var Mt={enabled:!0},Ut=["top","top-start","top-end","right","right-start","right-end","bottom","bottom-start","bottom-end","left","left-start","left-end"],Gt={defaultPlacement:"top",defaultClass:"vue-tooltip-theme",defaultTargetClass:"has-tooltip",defaultHtml:!0,defaultTemplate:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',defaultArrowSelector:".tooltip-arrow, .tooltip__arrow",defaultInnerSelector:".tooltip-inner, .tooltip__inner",defaultDelay:0,defaultTrigger:"hover focus",defaultOffset:0,defaultContainer:"body",defaultBoundariesElement:void 0,defaultPopperOptions:{},defaultLoadingClass:"tooltip-loading",defaultLoadingContent:"...",autoHide:!0,defaultHideOnTargetClick:!0,disposeTimeout:5e3,popover:{defaultPlacement:"bottom",defaultClass:"vue-popover-theme",defaultBaseClass:"tooltip popover",defaultWrapperClass:"wrapper",defaultInnerClass:"tooltip-inner popover-inner",defaultArrowClass:"tooltip-arrow popover-arrow",defaultOpenClass:"open",defaultDelay:0,defaultTrigger:"click",defaultOffset:0,defaultContainer:"body",defaultBoundariesElement:void 0,defaultPopperOptions:{},defaultAutoHide:!0,defaultHandleResize:!0}};function qt(t){var e={placement:void 0!==t.placement?t.placement:Xt.options.defaultPlacement,delay:void 0!==t.delay?t.delay:Xt.options.defaultDelay,html:void 0!==t.html?t.html:Xt.options.defaultHtml,template:void 0!==t.template?t.template:Xt.options.defaultTemplate,arrowSelector:void 0!==t.arrowSelector?t.arrowSelector:Xt.options.defaultArrowSelector,innerSelector:void 0!==t.innerSelector?t.innerSelector:Xt.options.defaultInnerSelector,trigger:void 0!==t.trigger?t.trigger:Xt.options.defaultTrigger,offset:void 0!==t.offset?t.offset:Xt.options.defaultOffset,container:void 0!==t.container?t.container:Xt.options.defaultContainer,boundariesElement:void 0!==t.boundariesElement?t.boundariesElement:Xt.options.defaultBoundariesElement,autoHide:void 0!==t.autoHide?t.autoHide:Xt.options.autoHide,hideOnTargetClick:void 0!==t.hideOnTargetClick?t.hideOnTargetClick:Xt.options.defaultHideOnTargetClick,loadingClass:void 0!==t.loadingClass?t.loadingClass:Xt.options.defaultLoadingClass,loadingContent:void 0!==t.loadingContent?t.loadingContent:Xt.options.defaultLoadingContent,popperOptions:Rt({},void 0!==t.popperOptions?t.popperOptions:Xt.options.defaultPopperOptions)};if(e.offset){var n=r(e.offset),o=e.offset;("number"===n||"string"===n&&-1===o.indexOf(","))&&(o="0, ".concat(o)),e.popperOptions.modifiers||(e.popperOptions.modifiers={}),e.popperOptions.modifiers.offset={offset:o}}return e.trigger&&-1!==e.trigger.indexOf("click")&&(e.hideOnTargetClick=!1),e}function Vt(t,e){for(var n=t.placement,r=0;r<Ut.length;r++){var o=Ut[r];e[o]&&(n=o)}return n}function Wt(t){var e=r(t);return"string"===e?t:!(!t||"object"!==e)&&t.content}function Ht(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=Wt(e),i=void 0!==e.classes?e.classes:Xt.options.defaultClass,a=Rt({title:o},qt(Rt(Rt({},"object"===r(e)?e:{}),{},{placement:Vt(e,n)}))),s=t._tooltip=new Dt(t,a);s.setClasses(i),s._vueEl=t;var l=void 0!==e.targetClasses?e.targetClasses:Xt.options.defaultTargetClass;return t._tooltipTargetClasses=l,Tt(t,l),s}function Yt(t){t._tooltip&&(t._tooltip.dispose(),delete t._tooltip,delete t._tooltipOldShow),t._tooltipTargetClasses&&(Bt(t,t._tooltipTargetClasses),delete t._tooltipTargetClasses)}function Kt(t,e){var n=e.value;e.oldValue;var r,o=e.modifiers,i=Wt(n);i&&Mt.enabled?(t._tooltip?((r=t._tooltip).setContent(i),r.setOptions(Rt(Rt({},n),{},{placement:Vt(n,o)}))):r=Ht(t,n,o),void 0!==n.show&&n.show!==t._tooltipOldShow&&(t._tooltipOldShow=n.show,n.show?r.show():r.hide())):Yt(t)}var Xt={options:Gt,bind:Kt,update:Kt,unbind:function(t){Yt(t)}};function Zt(t){t.addEventListener("click",Qt),t.addEventListener("touchstart",te,!!Nt&&{passive:!0})}function Jt(t){t.removeEventListener("click",Qt),t.removeEventListener("touchstart",te),t.removeEventListener("touchend",ee),t.removeEventListener("touchcancel",ne)}function Qt(t){var e=t.currentTarget;t.closePopover=!e.$_vclosepopover_touch,t.closeAllPopover=e.$_closePopoverModifiers&&!!e.$_closePopoverModifiers.all}function te(t){if(1===t.changedTouches.length){var e=t.currentTarget;e.$_vclosepopover_touch=!0;var n=t.changedTouches[0];e.$_vclosepopover_touchPoint=n,e.addEventListener("touchend",ee),e.addEventListener("touchcancel",ne)}}function ee(t){var e=t.currentTarget;if(e.$_vclosepopover_touch=!1,1===t.changedTouches.length){var n=t.changedTouches[0],r=e.$_vclosepopover_touchPoint;t.closePopover=Math.abs(n.screenY-r.screenY)<20&&Math.abs(n.screenX-r.screenX)<20,t.closeAllPopover=e.$_closePopoverModifiers&&!!e.$_closePopoverModifiers.all}}function ne(t){t.currentTarget.$_vclosepopover_touch=!1}var re={bind:function(t,e){var n=e.value,r=e.modifiers;t.$_closePopoverModifiers=r,(void 0===n||n)&&Zt(t)},update:function(t,e){var n=e.value,r=e.oldValue,o=e.modifiers;t.$_closePopoverModifiers=o,n!==r&&(void 0===n||n?Zt(t):Jt(t))},unbind:function(t){Jt(t)}};function oe(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function ie(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?oe(Object(n),!0).forEach((function(e){o(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):oe(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function ae(t){var e=Xt.options.popover[t];return void 0===e?Xt.options[t]:e}var se=!1;"undefined"!=typeof window&&"undefined"!=typeof navigator&&(se=/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream);var le=[],ue=function(){};"undefined"!=typeof window&&(ue=window.Element);var ce={name:"VPopover",components:{ResizeObserver:wt},props:{open:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},placement:{type:String,default:function(){return ae("defaultPlacement")}},delay:{type:[String,Number,Object],default:function(){return ae("defaultDelay")}},offset:{type:[String,Number],default:function(){return ae("defaultOffset")}},trigger:{type:String,default:function(){return ae("defaultTrigger")}},container:{type:[String,Object,ue,Boolean],default:function(){return ae("defaultContainer")}},boundariesElement:{type:[String,ue],default:function(){return ae("defaultBoundariesElement")}},popperOptions:{type:Object,default:function(){return ae("defaultPopperOptions")}},popoverClass:{type:[String,Array],default:function(){return ae("defaultClass")}},popoverBaseClass:{type:[String,Array],default:function(){return Xt.options.popover.defaultBaseClass}},popoverInnerClass:{type:[String,Array],default:function(){return Xt.options.popover.defaultInnerClass}},popoverWrapperClass:{type:[String,Array],default:function(){return Xt.options.popover.defaultWrapperClass}},popoverArrowClass:{type:[String,Array],default:function(){return Xt.options.popover.defaultArrowClass}},autoHide:{type:Boolean,default:function(){return Xt.options.popover.defaultAutoHide}},handleResize:{type:Boolean,default:function(){return Xt.options.popover.defaultHandleResize}},openGroup:{type:String,default:null},openClass:{type:[String,Array],default:function(){return Xt.options.popover.defaultOpenClass}},ariaId:{default:null}},data:function(){return{isOpen:!1,id:Math.random().toString(36).substr(2,10)}},computed:{cssClass:function(){return o({},this.openClass,this.isOpen)},popoverId:function(){return"popover_".concat(null!=this.ariaId?this.ariaId:this.id)}},watch:{open:function(t){t?this.show():this.hide()},disabled:function(t,e){t!==e&&(t?this.hide():this.open&&this.show())},container:function(t){if(this.isOpen&&this.popperInstance){var e=this.$refs.popover,n=this.$refs.trigger,r=this.$_findContainer(this.container,n);if(!r)return void Et.warn("No container for popover",this);r.appendChild(e),this.popperInstance.scheduleUpdate()}},trigger:function(t){this.$_removeEventListeners(),this.$_addEventListeners()},placement:function(t){var e=this;this.$_updatePopper((function(){e.popperInstance.options.placement=t}))},offset:"$_restartPopper",boundariesElement:"$_restartPopper",popperOptions:{handler:"$_restartPopper",deep:!0}},created:function(){this.$_isDisposed=!1,this.$_mounted=!1,this.$_events=[],this.$_preventOpen=!1},mounted:function(){var t=this.$refs.popover;t.parentNode&&t.parentNode.removeChild(t),this.$_init(),this.open&&this.show()},deactivated:function(){this.hide()},beforeDestroy:function(){this.dispose()},methods:{show:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.event;e.skipDelay;var r=e.force,o=void 0!==r&&r;!o&&this.disabled||(this.$_scheduleShow(n),this.$emit("show")),this.$emit("update:open",!0),this.$_beingShowed=!0,requestAnimationFrame((function(){t.$_beingShowed=!1}))},hide:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.event;t.skipDelay,this.$_scheduleHide(e),this.$emit("hide"),this.$emit("update:open",!1)},dispose:function(){if(this.$_isDisposed=!0,this.$_removeEventListeners(),this.hide({skipDelay:!0}),this.popperInstance&&(this.popperInstance.destroy(),!this.popperInstance.options.removeOnDestroy)){var t=this.$refs.popover;t.parentNode&&t.parentNode.removeChild(t)}this.$_mounted=!1,this.popperInstance=null,this.isOpen=!1,this.$emit("dispose")},$_init:function(){-1===this.trigger.indexOf("manual")&&this.$_addEventListeners()},$_show:function(){var t=this,e=this.$refs.trigger,n=this.$refs.popover;if(clearTimeout(this.$_disposeTimer),!this.isOpen){if(this.popperInstance&&(this.isOpen=!0,this.popperInstance.enableEventListeners(),this.popperInstance.scheduleUpdate()),!this.$_mounted){var r=this.$_findContainer(this.container,e);if(!r)return void Et.warn("No container for popover",this);r.appendChild(n),this.$_mounted=!0,this.isOpen=!1,this.popperInstance&&requestAnimationFrame((function(){t.hidden||(t.isOpen=!0)}))}if(!this.popperInstance){var o=ie(ie({},this.popperOptions),{},{placement:this.placement});if(o.modifiers=ie(ie({},o.modifiers),{},{arrow:ie(ie({},o.modifiers&&o.modifiers.arrow),{},{element:this.$refs.arrow})}),this.offset){var i=this.$_getOffset();o.modifiers.offset=ie(ie({},o.modifiers&&o.modifiers.offset),{},{offset:i})}this.boundariesElement&&(o.modifiers.preventOverflow=ie(ie({},o.modifiers&&o.modifiers.preventOverflow),{},{boundariesElement:this.boundariesElement})),this.popperInstance=new ht(e,n,o),requestAnimationFrame((function(){if(t.hidden)return t.hidden=!1,void t.$_hide();!t.$_isDisposed&&t.popperInstance?(t.popperInstance.scheduleUpdate(),requestAnimationFrame((function(){if(t.hidden)return t.hidden=!1,void t.$_hide();t.$_isDisposed?t.dispose():t.isOpen=!0}))):t.dispose()}))}var a=this.openGroup;if(a)for(var s,l=0;l<le.length;l++)(s=le[l]).openGroup!==a&&(s.hide(),s.$emit("close-group"));le.push(this),this.$emit("apply-show")}},$_hide:function(){var t=this;if(this.isOpen){var e=le.indexOf(this);-1!==e&&le.splice(e,1),this.isOpen=!1,this.popperInstance&&this.popperInstance.disableEventListeners(),clearTimeout(this.$_disposeTimer);var n=Xt.options.popover.disposeTimeout||Xt.options.disposeTimeout;null!==n&&(this.$_disposeTimer=setTimeout((function(){var e=t.$refs.popover;e&&(e.parentNode&&e.parentNode.removeChild(e),t.$_mounted=!1)}),n)),this.$emit("apply-hide")}},$_findContainer:function(t,e){return"string"==typeof t?t=window.document.querySelector(t):!1===t&&(t=e.parentNode),t},$_getOffset:function(){var t=r(this.offset),e=this.offset;return("number"===t||"string"===t&&-1===e.indexOf(","))&&(e="0, ".concat(e)),e},$_addEventListeners:function(){var t=this,e=this.$refs.trigger,n=[],r=[];("string"==typeof this.trigger?this.trigger.split(" ").filter((function(t){return-1!==["click","hover","focus"].indexOf(t)})):[]).forEach((function(t){switch(t){case"hover":n.push("mouseenter"),r.push("mouseleave");break;case"focus":n.push("focus"),r.push("blur");break;case"click":n.push("click"),r.push("click")}})),n.forEach((function(n){var r=function(e){t.isOpen||(e.usedByTooltip=!0,!t.$_preventOpen&&t.show({event:e}),t.hidden=!1)};t.$_events.push({event:n,func:r}),e.addEventListener(n,r)})),r.forEach((function(n){var r=function(e){e.usedByTooltip||(t.hide({event:e}),t.hidden=!0)};t.$_events.push({event:n,func:r}),e.addEventListener(n,r)}))},$_scheduleShow:function(){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(clearTimeout(this.$_scheduleTimer),t)this.$_show();else{var e=parseInt(this.delay&&this.delay.show||this.delay||0);this.$_scheduleTimer=setTimeout(this.$_show.bind(this),e)}},$_scheduleHide:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(clearTimeout(this.$_scheduleTimer),n)this.$_hide();else{var r=parseInt(this.delay&&this.delay.hide||this.delay||0);this.$_scheduleTimer=setTimeout((function(){if(t.isOpen){if(e&&"mouseleave"===e.type)if(t.$_setTooltipNodeEvent(e))return;t.$_hide()}}),r)}},$_setTooltipNodeEvent:function(t){var e=this,n=this.$refs.trigger,r=this.$refs.popover,o=t.relatedreference||t.toElement||t.relatedTarget;return!!r.contains(o)&&(r.addEventListener(t.type,(function o(i){var a=i.relatedreference||i.toElement||i.relatedTarget;r.removeEventListener(t.type,o),n.contains(a)||e.hide({event:i})})),!0)},$_removeEventListeners:function(){var t=this.$refs.trigger;this.$_events.forEach((function(e){var n=e.func,r=e.event;t.removeEventListener(r,n)})),this.$_events=[]},$_updatePopper:function(t){this.popperInstance&&(t(),this.isOpen&&this.popperInstance.scheduleUpdate())},$_restartPopper:function(){if(this.popperInstance){var t=this.isOpen;this.dispose(),this.$_isDisposed=!1,this.$_init(),t&&this.show({skipDelay:!0,force:!0})}},$_handleGlobalClose:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.$_beingShowed||(this.hide({event:t}),t.closePopover?this.$emit("close-directive"):this.$emit("auto-hide"),n&&(this.$_preventOpen=!0,setTimeout((function(){e.$_preventOpen=!1}),300)))},$_handleResize:function(){this.isOpen&&this.popperInstance&&(this.popperInstance.scheduleUpdate(),this.$emit("resize"))}}};function pe(t){for(var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=function(n){var r=le[n];if(r.$refs.popover){var o=r.$refs.popover.contains(t.target);requestAnimationFrame((function(){(t.closeAllPopover||t.closePopover&&o||r.autoHide&&!o)&&r.$_handleGlobalClose(t,e)}))}},r=0;r<le.length;r++)n(r)}function fe(t,e,n,r,o,i,a,s,l,u){"boolean"!=typeof a&&(l=s,s=a,a=!1);const c="function"==typeof n?n.options:n;let p;if(t&&t.render&&(c.render=t.render,c.staticRenderFns=t.staticRenderFns,c._compiled=!0,o&&(c.functional=!0)),r&&(c._scopeId=r),i?(p=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),e&&e.call(this,l(t)),t&&t._registeredComponents&&t._registeredComponents.add(i)},c._ssrRegister=p):e&&(p=a?function(t){e.call(this,u(t,this.$root.$options.shadowRoot))}:function(t){e.call(this,s(t))}),p)if(c.functional){const t=c.render;c.render=function(e,n){return p.call(n),t(e,n)}}else{const t=c.beforeCreate;c.beforeCreate=t?[].concat(t,p):[p]}return n}"undefined"!=typeof document&&"undefined"!=typeof window&&(se?document.addEventListener("touchend",(function(t){pe(t,!0)}),!Nt||{passive:!0,capture:!0}):window.addEventListener("click",(function(t){pe(t)}),!0));var de=ce,he=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"v-popover",class:t.cssClass},[n("div",{ref:"trigger",staticClass:"trigger",staticStyle:{display:"inline-block"},attrs:{"aria-describedby":t.isOpen?t.popoverId:void 0,tabindex:-1!==t.trigger.indexOf("focus")?0:void 0}},[t._t("default")],2),t._v(" "),n("div",{ref:"popover",class:[t.popoverBaseClass,t.popoverClass,t.cssClass],style:{visibility:t.isOpen?"visible":"hidden"},attrs:{id:t.popoverId,"aria-hidden":t.isOpen?"false":"true",tabindex:t.autoHide?0:void 0},on:{keyup:function(e){if(!e.type.indexOf("key")&&t._k(e.keyCode,"esc",27,e.key,["Esc","Escape"]))return null;t.autoHide&&t.hide()}}},[n("div",{class:t.popoverWrapperClass},[n("div",{ref:"inner",class:t.popoverInnerClass,staticStyle:{position:"relative"}},[n("div",[t._t("popover",null,{isOpen:t.isOpen})],2),t._v(" "),t.handleResize?n("ResizeObserver",{on:{notify:t.$_handleResize}}):t._e()],1),t._v(" "),n("div",{ref:"arrow",class:t.popoverArrowClass})])])])};he._withStripped=!0;var me=fe({render:he,staticRenderFns:[]},undefined,de,undefined,false,undefined,!1,void 0,void 0,void 0);function ve(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!ve.installed){ve.installed=!0;var n={};kt()(n,Gt,e),be.options=n,Xt.options=n,t.directive("tooltip",Xt),t.directive("close-popover",re),t.component("VPopover",me)}}!function(t,e){void 0===e&&(e={});var n=e.insertAt;if(t&&"undefined"!=typeof document){var r=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===n&&r.firstChild?r.insertBefore(o,r.firstChild):r.appendChild(o),o.styleSheet?o.styleSheet.cssText=t:o.appendChild(document.createTextNode(t))}}(".resize-observer[data-v-8859cc6c]{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:transparent;pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer[data-v-8859cc6c] object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}");var ge=Xt,ye=re,Ae=me,be={install:ve,get enabled(){return Mt.enabled},set enabled(t){Mt.enabled=t}},Ce=null;"undefined"!=typeof window?Ce=window.Vue:void 0!==n.g&&(Ce=n.g.Vue),Ce&&Ce.use(be);const we=be},1889:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>o});const r={name:"ChevronLeftIcon",props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};const o=(0,n(1900).Z)(r,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("span",t._b({staticClass:"material-design-icon chevron-left-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[n("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[n("path",{attrs:{d:"M15.41,16.58L10.83,12L15.41,7.41L14,6L8,12L14,18L15.41,16.58Z"}},[t.title?n("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports},1567:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>o});const r={name:"ChevronRightIcon",props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};const o=(0,n(1900).Z)(r,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("span",t._b({staticClass:"material-design-icon chevron-right-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[n("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[n("path",{attrs:{d:"M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z"}},[t.title?n("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports},8039:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>o});const r={name:"CloseIcon",props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};const o=(0,n(1900).Z)(r,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("span",t._b({staticClass:"material-design-icon close-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[n("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[n("path",{attrs:{d:"M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z"}},[t.title?n("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports},9578:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>o});const r={name:"DotsHorizontalIcon",props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};const o=(0,n(1900).Z)(r,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("span",t._b({staticClass:"material-design-icon dots-horizontal-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[n("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[n("path",{attrs:{d:"M16,12A2,2 0 0,1 18,10A2,2 0 0,1 20,12A2,2 0 0,1 18,14A2,2 0 0,1 16,12M10,12A2,2 0 0,1 12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12M4,12A2,2 0 0,1 6,10A2,2 0 0,1 8,12A2,2 0 0,1 6,14A2,2 0 0,1 4,12Z"}},[t.title?n("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports},3817:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>o});const r={name:"PauseIcon",props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};const o=(0,n(1900).Z)(r,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("span",t._b({staticClass:"material-design-icon pause-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[n("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[n("path",{attrs:{d:"M14,19H18V5H14M6,19H10V5H6V19Z"}},[t.title?n("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports},1170:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>o});const r={name:"PlayIcon",props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}};const o=(0,n(1900).Z)(r,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("span",t._b({staticClass:"material-design-icon play-icon",attrs:{"aria-hidden":!t.title,"aria-label":t.title,role:"img"},on:{click:function(e){return t.$emit("click",e)}}},"span",t.$attrs,!1),[n("svg",{staticClass:"material-design-icon__svg",attrs:{fill:t.fillColor,width:t.size,height:t.size,viewBox:"0 0 24 24"}},[n("path",{attrs:{d:"M8,5.14V19.14L19,12.14L8,5.14Z"}},[t.title?n("title",[t._v(t._s(t.title))]):t._e()])])])}),[],!1,null,null,null).exports},1900:(t,e,n)=>{"use strict";function r(t,e,n,r,o,i,a,s){var l,u="function"==typeof t?t.options:t;if(e&&(u.render=e,u.staticRenderFns=n,u._compiled=!0),r&&(u.functional=!0),i&&(u._scopeId="data-v-"+i),a?(l=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),o&&o.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(a)},u._ssrRegister=l):o&&(l=s?function(){o.call(this,(u.functional?this.parent:this).$root.$options.shadowRoot)}:o),l)if(u.functional){u._injectStyles=l;var c=u.render;u.render=function(t,e){return l.call(e),c(t,e)}}else{var p=u.beforeCreate;u.beforeCreate=p?[].concat(p,l):[l]}return{exports:t,options:u}}n.d(e,{Z:()=>r})},144:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>qo});var r=n(5108),o=Object.freeze({});function i(t){return null==t}function a(t){return null!=t}function s(t){return!0===t}function l(t){return"string"==typeof t||"number"==typeof t||"symbol"==typeof t||"boolean"==typeof t}function u(t){return null!==t&&"object"==typeof t}var c=Object.prototype.toString;function p(t){return"[object Object]"===c.call(t)}function f(t){return"[object RegExp]"===c.call(t)}function d(t){var e=parseFloat(String(t));return e>=0&&Math.floor(e)===e&&isFinite(t)}function h(t){return a(t)&&"function"==typeof t.then&&"function"==typeof t.catch}function m(t){return null==t?"":Array.isArray(t)||p(t)&&t.toString===c?JSON.stringify(t,null,2):String(t)}function v(t){var e=parseFloat(t);return isNaN(e)?t:e}function g(t,e){for(var n=Object.create(null),r=t.split(","),o=0;o<r.length;o++)n[r[o]]=!0;return e?function(t){return n[t.toLowerCase()]}:function(t){return n[t]}}g("slot,component",!0);var y=g("key,ref,slot,slot-scope,is");function A(t,e){if(t.length){var n=t.indexOf(e);if(n>-1)return t.splice(n,1)}}var b=Object.prototype.hasOwnProperty;function C(t,e){return b.call(t,e)}function w(t){var e=Object.create(null);return function(n){return e[n]||(e[n]=t(n))}}var x=/-(\w)/g,_=w((function(t){return t.replace(x,(function(t,e){return e?e.toUpperCase():""}))})),S=w((function(t){return t.charAt(0).toUpperCase()+t.slice(1)})),k=/\B([A-Z])/g,E=w((function(t){return t.replace(k,"-$1").toLowerCase()}));var O=Function.prototype.bind?function(t,e){return t.bind(e)}:function(t,e){function n(n){var r=arguments.length;return r?r>1?t.apply(e,arguments):t.call(e,n):t.call(e)}return n._length=t.length,n};function j(t,e){e=e||0;for(var n=t.length-e,r=new Array(n);n--;)r[n]=t[n+e];return r}function T(t,e){for(var n in e)t[n]=e[n];return t}function B(t){for(var e={},n=0;n<t.length;n++)t[n]&&T(e,t[n]);return e}function N(t,e,n){}var P=function(t,e,n){return!1},$=function(t){return t};function I(t,e){if(t===e)return!0;var n=u(t),r=u(e);if(!n||!r)return!n&&!r&&String(t)===String(e);try{var o=Array.isArray(t),i=Array.isArray(e);if(o&&i)return t.length===e.length&&t.every((function(t,n){return I(t,e[n])}));if(t instanceof Date&&e instanceof Date)return t.getTime()===e.getTime();if(o||i)return!1;var a=Object.keys(t),s=Object.keys(e);return a.length===s.length&&a.every((function(n){return I(t[n],e[n])}))}catch(t){return!1}}function z(t,e){for(var n=0;n<t.length;n++)if(I(t[n],e))return n;return-1}function F(t){var e=!1;return function(){e||(e=!0,t.apply(this,arguments))}}var D="data-server-rendered",L=["component","directive","filter"],R=["beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeDestroy","destroyed","activated","deactivated","errorCaptured","serverPrefetch"],M={optionMergeStrategies:Object.create(null),silent:!1,productionTip:!1,devtools:!1,performance:!1,errorHandler:null,warnHandler:null,ignoredElements:[],keyCodes:Object.create(null),isReservedTag:P,isReservedAttr:P,isUnknownElement:P,getTagNamespace:N,parsePlatformTagName:$,mustUseProp:P,async:!0,_lifecycleHooks:R},U=/a-zA-Z\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u037D\u037F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD/;function G(t){var e=(t+"").charCodeAt(0);return 36===e||95===e}function q(t,e,n,r){Object.defineProperty(t,e,{value:n,enumerable:!!r,writable:!0,configurable:!0})}var V=new RegExp("[^"+U.source+".$_\\d]");var W,H="__proto__"in{},Y="undefined"!=typeof window,K="undefined"!=typeof WXEnvironment&&!!WXEnvironment.platform,X=K&&WXEnvironment.platform.toLowerCase(),Z=Y&&window.navigator.userAgent.toLowerCase(),J=Z&&/msie|trident/.test(Z),Q=Z&&Z.indexOf("msie 9.0")>0,tt=Z&&Z.indexOf("edge/")>0,et=(Z&&Z.indexOf("android"),Z&&/iphone|ipad|ipod|ios/.test(Z)||"ios"===X),nt=(Z&&/chrome\/\d+/.test(Z),Z&&/phantomjs/.test(Z),Z&&Z.match(/firefox\/(\d+)/)),rt={}.watch,ot=!1;if(Y)try{var it={};Object.defineProperty(it,"passive",{get:function(){ot=!0}}),window.addEventListener("test-passive",null,it)}catch(t){}var at=function(){return void 0===W&&(W=!Y&&!K&&void 0!==n.g&&(n.g.process&&"server"===n.g.process.env.VUE_ENV)),W},st=Y&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function lt(t){return"function"==typeof t&&/native code/.test(t.toString())}var ut,ct="undefined"!=typeof Symbol&&lt(Symbol)&&"undefined"!=typeof Reflect&&lt(Reflect.ownKeys);ut="undefined"!=typeof Set&&lt(Set)?Set:function(){function t(){this.set=Object.create(null)}return t.prototype.has=function(t){return!0===this.set[t]},t.prototype.add=function(t){this.set[t]=!0},t.prototype.clear=function(){this.set=Object.create(null)},t}();var pt=N,ft=0,dt=function(){this.id=ft++,this.subs=[]};dt.prototype.addSub=function(t){this.subs.push(t)},dt.prototype.removeSub=function(t){A(this.subs,t)},dt.prototype.depend=function(){dt.target&&dt.target.addDep(this)},dt.prototype.notify=function(){var t=this.subs.slice();for(var e=0,n=t.length;e<n;e++)t[e].update()},dt.target=null;var ht=[];function mt(t){ht.push(t),dt.target=t}function vt(){ht.pop(),dt.target=ht[ht.length-1]}var gt=function(t,e,n,r,o,i,a,s){this.tag=t,this.data=e,this.children=n,this.text=r,this.elm=o,this.ns=void 0,this.context=i,this.fnContext=void 0,this.fnOptions=void 0,this.fnScopeId=void 0,this.key=e&&e.key,this.componentOptions=a,this.componentInstance=void 0,this.parent=void 0,this.raw=!1,this.isStatic=!1,this.isRootInsert=!0,this.isComment=!1,this.isCloned=!1,this.isOnce=!1,this.asyncFactory=s,this.asyncMeta=void 0,this.isAsyncPlaceholder=!1},yt={child:{configurable:!0}};yt.child.get=function(){return this.componentInstance},Object.defineProperties(gt.prototype,yt);var At=function(t){void 0===t&&(t="");var e=new gt;return e.text=t,e.isComment=!0,e};function bt(t){return new gt(void 0,void 0,void 0,String(t))}function Ct(t){var e=new gt(t.tag,t.data,t.children&&t.children.slice(),t.text,t.elm,t.context,t.componentOptions,t.asyncFactory);return e.ns=t.ns,e.isStatic=t.isStatic,e.key=t.key,e.isComment=t.isComment,e.fnContext=t.fnContext,e.fnOptions=t.fnOptions,e.fnScopeId=t.fnScopeId,e.asyncMeta=t.asyncMeta,e.isCloned=!0,e}var wt=Array.prototype,xt=Object.create(wt);["push","pop","shift","unshift","splice","sort","reverse"].forEach((function(t){var e=wt[t];q(xt,t,(function(){for(var n=[],r=arguments.length;r--;)n[r]=arguments[r];var o,i=e.apply(this,n),a=this.__ob__;switch(t){case"push":case"unshift":o=n;break;case"splice":o=n.slice(2)}return o&&a.observeArray(o),a.dep.notify(),i}))}));var _t=Object.getOwnPropertyNames(xt),St=!0;function kt(t){St=t}var Et=function(t){this.value=t,this.dep=new dt,this.vmCount=0,q(t,"__ob__",this),Array.isArray(t)?(H?function(t,e){t.__proto__=e}(t,xt):function(t,e,n){for(var r=0,o=n.length;r<o;r++){var i=n[r];q(t,i,e[i])}}(t,xt,_t),this.observeArray(t)):this.walk(t)};function Ot(t,e){var n;if(u(t)&&!(t instanceof gt))return C(t,"__ob__")&&t.__ob__ instanceof Et?n=t.__ob__:St&&!at()&&(Array.isArray(t)||p(t))&&Object.isExtensible(t)&&!t._isVue&&(n=new Et(t)),e&&n&&n.vmCount++,n}function jt(t,e,n,r,o){var i=new dt,a=Object.getOwnPropertyDescriptor(t,e);if(!a||!1!==a.configurable){var s=a&&a.get,l=a&&a.set;s&&!l||2!==arguments.length||(n=t[e]);var u=!o&&Ot(n);Object.defineProperty(t,e,{enumerable:!0,configurable:!0,get:function(){var e=s?s.call(t):n;return dt.target&&(i.depend(),u&&(u.dep.depend(),Array.isArray(e)&&Nt(e))),e},set:function(e){var r=s?s.call(t):n;e===r||e!=e&&r!=r||s&&!l||(l?l.call(t,e):n=e,u=!o&&Ot(e),i.notify())}})}}function Tt(t,e,n){if(Array.isArray(t)&&d(e))return t.length=Math.max(t.length,e),t.splice(e,1,n),n;if(e in t&&!(e in Object.prototype))return t[e]=n,n;var r=t.__ob__;return t._isVue||r&&r.vmCount?n:r?(jt(r.value,e,n),r.dep.notify(),n):(t[e]=n,n)}function Bt(t,e){if(Array.isArray(t)&&d(e))t.splice(e,1);else{var n=t.__ob__;t._isVue||n&&n.vmCount||C(t,e)&&(delete t[e],n&&n.dep.notify())}}function Nt(t){for(var e=void 0,n=0,r=t.length;n<r;n++)(e=t[n])&&e.__ob__&&e.__ob__.dep.depend(),Array.isArray(e)&&Nt(e)}Et.prototype.walk=function(t){for(var e=Object.keys(t),n=0;n<e.length;n++)jt(t,e[n])},Et.prototype.observeArray=function(t){for(var e=0,n=t.length;e<n;e++)Ot(t[e])};var Pt=M.optionMergeStrategies;function $t(t,e){if(!e)return t;for(var n,r,o,i=ct?Reflect.ownKeys(e):Object.keys(e),a=0;a<i.length;a++)"__ob__"!==(n=i[a])&&(r=t[n],o=e[n],C(t,n)?r!==o&&p(r)&&p(o)&&$t(r,o):Tt(t,n,o));return t}function It(t,e,n){return n?function(){var r="function"==typeof e?e.call(n,n):e,o="function"==typeof t?t.call(n,n):t;return r?$t(r,o):o}:e?t?function(){return $t("function"==typeof e?e.call(this,this):e,"function"==typeof t?t.call(this,this):t)}:e:t}function zt(t,e){var n=e?t?t.concat(e):Array.isArray(e)?e:[e]:t;return n?function(t){for(var e=[],n=0;n<t.length;n++)-1===e.indexOf(t[n])&&e.push(t[n]);return e}(n):n}function Ft(t,e,n,r){var o=Object.create(t||null);return e?T(o,e):o}Pt.data=function(t,e,n){return n?It(t,e,n):e&&"function"!=typeof e?t:It(t,e)},R.forEach((function(t){Pt[t]=zt})),L.forEach((function(t){Pt[t+"s"]=Ft})),Pt.watch=function(t,e,n,r){if(t===rt&&(t=void 0),e===rt&&(e=void 0),!e)return Object.create(t||null);if(!t)return e;var o={};for(var i in T(o,t),e){var a=o[i],s=e[i];a&&!Array.isArray(a)&&(a=[a]),o[i]=a?a.concat(s):Array.isArray(s)?s:[s]}return o},Pt.props=Pt.methods=Pt.inject=Pt.computed=function(t,e,n,r){if(!t)return e;var o=Object.create(null);return T(o,t),e&&T(o,e),o},Pt.provide=It;var Dt=function(t,e){return void 0===e?t:e};function Lt(t,e,n){if("function"==typeof e&&(e=e.options),function(t,e){var n=t.props;if(n){var r,o,i={};if(Array.isArray(n))for(r=n.length;r--;)"string"==typeof(o=n[r])&&(i[_(o)]={type:null});else if(p(n))for(var a in n)o=n[a],i[_(a)]=p(o)?o:{type:o};t.props=i}}(e),function(t,e){var n=t.inject;if(n){var r=t.inject={};if(Array.isArray(n))for(var o=0;o<n.length;o++)r[n[o]]={from:n[o]};else if(p(n))for(var i in n){var a=n[i];r[i]=p(a)?T({from:i},a):{from:a}}}}(e),function(t){var e=t.directives;if(e)for(var n in e){var r=e[n];"function"==typeof r&&(e[n]={bind:r,update:r})}}(e),!e._base&&(e.extends&&(t=Lt(t,e.extends,n)),e.mixins))for(var r=0,o=e.mixins.length;r<o;r++)t=Lt(t,e.mixins[r],n);var i,a={};for(i in t)s(i);for(i in e)C(t,i)||s(i);function s(r){var o=Pt[r]||Dt;a[r]=o(t[r],e[r],n,r)}return a}function Rt(t,e,n,r){if("string"==typeof n){var o=t[e];if(C(o,n))return o[n];var i=_(n);if(C(o,i))return o[i];var a=S(i);return C(o,a)?o[a]:o[n]||o[i]||o[a]}}function Mt(t,e,n,r){var o=e[t],i=!C(n,t),a=n[t],s=Vt(Boolean,o.type);if(s>-1)if(i&&!C(o,"default"))a=!1;else if(""===a||a===E(t)){var l=Vt(String,o.type);(l<0||s<l)&&(a=!0)}if(void 0===a){a=function(t,e,n){if(!C(e,"default"))return;var r=e.default;0;if(t&&t.$options.propsData&&void 0===t.$options.propsData[n]&&void 0!==t._props[n])return t._props[n];return"function"==typeof r&&"Function"!==Gt(e.type)?r.call(t):r}(r,o,t);var u=St;kt(!0),Ot(a),kt(u)}return a}var Ut=/^\s*function (\w+)/;function Gt(t){var e=t&&t.toString().match(Ut);return e?e[1]:""}function qt(t,e){return Gt(t)===Gt(e)}function Vt(t,e){if(!Array.isArray(e))return qt(e,t)?0:-1;for(var n=0,r=e.length;n<r;n++)if(qt(e[n],t))return n;return-1}function Wt(t,e,n){mt();try{if(e)for(var r=e;r=r.$parent;){var o=r.$options.errorCaptured;if(o)for(var i=0;i<o.length;i++)try{if(!1===o[i].call(r,t,e,n))return}catch(t){Yt(t,r,"errorCaptured hook")}}Yt(t,e,n)}finally{vt()}}function Ht(t,e,n,r,o){var i;try{(i=n?t.apply(e,n):t.call(e))&&!i._isVue&&h(i)&&!i._handled&&(i.catch((function(t){return Wt(t,r,o+" (Promise/async)")})),i._handled=!0)}catch(t){Wt(t,r,o)}return i}function Yt(t,e,n){if(M.errorHandler)try{return M.errorHandler.call(null,t,e,n)}catch(e){e!==t&&Kt(e,null,"config.errorHandler")}Kt(t,e,n)}function Kt(t,e,n){if(!Y&&!K||void 0===r)throw t;r.error(t)}var Xt,Zt=!1,Jt=[],Qt=!1;function te(){Qt=!1;var t=Jt.slice(0);Jt.length=0;for(var e=0;e<t.length;e++)t[e]()}if("undefined"!=typeof Promise&&lt(Promise)){var ee=Promise.resolve();Xt=function(){ee.then(te),et&&setTimeout(N)},Zt=!0}else if(J||"undefined"==typeof MutationObserver||!lt(MutationObserver)&&"[object MutationObserverConstructor]"!==MutationObserver.toString())Xt="undefined"!=typeof setImmediate&&lt(setImmediate)?function(){setImmediate(te)}:function(){setTimeout(te,0)};else{var ne=1,re=new MutationObserver(te),oe=document.createTextNode(String(ne));re.observe(oe,{characterData:!0}),Xt=function(){ne=(ne+1)%2,oe.data=String(ne)},Zt=!0}function ie(t,e){var n;if(Jt.push((function(){if(t)try{t.call(e)}catch(t){Wt(t,e,"nextTick")}else n&&n(e)})),Qt||(Qt=!0,Xt()),!t&&"undefined"!=typeof Promise)return new Promise((function(t){n=t}))}var ae=new ut;function se(t){le(t,ae),ae.clear()}function le(t,e){var n,r,o=Array.isArray(t);if(!(!o&&!u(t)||Object.isFrozen(t)||t instanceof gt)){if(t.__ob__){var i=t.__ob__.dep.id;if(e.has(i))return;e.add(i)}if(o)for(n=t.length;n--;)le(t[n],e);else for(n=(r=Object.keys(t)).length;n--;)le(t[r[n]],e)}}var ue=w((function(t){var e="&"===t.charAt(0),n="~"===(t=e?t.slice(1):t).charAt(0),r="!"===(t=n?t.slice(1):t).charAt(0);return{name:t=r?t.slice(1):t,once:n,capture:r,passive:e}}));function ce(t,e){function n(){var t=arguments,r=n.fns;if(!Array.isArray(r))return Ht(r,null,arguments,e,"v-on handler");for(var o=r.slice(),i=0;i<o.length;i++)Ht(o[i],null,t,e,"v-on handler")}return n.fns=t,n}function pe(t,e,n,r,o,a){var l,u,c,p;for(l in t)u=t[l],c=e[l],p=ue(l),i(u)||(i(c)?(i(u.fns)&&(u=t[l]=ce(u,a)),s(p.once)&&(u=t[l]=o(p.name,u,p.capture)),n(p.name,u,p.capture,p.passive,p.params)):u!==c&&(c.fns=u,t[l]=c));for(l in e)i(t[l])&&r((p=ue(l)).name,e[l],p.capture)}function fe(t,e,n){var r;t instanceof gt&&(t=t.data.hook||(t.data.hook={}));var o=t[e];function l(){n.apply(this,arguments),A(r.fns,l)}i(o)?r=ce([l]):a(o.fns)&&s(o.merged)?(r=o).fns.push(l):r=ce([o,l]),r.merged=!0,t[e]=r}function de(t,e,n,r,o){if(a(e)){if(C(e,n))return t[n]=e[n],o||delete e[n],!0;if(C(e,r))return t[n]=e[r],o||delete e[r],!0}return!1}function he(t){return l(t)?[bt(t)]:Array.isArray(t)?ve(t):void 0}function me(t){return a(t)&&a(t.text)&&!1===t.isComment}function ve(t,e){var n,r,o,u,c=[];for(n=0;n<t.length;n++)i(r=t[n])||"boolean"==typeof r||(u=c[o=c.length-1],Array.isArray(r)?r.length>0&&(me((r=ve(r,(e||"")+"_"+n))[0])&&me(u)&&(c[o]=bt(u.text+r[0].text),r.shift()),c.push.apply(c,r)):l(r)?me(u)?c[o]=bt(u.text+r):""!==r&&c.push(bt(r)):me(r)&&me(u)?c[o]=bt(u.text+r.text):(s(t._isVList)&&a(r.tag)&&i(r.key)&&a(e)&&(r.key="__vlist"+e+"_"+n+"__"),c.push(r)));return c}function ge(t,e){if(t){for(var n=Object.create(null),r=ct?Reflect.ownKeys(t):Object.keys(t),o=0;o<r.length;o++){var i=r[o];if("__ob__"!==i){for(var a=t[i].from,s=e;s;){if(s._provided&&C(s._provided,a)){n[i]=s._provided[a];break}s=s.$parent}if(!s)if("default"in t[i]){var l=t[i].default;n[i]="function"==typeof l?l.call(e):l}else 0}}return n}}function ye(t,e){if(!t||!t.length)return{};for(var n={},r=0,o=t.length;r<o;r++){var i=t[r],a=i.data;if(a&&a.attrs&&a.attrs.slot&&delete a.attrs.slot,i.context!==e&&i.fnContext!==e||!a||null==a.slot)(n.default||(n.default=[])).push(i);else{var s=a.slot,l=n[s]||(n[s]=[]);"template"===i.tag?l.push.apply(l,i.children||[]):l.push(i)}}for(var u in n)n[u].every(Ae)&&delete n[u];return n}function Ae(t){return t.isComment&&!t.asyncFactory||" "===t.text}function be(t){return t.isComment&&t.asyncFactory}function Ce(t,e,n){var r,i=Object.keys(e).length>0,a=t?!!t.$stable:!i,s=t&&t.$key;if(t){if(t._normalized)return t._normalized;if(a&&n&&n!==o&&s===n.$key&&!i&&!n.$hasNormal)return n;for(var l in r={},t)t[l]&&"$"!==l[0]&&(r[l]=we(e,l,t[l]))}else r={};for(var u in e)u in r||(r[u]=xe(e,u));return t&&Object.isExtensible(t)&&(t._normalized=r),q(r,"$stable",a),q(r,"$key",s),q(r,"$hasNormal",i),r}function we(t,e,n){var r=function(){var t=arguments.length?n.apply(null,arguments):n({}),e=(t=t&&"object"==typeof t&&!Array.isArray(t)?[t]:he(t))&&t[0];return t&&(!e||1===t.length&&e.isComment&&!be(e))?void 0:t};return n.proxy&&Object.defineProperty(t,e,{get:r,enumerable:!0,configurable:!0}),r}function xe(t,e){return function(){return t[e]}}function _e(t,e){var n,r,o,i,s;if(Array.isArray(t)||"string"==typeof t)for(n=new Array(t.length),r=0,o=t.length;r<o;r++)n[r]=e(t[r],r);else if("number"==typeof t)for(n=new Array(t),r=0;r<t;r++)n[r]=e(r+1,r);else if(u(t))if(ct&&t[Symbol.iterator]){n=[];for(var l=t[Symbol.iterator](),c=l.next();!c.done;)n.push(e(c.value,n.length)),c=l.next()}else for(i=Object.keys(t),n=new Array(i.length),r=0,o=i.length;r<o;r++)s=i[r],n[r]=e(t[s],s,r);return a(n)||(n=[]),n._isVList=!0,n}function Se(t,e,n,r){var o,i=this.$scopedSlots[t];i?(n=n||{},r&&(n=T(T({},r),n)),o=i(n)||("function"==typeof e?e():e)):o=this.$slots[t]||("function"==typeof e?e():e);var a=n&&n.slot;return a?this.$createElement("template",{slot:a},o):o}function ke(t){return Rt(this.$options,"filters",t)||$}function Ee(t,e){return Array.isArray(t)?-1===t.indexOf(e):t!==e}function Oe(t,e,n,r,o){var i=M.keyCodes[e]||n;return o&&r&&!M.keyCodes[e]?Ee(o,r):i?Ee(i,t):r?E(r)!==e:void 0===t}function je(t,e,n,r,o){if(n)if(u(n)){var i;Array.isArray(n)&&(n=B(n));var a=function(a){if("class"===a||"style"===a||y(a))i=t;else{var s=t.attrs&&t.attrs.type;i=r||M.mustUseProp(e,s,a)?t.domProps||(t.domProps={}):t.attrs||(t.attrs={})}var l=_(a),u=E(a);l in i||u in i||(i[a]=n[a],o&&((t.on||(t.on={}))["update:"+a]=function(t){n[a]=t}))};for(var s in n)a(s)}else;return t}function Te(t,e){var n=this._staticTrees||(this._staticTrees=[]),r=n[t];return r&&!e||Ne(r=n[t]=this.$options.staticRenderFns[t].call(this._renderProxy,null,this),"__static__"+t,!1),r}function Be(t,e,n){return Ne(t,"__once__"+e+(n?"_"+n:""),!0),t}function Ne(t,e,n){if(Array.isArray(t))for(var r=0;r<t.length;r++)t[r]&&"string"!=typeof t[r]&&Pe(t[r],e+"_"+r,n);else Pe(t,e,n)}function Pe(t,e,n){t.isStatic=!0,t.key=e,t.isOnce=n}function $e(t,e){if(e)if(p(e)){var n=t.on=t.on?T({},t.on):{};for(var r in e){var o=n[r],i=e[r];n[r]=o?[].concat(o,i):i}}else;return t}function Ie(t,e,n,r){e=e||{$stable:!n};for(var o=0;o<t.length;o++){var i=t[o];Array.isArray(i)?Ie(i,e,n):i&&(i.proxy&&(i.fn.proxy=!0),e[i.key]=i.fn)}return r&&(e.$key=r),e}function ze(t,e){for(var n=0;n<e.length;n+=2){var r=e[n];"string"==typeof r&&r&&(t[e[n]]=e[n+1])}return t}function Fe(t,e){return"string"==typeof t?e+t:t}function De(t){t._o=Be,t._n=v,t._s=m,t._l=_e,t._t=Se,t._q=I,t._i=z,t._m=Te,t._f=ke,t._k=Oe,t._b=je,t._v=bt,t._e=At,t._u=Ie,t._g=$e,t._d=ze,t._p=Fe}function Le(t,e,n,r,i){var a,l=this,u=i.options;C(r,"_uid")?(a=Object.create(r))._original=r:(a=r,r=r._original);var c=s(u._compiled),p=!c;this.data=t,this.props=e,this.children=n,this.parent=r,this.listeners=t.on||o,this.injections=ge(u.inject,r),this.slots=function(){return l.$slots||Ce(t.scopedSlots,l.$slots=ye(n,r)),l.$slots},Object.defineProperty(this,"scopedSlots",{enumerable:!0,get:function(){return Ce(t.scopedSlots,this.slots())}}),c&&(this.$options=u,this.$slots=this.slots(),this.$scopedSlots=Ce(t.scopedSlots,this.$slots)),u._scopeId?this._c=function(t,e,n,o){var i=We(a,t,e,n,o,p);return i&&!Array.isArray(i)&&(i.fnScopeId=u._scopeId,i.fnContext=r),i}:this._c=function(t,e,n,r){return We(a,t,e,n,r,p)}}function Re(t,e,n,r,o){var i=Ct(t);return i.fnContext=n,i.fnOptions=r,e.slot&&((i.data||(i.data={})).slot=e.slot),i}function Me(t,e){for(var n in e)t[_(n)]=e[n]}De(Le.prototype);var Ue={init:function(t,e){if(t.componentInstance&&!t.componentInstance._isDestroyed&&t.data.keepAlive){var n=t;Ue.prepatch(n,n)}else{(t.componentInstance=function(t,e){var n={_isComponent:!0,_parentVnode:t,parent:e},r=t.data.inlineTemplate;a(r)&&(n.render=r.render,n.staticRenderFns=r.staticRenderFns);return new t.componentOptions.Ctor(n)}(t,nn)).$mount(e?t.elm:void 0,e)}},prepatch:function(t,e){var n=e.componentOptions;!function(t,e,n,r,i){0;var a=r.data.scopedSlots,s=t.$scopedSlots,l=!!(a&&!a.$stable||s!==o&&!s.$stable||a&&t.$scopedSlots.$key!==a.$key||!a&&t.$scopedSlots.$key),u=!!(i||t.$options._renderChildren||l);t.$options._parentVnode=r,t.$vnode=r,t._vnode&&(t._vnode.parent=r);if(t.$options._renderChildren=i,t.$attrs=r.data.attrs||o,t.$listeners=n||o,e&&t.$options.props){kt(!1);for(var c=t._props,p=t.$options._propKeys||[],f=0;f<p.length;f++){var d=p[f],h=t.$options.props;c[d]=Mt(d,h,e,t)}kt(!0),t.$options.propsData=e}n=n||o;var m=t.$options._parentListeners;t.$options._parentListeners=n,en(t,n,m),u&&(t.$slots=ye(i,r.context),t.$forceUpdate());0}(e.componentInstance=t.componentInstance,n.propsData,n.listeners,e,n.children)},insert:function(t){var e,n=t.context,r=t.componentInstance;r._isMounted||(r._isMounted=!0,ln(r,"mounted")),t.data.keepAlive&&(n._isMounted?((e=r)._inactive=!1,cn.push(e)):an(r,!0))},destroy:function(t){var e=t.componentInstance;e._isDestroyed||(t.data.keepAlive?sn(e,!0):e.$destroy())}},Ge=Object.keys(Ue);function qe(t,e,n,r,l){if(!i(t)){var c=n.$options._base;if(u(t)&&(t=c.extend(t)),"function"==typeof t){var p;if(i(t.cid)&&(t=function(t,e){if(s(t.error)&&a(t.errorComp))return t.errorComp;if(a(t.resolved))return t.resolved;var n=Ke;n&&a(t.owners)&&-1===t.owners.indexOf(n)&&t.owners.push(n);if(s(t.loading)&&a(t.loadingComp))return t.loadingComp;if(n&&!a(t.owners)){var r=t.owners=[n],o=!0,l=null,c=null;n.$on("hook:destroyed",(function(){return A(r,n)}));var p=function(t){for(var e=0,n=r.length;e<n;e++)r[e].$forceUpdate();t&&(r.length=0,null!==l&&(clearTimeout(l),l=null),null!==c&&(clearTimeout(c),c=null))},f=F((function(n){t.resolved=Xe(n,e),o?r.length=0:p(!0)})),d=F((function(e){a(t.errorComp)&&(t.error=!0,p(!0))})),m=t(f,d);return u(m)&&(h(m)?i(t.resolved)&&m.then(f,d):h(m.component)&&(m.component.then(f,d),a(m.error)&&(t.errorComp=Xe(m.error,e)),a(m.loading)&&(t.loadingComp=Xe(m.loading,e),0===m.delay?t.loading=!0:l=setTimeout((function(){l=null,i(t.resolved)&&i(t.error)&&(t.loading=!0,p(!1))}),m.delay||200)),a(m.timeout)&&(c=setTimeout((function(){c=null,i(t.resolved)&&d(null)}),m.timeout)))),o=!1,t.loading?t.loadingComp:t.resolved}}(p=t,c),void 0===t))return function(t,e,n,r,o){var i=At();return i.asyncFactory=t,i.asyncMeta={data:e,context:n,children:r,tag:o},i}(p,e,n,r,l);e=e||{},Tn(t),a(e.model)&&function(t,e){var n=t.model&&t.model.prop||"value",r=t.model&&t.model.event||"input";(e.attrs||(e.attrs={}))[n]=e.model.value;var o=e.on||(e.on={}),i=o[r],s=e.model.callback;a(i)?(Array.isArray(i)?-1===i.indexOf(s):i!==s)&&(o[r]=[s].concat(i)):o[r]=s}(t.options,e);var f=function(t,e,n){var r=e.options.props;if(!i(r)){var o={},s=t.attrs,l=t.props;if(a(s)||a(l))for(var u in r){var c=E(u);de(o,l,u,c,!0)||de(o,s,u,c,!1)}return o}}(e,t);if(s(t.options.functional))return function(t,e,n,r,i){var s=t.options,l={},u=s.props;if(a(u))for(var c in u)l[c]=Mt(c,u,e||o);else a(n.attrs)&&Me(l,n.attrs),a(n.props)&&Me(l,n.props);var p=new Le(n,l,i,r,t),f=s.render.call(null,p._c,p);if(f instanceof gt)return Re(f,n,p.parent,s);if(Array.isArray(f)){for(var d=he(f)||[],h=new Array(d.length),m=0;m<d.length;m++)h[m]=Re(d[m],n,p.parent,s);return h}}(t,f,e,n,r);var d=e.on;if(e.on=e.nativeOn,s(t.options.abstract)){var m=e.slot;e={},m&&(e.slot=m)}!function(t){for(var e=t.hook||(t.hook={}),n=0;n<Ge.length;n++){var r=Ge[n],o=e[r],i=Ue[r];o===i||o&&o._merged||(e[r]=o?Ve(i,o):i)}}(e);var v=t.options.name||l;return new gt("vue-component-"+t.cid+(v?"-"+v:""),e,void 0,void 0,void 0,n,{Ctor:t,propsData:f,listeners:d,tag:l,children:r},p)}}}function Ve(t,e){var n=function(n,r){t(n,r),e(n,r)};return n._merged=!0,n}function We(t,e,n,r,o,i){return(Array.isArray(n)||l(n))&&(o=r,r=n,n=void 0),s(i)&&(o=2),function(t,e,n,r,o){if(a(n)&&a(n.__ob__))return At();a(n)&&a(n.is)&&(e=n.is);if(!e)return At();0;Array.isArray(r)&&"function"==typeof r[0]&&((n=n||{}).scopedSlots={default:r[0]},r.length=0);2===o?r=he(r):1===o&&(r=function(t){for(var e=0;e<t.length;e++)if(Array.isArray(t[e]))return Array.prototype.concat.apply([],t);return t}(r));var i,s;if("string"==typeof e){var l;s=t.$vnode&&t.$vnode.ns||M.getTagNamespace(e),i=M.isReservedTag(e)?new gt(M.parsePlatformTagName(e),n,r,void 0,void 0,t):n&&n.pre||!a(l=Rt(t.$options,"components",e))?new gt(e,n,r,void 0,void 0,t):qe(l,n,t,r,e)}else i=qe(e,n,t,r);return Array.isArray(i)?i:a(i)?(a(s)&&He(i,s),a(n)&&function(t){u(t.style)&&se(t.style);u(t.class)&&se(t.class)}(n),i):At()}(t,e,n,r,o)}function He(t,e,n){if(t.ns=e,"foreignObject"===t.tag&&(e=void 0,n=!0),a(t.children))for(var r=0,o=t.children.length;r<o;r++){var l=t.children[r];a(l.tag)&&(i(l.ns)||s(n)&&"svg"!==l.tag)&&He(l,e,n)}}var Ye,Ke=null;function Xe(t,e){return(t.__esModule||ct&&"Module"===t[Symbol.toStringTag])&&(t=t.default),u(t)?e.extend(t):t}function Ze(t){if(Array.isArray(t))for(var e=0;e<t.length;e++){var n=t[e];if(a(n)&&(a(n.componentOptions)||be(n)))return n}}function Je(t,e){Ye.$on(t,e)}function Qe(t,e){Ye.$off(t,e)}function tn(t,e){var n=Ye;return function r(){var o=e.apply(null,arguments);null!==o&&n.$off(t,r)}}function en(t,e,n){Ye=t,pe(e,n||{},Je,Qe,tn,t),Ye=void 0}var nn=null;function rn(t){var e=nn;return nn=t,function(){nn=e}}function on(t){for(;t&&(t=t.$parent);)if(t._inactive)return!0;return!1}function an(t,e){if(e){if(t._directInactive=!1,on(t))return}else if(t._directInactive)return;if(t._inactive||null===t._inactive){t._inactive=!1;for(var n=0;n<t.$children.length;n++)an(t.$children[n]);ln(t,"activated")}}function sn(t,e){if(!(e&&(t._directInactive=!0,on(t))||t._inactive)){t._inactive=!0;for(var n=0;n<t.$children.length;n++)sn(t.$children[n]);ln(t,"deactivated")}}function ln(t,e){mt();var n=t.$options[e],r=e+" hook";if(n)for(var o=0,i=n.length;o<i;o++)Ht(n[o],t,null,t,r);t._hasHookEvent&&t.$emit("hook:"+e),vt()}var un=[],cn=[],pn={},fn=!1,dn=!1,hn=0;var mn=0,vn=Date.now;if(Y&&!J){var gn=window.performance;gn&&"function"==typeof gn.now&&vn()>document.createEvent("Event").timeStamp&&(vn=function(){return gn.now()})}function yn(){var t,e;for(mn=vn(),dn=!0,un.sort((function(t,e){return t.id-e.id})),hn=0;hn<un.length;hn++)(t=un[hn]).before&&t.before(),e=t.id,pn[e]=null,t.run();var n=cn.slice(),r=un.slice();hn=un.length=cn.length=0,pn={},fn=dn=!1,function(t){for(var e=0;e<t.length;e++)t[e]._inactive=!0,an(t[e],!0)}(n),function(t){var e=t.length;for(;e--;){var n=t[e],r=n.vm;r._watcher===n&&r._isMounted&&!r._isDestroyed&&ln(r,"updated")}}(r),st&&M.devtools&&st.emit("flush")}var An=0,bn=function(t,e,n,r,o){this.vm=t,o&&(t._watcher=this),t._watchers.push(this),r?(this.deep=!!r.deep,this.user=!!r.user,this.lazy=!!r.lazy,this.sync=!!r.sync,this.before=r.before):this.deep=this.user=this.lazy=this.sync=!1,this.cb=n,this.id=++An,this.active=!0,this.dirty=this.lazy,this.deps=[],this.newDeps=[],this.depIds=new ut,this.newDepIds=new ut,this.expression="","function"==typeof e?this.getter=e:(this.getter=function(t){if(!V.test(t)){var e=t.split(".");return function(t){for(var n=0;n<e.length;n++){if(!t)return;t=t[e[n]]}return t}}}(e),this.getter||(this.getter=N)),this.value=this.lazy?void 0:this.get()};bn.prototype.get=function(){var t;mt(this);var e=this.vm;try{t=this.getter.call(e,e)}catch(t){if(!this.user)throw t;Wt(t,e,'getter for watcher "'+this.expression+'"')}finally{this.deep&&se(t),vt(),this.cleanupDeps()}return t},bn.prototype.addDep=function(t){var e=t.id;this.newDepIds.has(e)||(this.newDepIds.add(e),this.newDeps.push(t),this.depIds.has(e)||t.addSub(this))},bn.prototype.cleanupDeps=function(){for(var t=this.deps.length;t--;){var e=this.deps[t];this.newDepIds.has(e.id)||e.removeSub(this)}var n=this.depIds;this.depIds=this.newDepIds,this.newDepIds=n,this.newDepIds.clear(),n=this.deps,this.deps=this.newDeps,this.newDeps=n,this.newDeps.length=0},bn.prototype.update=function(){this.lazy?this.dirty=!0:this.sync?this.run():function(t){var e=t.id;if(null==pn[e]){if(pn[e]=!0,dn){for(var n=un.length-1;n>hn&&un[n].id>t.id;)n--;un.splice(n+1,0,t)}else un.push(t);fn||(fn=!0,ie(yn))}}(this)},bn.prototype.run=function(){if(this.active){var t=this.get();if(t!==this.value||u(t)||this.deep){var e=this.value;if(this.value=t,this.user){var n='callback for watcher "'+this.expression+'"';Ht(this.cb,this.vm,[t,e],this.vm,n)}else this.cb.call(this.vm,t,e)}}},bn.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},bn.prototype.depend=function(){for(var t=this.deps.length;t--;)this.deps[t].depend()},bn.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||A(this.vm._watchers,this);for(var t=this.deps.length;t--;)this.deps[t].removeSub(this);this.active=!1}};var Cn={enumerable:!0,configurable:!0,get:N,set:N};function wn(t,e,n){Cn.get=function(){return this[e][n]},Cn.set=function(t){this[e][n]=t},Object.defineProperty(t,n,Cn)}function xn(t){t._watchers=[];var e=t.$options;e.props&&function(t,e){var n=t.$options.propsData||{},r=t._props={},o=t.$options._propKeys=[];t.$parent&&kt(!1);var i=function(i){o.push(i);var a=Mt(i,e,n,t);jt(r,i,a),i in t||wn(t,"_props",i)};for(var a in e)i(a);kt(!0)}(t,e.props),e.methods&&function(t,e){t.$options.props;for(var n in e)t[n]="function"!=typeof e[n]?N:O(e[n],t)}(t,e.methods),e.data?function(t){var e=t.$options.data;p(e=t._data="function"==typeof e?function(t,e){mt();try{return t.call(e,e)}catch(t){return Wt(t,e,"data()"),{}}finally{vt()}}(e,t):e||{})||(e={});var n=Object.keys(e),r=t.$options.props,o=(t.$options.methods,n.length);for(;o--;){var i=n[o];0,r&&C(r,i)||G(i)||wn(t,"_data",i)}Ot(e,!0)}(t):Ot(t._data={},!0),e.computed&&function(t,e){var n=t._computedWatchers=Object.create(null),r=at();for(var o in e){var i=e[o],a="function"==typeof i?i:i.get;0,r||(n[o]=new bn(t,a||N,N,_n)),o in t||Sn(t,o,i)}}(t,e.computed),e.watch&&e.watch!==rt&&function(t,e){for(var n in e){var r=e[n];if(Array.isArray(r))for(var o=0;o<r.length;o++)On(t,n,r[o]);else On(t,n,r)}}(t,e.watch)}var _n={lazy:!0};function Sn(t,e,n){var r=!at();"function"==typeof n?(Cn.get=r?kn(e):En(n),Cn.set=N):(Cn.get=n.get?r&&!1!==n.cache?kn(e):En(n.get):N,Cn.set=n.set||N),Object.defineProperty(t,e,Cn)}function kn(t){return function(){var e=this._computedWatchers&&this._computedWatchers[t];if(e)return e.dirty&&e.evaluate(),dt.target&&e.depend(),e.value}}function En(t){return function(){return t.call(this,this)}}function On(t,e,n,r){return p(n)&&(r=n,n=n.handler),"string"==typeof n&&(n=t[n]),t.$watch(e,n,r)}var jn=0;function Tn(t){var e=t.options;if(t.super){var n=Tn(t.super);if(n!==t.superOptions){t.superOptions=n;var r=function(t){var e,n=t.options,r=t.sealedOptions;for(var o in n)n[o]!==r[o]&&(e||(e={}),e[o]=n[o]);return e}(t);r&&T(t.extendOptions,r),(e=t.options=Lt(n,t.extendOptions)).name&&(e.components[e.name]=t)}}return e}function Bn(t){this._init(t)}function Nn(t){t.cid=0;var e=1;t.extend=function(t){t=t||{};var n=this,r=n.cid,o=t._Ctor||(t._Ctor={});if(o[r])return o[r];var i=t.name||n.options.name;var a=function(t){this._init(t)};return(a.prototype=Object.create(n.prototype)).constructor=a,a.cid=e++,a.options=Lt(n.options,t),a.super=n,a.options.props&&function(t){var e=t.options.props;for(var n in e)wn(t.prototype,"_props",n)}(a),a.options.computed&&function(t){var e=t.options.computed;for(var n in e)Sn(t.prototype,n,e[n])}(a),a.extend=n.extend,a.mixin=n.mixin,a.use=n.use,L.forEach((function(t){a[t]=n[t]})),i&&(a.options.components[i]=a),a.superOptions=n.options,a.extendOptions=t,a.sealedOptions=T({},a.options),o[r]=a,a}}function Pn(t){return t&&(t.Ctor.options.name||t.tag)}function $n(t,e){return Array.isArray(t)?t.indexOf(e)>-1:"string"==typeof t?t.split(",").indexOf(e)>-1:!!f(t)&&t.test(e)}function In(t,e){var n=t.cache,r=t.keys,o=t._vnode;for(var i in n){var a=n[i];if(a){var s=a.name;s&&!e(s)&&zn(n,i,r,o)}}}function zn(t,e,n,r){var o=t[e];!o||r&&o.tag===r.tag||o.componentInstance.$destroy(),t[e]=null,A(n,e)}!function(t){t.prototype._init=function(t){var e=this;e._uid=jn++,e._isVue=!0,t&&t._isComponent?function(t,e){var n=t.$options=Object.create(t.constructor.options),r=e._parentVnode;n.parent=e.parent,n._parentVnode=r;var o=r.componentOptions;n.propsData=o.propsData,n._parentListeners=o.listeners,n._renderChildren=o.children,n._componentTag=o.tag,e.render&&(n.render=e.render,n.staticRenderFns=e.staticRenderFns)}(e,t):e.$options=Lt(Tn(e.constructor),t||{},e),e._renderProxy=e,e._self=e,function(t){var e=t.$options,n=e.parent;if(n&&!e.abstract){for(;n.$options.abstract&&n.$parent;)n=n.$parent;n.$children.push(t)}t.$parent=n,t.$root=n?n.$root:t,t.$children=[],t.$refs={},t._watcher=null,t._inactive=null,t._directInactive=!1,t._isMounted=!1,t._isDestroyed=!1,t._isBeingDestroyed=!1}(e),function(t){t._events=Object.create(null),t._hasHookEvent=!1;var e=t.$options._parentListeners;e&&en(t,e)}(e),function(t){t._vnode=null,t._staticTrees=null;var e=t.$options,n=t.$vnode=e._parentVnode,r=n&&n.context;t.$slots=ye(e._renderChildren,r),t.$scopedSlots=o,t._c=function(e,n,r,o){return We(t,e,n,r,o,!1)},t.$createElement=function(e,n,r,o){return We(t,e,n,r,o,!0)};var i=n&&n.data;jt(t,"$attrs",i&&i.attrs||o,null,!0),jt(t,"$listeners",e._parentListeners||o,null,!0)}(e),ln(e,"beforeCreate"),function(t){var e=ge(t.$options.inject,t);e&&(kt(!1),Object.keys(e).forEach((function(n){jt(t,n,e[n])})),kt(!0))}(e),xn(e),function(t){var e=t.$options.provide;e&&(t._provided="function"==typeof e?e.call(t):e)}(e),ln(e,"created"),e.$options.el&&e.$mount(e.$options.el)}}(Bn),function(t){var e={get:function(){return this._data}},n={get:function(){return this._props}};Object.defineProperty(t.prototype,"$data",e),Object.defineProperty(t.prototype,"$props",n),t.prototype.$set=Tt,t.prototype.$delete=Bt,t.prototype.$watch=function(t,e,n){var r=this;if(p(e))return On(r,t,e,n);(n=n||{}).user=!0;var o=new bn(r,t,e,n);if(n.immediate){var i='callback for immediate watcher "'+o.expression+'"';mt(),Ht(e,r,[o.value],r,i),vt()}return function(){o.teardown()}}}(Bn),function(t){var e=/^hook:/;t.prototype.$on=function(t,n){var r=this;if(Array.isArray(t))for(var o=0,i=t.length;o<i;o++)r.$on(t[o],n);else(r._events[t]||(r._events[t]=[])).push(n),e.test(t)&&(r._hasHookEvent=!0);return r},t.prototype.$once=function(t,e){var n=this;function r(){n.$off(t,r),e.apply(n,arguments)}return r.fn=e,n.$on(t,r),n},t.prototype.$off=function(t,e){var n=this;if(!arguments.length)return n._events=Object.create(null),n;if(Array.isArray(t)){for(var r=0,o=t.length;r<o;r++)n.$off(t[r],e);return n}var i,a=n._events[t];if(!a)return n;if(!e)return n._events[t]=null,n;for(var s=a.length;s--;)if((i=a[s])===e||i.fn===e){a.splice(s,1);break}return n},t.prototype.$emit=function(t){var e=this,n=e._events[t];if(n){n=n.length>1?j(n):n;for(var r=j(arguments,1),o='event handler for "'+t+'"',i=0,a=n.length;i<a;i++)Ht(n[i],e,r,e,o)}return e}}(Bn),function(t){t.prototype._update=function(t,e){var n=this,r=n.$el,o=n._vnode,i=rn(n);n._vnode=t,n.$el=o?n.__patch__(o,t):n.__patch__(n.$el,t,e,!1),i(),r&&(r.__vue__=null),n.$el&&(n.$el.__vue__=n),n.$vnode&&n.$parent&&n.$vnode===n.$parent._vnode&&(n.$parent.$el=n.$el)},t.prototype.$forceUpdate=function(){this._watcher&&this._watcher.update()},t.prototype.$destroy=function(){var t=this;if(!t._isBeingDestroyed){ln(t,"beforeDestroy"),t._isBeingDestroyed=!0;var e=t.$parent;!e||e._isBeingDestroyed||t.$options.abstract||A(e.$children,t),t._watcher&&t._watcher.teardown();for(var n=t._watchers.length;n--;)t._watchers[n].teardown();t._data.__ob__&&t._data.__ob__.vmCount--,t._isDestroyed=!0,t.__patch__(t._vnode,null),ln(t,"destroyed"),t.$off(),t.$el&&(t.$el.__vue__=null),t.$vnode&&(t.$vnode.parent=null)}}}(Bn),function(t){De(t.prototype),t.prototype.$nextTick=function(t){return ie(t,this)},t.prototype._render=function(){var t,e=this,n=e.$options,r=n.render,o=n._parentVnode;o&&(e.$scopedSlots=Ce(o.data.scopedSlots,e.$slots,e.$scopedSlots)),e.$vnode=o;try{Ke=e,t=r.call(e._renderProxy,e.$createElement)}catch(n){Wt(n,e,"render"),t=e._vnode}finally{Ke=null}return Array.isArray(t)&&1===t.length&&(t=t[0]),t instanceof gt||(t=At()),t.parent=o,t}}(Bn);var Fn=[String,RegExp,Array],Dn={name:"keep-alive",abstract:!0,props:{include:Fn,exclude:Fn,max:[String,Number]},methods:{cacheVNode:function(){var t=this,e=t.cache,n=t.keys,r=t.vnodeToCache,o=t.keyToCache;if(r){var i=r.tag,a=r.componentInstance,s=r.componentOptions;e[o]={name:Pn(s),tag:i,componentInstance:a},n.push(o),this.max&&n.length>parseInt(this.max)&&zn(e,n[0],n,this._vnode),this.vnodeToCache=null}}},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var t in this.cache)zn(this.cache,t,this.keys)},mounted:function(){var t=this;this.cacheVNode(),this.$watch("include",(function(e){In(t,(function(t){return $n(e,t)}))})),this.$watch("exclude",(function(e){In(t,(function(t){return!$n(e,t)}))}))},updated:function(){this.cacheVNode()},render:function(){var t=this.$slots.default,e=Ze(t),n=e&&e.componentOptions;if(n){var r=Pn(n),o=this.include,i=this.exclude;if(o&&(!r||!$n(o,r))||i&&r&&$n(i,r))return e;var a=this.cache,s=this.keys,l=null==e.key?n.Ctor.cid+(n.tag?"::"+n.tag:""):e.key;a[l]?(e.componentInstance=a[l].componentInstance,A(s,l),s.push(l)):(this.vnodeToCache=e,this.keyToCache=l),e.data.keepAlive=!0}return e||t&&t[0]}},Ln={KeepAlive:Dn};!function(t){var e={get:function(){return M}};Object.defineProperty(t,"config",e),t.util={warn:pt,extend:T,mergeOptions:Lt,defineReactive:jt},t.set=Tt,t.delete=Bt,t.nextTick=ie,t.observable=function(t){return Ot(t),t},t.options=Object.create(null),L.forEach((function(e){t.options[e+"s"]=Object.create(null)})),t.options._base=t,T(t.options.components,Ln),function(t){t.use=function(t){var e=this._installedPlugins||(this._installedPlugins=[]);if(e.indexOf(t)>-1)return this;var n=j(arguments,1);return n.unshift(this),"function"==typeof t.install?t.install.apply(t,n):"function"==typeof t&&t.apply(null,n),e.push(t),this}}(t),function(t){t.mixin=function(t){return this.options=Lt(this.options,t),this}}(t),Nn(t),function(t){L.forEach((function(e){t[e]=function(t,n){return n?("component"===e&&p(n)&&(n.name=n.name||t,n=this.options._base.extend(n)),"directive"===e&&"function"==typeof n&&(n={bind:n,update:n}),this.options[e+"s"][t]=n,n):this.options[e+"s"][t]}}))}(t)}(Bn),Object.defineProperty(Bn.prototype,"$isServer",{get:at}),Object.defineProperty(Bn.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(Bn,"FunctionalRenderContext",{value:Le}),Bn.version="2.6.14";var Rn=g("style,class"),Mn=g("input,textarea,option,select,progress"),Un=g("contenteditable,draggable,spellcheck"),Gn=g("events,caret,typing,plaintext-only"),qn=g("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,truespeed,typemustmatch,visible"),Vn="http://www.w3.org/1999/xlink",Wn=function(t){return":"===t.charAt(5)&&"xlink"===t.slice(0,5)},Hn=function(t){return Wn(t)?t.slice(6,t.length):""},Yn=function(t){return null==t||!1===t};function Kn(t){for(var e=t.data,n=t,r=t;a(r.componentInstance);)(r=r.componentInstance._vnode)&&r.data&&(e=Xn(r.data,e));for(;a(n=n.parent);)n&&n.data&&(e=Xn(e,n.data));return function(t,e){if(a(t)||a(e))return Zn(t,Jn(e));return""}(e.staticClass,e.class)}function Xn(t,e){return{staticClass:Zn(t.staticClass,e.staticClass),class:a(t.class)?[t.class,e.class]:e.class}}function Zn(t,e){return t?e?t+" "+e:t:e||""}function Jn(t){return Array.isArray(t)?function(t){for(var e,n="",r=0,o=t.length;r<o;r++)a(e=Jn(t[r]))&&""!==e&&(n&&(n+=" "),n+=e);return n}(t):u(t)?function(t){var e="";for(var n in t)t[n]&&(e&&(e+=" "),e+=n);return e}(t):"string"==typeof t?t:""}var Qn={svg:"http://www.w3.org/2000/svg",math:"http://www.w3.org/1998/Math/MathML"},tr=g("html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,menuitem,summary,content,element,shadow,template,blockquote,iframe,tfoot"),er=g("svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,foreignobject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view",!0),nr=function(t){return tr(t)||er(t)};var rr=Object.create(null);var or=g("text,number,password,search,email,tel,url");var ir=Object.freeze({createElement:function(t,e){var n=document.createElement(t);return"select"!==t||e.data&&e.data.attrs&&void 0!==e.data.attrs.multiple&&n.setAttribute("multiple","multiple"),n},createElementNS:function(t,e){return document.createElementNS(Qn[t],e)},createTextNode:function(t){return document.createTextNode(t)},createComment:function(t){return document.createComment(t)},insertBefore:function(t,e,n){t.insertBefore(e,n)},removeChild:function(t,e){t.removeChild(e)},appendChild:function(t,e){t.appendChild(e)},parentNode:function(t){return t.parentNode},nextSibling:function(t){return t.nextSibling},tagName:function(t){return t.tagName},setTextContent:function(t,e){t.textContent=e},setStyleScope:function(t,e){t.setAttribute(e,"")}}),ar={create:function(t,e){sr(e)},update:function(t,e){t.data.ref!==e.data.ref&&(sr(t,!0),sr(e))},destroy:function(t){sr(t,!0)}};function sr(t,e){var n=t.data.ref;if(a(n)){var r=t.context,o=t.componentInstance||t.elm,i=r.$refs;e?Array.isArray(i[n])?A(i[n],o):i[n]===o&&(i[n]=void 0):t.data.refInFor?Array.isArray(i[n])?i[n].indexOf(o)<0&&i[n].push(o):i[n]=[o]:i[n]=o}}var lr=new gt("",{},[]),ur=["create","activate","update","remove","destroy"];function cr(t,e){return t.key===e.key&&t.asyncFactory===e.asyncFactory&&(t.tag===e.tag&&t.isComment===e.isComment&&a(t.data)===a(e.data)&&function(t,e){if("input"!==t.tag)return!0;var n,r=a(n=t.data)&&a(n=n.attrs)&&n.type,o=a(n=e.data)&&a(n=n.attrs)&&n.type;return r===o||or(r)&&or(o)}(t,e)||s(t.isAsyncPlaceholder)&&i(e.asyncFactory.error))}function pr(t,e,n){var r,o,i={};for(r=e;r<=n;++r)a(o=t[r].key)&&(i[o]=r);return i}var fr={create:dr,update:dr,destroy:function(t){dr(t,lr)}};function dr(t,e){(t.data.directives||e.data.directives)&&function(t,e){var n,r,o,i=t===lr,a=e===lr,s=mr(t.data.directives,t.context),l=mr(e.data.directives,e.context),u=[],c=[];for(n in l)r=s[n],o=l[n],r?(o.oldValue=r.value,o.oldArg=r.arg,gr(o,"update",e,t),o.def&&o.def.componentUpdated&&c.push(o)):(gr(o,"bind",e,t),o.def&&o.def.inserted&&u.push(o));if(u.length){var p=function(){for(var n=0;n<u.length;n++)gr(u[n],"inserted",e,t)};i?fe(e,"insert",p):p()}c.length&&fe(e,"postpatch",(function(){for(var n=0;n<c.length;n++)gr(c[n],"componentUpdated",e,t)}));if(!i)for(n in s)l[n]||gr(s[n],"unbind",t,t,a)}(t,e)}var hr=Object.create(null);function mr(t,e){var n,r,o=Object.create(null);if(!t)return o;for(n=0;n<t.length;n++)(r=t[n]).modifiers||(r.modifiers=hr),o[vr(r)]=r,r.def=Rt(e.$options,"directives",r.name);return o}function vr(t){return t.rawName||t.name+"."+Object.keys(t.modifiers||{}).join(".")}function gr(t,e,n,r,o){var i=t.def&&t.def[e];if(i)try{i(n.elm,t,n,r,o)}catch(r){Wt(r,n.context,"directive "+t.name+" "+e+" hook")}}var yr=[ar,fr];function Ar(t,e){var n=e.componentOptions;if(!(a(n)&&!1===n.Ctor.options.inheritAttrs||i(t.data.attrs)&&i(e.data.attrs))){var r,o,s=e.elm,l=t.data.attrs||{},u=e.data.attrs||{};for(r in a(u.__ob__)&&(u=e.data.attrs=T({},u)),u)o=u[r],l[r]!==o&&br(s,r,o,e.data.pre);for(r in(J||tt)&&u.value!==l.value&&br(s,"value",u.value),l)i(u[r])&&(Wn(r)?s.removeAttributeNS(Vn,Hn(r)):Un(r)||s.removeAttribute(r))}}function br(t,e,n,r){r||t.tagName.indexOf("-")>-1?Cr(t,e,n):qn(e)?Yn(n)?t.removeAttribute(e):(n="allowfullscreen"===e&&"EMBED"===t.tagName?"true":e,t.setAttribute(e,n)):Un(e)?t.setAttribute(e,function(t,e){return Yn(e)||"false"===e?"false":"contenteditable"===t&&Gn(e)?e:"true"}(e,n)):Wn(e)?Yn(n)?t.removeAttributeNS(Vn,Hn(e)):t.setAttributeNS(Vn,e,n):Cr(t,e,n)}function Cr(t,e,n){if(Yn(n))t.removeAttribute(e);else{if(J&&!Q&&"TEXTAREA"===t.tagName&&"placeholder"===e&&""!==n&&!t.__ieph){var r=function(e){e.stopImmediatePropagation(),t.removeEventListener("input",r)};t.addEventListener("input",r),t.__ieph=!0}t.setAttribute(e,n)}}var wr={create:Ar,update:Ar};function xr(t,e){var n=e.elm,r=e.data,o=t.data;if(!(i(r.staticClass)&&i(r.class)&&(i(o)||i(o.staticClass)&&i(o.class)))){var s=Kn(e),l=n._transitionClasses;a(l)&&(s=Zn(s,Jn(l))),s!==n._prevClass&&(n.setAttribute("class",s),n._prevClass=s)}}var _r,Sr={create:xr,update:xr};function kr(t,e,n){var r=_r;return function o(){var i=e.apply(null,arguments);null!==i&&jr(t,o,n,r)}}var Er=Zt&&!(nt&&Number(nt[1])<=53);function Or(t,e,n,r){if(Er){var o=mn,i=e;e=i._wrapper=function(t){if(t.target===t.currentTarget||t.timeStamp>=o||t.timeStamp<=0||t.target.ownerDocument!==document)return i.apply(this,arguments)}}_r.addEventListener(t,e,ot?{capture:n,passive:r}:n)}function jr(t,e,n,r){(r||_r).removeEventListener(t,e._wrapper||e,n)}function Tr(t,e){if(!i(t.data.on)||!i(e.data.on)){var n=e.data.on||{},r=t.data.on||{};_r=e.elm,function(t){if(a(t.__r)){var e=J?"change":"input";t[e]=[].concat(t.__r,t[e]||[]),delete t.__r}a(t.__c)&&(t.change=[].concat(t.__c,t.change||[]),delete t.__c)}(n),pe(n,r,Or,jr,kr,e.context),_r=void 0}}var Br,Nr={create:Tr,update:Tr};function Pr(t,e){if(!i(t.data.domProps)||!i(e.data.domProps)){var n,r,o=e.elm,s=t.data.domProps||{},l=e.data.domProps||{};for(n in a(l.__ob__)&&(l=e.data.domProps=T({},l)),s)n in l||(o[n]="");for(n in l){if(r=l[n],"textContent"===n||"innerHTML"===n){if(e.children&&(e.children.length=0),r===s[n])continue;1===o.childNodes.length&&o.removeChild(o.childNodes[0])}if("value"===n&&"PROGRESS"!==o.tagName){o._value=r;var u=i(r)?"":String(r);$r(o,u)&&(o.value=u)}else if("innerHTML"===n&&er(o.tagName)&&i(o.innerHTML)){(Br=Br||document.createElement("div")).innerHTML="<svg>"+r+"</svg>";for(var c=Br.firstChild;o.firstChild;)o.removeChild(o.firstChild);for(;c.firstChild;)o.appendChild(c.firstChild)}else if(r!==s[n])try{o[n]=r}catch(t){}}}}function $r(t,e){return!t.composing&&("OPTION"===t.tagName||function(t,e){var n=!0;try{n=document.activeElement!==t}catch(t){}return n&&t.value!==e}(t,e)||function(t,e){var n=t.value,r=t._vModifiers;if(a(r)){if(r.number)return v(n)!==v(e);if(r.trim)return n.trim()!==e.trim()}return n!==e}(t,e))}var Ir={create:Pr,update:Pr},zr=w((function(t){var e={},n=/:(.+)/;return t.split(/;(?![^(]*\))/g).forEach((function(t){if(t){var r=t.split(n);r.length>1&&(e[r[0].trim()]=r[1].trim())}})),e}));function Fr(t){var e=Dr(t.style);return t.staticStyle?T(t.staticStyle,e):e}function Dr(t){return Array.isArray(t)?B(t):"string"==typeof t?zr(t):t}var Lr,Rr=/^--/,Mr=/\s*!important$/,Ur=function(t,e,n){if(Rr.test(e))t.style.setProperty(e,n);else if(Mr.test(n))t.style.setProperty(E(e),n.replace(Mr,""),"important");else{var r=qr(e);if(Array.isArray(n))for(var o=0,i=n.length;o<i;o++)t.style[r]=n[o];else t.style[r]=n}},Gr=["Webkit","Moz","ms"],qr=w((function(t){if(Lr=Lr||document.createElement("div").style,"filter"!==(t=_(t))&&t in Lr)return t;for(var e=t.charAt(0).toUpperCase()+t.slice(1),n=0;n<Gr.length;n++){var r=Gr[n]+e;if(r in Lr)return r}}));function Vr(t,e){var n=e.data,r=t.data;if(!(i(n.staticStyle)&&i(n.style)&&i(r.staticStyle)&&i(r.style))){var o,s,l=e.elm,u=r.staticStyle,c=r.normalizedStyle||r.style||{},p=u||c,f=Dr(e.data.style)||{};e.data.normalizedStyle=a(f.__ob__)?T({},f):f;var d=function(t,e){var n,r={};if(e)for(var o=t;o.componentInstance;)(o=o.componentInstance._vnode)&&o.data&&(n=Fr(o.data))&&T(r,n);(n=Fr(t.data))&&T(r,n);for(var i=t;i=i.parent;)i.data&&(n=Fr(i.data))&&T(r,n);return r}(e,!0);for(s in p)i(d[s])&&Ur(l,s,"");for(s in d)(o=d[s])!==p[s]&&Ur(l,s,null==o?"":o)}}var Wr={create:Vr,update:Vr},Hr=/\s+/;function Yr(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.split(Hr).forEach((function(e){return t.classList.add(e)})):t.classList.add(e);else{var n=" "+(t.getAttribute("class")||"")+" ";n.indexOf(" "+e+" ")<0&&t.setAttribute("class",(n+e).trim())}}function Kr(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.split(Hr).forEach((function(e){return t.classList.remove(e)})):t.classList.remove(e),t.classList.length||t.removeAttribute("class");else{for(var n=" "+(t.getAttribute("class")||"")+" ",r=" "+e+" ";n.indexOf(r)>=0;)n=n.replace(r," ");(n=n.trim())?t.setAttribute("class",n):t.removeAttribute("class")}}function Xr(t){if(t){if("object"==typeof t){var e={};return!1!==t.css&&T(e,Zr(t.name||"v")),T(e,t),e}return"string"==typeof t?Zr(t):void 0}}var Zr=w((function(t){return{enterClass:t+"-enter",enterToClass:t+"-enter-to",enterActiveClass:t+"-enter-active",leaveClass:t+"-leave",leaveToClass:t+"-leave-to",leaveActiveClass:t+"-leave-active"}})),Jr=Y&&!Q,Qr="transition",to="animation",eo="transition",no="transitionend",ro="animation",oo="animationend";Jr&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(eo="WebkitTransition",no="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(ro="WebkitAnimation",oo="webkitAnimationEnd"));var io=Y?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(t){return t()};function ao(t){io((function(){io(t)}))}function so(t,e){var n=t._transitionClasses||(t._transitionClasses=[]);n.indexOf(e)<0&&(n.push(e),Yr(t,e))}function lo(t,e){t._transitionClasses&&A(t._transitionClasses,e),Kr(t,e)}function uo(t,e,n){var r=po(t,e),o=r.type,i=r.timeout,a=r.propCount;if(!o)return n();var s=o===Qr?no:oo,l=0,u=function(){t.removeEventListener(s,c),n()},c=function(e){e.target===t&&++l>=a&&u()};setTimeout((function(){l<a&&u()}),i+1),t.addEventListener(s,c)}var co=/\b(transform|all)(,|$)/;function po(t,e){var n,r=window.getComputedStyle(t),o=(r[eo+"Delay"]||"").split(", "),i=(r[eo+"Duration"]||"").split(", "),a=fo(o,i),s=(r[ro+"Delay"]||"").split(", "),l=(r[ro+"Duration"]||"").split(", "),u=fo(s,l),c=0,p=0;return e===Qr?a>0&&(n=Qr,c=a,p=i.length):e===to?u>0&&(n=to,c=u,p=l.length):p=(n=(c=Math.max(a,u))>0?a>u?Qr:to:null)?n===Qr?i.length:l.length:0,{type:n,timeout:c,propCount:p,hasTransform:n===Qr&&co.test(r[eo+"Property"])}}function fo(t,e){for(;t.length<e.length;)t=t.concat(t);return Math.max.apply(null,e.map((function(e,n){return ho(e)+ho(t[n])})))}function ho(t){return 1e3*Number(t.slice(0,-1).replace(",","."))}function mo(t,e){var n=t.elm;a(n._leaveCb)&&(n._leaveCb.cancelled=!0,n._leaveCb());var r=Xr(t.data.transition);if(!i(r)&&!a(n._enterCb)&&1===n.nodeType){for(var o=r.css,s=r.type,l=r.enterClass,c=r.enterToClass,p=r.enterActiveClass,f=r.appearClass,d=r.appearToClass,h=r.appearActiveClass,m=r.beforeEnter,g=r.enter,y=r.afterEnter,A=r.enterCancelled,b=r.beforeAppear,C=r.appear,w=r.afterAppear,x=r.appearCancelled,_=r.duration,S=nn,k=nn.$vnode;k&&k.parent;)S=k.context,k=k.parent;var E=!S._isMounted||!t.isRootInsert;if(!E||C||""===C){var O=E&&f?f:l,j=E&&h?h:p,T=E&&d?d:c,B=E&&b||m,N=E&&"function"==typeof C?C:g,P=E&&w||y,$=E&&x||A,I=v(u(_)?_.enter:_);0;var z=!1!==o&&!Q,D=yo(N),L=n._enterCb=F((function(){z&&(lo(n,T),lo(n,j)),L.cancelled?(z&&lo(n,O),$&&$(n)):P&&P(n),n._enterCb=null}));t.data.show||fe(t,"insert",(function(){var e=n.parentNode,r=e&&e._pending&&e._pending[t.key];r&&r.tag===t.tag&&r.elm._leaveCb&&r.elm._leaveCb(),N&&N(n,L)})),B&&B(n),z&&(so(n,O),so(n,j),ao((function(){lo(n,O),L.cancelled||(so(n,T),D||(go(I)?setTimeout(L,I):uo(n,s,L)))}))),t.data.show&&(e&&e(),N&&N(n,L)),z||D||L()}}}function vo(t,e){var n=t.elm;a(n._enterCb)&&(n._enterCb.cancelled=!0,n._enterCb());var r=Xr(t.data.transition);if(i(r)||1!==n.nodeType)return e();if(!a(n._leaveCb)){var o=r.css,s=r.type,l=r.leaveClass,c=r.leaveToClass,p=r.leaveActiveClass,f=r.beforeLeave,d=r.leave,h=r.afterLeave,m=r.leaveCancelled,g=r.delayLeave,y=r.duration,A=!1!==o&&!Q,b=yo(d),C=v(u(y)?y.leave:y);0;var w=n._leaveCb=F((function(){n.parentNode&&n.parentNode._pending&&(n.parentNode._pending[t.key]=null),A&&(lo(n,c),lo(n,p)),w.cancelled?(A&&lo(n,l),m&&m(n)):(e(),h&&h(n)),n._leaveCb=null}));g?g(x):x()}function x(){w.cancelled||(!t.data.show&&n.parentNode&&((n.parentNode._pending||(n.parentNode._pending={}))[t.key]=t),f&&f(n),A&&(so(n,l),so(n,p),ao((function(){lo(n,l),w.cancelled||(so(n,c),b||(go(C)?setTimeout(w,C):uo(n,s,w)))}))),d&&d(n,w),A||b||w())}}function go(t){return"number"==typeof t&&!isNaN(t)}function yo(t){if(i(t))return!1;var e=t.fns;return a(e)?yo(Array.isArray(e)?e[0]:e):(t._length||t.length)>1}function Ao(t,e){!0!==e.data.show&&mo(e)}var bo=function(t){var e,n,r={},o=t.modules,u=t.nodeOps;for(e=0;e<ur.length;++e)for(r[ur[e]]=[],n=0;n<o.length;++n)a(o[n][ur[e]])&&r[ur[e]].push(o[n][ur[e]]);function c(t){var e=u.parentNode(t);a(e)&&u.removeChild(e,t)}function p(t,e,n,o,i,l,c){if(a(t.elm)&&a(l)&&(t=l[c]=Ct(t)),t.isRootInsert=!i,!function(t,e,n,o){var i=t.data;if(a(i)){var l=a(t.componentInstance)&&i.keepAlive;if(a(i=i.hook)&&a(i=i.init)&&i(t,!1),a(t.componentInstance))return f(t,e),d(n,t.elm,o),s(l)&&function(t,e,n,o){var i,s=t;for(;s.componentInstance;)if(a(i=(s=s.componentInstance._vnode).data)&&a(i=i.transition)){for(i=0;i<r.activate.length;++i)r.activate[i](lr,s);e.push(s);break}d(n,t.elm,o)}(t,e,n,o),!0}}(t,e,n,o)){var p=t.data,m=t.children,g=t.tag;a(g)?(t.elm=t.ns?u.createElementNS(t.ns,g):u.createElement(g,t),y(t),h(t,m,e),a(p)&&v(t,e),d(n,t.elm,o)):s(t.isComment)?(t.elm=u.createComment(t.text),d(n,t.elm,o)):(t.elm=u.createTextNode(t.text),d(n,t.elm,o))}}function f(t,e){a(t.data.pendingInsert)&&(e.push.apply(e,t.data.pendingInsert),t.data.pendingInsert=null),t.elm=t.componentInstance.$el,m(t)?(v(t,e),y(t)):(sr(t),e.push(t))}function d(t,e,n){a(t)&&(a(n)?u.parentNode(n)===t&&u.insertBefore(t,e,n):u.appendChild(t,e))}function h(t,e,n){if(Array.isArray(e)){0;for(var r=0;r<e.length;++r)p(e[r],n,t.elm,null,!0,e,r)}else l(t.text)&&u.appendChild(t.elm,u.createTextNode(String(t.text)))}function m(t){for(;t.componentInstance;)t=t.componentInstance._vnode;return a(t.tag)}function v(t,n){for(var o=0;o<r.create.length;++o)r.create[o](lr,t);a(e=t.data.hook)&&(a(e.create)&&e.create(lr,t),a(e.insert)&&n.push(t))}function y(t){var e;if(a(e=t.fnScopeId))u.setStyleScope(t.elm,e);else for(var n=t;n;)a(e=n.context)&&a(e=e.$options._scopeId)&&u.setStyleScope(t.elm,e),n=n.parent;a(e=nn)&&e!==t.context&&e!==t.fnContext&&a(e=e.$options._scopeId)&&u.setStyleScope(t.elm,e)}function A(t,e,n,r,o,i){for(;r<=o;++r)p(n[r],i,t,e,!1,n,r)}function b(t){var e,n,o=t.data;if(a(o))for(a(e=o.hook)&&a(e=e.destroy)&&e(t),e=0;e<r.destroy.length;++e)r.destroy[e](t);if(a(e=t.children))for(n=0;n<t.children.length;++n)b(t.children[n])}function C(t,e,n){for(;e<=n;++e){var r=t[e];a(r)&&(a(r.tag)?(w(r),b(r)):c(r.elm))}}function w(t,e){if(a(e)||a(t.data)){var n,o=r.remove.length+1;for(a(e)?e.listeners+=o:e=function(t,e){function n(){0==--n.listeners&&c(t)}return n.listeners=e,n}(t.elm,o),a(n=t.componentInstance)&&a(n=n._vnode)&&a(n.data)&&w(n,e),n=0;n<r.remove.length;++n)r.remove[n](t,e);a(n=t.data.hook)&&a(n=n.remove)?n(t,e):e()}else c(t.elm)}function x(t,e,n,r){for(var o=n;o<r;o++){var i=e[o];if(a(i)&&cr(t,i))return o}}function _(t,e,n,o,l,c){if(t!==e){a(e.elm)&&a(o)&&(e=o[l]=Ct(e));var f=e.elm=t.elm;if(s(t.isAsyncPlaceholder))a(e.asyncFactory.resolved)?E(t.elm,e,n):e.isAsyncPlaceholder=!0;else if(s(e.isStatic)&&s(t.isStatic)&&e.key===t.key&&(s(e.isCloned)||s(e.isOnce)))e.componentInstance=t.componentInstance;else{var d,h=e.data;a(h)&&a(d=h.hook)&&a(d=d.prepatch)&&d(t,e);var v=t.children,g=e.children;if(a(h)&&m(e)){for(d=0;d<r.update.length;++d)r.update[d](t,e);a(d=h.hook)&&a(d=d.update)&&d(t,e)}i(e.text)?a(v)&&a(g)?v!==g&&function(t,e,n,r,o){var s,l,c,f=0,d=0,h=e.length-1,m=e[0],v=e[h],g=n.length-1,y=n[0],b=n[g],w=!o;for(;f<=h&&d<=g;)i(m)?m=e[++f]:i(v)?v=e[--h]:cr(m,y)?(_(m,y,r,n,d),m=e[++f],y=n[++d]):cr(v,b)?(_(v,b,r,n,g),v=e[--h],b=n[--g]):cr(m,b)?(_(m,b,r,n,g),w&&u.insertBefore(t,m.elm,u.nextSibling(v.elm)),m=e[++f],b=n[--g]):cr(v,y)?(_(v,y,r,n,d),w&&u.insertBefore(t,v.elm,m.elm),v=e[--h],y=n[++d]):(i(s)&&(s=pr(e,f,h)),i(l=a(y.key)?s[y.key]:x(y,e,f,h))?p(y,r,t,m.elm,!1,n,d):cr(c=e[l],y)?(_(c,y,r,n,d),e[l]=void 0,w&&u.insertBefore(t,c.elm,m.elm)):p(y,r,t,m.elm,!1,n,d),y=n[++d]);f>h?A(t,i(n[g+1])?null:n[g+1].elm,n,d,g,r):d>g&&C(e,f,h)}(f,v,g,n,c):a(g)?(a(t.text)&&u.setTextContent(f,""),A(f,null,g,0,g.length-1,n)):a(v)?C(v,0,v.length-1):a(t.text)&&u.setTextContent(f,""):t.text!==e.text&&u.setTextContent(f,e.text),a(h)&&a(d=h.hook)&&a(d=d.postpatch)&&d(t,e)}}}function S(t,e,n){if(s(n)&&a(t.parent))t.parent.data.pendingInsert=e;else for(var r=0;r<e.length;++r)e[r].data.hook.insert(e[r])}var k=g("attrs,class,staticClass,staticStyle,key");function E(t,e,n,r){var o,i=e.tag,l=e.data,u=e.children;if(r=r||l&&l.pre,e.elm=t,s(e.isComment)&&a(e.asyncFactory))return e.isAsyncPlaceholder=!0,!0;if(a(l)&&(a(o=l.hook)&&a(o=o.init)&&o(e,!0),a(o=e.componentInstance)))return f(e,n),!0;if(a(i)){if(a(u))if(t.hasChildNodes())if(a(o=l)&&a(o=o.domProps)&&a(o=o.innerHTML)){if(o!==t.innerHTML)return!1}else{for(var c=!0,p=t.firstChild,d=0;d<u.length;d++){if(!p||!E(p,u[d],n,r)){c=!1;break}p=p.nextSibling}if(!c||p)return!1}else h(e,u,n);if(a(l)){var m=!1;for(var g in l)if(!k(g)){m=!0,v(e,n);break}!m&&l.class&&se(l.class)}}else t.data!==e.text&&(t.data=e.text);return!0}return function(t,e,n,o){if(!i(e)){var l,c=!1,f=[];if(i(t))c=!0,p(e,f);else{var d=a(t.nodeType);if(!d&&cr(t,e))_(t,e,f,null,null,o);else{if(d){if(1===t.nodeType&&t.hasAttribute(D)&&(t.removeAttribute(D),n=!0),s(n)&&E(t,e,f))return S(e,f,!0),t;l=t,t=new gt(u.tagName(l).toLowerCase(),{},[],void 0,l)}var h=t.elm,v=u.parentNode(h);if(p(e,f,h._leaveCb?null:v,u.nextSibling(h)),a(e.parent))for(var g=e.parent,y=m(e);g;){for(var A=0;A<r.destroy.length;++A)r.destroy[A](g);if(g.elm=e.elm,y){for(var w=0;w<r.create.length;++w)r.create[w](lr,g);var x=g.data.hook.insert;if(x.merged)for(var k=1;k<x.fns.length;k++)x.fns[k]()}else sr(g);g=g.parent}a(v)?C([t],0,0):a(t.tag)&&b(t)}}return S(e,f,c),e.elm}a(t)&&b(t)}}({nodeOps:ir,modules:[wr,Sr,Nr,Ir,Wr,Y?{create:Ao,activate:Ao,remove:function(t,e){!0!==t.data.show?vo(t,e):e()}}:{}].concat(yr)});Q&&document.addEventListener("selectionchange",(function(){var t=document.activeElement;t&&t.vmodel&&Oo(t,"input")}));var Co={inserted:function(t,e,n,r){"select"===n.tag?(r.elm&&!r.elm._vOptions?fe(n,"postpatch",(function(){Co.componentUpdated(t,e,n)})):wo(t,e,n.context),t._vOptions=[].map.call(t.options,So)):("textarea"===n.tag||or(t.type))&&(t._vModifiers=e.modifiers,e.modifiers.lazy||(t.addEventListener("compositionstart",ko),t.addEventListener("compositionend",Eo),t.addEventListener("change",Eo),Q&&(t.vmodel=!0)))},componentUpdated:function(t,e,n){if("select"===n.tag){wo(t,e,n.context);var r=t._vOptions,o=t._vOptions=[].map.call(t.options,So);if(o.some((function(t,e){return!I(t,r[e])})))(t.multiple?e.value.some((function(t){return _o(t,o)})):e.value!==e.oldValue&&_o(e.value,o))&&Oo(t,"change")}}};function wo(t,e,n){xo(t,e,n),(J||tt)&&setTimeout((function(){xo(t,e,n)}),0)}function xo(t,e,n){var r=e.value,o=t.multiple;if(!o||Array.isArray(r)){for(var i,a,s=0,l=t.options.length;s<l;s++)if(a=t.options[s],o)i=z(r,So(a))>-1,a.selected!==i&&(a.selected=i);else if(I(So(a),r))return void(t.selectedIndex!==s&&(t.selectedIndex=s));o||(t.selectedIndex=-1)}}function _o(t,e){return e.every((function(e){return!I(e,t)}))}function So(t){return"_value"in t?t._value:t.value}function ko(t){t.target.composing=!0}function Eo(t){t.target.composing&&(t.target.composing=!1,Oo(t.target,"input"))}function Oo(t,e){var n=document.createEvent("HTMLEvents");n.initEvent(e,!0,!0),t.dispatchEvent(n)}function jo(t){return!t.componentInstance||t.data&&t.data.transition?t:jo(t.componentInstance._vnode)}var To={bind:function(t,e,n){var r=e.value,o=(n=jo(n)).data&&n.data.transition,i=t.__vOriginalDisplay="none"===t.style.display?"":t.style.display;r&&o?(n.data.show=!0,mo(n,(function(){t.style.display=i}))):t.style.display=r?i:"none"},update:function(t,e,n){var r=e.value;!r!=!e.oldValue&&((n=jo(n)).data&&n.data.transition?(n.data.show=!0,r?mo(n,(function(){t.style.display=t.__vOriginalDisplay})):vo(n,(function(){t.style.display="none"}))):t.style.display=r?t.__vOriginalDisplay:"none")},unbind:function(t,e,n,r,o){o||(t.style.display=t.__vOriginalDisplay)}},Bo={model:Co,show:To},No={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function Po(t){var e=t&&t.componentOptions;return e&&e.Ctor.options.abstract?Po(Ze(e.children)):t}function $o(t){var e={},n=t.$options;for(var r in n.propsData)e[r]=t[r];var o=n._parentListeners;for(var i in o)e[_(i)]=o[i];return e}function Io(t,e){if(/\d-keep-alive$/.test(e.tag))return t("keep-alive",{props:e.componentOptions.propsData})}var zo=function(t){return t.tag||be(t)},Fo=function(t){return"show"===t.name},Do={name:"transition",props:No,abstract:!0,render:function(t){var e=this,n=this.$slots.default;if(n&&(n=n.filter(zo)).length){0;var r=this.mode;0;var o=n[0];if(function(t){for(;t=t.parent;)if(t.data.transition)return!0}(this.$vnode))return o;var i=Po(o);if(!i)return o;if(this._leaving)return Io(t,o);var a="__transition-"+this._uid+"-";i.key=null==i.key?i.isComment?a+"comment":a+i.tag:l(i.key)?0===String(i.key).indexOf(a)?i.key:a+i.key:i.key;var s=(i.data||(i.data={})).transition=$o(this),u=this._vnode,c=Po(u);if(i.data.directives&&i.data.directives.some(Fo)&&(i.data.show=!0),c&&c.data&&!function(t,e){return e.key===t.key&&e.tag===t.tag}(i,c)&&!be(c)&&(!c.componentInstance||!c.componentInstance._vnode.isComment)){var p=c.data.transition=T({},s);if("out-in"===r)return this._leaving=!0,fe(p,"afterLeave",(function(){e._leaving=!1,e.$forceUpdate()})),Io(t,o);if("in-out"===r){if(be(i))return u;var f,d=function(){f()};fe(s,"afterEnter",d),fe(s,"enterCancelled",d),fe(p,"delayLeave",(function(t){f=t}))}}return o}}},Lo=T({tag:String,moveClass:String},No);function Ro(t){t.elm._moveCb&&t.elm._moveCb(),t.elm._enterCb&&t.elm._enterCb()}function Mo(t){t.data.newPos=t.elm.getBoundingClientRect()}function Uo(t){var e=t.data.pos,n=t.data.newPos,r=e.left-n.left,o=e.top-n.top;if(r||o){t.data.moved=!0;var i=t.elm.style;i.transform=i.WebkitTransform="translate("+r+"px,"+o+"px)",i.transitionDuration="0s"}}delete Lo.mode;var Go={Transition:Do,TransitionGroup:{props:Lo,beforeMount:function(){var t=this,e=this._update;this._update=function(n,r){var o=rn(t);t.__patch__(t._vnode,t.kept,!1,!0),t._vnode=t.kept,o(),e.call(t,n,r)}},render:function(t){for(var e=this.tag||this.$vnode.data.tag||"span",n=Object.create(null),r=this.prevChildren=this.children,o=this.$slots.default||[],i=this.children=[],a=$o(this),s=0;s<o.length;s++){var l=o[s];if(l.tag)if(null!=l.key&&0!==String(l.key).indexOf("__vlist"))i.push(l),n[l.key]=l,(l.data||(l.data={})).transition=a;else;}if(r){for(var u=[],c=[],p=0;p<r.length;p++){var f=r[p];f.data.transition=a,f.data.pos=f.elm.getBoundingClientRect(),n[f.key]?u.push(f):c.push(f)}this.kept=t(e,null,u),this.removed=c}return t(e,null,i)},updated:function(){var t=this.prevChildren,e=this.moveClass||(this.name||"v")+"-move";t.length&&this.hasMove(t[0].elm,e)&&(t.forEach(Ro),t.forEach(Mo),t.forEach(Uo),this._reflow=document.body.offsetHeight,t.forEach((function(t){if(t.data.moved){var n=t.elm,r=n.style;so(n,e),r.transform=r.WebkitTransform=r.transitionDuration="",n.addEventListener(no,n._moveCb=function t(r){r&&r.target!==n||r&&!/transform$/.test(r.propertyName)||(n.removeEventListener(no,t),n._moveCb=null,lo(n,e))})}})))},methods:{hasMove:function(t,e){if(!Jr)return!1;if(this._hasMove)return this._hasMove;var n=t.cloneNode();t._transitionClasses&&t._transitionClasses.forEach((function(t){Kr(n,t)})),Yr(n,e),n.style.display="none",this.$el.appendChild(n);var r=po(n);return this.$el.removeChild(n),this._hasMove=r.hasTransform}}}};Bn.config.mustUseProp=function(t,e,n){return"value"===n&&Mn(t)&&"button"!==e||"selected"===n&&"option"===t||"checked"===n&&"input"===t||"muted"===n&&"video"===t},Bn.config.isReservedTag=nr,Bn.config.isReservedAttr=Rn,Bn.config.getTagNamespace=function(t){return er(t)?"svg":"math"===t?"math":void 0},Bn.config.isUnknownElement=function(t){if(!Y)return!0;if(nr(t))return!1;if(t=t.toLowerCase(),null!=rr[t])return rr[t];var e=document.createElement(t);return t.indexOf("-")>-1?rr[t]=e.constructor===window.HTMLUnknownElement||e.constructor===window.HTMLElement:rr[t]=/HTMLUnknownElement/.test(e.toString())},T(Bn.options.directives,Bo),T(Bn.options.components,Go),Bn.prototype.__patch__=Y?bo:N,Bn.prototype.$mount=function(t,e){return function(t,e,n){var r;return t.$el=e,t.$options.render||(t.$options.render=At),ln(t,"beforeMount"),r=function(){t._update(t._render(),n)},new bn(t,r,N,{before:function(){t._isMounted&&!t._isDestroyed&&ln(t,"beforeUpdate")}},!0),n=!1,null==t.$vnode&&(t._isMounted=!0,ln(t,"mounted")),t}(this,t=t&&Y?function(t){if("string"==typeof t){return document.querySelector(t)||document.createElement("div")}return t}(t):void 0,e)},Y&&setTimeout((function(){M.devtools&&st&&st.emit("init",Bn)}),0);const qo=Bn},6430:(t,e,n)=>{"use strict";var r=n(9804),o=n(6314),i=n(1924),a=i("Object.prototype.toString"),s=n(6410)(),l="undefined"==typeof globalThis?n.g:globalThis,u=o(),c=i("String.prototype.slice"),p={},f=n(4079),d=Object.getPrototypeOf;s&&f&&d&&r(u,(function(t){if("function"==typeof l[t]){var e=new l[t];if(Symbol.toStringTag in e){var n=d(e),r=f(n,Symbol.toStringTag);if(!r){var o=d(n);r=f(o,Symbol.toStringTag)}p[t]=r.get}}}));var h=n(5692);t.exports=function(t){return!!h(t)&&(s&&Symbol.toStringTag in t?function(t){var e=!1;return r(p,(function(n,r){if(!e)try{var o=n.call(t);o===r&&(e=o)}catch(t){}})),e}(t):c(a(t),8,-1))}}},n={};function r(t){var o=n[t];if(void 0!==o)return o.exports;var i=n[t]={id:t,loaded:!1,exports:{}};return e[t](i,i.exports,r),i.loaded=!0,i.exports}r.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return r.d(e,{a:e}),e},r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.nmd=t=>(t.paths=[],t.children||(t.children=[]),t),r.p="/apps/firstrunwizard/js/",(()=>{"use strict";var e=r(144),n=r(9753),o=r(9944),i=r(7450),a=r.n(i),s=r(4820);const l={name:"IntroVideo",data:()=>({videoMp4:(0,n.FW)("firstrunwizard","img","Nextcloud.mp4"),videoWebm:(0,n.FW)("firstrunwizard","img","Nextcloud.webm")}),computed:{videoFallbackText:()=>t("firstrunwizard","Welcome to {cloudName}!",{cloudName:window.OC.theme.name})}};var u=r(3379),c=r.n(u),p=r(7795),f=r.n(p),d=r(569),h=r.n(d),m=r(3565),v=r.n(m),g=r(9216),y=r.n(g),A=r(4589),b=r.n(A),C=r(3392),w={};w.styleTagTransform=b(),w.setAttributes=v(),w.insert=h().bind(null,"head"),w.domAPI=f(),w.insertStyleElement=y();c()(C.Z,w);C.Z&&C.Z.locals&&C.Z.locals;var x=r(1900);const _=(0,x.Z)(l,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"video-wrapper"},[n("video",{ref:"video",attrs:{playsinline:"",autoplay:"",muted:""},domProps:{muted:!0}},[n("source",{attrs:{src:t.videoWebm,type:"video/webm"}}),t._v(" "),n("source",{attrs:{src:t.videoMp4,type:"video/mp4"}}),t._v("\n\t\t"+t._s(t.videoFallbackText)+"\n\t")])])}),[],!1,null,"70de3a6e",null).exports;var S=r(5108);const k={name:"App",components:{Modal:a()},data:()=>({showModal:!1,withIntro:!0,slides:[],currentSlide:0,fadeDirection:"next",slidesLoaded:!1}),computed:{slideList(){if(this.withIntro)return this.slides;return this.slides.slice(1)},hasNext(){return this.currentSlide<this.slideList.length-1},hasPrevious(){return this.currentSlide>0},isLast(){return this.currentSlide===this.slideList.length-1},isFirst(){return 0===this.currentSlide},startButtonText:()=>t("firstrunwizard","Start using {cloudName}",{cloudName:window.OC.theme.name})},async created(){this.slides=[_],window.addEventListener("resize",this.onResize)},beforeDestroy(){window.removeEventListener("resize",this.onResize)},methods:{async loadStaticSlides(){if(!this.slidesLoaded)try{const t=await s.Z.get((0,n.nu)("/apps/firstrunwizard/wizard"));this.slides.push(...t.data.slides),this.withIntro=t.data.hasVideo,this.slidesLoaded=!0}catch(t){S.error("Failed to load slides")}},async open(t=!0){await this.loadStaticSlides(),this.withIntro=this.withIntro&t,this.showModal=!0,this.currentSlide=0},close(){this.showModal=!1,s.Z.delete((0,n.nu)("/apps/firstrunwizard/wizard"))},next(){this.fadeDirection="next",this.isLast?this.close():this.currentSlide+=1},previous(){this.fadeDirection="previous",this.isFirst||(this.currentSlide-=1)}}};var E=r(6060),O={};O.styleTagTransform=b(),O.setAttributes=v(),O.insert=h().bind(null,"head"),O.domAPI=f(),O.insertStyleElement=y();c()(E.Z,O);E.Z&&E.Z.locals&&E.Z.locals;var j=r(6912),T={};T.styleTagTransform=b(),T.setAttributes=v(),T.insert=h().bind(null,"head"),T.domAPI=f(),T.insertStyleElement=y();c()(j.Z,T);j.Z&&j.Z.locals&&j.Z.locals;const B=(0,x.Z)(k,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return t.showModal&&t.slideList.length>0?n("Modal",{attrs:{id:"firstrunwizard",size:"large","has-previous":t.hasPrevious,"has-next":t.hasNext,"clear-view-delay":-1,name:"modal"},on:{previous:t.previous,next:t.next,close:t.close}},[0===t.currentSlide&&t.withIntro?t._e():n("div",{staticClass:"modal-header"},[n("div",{staticClass:"firstrunwizard-header"},[n("div",{staticClass:"logo"},[n("p",{staticClass:"hidden-visually"},[t._v("\n\t\t\t\t\t"+t._s(t.oc_defaults.name)+"\n\t\t\t\t")])]),t._v(" "),n("h2",{domProps:{innerHTML:t._s(t.oc_defaults.slogan)}}),t._v(" "),n("p")])]),t._v(" "),n("div",{staticClass:"modal-body"},[t.slideList.length>0?t._t("body",(function(){return[n("transition",{attrs:{name:t.fadeDirection,mode:"out-in"}},["inline"===t.slideList[t.currentSlide].type?n("div",{key:t.currentSlide,domProps:{innerHTML:t._s(t.slideList[t.currentSlide].content)}}):n(t.slideList[t.currentSlide],{tag:"div",on:{finished:function(e){t.currentSlide++}}})],1)]})):t._e()],2),t._v(" "),n("div",{staticClass:"modal-footer"},[t.isLast?n("button",{staticClass:"primary modal-default-button",on:{click:t.close}},[t._v("\n\t\t\t"+t._s(t.startButtonText)+"\n\t\t")]):t._e()])]):t._e()}),[],!1,null,"dd9f3cba",null).exports;r.p=(0,n.FW)("firstrunwizard","","js/"),e.default.prototype.t=o.translate,e.default.prototype.n=o.translatePlural,e.default.prototype.oc_defaults=window.oc_defaults;const N=document.createElement("div");N.id="firstrunwizard",document.querySelector("body").appendChild(N);const P=(new(e.default.extend(B))).$mount(N);window.OCA.FirstRunWizard={open:P.open}})()})();
+//# sourceMappingURL=firstrunwizard-main.js.map?v=aa37e9152661370fee62 \ No newline at end of file
diff --git a/js/firstrunwizard-main.js.map b/js/firstrunwizard-main.js.map
index 595f7ab4..ee6dad22 100644
--- a/js/firstrunwizard-main.js.map
+++ b/js/firstrunwizard-main.js.map
@@ -1 +1 @@
-{"version":3,"sources":["webpack:///firstrunwizard/node_modules/@nextcloud/auth/dist/index.js","webpack:///firstrunwizard/node_modules/@nextcloud/auth/dist/requesttoken.js","webpack:///firstrunwizard/node_modules/@nextcloud/auth/dist/user.js","webpack:///firstrunwizard/node_modules/@nextcloud/axios/dist/index.js","webpack:///firstrunwizard/node_modules/@nextcloud/event-bus/dist/ProxyBus.js","webpack:///firstrunwizard/node_modules/@nextcloud/event-bus/dist/SimpleBus.js","webpack:///firstrunwizard/node_modules/@nextcloud/event-bus/dist/index.js","webpack:///firstrunwizard/node_modules/@nextcloud/l10n/dist/gettext.js","webpack:///firstrunwizard/node_modules/@nextcloud/l10n/dist/index.js","webpack:///firstrunwizard/node_modules/@nextcloud/router/dist/index.js","webpack:///firstrunwizard/node_modules/@nextcloud/vue/dist/Components/Modal.js","webpack:///firstrunwizard/node_modules/available-typed-arrays/index.js","webpack:///firstrunwizard/node_modules/axios/index.js","webpack:///firstrunwizard/node_modules/axios/lib/adapters/xhr.js","webpack:///firstrunwizard/node_modules/axios/lib/axios.js","webpack:///firstrunwizard/node_modules/axios/lib/cancel/Cancel.js","webpack:///firstrunwizard/node_modules/axios/lib/cancel/CancelToken.js","webpack:///firstrunwizard/node_modules/axios/lib/cancel/isCancel.js","webpack:///firstrunwizard/node_modules/axios/lib/core/Axios.js","webpack:///firstrunwizard/node_modules/axios/lib/core/InterceptorManager.js","webpack:///firstrunwizard/node_modules/axios/lib/core/buildFullPath.js","webpack:///firstrunwizard/node_modules/axios/lib/core/createError.js","webpack:///firstrunwizard/node_modules/axios/lib/core/dispatchRequest.js","webpack:///firstrunwizard/node_modules/axios/lib/core/enhanceError.js","webpack:///firstrunwizard/node_modules/axios/lib/core/mergeConfig.js","webpack:///firstrunwizard/node_modules/axios/lib/core/settle.js","webpack:///firstrunwizard/node_modules/axios/lib/core/transformData.js","webpack:///firstrunwizard/node_modules/axios/lib/defaults.js","webpack:///firstrunwizard/node_modules/axios/lib/env/data.js","webpack:///firstrunwizard/node_modules/axios/lib/helpers/bind.js","webpack:///firstrunwizard/node_modules/axios/lib/helpers/buildURL.js","webpack:///firstrunwizard/node_modules/axios/lib/helpers/combineURLs.js","webpack:///firstrunwizard/node_modules/axios/lib/helpers/cookies.js","webpack:///firstrunwizard/node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack:///firstrunwizard/node_modules/axios/lib/helpers/isAxiosError.js","webpack:///firstrunwizard/node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack:///firstrunwizard/node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack:///firstrunwizard/node_modules/axios/lib/helpers/parseHeaders.js","webpack:///firstrunwizard/node_modules/axios/lib/helpers/spread.js","webpack:///firstrunwizard/node_modules/axios/lib/helpers/validator.js","webpack:///firstrunwizard/node_modules/axios/lib/utils.js","webpack:///firstrunwizard/node_modules/call-bind/callBound.js","webpack:///firstrunwizard/node_modules/call-bind/index.js","webpack:///firstrunwizard/node_modules/console-browserify/index.js","webpack:///firstrunwizard/node_modules/core-js/internals/a-function.js","webpack:///firstrunwizard/node_modules/core-js/internals/a-possible-prototype.js","webpack:///firstrunwizard/node_modules/core-js/internals/add-to-unscopables.js","webpack:///firstrunwizard/node_modules/core-js/internals/advance-string-index.js","webpack:///firstrunwizard/node_modules/core-js/internals/an-instance.js","webpack:///firstrunwizard/node_modules/core-js/internals/an-object.js","webpack:///firstrunwizard/node_modules/core-js/internals/array-for-each.js","webpack:///firstrunwizard/node_modules/core-js/internals/array-includes.js","webpack:///firstrunwizard/node_modules/core-js/internals/array-iteration.js","webpack:///firstrunwizard/node_modules/core-js/internals/array-method-has-species-support.js","webpack:///firstrunwizard/node_modules/core-js/internals/array-method-is-strict.js","webpack:///firstrunwizard/node_modules/core-js/internals/array-method-uses-to-length.js","webpack:///firstrunwizard/node_modules/core-js/internals/array-species-create.js","webpack:///firstrunwizard/node_modules/core-js/internals/call-with-safe-iteration-closing.js","webpack:///firstrunwizard/node_modules/core-js/internals/check-correctness-of-iteration.js","webpack:///firstrunwizard/node_modules/core-js/internals/classof-raw.js","webpack:///firstrunwizard/node_modules/core-js/internals/classof.js","webpack:///firstrunwizard/node_modules/core-js/internals/collection-strong.js","webpack:///firstrunwizard/node_modules/core-js/internals/collection.js","webpack:///firstrunwizard/node_modules/core-js/internals/copy-constructor-properties.js","webpack:///firstrunwizard/node_modules/core-js/internals/correct-prototype-getter.js","webpack:///firstrunwizard/node_modules/core-js/internals/create-iterator-constructor.js","webpack:///firstrunwizard/node_modules/core-js/internals/create-non-enumerable-property.js","webpack:///firstrunwizard/node_modules/core-js/internals/create-property-descriptor.js","webpack:///firstrunwizard/node_modules/core-js/internals/create-property.js","webpack:///firstrunwizard/node_modules/core-js/internals/define-iterator.js","webpack:///firstrunwizard/node_modules/core-js/internals/descriptors.js","webpack:///firstrunwizard/node_modules/core-js/internals/document-create-element.js","webpack:///firstrunwizard/node_modules/core-js/internals/dom-iterables.js","webpack:///firstrunwizard/node_modules/core-js/internals/engine-user-agent.js","webpack:///firstrunwizard/node_modules/core-js/internals/engine-v8-version.js","webpack:///firstrunwizard/node_modules/core-js/internals/enum-bug-keys.js","webpack:///firstrunwizard/node_modules/core-js/internals/export.js","webpack:///firstrunwizard/node_modules/core-js/internals/fails.js","webpack:///firstrunwizard/node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","webpack:///firstrunwizard/node_modules/core-js/internals/freezing.js","webpack:///firstrunwizard/node_modules/core-js/internals/function-bind-context.js","webpack:///firstrunwizard/node_modules/core-js/internals/get-built-in.js","webpack:///firstrunwizard/node_modules/core-js/internals/get-iterator-method.js","webpack:///firstrunwizard/node_modules/core-js/internals/global.js","webpack:///firstrunwizard/node_modules/core-js/internals/has.js","webpack:///firstrunwizard/node_modules/core-js/internals/hidden-keys.js","webpack:///firstrunwizard/node_modules/core-js/internals/html.js","webpack:///firstrunwizard/node_modules/core-js/internals/ie8-dom-define.js","webpack:///firstrunwizard/node_modules/core-js/internals/indexed-object.js","webpack:///firstrunwizard/node_modules/core-js/internals/inherit-if-required.js","webpack:///firstrunwizard/node_modules/core-js/internals/inspect-source.js","webpack:///firstrunwizard/node_modules/core-js/internals/internal-metadata.js","webpack:///firstrunwizard/node_modules/core-js/internals/internal-state.js","webpack:///firstrunwizard/node_modules/core-js/internals/is-array-iterator-method.js","webpack:///firstrunwizard/node_modules/core-js/internals/is-array.js","webpack:///firstrunwizard/node_modules/core-js/internals/is-forced.js","webpack:///firstrunwizard/node_modules/core-js/internals/is-object.js","webpack:///firstrunwizard/node_modules/core-js/internals/is-pure.js","webpack:///firstrunwizard/node_modules/core-js/internals/iterate.js","webpack:///firstrunwizard/node_modules/core-js/internals/iterators-core.js","webpack:///firstrunwizard/node_modules/core-js/internals/iterators.js","webpack:///firstrunwizard/node_modules/core-js/internals/native-symbol.js","webpack:///firstrunwizard/node_modules/core-js/internals/native-weak-map.js","webpack:///firstrunwizard/node_modules/core-js/internals/object-assign.js","webpack:///firstrunwizard/node_modules/core-js/internals/object-create.js","webpack:///firstrunwizard/node_modules/core-js/internals/object-define-properties.js","webpack:///firstrunwizard/node_modules/core-js/internals/object-define-property.js","webpack:///firstrunwizard/node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///firstrunwizard/node_modules/core-js/internals/object-get-own-property-names.js","webpack:///firstrunwizard/node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///firstrunwizard/node_modules/core-js/internals/object-get-prototype-of.js","webpack:///firstrunwizard/node_modules/core-js/internals/object-keys-internal.js","webpack:///firstrunwizard/node_modules/core-js/internals/object-keys.js","webpack:///firstrunwizard/node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///firstrunwizard/node_modules/core-js/internals/object-set-prototype-of.js","webpack:///firstrunwizard/node_modules/core-js/internals/object-to-string.js","webpack:///firstrunwizard/node_modules/core-js/internals/own-keys.js","webpack:///firstrunwizard/node_modules/core-js/internals/path.js","webpack:///firstrunwizard/node_modules/core-js/internals/redefine-all.js","webpack:///firstrunwizard/node_modules/core-js/internals/redefine.js","webpack:///firstrunwizard/node_modules/core-js/internals/regexp-exec-abstract.js","webpack:///firstrunwizard/node_modules/core-js/internals/regexp-exec.js","webpack:///firstrunwizard/node_modules/core-js/internals/regexp-flags.js","webpack:///firstrunwizard/node_modules/core-js/internals/regexp-sticky-helpers.js","webpack:///firstrunwizard/node_modules/core-js/internals/require-object-coercible.js","webpack:///firstrunwizard/node_modules/core-js/internals/set-global.js","webpack:///firstrunwizard/node_modules/core-js/internals/set-species.js","webpack:///firstrunwizard/node_modules/core-js/internals/set-to-string-tag.js","webpack:///firstrunwizard/node_modules/core-js/internals/shared-key.js","webpack:///firstrunwizard/node_modules/core-js/internals/shared-store.js","webpack:///firstrunwizard/node_modules/core-js/internals/shared.js","webpack:///firstrunwizard/node_modules/core-js/internals/string-multibyte.js","webpack:///firstrunwizard/node_modules/core-js/internals/to-absolute-index.js","webpack:///firstrunwizard/node_modules/core-js/internals/to-indexed-object.js","webpack:///firstrunwizard/node_modules/core-js/internals/to-integer.js","webpack:///firstrunwizard/node_modules/core-js/internals/to-length.js","webpack:///firstrunwizard/node_modules/core-js/internals/to-object.js","webpack:///firstrunwizard/node_modules/core-js/internals/to-primitive.js","webpack:///firstrunwizard/node_modules/core-js/internals/to-string-tag-support.js","webpack:///firstrunwizard/node_modules/core-js/internals/uid.js","webpack:///firstrunwizard/node_modules/core-js/internals/use-symbol-as-uid.js","webpack:///firstrunwizard/node_modules/core-js/internals/well-known-symbol.js","webpack:///firstrunwizard/node_modules/core-js/modules/es.array.concat.js","webpack:///firstrunwizard/node_modules/core-js/modules/es.array.filter.js","webpack:///firstrunwizard/node_modules/core-js/modules/es.array.for-each.js","webpack:///firstrunwizard/node_modules/core-js/modules/es.array.index-of.js","webpack:///firstrunwizard/node_modules/core-js/modules/es.array.iterator.js","webpack:///firstrunwizard/node_modules/core-js/modules/es.map.js","webpack:///firstrunwizard/node_modules/core-js/modules/es.object.assign.js","webpack:///firstrunwizard/node_modules/core-js/modules/es.object.to-string.js","webpack:///firstrunwizard/node_modules/core-js/modules/es.regexp.exec.js","webpack:///firstrunwizard/node_modules/core-js/modules/es.regexp.to-string.js","webpack:///firstrunwizard/node_modules/core-js/modules/es.string.iterator.js","webpack:///firstrunwizard/node_modules/core-js/modules/es.string.replace.js","webpack:///firstrunwizard/node_modules/core-js/modules/web.dom-collections.for-each.js","webpack:///firstrunwizard/node_modules/core-js/modules/web.dom-collections.iterator.js","webpack:///firstrunwizard/src/App.vue?vue&type=style&index=0&lang=scss&","webpack:///firstrunwizard/src/App.vue?vue&type=style&index=1&id=e75b1dfa&lang=scss&scoped=true&","webpack:///firstrunwizard/src/components/IntroVideo.vue?vue&type=style&index=0&id=70de3a6e&scoped=true&lang=scss&","webpack:///firstrunwizard/node_modules/css-loader/dist/runtime/api.js","webpack:///firstrunwizard/node_modules/css-loader/dist/runtime/sourceMaps.js","webpack:///firstrunwizard/node_modules/define-properties/index.js","webpack:///firstrunwizard/node_modules/es-abstract/helpers/getOwnPropertyDescriptor.js","webpack:///firstrunwizard/node_modules/es6-object-assign/index.js","webpack:///firstrunwizard/node_modules/foreach/index.js","webpack:///firstrunwizard/node_modules/function-bind/implementation.js","webpack:///firstrunwizard/node_modules/function-bind/index.js","webpack:///firstrunwizard/node_modules/get-intrinsic/index.js","webpack:///firstrunwizard/node_modules/hammerjs/hammer.js","webpack:///firstrunwizard/node_modules/has-symbols/index.js","webpack:///firstrunwizard/node_modules/has-symbols/shams.js","webpack:///firstrunwizard/node_modules/has-tostringtag/shams.js","webpack:///firstrunwizard/node_modules/has/src/index.js","webpack:///firstrunwizard/node_modules/is-arguments/index.js","webpack:///firstrunwizard/node_modules/is-generator-function/index.js","webpack:///firstrunwizard/node_modules/is-nan/implementation.js","webpack:///firstrunwizard/node_modules/is-nan/index.js","webpack:///firstrunwizard/node_modules/is-nan/polyfill.js","webpack:///firstrunwizard/node_modules/is-nan/shim.js","webpack:///firstrunwizard/node_modules/is-typed-array/index.js","webpack:///firstrunwizard/node_modules/lodash.get/index.js","webpack:///firstrunwizard/node_modules/lodash/_DataView.js","webpack:///firstrunwizard/node_modules/lodash/_Hash.js","webpack:///firstrunwizard/node_modules/lodash/_ListCache.js","webpack:///firstrunwizard/node_modules/lodash/_Map.js","webpack:///firstrunwizard/node_modules/lodash/_MapCache.js","webpack:///firstrunwizard/node_modules/lodash/_Promise.js","webpack:///firstrunwizard/node_modules/lodash/_Set.js","webpack:///firstrunwizard/node_modules/lodash/_SetCache.js","webpack:///firstrunwizard/node_modules/lodash/_Stack.js","webpack:///firstrunwizard/node_modules/lodash/_Symbol.js","webpack:///firstrunwizard/node_modules/lodash/_Uint8Array.js","webpack:///firstrunwizard/node_modules/lodash/_WeakMap.js","webpack:///firstrunwizard/node_modules/lodash/_apply.js","webpack:///firstrunwizard/node_modules/lodash/_arrayFilter.js","webpack:///firstrunwizard/node_modules/lodash/_arrayLikeKeys.js","webpack:///firstrunwizard/node_modules/lodash/_arrayPush.js","webpack:///firstrunwizard/node_modules/lodash/_arraySome.js","webpack:///firstrunwizard/node_modules/lodash/_assignMergeValue.js","webpack:///firstrunwizard/node_modules/lodash/_assignValue.js","webpack:///firstrunwizard/node_modules/lodash/_assocIndexOf.js","webpack:///firstrunwizard/node_modules/lodash/_baseAssignValue.js","webpack:///firstrunwizard/node_modules/lodash/_baseCreate.js","webpack:///firstrunwizard/node_modules/lodash/_baseFor.js","webpack:///firstrunwizard/node_modules/lodash/_baseGetAllKeys.js","webpack:///firstrunwizard/node_modules/lodash/_baseGetTag.js","webpack:///firstrunwizard/node_modules/lodash/_baseIsArguments.js","webpack:///firstrunwizard/node_modules/lodash/_baseIsEqual.js","webpack:///firstrunwizard/node_modules/lodash/_baseIsEqualDeep.js","webpack:///firstrunwizard/node_modules/lodash/_baseIsNative.js","webpack:///firstrunwizard/node_modules/lodash/_baseIsTypedArray.js","webpack:///firstrunwizard/node_modules/lodash/_baseKeys.js","webpack:///firstrunwizard/node_modules/lodash/_baseKeysIn.js","webpack:///firstrunwizard/node_modules/lodash/_baseMerge.js","webpack:///firstrunwizard/node_modules/lodash/_baseMergeDeep.js","webpack:///firstrunwizard/node_modules/lodash/_baseRest.js","webpack:///firstrunwizard/node_modules/lodash/_baseSetToString.js","webpack:///firstrunwizard/node_modules/lodash/_baseTimes.js","webpack:///firstrunwizard/node_modules/lodash/_baseUnary.js","webpack:///firstrunwizard/node_modules/lodash/_cacheHas.js","webpack:///firstrunwizard/node_modules/lodash/_cloneArrayBuffer.js","webpack:///firstrunwizard/node_modules/lodash/_cloneBuffer.js","webpack:///firstrunwizard/node_modules/lodash/_cloneTypedArray.js","webpack:///firstrunwizard/node_modules/lodash/_copyArray.js","webpack:///firstrunwizard/node_modules/lodash/_copyObject.js","webpack:///firstrunwizard/node_modules/lodash/_coreJsData.js","webpack:///firstrunwizard/node_modules/lodash/_createAssigner.js","webpack:///firstrunwizard/node_modules/lodash/_createBaseFor.js","webpack:///firstrunwizard/node_modules/lodash/_defineProperty.js","webpack:///firstrunwizard/node_modules/lodash/_equalArrays.js","webpack:///firstrunwizard/node_modules/lodash/_equalByTag.js","webpack:///firstrunwizard/node_modules/lodash/_equalObjects.js","webpack:///firstrunwizard/node_modules/lodash/_freeGlobal.js","webpack:///firstrunwizard/node_modules/lodash/_getAllKeys.js","webpack:///firstrunwizard/node_modules/lodash/_getMapData.js","webpack:///firstrunwizard/node_modules/lodash/_getNative.js","webpack:///firstrunwizard/node_modules/lodash/_getPrototype.js","webpack:///firstrunwizard/node_modules/lodash/_getRawTag.js","webpack:///firstrunwizard/node_modules/lodash/_getSymbols.js","webpack:///firstrunwizard/node_modules/lodash/_getTag.js","webpack:///firstrunwizard/node_modules/lodash/_getValue.js","webpack:///firstrunwizard/node_modules/lodash/_hashClear.js","webpack:///firstrunwizard/node_modules/lodash/_hashDelete.js","webpack:///firstrunwizard/node_modules/lodash/_hashGet.js","webpack:///firstrunwizard/node_modules/lodash/_hashHas.js","webpack:///firstrunwizard/node_modules/lodash/_hashSet.js","webpack:///firstrunwizard/node_modules/lodash/_initCloneObject.js","webpack:///firstrunwizard/node_modules/lodash/_isIndex.js","webpack:///firstrunwizard/node_modules/lodash/_isIterateeCall.js","webpack:///firstrunwizard/node_modules/lodash/_isKeyable.js","webpack:///firstrunwizard/node_modules/lodash/_isMasked.js","webpack:///firstrunwizard/node_modules/lodash/_isPrototype.js","webpack:///firstrunwizard/node_modules/lodash/_listCacheClear.js","webpack:///firstrunwizard/node_modules/lodash/_listCacheDelete.js","webpack:///firstrunwizard/node_modules/lodash/_listCacheGet.js","webpack:///firstrunwizard/node_modules/lodash/_listCacheHas.js","webpack:///firstrunwizard/node_modules/lodash/_listCacheSet.js","webpack:///firstrunwizard/node_modules/lodash/_mapCacheClear.js","webpack:///firstrunwizard/node_modules/lodash/_mapCacheDelete.js","webpack:///firstrunwizard/node_modules/lodash/_mapCacheGet.js","webpack:///firstrunwizard/node_modules/lodash/_mapCacheHas.js","webpack:///firstrunwizard/node_modules/lodash/_mapCacheSet.js","webpack:///firstrunwizard/node_modules/lodash/_mapToArray.js","webpack:///firstrunwizard/node_modules/lodash/_nativeCreate.js","webpack:///firstrunwizard/node_modules/lodash/_nativeKeys.js","webpack:///firstrunwizard/node_modules/lodash/_nativeKeysIn.js","webpack:///firstrunwizard/node_modules/lodash/_nodeUtil.js","webpack:///firstrunwizard/node_modules/lodash/_objectToString.js","webpack:///firstrunwizard/node_modules/lodash/_overArg.js","webpack:///firstrunwizard/node_modules/lodash/_overRest.js","webpack:///firstrunwizard/node_modules/lodash/_root.js","webpack:///firstrunwizard/node_modules/lodash/_safeGet.js","webpack:///firstrunwizard/node_modules/lodash/_setCacheAdd.js","webpack:///firstrunwizard/node_modules/lodash/_setCacheHas.js","webpack:///firstrunwizard/node_modules/lodash/_setToArray.js","webpack:///firstrunwizard/node_modules/lodash/_setToString.js","webpack:///firstrunwizard/node_modules/lodash/_shortOut.js","webpack:///firstrunwizard/node_modules/lodash/_stackClear.js","webpack:///firstrunwizard/node_modules/lodash/_stackDelete.js","webpack:///firstrunwizard/node_modules/lodash/_stackGet.js","webpack:///firstrunwizard/node_modules/lodash/_stackHas.js","webpack:///firstrunwizard/node_modules/lodash/_stackSet.js","webpack:///firstrunwizard/node_modules/lodash/_toSource.js","webpack:///firstrunwizard/node_modules/lodash/constant.js","webpack:///firstrunwizard/node_modules/lodash/eq.js","webpack:///firstrunwizard/node_modules/lodash/identity.js","webpack:///firstrunwizard/node_modules/lodash/isArguments.js","webpack:///firstrunwizard/node_modules/lodash/isArray.js","webpack:///firstrunwizard/node_modules/lodash/isArrayLike.js","webpack:///firstrunwizard/node_modules/lodash/isArrayLikeObject.js","webpack:///firstrunwizard/node_modules/lodash/isBuffer.js","webpack:///firstrunwizard/node_modules/lodash/isEqual.js","webpack:///firstrunwizard/node_modules/lodash/isFunction.js","webpack:///firstrunwizard/node_modules/lodash/isLength.js","webpack:///firstrunwizard/node_modules/lodash/isObject.js","webpack:///firstrunwizard/node_modules/lodash/isObjectLike.js","webpack:///firstrunwizard/node_modules/lodash/isPlainObject.js","webpack:///firstrunwizard/node_modules/lodash/isTypedArray.js","webpack:///firstrunwizard/node_modules/lodash/keys.js","webpack:///firstrunwizard/node_modules/lodash/keysIn.js","webpack:///firstrunwizard/node_modules/lodash/merge.js","webpack:///firstrunwizard/node_modules/lodash/stubArray.js","webpack:///firstrunwizard/node_modules/lodash/stubFalse.js","webpack:///firstrunwizard/node_modules/lodash/toPlainObject.js","webpack:///firstrunwizard/node_modules/node-gettext/lib/gettext.js","webpack:///firstrunwizard/node_modules/node-gettext/lib/plurals.js","webpack:///firstrunwizard/node_modules/node-polyfill-webpack-plugin/node_modules/assert/build/assert.js","webpack:///firstrunwizard/node_modules/node-polyfill-webpack-plugin/node_modules/assert/build/internal/assert/assertion_error.js","webpack:///firstrunwizard/node_modules/node-polyfill-webpack-plugin/node_modules/assert/build/internal/errors.js","webpack:///firstrunwizard/node_modules/node-polyfill-webpack-plugin/node_modules/assert/build/internal/util/comparisons.js","webpack:///firstrunwizard/node_modules/node-polyfill-webpack-plugin/node_modules/inherits/inherits_browser.js","webpack:///firstrunwizard/node_modules/node-polyfill-webpack-plugin/node_modules/util/support/isBufferBrowser.js","webpack:///firstrunwizard/node_modules/node-polyfill-webpack-plugin/node_modules/util/support/types.js","webpack:///firstrunwizard/node_modules/node-polyfill-webpack-plugin/node_modules/util/util.js","webpack:///firstrunwizard/node_modules/object-is/implementation.js","webpack:///firstrunwizard/node_modules/object-is/index.js","webpack:///firstrunwizard/node_modules/object-is/polyfill.js","webpack:///firstrunwizard/node_modules/object-is/shim.js","webpack:///firstrunwizard/node_modules/object-keys/implementation.js","webpack:///firstrunwizard/node_modules/object-keys/index.js","webpack:///firstrunwizard/node_modules/object-keys/isArguments.js","webpack:///firstrunwizard/node_modules/process/browser.js","webpack:///firstrunwizard/node_modules/semver/classes/semver.js","webpack:///firstrunwizard/node_modules/semver/functions/major.js","webpack:///firstrunwizard/node_modules/semver/functions/parse.js","webpack:///firstrunwizard/node_modules/semver/functions/valid.js","webpack:///firstrunwizard/node_modules/semver/internal/constants.js","webpack:///firstrunwizard/node_modules/semver/internal/debug.js","webpack:///firstrunwizard/node_modules/semver/internal/identifiers.js","webpack:///firstrunwizard/node_modules/semver/internal/parse-options.js","webpack:///firstrunwizard/node_modules/semver/internal/re.js","webpack:///firstrunwizard/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack:///firstrunwizard/node_modules/style-loader/dist/runtime/insertBySelector.js","webpack:///firstrunwizard/node_modules/style-loader/dist/runtime/insertStyleElement.js","webpack:///firstrunwizard/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js","webpack:///firstrunwizard/node_modules/style-loader/dist/runtime/styleDomAPI.js","webpack:///firstrunwizard/node_modules/style-loader/dist/runtime/styleTagTransform.js","webpack:///firstrunwizard/node_modules/@babel/runtime/helpers/esm/typeof.js","webpack:///firstrunwizard/node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack:///firstrunwizard/node_modules/@babel/runtime/helpers/esm/createClass.js","webpack:///firstrunwizard/node_modules/popper.js/dist/esm/popper.js","webpack:///firstrunwizard/node_modules/v-tooltip/node_modules/vue-resize/dist/vue-resize.esm.js","webpack:///firstrunwizard/node_modules/v-tooltip/dist/v-tooltip.esm.js","webpack:///firstrunwizard/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack:///firstrunwizard/node_modules/vue-material-design-icons/ChevronLeft.vue","webpack:///firstrunwizard/node_modules/vue-material-design-icons/ChevronLeft.vue?vue&type=script&lang=js&","webpack://firstrunwizard/./node_modules/vue-material-design-icons/ChevronLeft.vue?e7bb","webpack:///firstrunwizard/node_modules/vue-material-design-icons/ChevronLeft.vue?vue&type=template&id=5de37570&","webpack:///firstrunwizard/node_modules/vue-material-design-icons/ChevronRight.vue","webpack:///firstrunwizard/node_modules/vue-material-design-icons/ChevronRight.vue?vue&type=script&lang=js&","webpack://firstrunwizard/./node_modules/vue-material-design-icons/ChevronRight.vue?621b","webpack:///firstrunwizard/node_modules/vue-material-design-icons/ChevronRight.vue?vue&type=template&id=fbe63c02&","webpack:///firstrunwizard/node_modules/vue-material-design-icons/Close.vue","webpack:///firstrunwizard/node_modules/vue-material-design-icons/Close.vue?vue&type=script&lang=js&","webpack://firstrunwizard/./node_modules/vue-material-design-icons/Close.vue?c1a9","webpack:///firstrunwizard/node_modules/vue-material-design-icons/Close.vue?vue&type=template&id=6c71068e&","webpack:///firstrunwizard/node_modules/vue-material-design-icons/DotsHorizontal.vue","webpack:///firstrunwizard/node_modules/vue-material-design-icons/DotsHorizontal.vue?vue&type=script&lang=js&","webpack://firstrunwizard/./node_modules/vue-material-design-icons/DotsHorizontal.vue?c5a1","webpack:///firstrunwizard/node_modules/vue-material-design-icons/DotsHorizontal.vue?vue&type=template&id=ea59d84c&","webpack:///firstrunwizard/node_modules/vue-material-design-icons/Pause.vue","webpack:///firstrunwizard/node_modules/vue-material-design-icons/Pause.vue?vue&type=script&lang=js&","webpack://firstrunwizard/./node_modules/vue-material-design-icons/Pause.vue?888e","webpack:///firstrunwizard/node_modules/vue-material-design-icons/Pause.vue?vue&type=template&id=3335ab9e&","webpack:///firstrunwizard/node_modules/vue-material-design-icons/Play.vue","webpack:///firstrunwizard/node_modules/vue-material-design-icons/Play.vue?vue&type=script&lang=js&","webpack://firstrunwizard/./node_modules/vue-material-design-icons/Play.vue?6342","webpack:///firstrunwizard/node_modules/vue-material-design-icons/Play.vue?vue&type=template&id=4d9eb9d0&","webpack:///firstrunwizard/node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack:///firstrunwizard/node_modules/vue/dist/vue.runtime.esm.js","webpack:///firstrunwizard/node_modules/which-typed-array/index.js","webpack:///firstrunwizard/webpack/bootstrap","webpack:///firstrunwizard/webpack/runtime/compat get default export","webpack:///firstrunwizard/webpack/runtime/define property getters","webpack:///firstrunwizard/webpack/runtime/global","webpack:///firstrunwizard/webpack/runtime/hasOwnProperty shorthand","webpack:///firstrunwizard/webpack/runtime/make namespace object","webpack:///firstrunwizard/webpack/runtime/node module decorator","webpack:///firstrunwizard/webpack/runtime/publicPath","webpack:///firstrunwizard/src/components/IntroVideo.vue","webpack:///firstrunwizard/src/components/IntroVideo.vue?vue&type=script&lang=js&","webpack://firstrunwizard/./src/components/IntroVideo.vue?fbfe","webpack://firstrunwizard/./src/components/IntroVideo.vue?a94f","webpack:///firstrunwizard/src/components/IntroVideo.vue?vue&type=template&id=70de3a6e&scoped=true&","webpack:///firstrunwizard/src/App.vue","webpack:///firstrunwizard/src/App.vue?vue&type=script&lang=js&","webpack://firstrunwizard/./src/App.vue?e404","webpack://firstrunwizard/./src/App.vue?9bb9","webpack://firstrunwizard/./src/App.vue?f581","webpack:///firstrunwizard/src/App.vue?vue&type=template&id=e75b1dfa&scoped=true&","webpack:///firstrunwizard/src/main.js"],"names":["Object","defineProperty","exports","value","enumerable","get","_requesttoken","getRequestToken","onRequestTokenUpdate","_user","getCurrentUser","token","observer","observers","push","_eventBus","tokenElement","document","getElementsByTagName","getAttribute","subscribe","e","forEach","console","error","uid","displayName","isAdmin","uidElement","displayNameElement","OC","isUserAdmin","obj","_getRequestToken","_axios","__esModule","default","_auth","client","create","headers","requesttoken","cancelableClient","assign","CancelToken","isCancel","defaults","_default","ProxyBus","_valid","_interopRequireDefault","_major","_defineProperties","target","props","i","length","descriptor","configurable","writable","key","packageJson","bus","instance","Constructor","TypeError","_classCallCheck","this","getVersion","warn","protoProps","staticProps","name","handler","unsubscribe","event","emit","prototype","SimpleBus","Map","handlers","set","concat","filter","h","_ProxyBus","_SimpleBus","window","_nc_event_bus","getGettextBuilder","GettextBuilder","_nodeGettext","_","_createClass","translations","debug","language","locale","setLanguage","getLanguage","replace","data","GettextWrapper","gt","sourceLocale","addTranslations","setLocale","translated","vars","a","b","r","toString","original","placeholders","arguments","undefined","subtitudePlaceholders","gettext","singular","plural","count","ngettext","getLocale","getCanonicalLocale","translate","app","text","options","L10N","translatePlural","textSingular","textPlural","getFirstDay","firstDay","getDayNames","dayNames","getDayNamesShort","dayNamesShort","getDayNamesMin","dayNamesMin","getMonthNames","monthNames","getMonthNamesShort","monthNamesShort","url","params","allOptions","escape","noRewrite","_build","encodeURIComponent","charAt","config","modRewriteWorking","getRootUrl","generateFilePath","type","file","isCore","coreApps","indexOf","link","substring","appswebroots","encodeURI","webroot","module","t","n","l","call","m","c","d","o","Symbol","toStringTag","bind","hasOwnProperty","p","s","Array","isArray","iterator","next","done","return","slice","constructor","from","test","btoa","unescape","JSON","stringify","sources","map","sourceRoot","join","Boolean","all","atob","querySelector","HTMLIFrameElement","contentDocument","head","identifier","base","u","css","media","sourceMap","references","updater","A","createElement","attributes","nonce","nc","keys","setAttribute","insert","Error","appendChild","styleSheet","cssText","createTextNode","childNodes","removeChild","insertBefore","removeAttribute","firstChild","g","singleton","parentNode","splice","render","staticRenderFns","_compiled","functional","_scopeId","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","beforeCreate","detectLocale","Actions","Activities","Choose","Close","Custom","Flags","Global","Next","Objects","Previous","Search","Settings","Submit","Symbols","pluralId","msgid","msgid_plural","msgstr","addTranslation","build","version","names","mappings","sourcesContent","locals","VTooltip","defaultTemplate","defaultHtml","defaultDelay","show","hide","components","VPopover","mounted","$watch","$refs","popover","isOpen","$emit","$createElement","_self","_c","_g","_b","ref","attrs","scopedSlots","_u","fn","_t","proxy","$attrs","$listeners","Math","random","substr","before","$slots","trim","util","$destroy","$el","remove","beforeUpdate","getText","computed","isLongText","methods","$parent","mixins","icon","String","title","closeAfterClick","ariaLabel","isIconUrl","URL","onClick","closeMenu","getOwnPropertySymbols","getOwnPropertyDescriptor","apply","getOwnPropertyDescriptors","defineProperties","directives","tooltip","DotsHorizontal","Popover","VNodes","vnodes","open","forceMenu","forceTitle","menuTitle","primary","defaultIcon","placement","boundariesElement","Element","container","disabled","actions","opened","focusIndex","randomId","children","$children","hasMultipleActions","isValidSingleAction","firstActionElement","singleActionTitle","isDisabled","firstAction","$props","firstActionVNode","firstActionBinding","componentOptions","tag","is","href","to","exact","firstActionEvent","listeners","click","firstActionEventBinding","firstActionIconSlot","firstActionClass","staticClass","class","iconSlotIsPopulated","watch","beforeMount","initActions","openMenu","menuButton","focus","onOpen","$nextTick","focusFirstAction","onMouseFocusAction","activeElement","closest","menu","querySelectorAll","focusAction","removeCurrentActive","classList","focusPreviousAction","preventIfEvent","focusNextAction","focusLastAction","preventDefault","stopPropagation","execFirstAction","onFocus","onBlur","v","C","f","y","k","rawName","expression","modifiers","auto","rel","on","_d","blur","_v","_s","hidden","delay","size","decorative","_e","tabindex","keydown","_k","keyCode","ctrlKey","shiftKey","altKey","metaKey","mousemove","id","isFocusable","focusable","style","backgroundImage","domProps","textContent","start","Date","setTimeout","pause","clearTimeout","clear","getTimeLeft","getStateRunning","ActionButton","ChevronLeft","ChevronRight","Pause","Play","hasPrevious","hasNext","outTransition","enableSlideshow","clearViewDelay","Number","slideshowDelay","slideshowPaused","enableSwipe","spreadNavigation","validator","includes","canClose","dark","mc","showModal","clearView","clearViewTimeout","playing","slideshowTimeout","iconSize","modalTransitionName","playPauseTitle","cssVariables","addEventListener","handleKeydown","beforeDestroy","removeEventListener","off","destroy","handleMouseMove","mask","handleSwipe","body","lastChild","destroyed","previous","resetSlideshow","close","togglePlayPause","handleSlideshow","clearSlideshowTimeout","B","w","S","x","j","N","z","P","touchmove","invisible","height","width","stroke","fill","cx","cy","mousedown","currentTarget","possibleNames","globalThis","out","utils","settle","cookies","buildURL","buildFullPath","parseHeaders","isURLSameOrigin","createError","Cancel","Promise","resolve","reject","onCanceled","requestData","requestHeaders","responseType","cancelToken","signal","isFormData","request","XMLHttpRequest","auth","username","password","Authorization","fullPath","baseURL","onloadend","responseHeaders","getAllResponseHeaders","response","responseText","status","statusText","err","method","toUpperCase","paramsSerializer","timeout","onreadystatechange","readyState","responseURL","onabort","onerror","ontimeout","timeoutErrorMessage","transitional","clarifyTimeoutError","isStandardBrowserEnv","xsrfValue","withCredentials","xsrfCookieName","read","xsrfHeaderName","val","toLowerCase","setRequestHeader","isUndefined","onDownloadProgress","onUploadProgress","upload","cancel","abort","aborted","send","Axios","mergeConfig","axios","createInstance","defaultConfig","context","extend","instanceConfig","VERSION","promises","spread","isAxiosError","message","__CANCEL__","executor","resolvePromise","promise","then","_listeners","onfulfilled","_resolve","reason","throwIfRequested","listener","index","source","InterceptorManager","dispatchRequest","validators","interceptors","assertOptions","silentJSONParsing","boolean","forcedJSONParsing","requestInterceptorChain","synchronousRequestInterceptors","interceptor","runWhen","synchronous","unshift","fulfilled","rejected","responseInterceptorChain","chain","shift","newConfig","onFulfilled","onRejected","getUri","use","eject","isAbsoluteURL","combineURLs","requestedURL","enhanceError","code","transformData","throwIfCancellationRequested","transformRequest","merge","common","adapter","transformResponse","toJSON","description","number","fileName","lineNumber","columnNumber","stack","config1","config2","getMergedValue","isPlainObject","mergeDeepProperties","prop","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","configValue","validateStatus","fns","normalizeHeaderName","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","process","isArrayBuffer","isBuffer","isStream","isFile","isBlob","isArrayBufferView","buffer","isURLSearchParams","isObject","rawValue","parser","encoder","isString","parse","stringifySafely","strictJSONParsing","maxContentLength","maxBodyLength","thisArg","args","encode","serializedParams","parts","isDate","toISOString","hashmarkIndex","relativeURL","write","expires","path","domain","secure","cookie","isNumber","toGMTString","match","RegExp","decodeURIComponent","now","payload","originURL","msie","navigator","userAgent","urlParsingNode","resolveURL","protocol","host","search","hash","hostname","port","pathname","location","requestURL","parsed","normalizedName","ignoreDuplicateOf","split","line","callback","arr","thing","deprecatedWarnings","formatMessage","opt","desc","opts","schema","allowUnknown","result","getPrototypeOf","isFunction","FormData","ArrayBuffer","isView","pipe","URLSearchParams","product","assignValue","str","stripBOM","content","charCodeAt","GetIntrinsic","callBind","$indexOf","allowMissing","intrinsic","$apply","$call","$reflectApply","$gOPD","$defineProperty","$max","originalFunction","func","applyBind","assert","getTime","times","functions","log","label","time","duration","format","object","inspect","ok","tuple","it","wellKnownSymbol","definePropertyModule","UNSCOPABLES","ArrayPrototype","unicode","$forEach","arrayMethodIsStrict","arrayMethodUsesToLength","STRICT_METHOD","USES_TO_LENGTH","callbackfn","toIndexedObject","toLength","toAbsoluteIndex","createMethod","IS_INCLUDES","$this","el","fromIndex","O","IndexedObject","toObject","arraySpeciesCreate","TYPE","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","that","specificCreate","self","boundFunction","some","every","find","findIndex","fails","V8_VERSION","SPECIES","METHOD_NAME","array","foo","argument","DESCRIPTORS","has","cache","thrower","ACCESSORS","argument0","argument1","originalArray","anObject","ENTRIES","returnMethod","ITERATOR","SAFE_CLOSING","called","iteratorWithReturn","exec","SKIP_CLOSING","ITERATION_SUPPORT","TO_STRING_TAG_SUPPORT","classofRaw","TO_STRING_TAG","CORRECT_ARGUMENTS","tryGet","callee","redefineAll","anInstance","iterate","defineIterator","setSpecies","fastKey","InternalStateModule","setInternalState","internalStateGetterFor","getterFor","getConstructor","wrapper","CONSTRUCTOR_NAME","ADDER","iterable","first","last","getInternalState","define","state","entry","getEntry","removed","prev","setStrong","ITERATOR_NAME","getInternalCollectionState","getInternalIteratorState","iterated","kind","$","global","isForced","redefine","InternalMetadataModule","checkCorrectnessOfIteration","setToStringTag","inheritIfRequired","IS_WEAK","NativeConstructor","NativePrototype","exported","fixMethod","KEY","nativeMethod","entries","REQUIRED","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","dummy","forced","ownKeys","getOwnPropertyDescriptorModule","F","IteratorPrototype","createPropertyDescriptor","Iterators","returnThis","IteratorConstructor","NAME","bitmap","toPrimitive","propertyKey","createIteratorConstructor","setPrototypeOf","createNonEnumerableProperty","IS_PURE","IteratorsCore","BUGGY_SAFARI_ITERATORS","KEYS","VALUES","Iterable","DEFAULT","IS_SET","FORCED","CurrentIteratorPrototype","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","values","proto","EXISTS","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","getBuiltIn","versions","v8","setGlobal","copyConstructorProperties","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","stat","noTargetGet","sham","regexpExec","REPLACE_SUPPORTS_NAMED_GROUPS","re","groups","REPLACE_KEEPS_$0","REPLACE","REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","SYMBOL","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","flags","nativeRegExpMethod","regexp","arg2","forceStringMethod","stringMethod","regexMethod","string","arg","isExtensible","preventExtensions","aFunction","variable","namespace","classof","check","Function","propertyIsEnumerable","Wrapper","NewTarget","NewTargetPrototype","store","functionToString","inspectSource","hiddenKeys","FREEZING","METADATA","setMetadata","objectID","weakData","meta","getWeakData","onFreeze","NATIVE_WEAK_MAP","objectHas","sharedKey","WeakMap","wmget","wmhas","wmset","metadata","STATE","enforce","replacement","feature","detection","normalize","POLYFILL","NATIVE","isArrayIteratorMethod","getIteratorMethod","callWithSafeIterationClosing","Result","stopped","AS_ENTRIES","IS_ITERATOR","iterFn","step","stop","PrototypeOfArrayIteratorPrototype","arrayIterator","objectKeys","getOwnPropertySymbolsModule","propertyIsEnumerableModule","nativeAssign","symbol","alphabet","chr","T","argumentsLength","activeXDocument","enumBugKeys","html","documentCreateElement","IE_PROTO","EmptyConstructor","scriptTag","LT","NullProtoObject","ActiveXObject","iframeDocument","iframe","temp","parentWindow","NullProtoObjectViaActiveX","display","src","contentWindow","Properties","IE8_DOM_DEFINE","nativeDefineProperty","Attributes","nativeGetOwnPropertyDescriptor","internalObjectKeys","getOwnPropertyNames","CORRECT_PROTOTYPE_GETTER","ObjectPrototype","nativePropertyIsEnumerable","NASHORN_BUG","V","aPossiblePrototype","setter","CORRECT_SETTER","__proto__","getOwnPropertyNamesModule","enforceInternalState","TEMPLATE","unsafe","simple","R","re1","re2","regexpFlags","stickyHelpers","nativeExec","nativeReplace","patchedExec","UPDATES_LAST_INDEX_WRONG","lastIndex","UNSUPPORTED_Y","BROKEN_CARET","NPCG_INCLUDED","reCopy","sticky","charsAdded","strCopy","multiline","input","ignoreCase","dotAll","RE","TAG","shared","SHARED","mode","copyright","toInteger","requireObjectCoercible","CONVERT_TO_STRING","pos","second","position","codeAt","max","min","integer","ceil","floor","isNaN","PREFERRED_STRING","valueOf","postfix","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","createProperty","arrayMethodHasSpeciesSupport","IS_CONCAT_SPREADABLE","MAX_SAFE_INTEGER","MAXIMUM_ALLOWED_INDEX_EXCEEDED","IS_CONCAT_SPREADABLE_SUPPORT","SPECIES_SUPPORT","isConcatSpreadable","spreadable","len","E","$filter","HAS_SPECIES_SUPPORT","nativeIndexOf","NEGATIVE_ZERO","searchElement","addToUnscopables","ARRAY_ITERATOR","Arguments","collection","collectionStrong","init","TO_STRING","RegExpPrototype","nativeToString","NOT_GENERIC","INCORRECT_NAME","rf","STRING_ITERATOR","point","fixRegExpWellKnownSymbolLogic","advanceStringIndex","regExpExec","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","maybeCallNative","UNSAFE_SUBSTITUTE","searchValue","replaceValue","replacer","res","rx","functionalReplace","fullUnicode","results","accumulatedResult","nextSourcePosition","matched","captures","namedCaptures","replacerArgs","getSubstitution","tailPos","symbols","ch","capture","DOMIterables","COLLECTION_NAME","Collection","CollectionPrototype","ArrayIteratorMethods","ArrayValues","___CSS_LOADER_EXPORT___","cssWithMappingToString","list","item","needLayer","modules","dedupe","supports","layer","alreadyImportedModules","cssMapping","base64","sourceMapping","sourceURLs","hasSymbols","toStr","origDefineProperty","supportsDescriptors","arePropertyDescriptorsSupported","predicate","predicates","firstSource","nextSource","keysArray","nextIndex","nextKey","polyfill","hasOwn","ctx","ERROR_MESSAGE","funcType","bound","binder","boundLength","boundArgs","Empty","implementation","$SyntaxError","SyntaxError","$Function","$TypeError","getEvalledConstructor","expressionSyntax","throwTypeError","ThrowTypeError","calleeThrows","gOPDthrows","getProto","needsEval","TypedArray","Uint8Array","INTRINSICS","AggregateError","Atomics","BigInt","DataView","decodeURI","eval","EvalError","Float32Array","Float64Array","FinalizationRegistry","Int8Array","Int16Array","Int32Array","isFinite","parseFloat","parseInt","Proxy","RangeError","ReferenceError","Reflect","Set","SharedArrayBuffer","Uint8ClampedArray","Uint16Array","Uint32Array","URIError","WeakRef","WeakSet","doEval","gen","LEGACY_ALIASES","$concat","$spliceApply","$replace","$strSlice","rePropName","reEscapeChar","stringToPath","quote","subString","getBaseIntrinsic","alias","intrinsicName","intrinsicBaseName","intrinsicRealName","skipFurtherCaching","isOwn","part","exportName","VENDOR_PREFIXES","TEST_ELEMENT","round","abs","setTimeoutContext","bindFn","invokeArrayArg","each","deprecate","deprecationMessage","output","dest","inherit","child","properties","childP","baseP","_super","boolOrFn","ifUndefined","val1","val2","addEventListeners","types","splitStr","removeEventListeners","hasParent","node","inStr","inArray","findByKey","toArray","uniqueArray","sort","prefixed","property","prefix","camelProp","_uniqueId","getWindowForElement","element","doc","ownerDocument","defaultView","SUPPORT_TOUCH","SUPPORT_POINTER_EVENTS","SUPPORT_ONLY_TOUCH","INPUT_TYPE_TOUCH","INPUT_TYPE_MOUSE","DIRECTION_VERTICAL","DIRECTION_UP","PROPS_XY","PROPS_CLIENT_XY","Input","manager","inputTarget","domHandler","ev","enable","inputHandler","eventType","pointersLen","pointers","changedPointersLen","changedPointers","isFirst","isFinal","session","pointersLength","firstInput","simpleCloneInputData","firstMultiple","offsetCenter","center","getCenter","timeStamp","deltaTime","angle","getAngle","distance","getDistance","offset","offsetDelta","prevDelta","prevInput","deltaX","deltaY","computeDeltaXY","offsetDirection","getDirection","overallVelocity","getVelocity","overallVelocityX","overallVelocityY","scale","end","rotation","getRotation","maxPointers","velocity","velocityX","velocityY","direction","lastInterval","computeIntervalInputData","srcEvent","computeInputData","recognize","clientX","clientY","p1","p2","sqrt","atan2","PI","evEl","evTarget","evWin","MOUSE_INPUT_MAP","mouseup","MOUSE_ELEMENT_EVENTS","MOUSE_WINDOW_EVENTS","MouseInput","pressed","button","which","pointerType","POINTER_INPUT_MAP","pointerdown","pointermove","pointerup","pointercancel","pointerout","IE10_POINTER_TYPE_ENUM","POINTER_ELEMENT_EVENTS","POINTER_WINDOW_EVENTS","PointerEventInput","pointerEvents","MSPointerEvent","PointerEvent","removePointer","eventTypeNormalized","isTouch","storeIndex","pointerId","SINGLE_TOUCH_INPUT_MAP","touchstart","touchend","touchcancel","SINGLE_TOUCH_TARGET_EVENTS","SINGLE_TOUCH_WINDOW_EVENTS","SingleTouchInput","started","normalizeSingleTouches","touches","changed","changedTouches","TOUCH_INPUT_MAP","TOUCH_TARGET_EVENTS","TouchInput","targetIds","getTouches","allTouches","targetTouches","changedTargetTouches","touch","TouchMouseInput","mouse","primaryTouch","lastTouches","recordTouches","eventData","setLastTouch","lastTouch","lts","isSyntheticEvent","dx","dy","inputEvent","inputData","isMouse","sourceCapabilities","firesTouchEvents","PREFIXED_TOUCH_ACTION","NATIVE_TOUCH_ACTION","TOUCH_ACTION_COMPUTE","TOUCH_ACTION_AUTO","TOUCH_ACTION_MANIPULATION","TOUCH_ACTION_NONE","TOUCH_ACTION_PAN_X","TOUCH_ACTION_PAN_Y","TOUCH_ACTION_MAP","touchMap","cssSupports","CSS","getTouchActionProps","TouchAction","compute","update","touchAction","recognizers","recognizer","getTouchAction","hasPanX","hasPanY","cleanTouchActions","preventDefaults","prevented","hasNone","isTapPointer","isTapMovement","isTapTouchTime","DIRECTION_LEFT","preventSrc","STATE_FAILED","Recognizer","simultaneous","requireFail","stateStr","directionStr","getRecognizerByNameIfManager","otherRecognizer","AttrRecognizer","PanRecognizer","pX","pY","PinchRecognizer","PressRecognizer","_timer","_input","RotateRecognizer","SwipeRecognizer","TapRecognizer","pTime","pCenter","Hammer","preset","Manager","recognizeWith","dropRecognizeWith","requireFailure","dropRequireFailure","hasRequireFailures","canRecognizeWith","additionalEvent","tryEmit","canEmit","inputDataClone","reset","attrTest","optionPointers","isRecognized","isValid","threshold","DIRECTION_HORIZONTAL","directionTest","hasMoved","inOut","validPointers","validMovement","validTime","taps","interval","posThreshold","validTouchTime","failTimeout","validInterval","validMultiTap","tapCount","domEvents","inputClass","cssProps","userSelect","touchSelect","touchCallout","contentZooming","userDrag","tapHighlightColor","oldCssProps","toggleCssProps","force","curRecognizer","existing","events","gestureEvent","createEvent","initEvent","gesture","dispatchEvent","triggerDomEvent","INPUT_START","INPUT_MOVE","INPUT_END","INPUT_CANCEL","STATE_POSSIBLE","STATE_BEGAN","STATE_CHANGED","STATE_ENDED","STATE_RECOGNIZED","STATE_CANCELLED","DIRECTION_NONE","DIRECTION_RIGHT","DIRECTION_DOWN","DIRECTION_ALL","Tap","Pan","Swipe","Pinch","Rotate","Press","origSymbol","hasSymbolSham","sym","symObj","syms","hasToStringTag","$toString","callBound","isStandardArguments","isLegacyArguments","supportsStandardArguments","GeneratorFunction","fnToStr","isFnRegex","generatorFunc","getGeneratorFunc","getPolyfill","shim","NaN","availableTypedArrays","typedArrays","$slice","toStrTags","gOPD","typedArray","superProto","anyTrue","getter","tryTypedArrays","HASH_UNDEFINED","funcTag","genTag","reIsDeepProp","reIsPlainProp","reLeadingDot","reIsHostCtor","freeGlobal","freeSelf","root","arrayProto","funcProto","objectProto","coreJsData","maskSrcKey","funcToString","objectToString","reIsNative","getNative","nativeCreate","symbolProto","symbolToString","Hash","ListCache","MapCache","assocIndexOf","other","baseGet","isSymbol","isKey","toKey","baseIsNative","pattern","isHostObject","toSource","getMapData","__data__","getValue","pop","memoize","baseToString","resolver","memoized","Cache","isObjectLike","defaultValue","hashClear","hashDelete","hashGet","hashHas","hashSet","listCacheClear","listCacheDelete","listCacheGet","listCacheHas","listCacheSet","mapCacheClear","mapCacheDelete","mapCacheGet","mapCacheHas","mapCacheSet","setCacheAdd","setCacheHas","SetCache","stackClear","stackDelete","stackGet","stackHas","stackSet","Stack","resIndex","baseTimes","isArguments","isIndex","isTypedArray","inherited","isArr","isArg","isBuff","isType","skipIndexes","baseAssignValue","eq","objValue","objectCreate","baseCreate","baseFor","createBaseFor","arrayPush","keysFunc","symbolsFunc","getRawTag","symToStringTag","baseGetTag","baseIsEqualDeep","baseIsEqual","bitmask","customizer","equalArrays","equalByTag","equalObjects","getTag","argsTag","arrayTag","objectTag","equalFunc","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","isMasked","isLength","typedArrayTags","isPrototype","nativeKeys","nativeKeysIn","isProto","assignMergeValue","baseMergeDeep","keysIn","safeGet","baseMerge","srcIndex","srcValue","newValue","cloneBuffer","cloneTypedArray","copyArray","initCloneObject","isArrayLikeObject","toPlainObject","mergeFunc","stacked","isCommon","isTyped","identity","overRest","setToString","constant","baseSetToString","iteratee","arrayBuffer","byteLength","freeExports","nodeType","freeModule","Buffer","allocUnsafe","isDeep","copy","cloneArrayBuffer","byteOffset","isNew","baseRest","isIterateeCall","assigner","guard","fromRight","arraySome","cacheHas","isPartial","arrLength","othLength","arrStacked","othStacked","seen","arrValue","othValue","compared","othIndex","mapToArray","setToArray","symbolValueOf","convert","getAllKeys","objProps","objLength","objStacked","skipCtor","objCtor","othCtor","baseGetAllKeys","getSymbols","isKeyable","getPrototype","overArg","nativeObjectToString","unmasked","arrayFilter","stubArray","nativeGetSymbols","mapTag","promiseTag","setTag","weakMapTag","dataViewTag","dataViewCtorString","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","Ctor","ctorString","reIsUint","isArrayLike","freeProcess","nodeUtil","require","binding","transform","nativeMax","otherArgs","shortOut","nativeNow","lastCalled","stamp","remaining","pairs","LARGE_ARRAY_SIZE","baseIsArguments","stubFalse","objectCtorString","baseIsTypedArray","baseUnary","nodeIsTypedArray","arrayLikeKeys","baseKeys","baseKeysIn","createAssigner","copyObject","plurals","Gettext","catalogs","eventName","setTextDomain","dnpgettext","dgettext","msgidPlural","dngettext","pgettext","msgctxt","dpgettext","npgettext","translation","defaultTranslation","_getTranslation","pluralsFunc","getLanguageCode","getComment","comments","textdomain","setlocale","addTextdomain","ach","examples","sample","nplurals","pluralsText","af","ak","am","an","ar","arn","ast","ay","az","be","bg","bn","bo","br","brx","bs","ca","cgg","cs","csb","da","de","doi","dz","en","eo","es","et","eu","fa","ff","fi","fil","fo","fr","fur","fy","ga","gd","gl","gu","gun","ha","he","hi","hne","hr","hu","hy","ja","jbo","jv","ka","kk","km","kn","ko","ku","kw","ky","lb","ln","lo","lt","lv","mai","mfe","mg","mi","mk","ml","mn","mni","mnk","mr","ms","mt","my","nah","nap","nb","ne","nl","nn","no","nso","oc","or","pa","pap","pl","pms","ps","pt","rm","ro","ru","rw","sah","sat","sco","sd","se","si","sk","sl","so","son","sq","sr","su","sv","sw","ta","te","tg","th","ti","tk","tr","tt","ug","uk","ur","uz","vi","wa","wo","yo","zh","_typeof","isDeepEqual","isDeepStrictEqual","_require$codes","codes","ERR_AMBIGUOUS_ARGUMENT","ERR_INVALID_ARG_TYPE","ERR_INVALID_ARG_VALUE","ERR_INVALID_RETURN_VALUE","ERR_MISSING_ARGS","AssertionError","_require$types","isPromise","isRegExp","objectAssign","objectIs","lazyLoadComparison","comparison","warned","NO_EXCEPTION_SENTINEL","innerFail","innerOk","argLen","generatedMessage","actual","expected","operator","stackStartFn","_len","_key","fail","internalMessage","argsLen","emitWarning","errArgs","equal","notEqual","deepEqual","notDeepEqual","deepStrictEqual","notDeepStrictEqual","strictEqual","notStrictEqual","Comparison","_this","compareExceptionKey","expectedException","msg","isPrototypeOf","getActual","checkIsPromise","catch","waitForActual","promiseFn","resultPromise","expectsError","details","fnType","expectsNoError","strict","_len6","_key6","throws","_len2","_key2","rejects","_len3","_key3","doesNotThrow","_len4","_key4","doesNotReject","_len5","_key5","ifError","newErr","origStack","tmp2","tmp1","_defineProperty","_possibleConstructorReturn","_assertThisInitialized","_wrapNativeSuper","Class","_cache","_construct","_getPrototypeOf","_setPrototypeOf","isNativeReflectConstruct","construct","Parent","endsWith","this_len","blue","green","red","white","kReadableOperator","strictEqualObject","notStrictEqualObject","notIdentical","copyError","inspectValue","compact","customInspect","depth","maxArrayLength","Infinity","showHidden","breakLength","showProxy","sorted","getters","createErrDiff","lastPos","skipped","actualInspected","actualLines","expectedLines","indicator","inputLength","stderr","isTTY","columns","maxCount","repeat","maxLines","_actualLines","printedLines","skippedMsg","cur","expectedLine","actualLine","divergingLines","_Error","limit","stackTraceLimit","getColorDepth","_res","knownOperators","captureStackTrace","subClass","superClass","_inherits","custom","recurseTimes","_objectSpread","createErrorType","Base","NodeError","_Base","arg1","arg3","getMessage","oneOf","determiner","inspected","_slicedToArray","_arrayWithHoles","_arr","_n","_i","_iterableToArrayLimit","_nonIterableRest","regexFlagsSupported","arrayFromSet","arrayFromMap","objectGetOwnPropertySymbols","numberIsNaN","uncurryThis","isAnyArrayBuffer","isMap","isSet","isNativeError","isBoxedPrimitive","isNumberObject","isStringObject","isBooleanObject","isBigIntObject","isSymbolObject","isFloat32Array","isFloat64Array","isNonIndex","pow","getOwnNonIndexProperties","compare","innerDeepEqual","memos","buf1","buf2","val1Tag","keys1","keys2","keyCheck","areSimilarTypedArrays","areSimilarFloatArrays","_keys","_keys2","isEqualBoxedPrimitive","getEnumerables","iterationType","aKeys","bKeys","symbolKeysA","symbolKeysB","_symbolKeysB","val2MemoA","val2MemoB","areEq","objEquiv","delete","setHasEqualElement","memo","setValues","findLooseMatchingPrimitives","prim","setMightHaveLoosePrim","altValue","mapMightHaveLoosePrim","curB","mapHasEqualEntry","key1","item1","key2","aValues","bValues","_val","setEquiv","aEntries","_aEntries$i","item2","bEntries","_i2","_bEntries$_i","mapEquiv","keysA","ctor","superCtor","super_","TempCtor","readUInt8","isArgumentsObject","isGeneratorFunction","whichTypedArray","BigIntSupported","SymbolSupported","ObjectToString","numberValue","stringValue","booleanValue","bigIntValue","symbolValue","checkBoxedPrimitive","prototypeValueOf","isMapToString","isSetToString","isWeakMapToString","isWeakSetToString","isArrayBufferToString","working","isDataViewToString","isDataView","isUint8Array","isUint8ClampedArray","isUint16Array","isUint32Array","isInt8Array","isInt16Array","isInt32Array","isBigInt64Array","isBigUint64Array","isWeakMap","isWeakSet","SharedArrayBufferCopy","isSharedArrayBufferToString","isSharedArrayBuffer","isAsyncFunction","isMapIterator","isSetIterator","isGeneratorObject","isWebAssemblyCompiledModule","descriptors","formatRegExp","objects","isNull","noDeprecation","throwDeprecation","traceDeprecation","trace","debugs","debugEnvRegex","env","NODE_DEBUG","debugEnv","stylize","stylizeNoColor","colors","isBoolean","_extend","stylizeWithColor","formatValue","styleType","styles","ret","primitive","formatPrimitive","visibleKeys","idx","arrayToHash","isError","formatError","braces","toUTCString","formatProperty","formatArray","reduce","numLinesEst","reduceToSingleString","pad","debuglog","pid","isNullOrUndefined","isPrimitive","months","timestamp","getHours","getMinutes","getSeconds","getDate","getMonth","inherits","origin","kCustomPromisifiedSymbol","callbackifyOnRejected","cb","newReason","promisify","promiseResolve","promiseReject","callbackify","callbackified","maybeCb","nextTick","rej","keysShim","isArgs","isEnumerable","hasDontEnumBug","hasProtoEnumBug","dontEnums","equalsConstructorPrototype","excludedKeys","$applicationCache","$console","$external","$frame","$frameElement","$frames","$innerHeight","$innerWidth","$onmozfullscreenchange","$onmozfullscreenerror","$outerHeight","$outerWidth","$pageXOffset","$pageYOffset","$scrollLeft","$scrollTop","$scrollX","$scrollY","$self","$webkitIndexedDB","$webkitStorageInfo","$window","hasAutomationEqualityBug","theKeys","skipProto","skipConstructor","equalsConstructorPrototypeIfNotBuggy","origKeys","originalKeys","keysWorksWithArguments","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","run","marker","runClearTimeout","Item","noop","browser","argv","addListener","once","removeListener","removeAllListeners","prependListener","prependOnceListener","cwd","chdir","dir","umask","MAX_LENGTH","parseOptions","compareIdentifiers","SemVer","loose","includePrerelease","LOOSE","FULL","raw","major","minor","patch","prerelease","num","compareMain","comparePre","compareBuild","inc","release","er","SEMVER_SPEC_VERSION","MAX_SAFE_COMPONENT_LENGTH","numeric","anum","bnum","rcompareIdentifiers","createToken","isGlobal","NUMERICIDENTIFIER","NUMERICIDENTIFIERLOOSE","NONNUMERICIDENTIFIER","PRERELEASEIDENTIFIER","PRERELEASEIDENTIFIERLOOSE","BUILDIDENTIFIER","MAINVERSION","PRERELEASE","BUILD","FULLPLAIN","MAINVERSIONLOOSE","PRERELEASELOOSE","LOOSEPLAIN","XRANGEIDENTIFIER","XRANGEIDENTIFIERLOOSE","GTLT","XRANGEPLAIN","XRANGEPLAINLOOSE","COERCE","LONETILDE","tildeTrimReplace","LONECARET","caretTrimReplace","comparatorTrimReplace","stylesInDOM","getIndexByIdentifier","modulesToDom","idCountMap","identifiers","indexByIdentifier","addElementStyle","byIndex","api","domAPI","newObj","lastIdentifiers","newList","newLastIdentifiers","_index","styleTarget","getTarget","setAttributes","styleElement","insertStyleElement","styleTagTransform","removeStyleElement","isBrowser","timeoutDuration","longerTimeoutBrowsers","debounce","scheduled","functionToCheck","getStyleComputedProperty","getComputedStyle","getParentNode","nodeName","getScrollParent","_getStyleComputedProp","overflow","overflowX","overflowY","getReferenceNode","reference","referenceNode","isIE11","MSInputMethodContext","documentMode","isIE10","isIE","getOffsetParent","documentElement","noOffsetParent","offsetParent","nextElementSibling","getRoot","findCommonOffsetParent","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","range","createRange","setStart","setEnd","commonAncestorContainer","contains","firstElementChild","element1root","getScroll","side","upperSide","scrollingElement","includeScroll","rect","subtract","scrollTop","scrollLeft","modifier","top","bottom","left","right","getBordersSize","axis","sideA","sideB","getSize","computedStyle","getWindowSizes","classCallCheck","createClass","_extends","getClientRect","offsets","getBoundingClientRect","sizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","offsetHeight","getOffsetRectRelativeToArbitraryNode","fixedPosition","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","getViewportOffsetRectRelativeToArtbitraryNode","excludeScroll","relativeOffset","innerWidth","innerHeight","isFixed","getFixedPositionOffsetParent","parentElement","getBoundaries","popper","padding","boundaries","boundariesNode","_getWindowSizes","isPaddingNumber","getArea","_ref","computeAutoPlacement","refRect","rects","sortedAreas","area","filteredAreas","_ref2","computedPlacement","variation","getReferenceOffsets","commonOffsetParent","getOuterSizes","marginBottom","marginRight","getOppositePlacement","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","runModifiers","ends","enabled","isDestroyed","arrowStyles","flipped","positionFixed","flip","originalPlacement","isCreated","onUpdate","onCreate","isModifierEnabled","modifierName","getSupportedPropertyName","prefixes","upperProp","toCheck","willChange","disableEventListeners","removeOnDestroy","getWindow","attachToScrollParents","scrollParents","isBody","passive","setupEventListeners","updateBound","scrollElement","eventsEnabled","enableEventListeners","scheduleUpdate","cancelAnimationFrame","isNumeric","setStyles","unit","isFirefox","isModifierRequired","requestingName","requestedName","requesting","isRequired","_requesting","requested","placements","validPlacements","clockwise","counter","reverse","BEHAVIORS","parseOffset","basePlacement","useHeight","fragments","frag","divider","splitRegex","ops","op","mergeWithPrevious","toValue","index2","shiftvariation","_data$offsets","isVertical","shiftOffsets","preventOverflow","transformProp","popperStyles","priority","escapeWithReference","secondary","keepTogether","opSide","arrow","_data$offsets$arrow","arrowElement","sideCapitalized","altSide","arrowElementSize","popperMarginSide","popperBorderSide","sideValue","placementOpposite","flipOrder","behavior","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariationByRef","flipVariations","flippedVariationByContent","flipVariationsByContent","flippedVariation","getOppositeVariation","inner","subtractLength","computeStyle","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","shouldRound","noRound","referenceWidth","popperWidth","isVariation","horizontalToInteger","verticalToInteger","getRoundedOffsets","devicePixelRatio","prefixedProperty","invertTop","invertLeft","applyStyle","onLoad","modifierOptions","Defaults","Popper","requestAnimationFrame","jquery","Utils","PopperUtils","initCompat","ua","rv","edge","getInternetExplorerVersion","normalizeComponent","template","script","scopeId","isFunctionalTemplate","moduleIdentifier","shadowMode","createInjector","createInjectorSSR","createInjectorShadow","hook","originalRender","__vue_script__","emitOnMount","ignoreWidth","ignoreHeight","_w","_h","emitSize","_resizeObject","onload","addResizeHandlers","removeResizeHandlers","compareAndNotify","__vue_render__","_withStripped","__vue_component__","install","Vue","component","GlobalVue","SVGAnimatedString","convertToArray","addClasses","classes","newClasses","className","baseVal","newClass","SVGElement","removeClasses","supportsPassive","ownKeys$2","enumerableOnly","_objectSpread$2","DEFAULT_OPTIONS","trigger","openTooltips","Tooltip","_reference","_options","evt","relatedreference","toElement","relatedTarget","_tooltipNode","evt2","relatedreference2","_scheduleHide","_isOpen","_init","_show","_hide","_dispose","_classes","_setContent","classesUpdated","directive","defaultClass","setClasses","getOptions","needPopperUpdate","needRestart","dispose","popperInstance","_isDisposed","_enableDocumentTouch","_setEventListeners","$_originalTitle","_this2","tooltipGenerator","innerHTML","tooltipNode","ariaId","autoHide","_this3","asyncContent","_applyContent","_this4","allowHtml","rootNode","titleNode","innerSelector","loadingClass","loadingContent","asyncResult","innerText","_disposeTimer","updateClasses","_ensureShown","_this5","_create","_findContainer","_append","popperOptions","arrowSelector","_this6","_noLongerOpen","disposeTime","disposeTimeout","_removeTooltipNode","_this7","_events","_this8","directEvents","oppositeEvents","hideOnTargetClick","usedByTooltip","_scheduleShow","_this9","computedDelay","_scheduleTimer","_this10","_setTooltipNodeEvent","ownKeys$1","_objectSpread$1","_onDocumentTouch","positions","defaultOptions","defaultPlacement","defaultTargetClass","defaultArrowSelector","defaultInnerSelector","defaultTrigger","defaultOffset","defaultContainer","defaultBoundariesElement","defaultPopperOptions","defaultLoadingClass","defaultLoadingContent","defaultHideOnTargetClick","defaultBaseClass","defaultWrapperClass","defaultInnerClass","defaultArrowClass","defaultOpenClass","defaultAutoHide","defaultHandleResize","typeofOffset","getPlacement","getContent","createTooltip","_tooltip","_vueEl","targetClasses","_tooltipTargetClasses","destroyTooltip","_tooltipOldShow","oldValue","setContent","setOptions","unbind","addListeners","onTouchStart","removeListeners","onTouchEnd","onTouchCancel","closePopover","$_vclosepopover_touch","closeAllPopover","$_closePopoverModifiers","$_vclosepopover_touchPoint","firstTouch","screenY","screenX","vclosepopover","getDefault","isIOS","MSStream","openPopovers","ResizeObserver","popoverClass","popoverBaseClass","popoverInnerClass","popoverWrapperClass","popoverArrowClass","handleResize","openGroup","openClass","cssClass","popoverId","oldVal","popoverNode","$_findContainer","$_removeEventListeners","$_addEventListeners","$_updatePopper","deep","created","$_isDisposed","$_mounted","$_events","$_preventOpen","$_init","deactivated","skipDelay","_ref2$force","$_scheduleShow","$_beingShowed","_ref3","$_scheduleHide","$_show","$_disposeTimer","$_getOffset","$_hide","$_scheduleTimer","$_setTooltipNodeEvent","event2","_ref4","$_restartPopper","$_handleGlobalClose","$_handleResize","handleGlobalClose","_loop","_vm","staticStyle","visibility","keyup","$event","notify","installed","finalOptions","insertAt","styleInject","VClosePopover","fillColor","scriptExports","functionalTemplate","injectStyles","emptyObject","freeze","isUndef","isDef","isTrue","_toString","isValidArrayIndex","toNumber","makeMap","expectsLowerCase","isReservedAttribute","cached","camelizeRE","camelize","capitalize","hyphenateRE","hyphenate","boundFn","_length","_from","looseEqual","isObjectA","isObjectB","isArrayA","isArrayB","keysB","looseIndexOf","SSR_ATTR","ASSET_TYPES","LIFECYCLE_HOOKS","optionMergeStrategies","silent","productionTip","devtools","performance","errorHandler","warnHandler","ignoredElements","keyCodes","isReservedTag","isReservedAttr","isUnknownElement","getTagNamespace","parsePlatformTagName","mustUseProp","async","_lifecycleHooks","unicodeRegExp","isReserved","def","bailRE","_isServer","hasProto","inBrowser","inWeex","WXEnvironment","platform","weexPlatform","UA","isIE9","isEdge","isFF","nativeWatch","isServerRendering","VUE_ENV","__VUE_DEVTOOLS_GLOBAL_HOOK__","isNative","_Set","hasSymbol","Dep","subs","addSub","sub","removeSub","depend","addDep","targetStack","pushTarget","popTarget","VNode","elm","asyncFactory","ns","fnContext","fnOptions","fnScopeId","componentInstance","isStatic","isRootInsert","isComment","isCloned","isOnce","asyncMeta","isAsyncPlaceholder","prototypeAccessors","createEmptyVNode","createTextVNode","cloneVNode","vnode","cloned","arrayMethods","inserted","ob","__ob__","observeArray","dep","arrayKeys","shouldObserve","toggleObserving","Observer","vmCount","protoAugment","copyAugment","walk","observe","asRootData","_isVue","defineReactive$$1","customSetter","shallow","childOb","dependArray","newVal","del","items","strats","mergeData","toVal","fromVal","mergeDataOrFn","parentVal","childVal","vm","instanceData","defaultData","mergeHook","hooks","dedupeHooks","mergeAssets","key$1","inject","provide","defaultStrat","mergeOptions","normalizeProps","normalized","normalizeInject","dirs","def$$1","normalizeDirectives","_base","extends","mergeField","strat","resolveAsset","warnMissing","assets","camelizedId","PascalCaseId","validateProp","propOptions","propsData","absent","booleanIndex","getTypeIndex","stringIndex","_props","getType","getPropDefaultValue","prevShouldObserve","functionTypeCheckRE","isSameType","expectedTypes","handleError","info","errorCaptured","globalHandleError","invokeWithErrorHandling","_handled","logError","timerFunc","isUsingMicroTask","callbacks","pending","flushCallbacks","copies","MutationObserver","setImmediate","textNode","characterData","seenObjects","traverse","_traverse","isA","isFrozen","depId","normalizeEvent","once$$1","createFnInvoker","invoker","arguments$1","updateListeners","oldOn","remove$$1","createOnceHandler","old","mergeVNodeHook","hookKey","oldHook","wrappedHook","merged","checkProp","preserve","normalizeChildren","normalizeArrayChildren","isTextNode","nestedIndex","_isVList","resolveInject","provideKey","_provided","provideDefault","resolveSlots","slots","slot","name$1","isWhitespace","normalizeScopedSlots","normalSlots","prevSlots","hasNormalSlots","isStable","$stable","$key","_normalized","$hasNormal","normalizeScopedSlot","key$2","proxyNormalSlot","renderList","renderSlot","fallbackRender","bindObject","nodes","scopedSlotFn","$scopedSlots","resolveFilter","isKeyNotMatch","expect","checkKeyCodes","eventKeyCode","builtInKeyCode","eventKeyName","builtInKeyName","mappedKeyCode","bindObjectProps","asProp","isSync","loop","camelizedKey","hyphenatedKey","renderStatic","isInFor","_staticTrees","tree","markStatic","_renderProxy","markOnce","markStaticNode","bindObjectListeners","ours","resolveScopedSlots","hasDynamicKeys","contentHashKey","bindDynamicKeys","baseObj","prependModifier","installRenderHelpers","_o","_l","_q","_m","_f","_p","FunctionalRenderContext","contextVm","this$1","_original","isCompiled","needNormalization","injections","cloneAndMarkFunctionalResult","renderContext","clone","mergeProps","componentVNodeHooks","hydrating","_isDestroyed","keepAlive","mountedNode","prepatch","_isComponent","_parentVnode","inlineTemplate","createComponentInstanceForVnode","activeInstance","$mount","oldVnode","parentVnode","renderChildren","newScopedSlots","oldScopedSlots","hasDynamicScopedSlot","needsForceUpdate","_renderChildren","_vnode","propKeys","_propKeys","oldListeners","_parentListeners","updateComponentListeners","$forceUpdate","updateChildComponent","_isMounted","callHook","_inactive","activatedChildren","activateChildComponent","deactivateChildComponent","hooksToMerge","createComponent","baseCtor","cid","factory","errorComp","resolved","owner","currentRenderingInstance","owners","loading","loadingComp","sync","timerLoading","timerTimeout","$on","forceRender","renderCompleted","ensureCtor","resolveAsyncComponent","createAsyncPlaceholder","resolveConstructorOptions","model","transformModel","extractPropsFromVNodeData","createFunctionalComponent","nativeOn","abstract","toMerge","_merged","mergeHook$1","installComponentHooks","f1","f2","normalizationType","alwaysNormalize","simpleNormalizeChildren","pre","applyNS","registerDeepBindings","_createElement","comp","getFirstComponentChild","remove$1","$off","_target","onceHandler","setActiveInstance","prevActiveInstance","isInInactiveTree","direct","_directInactive","_hasHookEvent","waiting","flushing","currentFlushTimestamp","getNow","flushSchedulerQueue","watcher","activatedQueue","updatedQueue","callActivatedHooks","_watcher","callUpdatedHooks","uid$2","Watcher","expOrFn","isRenderWatcher","_watchers","user","lazy","active","dirty","deps","newDeps","depIds","newDepIds","segments","parsePath","cleanupDeps","tmp","queueWatcher","evaluate","teardown","_isBeingDestroyed","sharedPropertyDefinition","sourceKey","initState","propsOptions","initProps","initMethods","_data","getData","initData","watchers","_computedWatchers","isSSR","userDef","computedWatcherOptions","defineComputed","initComputed","createWatcher","initWatch","shouldCache","createComputedGetter","createGetterInvoker","uid$3","super","superOptions","modifiedOptions","modified","latest","sealed","sealedOptions","resolveModifiedOptions","extendOptions","initExtend","Super","SuperId","cachedCtors","_Ctor","Sub","Comp","initProps$1","initComputed$1","mixin","getComponentName","matches","pruneCache","keepAliveInstance","pruneCacheEntry","current","_uid","vnodeComponentOptions","_componentTag","initInternalComponent","initLifecycle","initEvents","parentData","initRender","initInjections","initProvide","initMixin","dataDef","propsDef","$set","$delete","immediate","stateMixin","hookRE","$once","i$1","cbs","eventsMixin","_update","prevEl","prevVnode","restoreActiveInstance","__patch__","__vue__","lifecycleMixin","_render","renderMixin","patternTypes","KeepAlive","include","exclude","cacheVNode","vnodeToCache","keyToCache","updated","builtInComponents","configDef","defineReactive","observable","plugin","installedPlugins","_installedPlugins","initUse","initMixin$1","definition","initAssetRegisters","initGlobalAPI","acceptValue","isEnumeratedAttr","isValidContentEditableValue","isBooleanAttr","xlinkNS","isXlink","getXlinkProp","isFalsyAttrValue","genClassForVnode","childNode","mergeClassData","dynamicClass","stringifyClass","renderClass","stringified","stringifyArray","stringifyObject","namespaceMap","svg","math","isHTMLTag","isSVG","unknownElementCache","isTextInputType","nodeOps","tagName","multiple","createElementNS","createComment","newNode","nextSibling","setTextContent","setStyleScope","registerRef","isRemoval","refs","refInFor","emptyNode","sameVnode","typeA","typeB","sameInputType","createKeyToOldIdx","beginIdx","endIdx","updateDirectives","oldDir","isCreate","isDestroy","oldDirs","normalizeDirectives$1","newDirs","dirsWithInsert","dirsWithPostpatch","oldArg","callHook$1","componentUpdated","callInsert","emptyModifiers","getRawDirName","baseModules","updateAttrs","inheritAttrs","oldAttrs","setAttr","removeAttributeNS","isInPre","baseSetAttr","convertEnumeratedValue","setAttributeNS","__ieph","blocker","stopImmediatePropagation","updateClass","oldData","cls","transitionClass","_transitionClasses","_prevClass","target$1","klass","createOnceHandler$1","remove$2","useMicrotaskFix","add$1","attachedTimestamp","_wrapper","updateDOMListeners","change","normalizeEvents","svgContainer","updateDOMProps","oldProps","_value","strCur","shouldUpdateValue","checkVal","composing","notInFocus","isNotInFocusAndDirty","_vModifiers","isDirtyWithModifiers","parseStyleText","propertyDelimiter","normalizeStyleData","normalizeStyleBinding","bindingStyle","emptyStyle","cssVarRE","importantRE","setProp","setProperty","vendorNames","capName","updateStyle","oldStaticStyle","oldStyleBinding","normalizedStyle","oldStyle","newStyle","checkChild","styleData","getStyle","whitespaceRE","addClass","removeClass","tar","resolveTransition","autoCssTransition","enterClass","enterToClass","enterActiveClass","leaveClass","leaveToClass","leaveActiveClass","hasTransition","TRANSITION","ANIMATION","transitionProp","transitionEndEvent","animationProp","animationEndEvent","ontransitionend","onwebkittransitionend","onanimationend","onwebkitanimationend","raf","nextFrame","addTransitionClass","transitionClasses","removeTransitionClass","whenTransitionEnds","expectedType","getTransitionInfo","propCount","ended","onEnd","transformRE","transitionDelays","transitionDurations","transitionTimeout","getTimeout","animationDelays","animationDurations","animationTimeout","hasTransform","delays","durations","toMs","enter","toggleDisplay","_leaveCb","cancelled","transition","_enterCb","appearClass","appearToClass","appearActiveClass","beforeEnter","afterEnter","enterCancelled","beforeAppear","appear","afterAppear","appearCancelled","transitionNode","isAppear","startClass","activeClass","toClass","beforeEnterHook","enterHook","afterEnterHook","enterCancelledHook","explicitEnterDuration","expectsCSS","userWantsControl","getHookArgumentsLength","pendingNode","_pending","isValidDuration","leave","beforeLeave","afterLeave","leaveCancelled","delayLeave","explicitLeaveDuration","performLeave","invokerFns","_enter","backend","removeNode","createElm","insertedVnodeQueue","parentElm","refElm","nested","ownerArray","isReactivated","initComponent","innerNode","activate","reactivateComponent","setScope","createChildren","invokeCreateHooks","pendingInsert","isPatchable","ref$$1","ancestor","addVnodes","startIdx","invokeDestroyHook","removeVnodes","removeAndInvokeRemoveHook","childElm","createRmCb","findIdxInOld","oldCh","patchVnode","removeOnly","hydrate","newCh","oldKeyToIdx","idxInOld","vnodeToMove","oldStartIdx","newStartIdx","oldEndIdx","oldStartVnode","oldEndVnode","newEndIdx","newStartVnode","newEndVnode","canMove","updateChildren","postpatch","invokeInsertHook","initial","isRenderedModule","inVPre","hasChildNodes","childrenMatch","fullInvoke","isInitialPatch","isRealElement","hasAttribute","oldElm","patchable","i$2","createPatchFunction","vmodel","_vOptions","setSelected","onCompositionStart","onCompositionEnd","prevOptions","curOptions","hasNoMatchingOption","actuallySetSelected","isMultiple","selected","option","selectedIndex","locateNode","transition$$1","originalDisplay","__vOriginalDisplay","platformDirectives","transitionProps","getRealChild","compOptions","extractTransitionData","placeholder","rawChild","isNotTextNode","isVShowDirective","Transition","hasParentTransition","_leaving","oldRawChild","oldChild","isSameChild","delayedLeave","moveClass","callPendingCbs","_moveCb","recordPosition","newPos","applyTranslation","oldPos","moved","WebkitTransform","transitionDuration","platformComponents","TransitionGroup","kept","prevChildren","rawChildren","transitionData","c$1","hasMove","_reflow","propertyName","_hasMove","cloneNode","attr","HTMLUnknownElement","HTMLElement","updateComponent","mountComponent","query","foundName","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","loaded","__webpack_modules__","nmd","paths","videoWebm","videoMp4","videoFallbackText","slideList","currentSlide","withIntro","oc_defaults","slogan","fadeDirection","startButtonText","__webpack_public_path__","App","OCA","FirstRunWizard"],"mappings":"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","file":"firstrunwizard-main.js?v=8b8f74c4c728762acacd","sourcesContent":["\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"getRequestToken\", {\n enumerable: true,\n get: function get() {\n return _requesttoken.getRequestToken;\n }\n});\nObject.defineProperty(exports, \"onRequestTokenUpdate\", {\n enumerable: true,\n get: function get() {\n return _requesttoken.onRequestTokenUpdate;\n }\n});\nObject.defineProperty(exports, \"getCurrentUser\", {\n enumerable: true,\n get: function get() {\n return _user.getCurrentUser;\n }\n});\n\nvar _requesttoken = require(\"./requesttoken\");\n\nvar _user = require(\"./user\");\n//# sourceMappingURL=index.js.map","\"use strict\";\n\nrequire(\"core-js/modules/es.array.for-each\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getRequestToken = getRequestToken;\nexports.onRequestTokenUpdate = onRequestTokenUpdate;\n\nvar _eventBus = require(\"@nextcloud/event-bus\");\n\nvar tokenElement = document.getElementsByTagName('head')[0];\nvar token = tokenElement ? tokenElement.getAttribute('data-requesttoken') : null;\nvar observers = [];\n\nfunction getRequestToken() {\n return token;\n}\n\nfunction onRequestTokenUpdate(observer) {\n observers.push(observer);\n} // Listen to server event and keep token in sync\n\n\n(0, _eventBus.subscribe)('csrf-token-update', function (e) {\n token = e.token;\n observers.forEach(function (observer) {\n try {\n observer(e.token);\n } catch (e) {\n console.error('error updating CSRF token observer', e);\n }\n });\n});\n//# sourceMappingURL=requesttoken.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getCurrentUser = getCurrentUser;\n/// <reference types=\"@nextcloud/typings\" />\nvar uidElement = document.getElementsByTagName('head')[0];\nvar uid = uidElement ? uidElement.getAttribute('data-user') : null;\nvar displayNameElement = document.getElementsByTagName('head')[0];\nvar displayName = displayNameElement ? displayNameElement.getAttribute('data-user-displayname') : null;\nvar isAdmin = typeof OC === 'undefined' ? false : OC.isUserAdmin();\n\nfunction getCurrentUser() {\n if (uid === null) {\n return null;\n }\n\n return {\n uid: uid,\n displayName: displayName,\n isAdmin: isAdmin\n };\n}\n//# sourceMappingURL=user.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _axios = _interopRequireDefault(require(\"axios\"));\n\nvar _auth = require(\"@nextcloud/auth\");\n\nvar _getRequestToken;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst client = _axios.default.create({\n headers: {\n requesttoken: (_getRequestToken = (0, _auth.getRequestToken)()) !== null && _getRequestToken !== void 0 ? _getRequestToken : ''\n }\n});\n\nconst cancelableClient = Object.assign(client, {\n CancelToken: _axios.default.CancelToken,\n isCancel: _axios.default.isCancel\n});\n(0, _auth.onRequestTokenUpdate)(token => client.defaults.headers.requesttoken = token);\nvar _default = cancelableClient;\nexports.default = _default;\n//# sourceMappingURL=index.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ProxyBus = void 0;\n\nvar _valid = _interopRequireDefault(require(\"semver/functions/valid\"));\n\nvar _major = _interopRequireDefault(require(\"semver/functions/major\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar packageJson = {\n name: \"@nextcloud/event-bus\",\n version: \"1.2.0\",\n description: \"\",\n main: \"dist/index.js\",\n types: \"dist/index.d.ts\",\n scripts: {\n build: \"babel ./lib --out-dir dist --extensions '.ts,.tsx' --source-maps && tsc --emitDeclarationOnly\",\n \"build:doc\": \"typedoc --excludeNotExported --mode file --out dist/doc lib/index.ts && touch dist/doc/.nojekyll\",\n \"check-types\": \"tsc\",\n dev: \"babel ./lib --out-dir dist --extensions '.ts,.tsx' --watch\",\n test: \"jest\",\n \"test:watch\": \"jest --watchAll\"\n },\n keywords: [\"nextcloud\"],\n homepage: \"https://github.com/nextcloud/nextcloud-event-bus#readme\",\n author: \"Christoph Wurst\",\n license: \"GPL-3.0-or-later\",\n repository: {\n type: \"git\",\n url: \"https://github.com/nextcloud/nextcloud-event-bus\"\n },\n dependencies: {\n \"@types/semver\": \"^7.1.0\",\n \"core-js\": \"^3.6.2\",\n semver: \"^7.3.2\"\n },\n devDependencies: {\n \"@babel/cli\": \"^7.6.0\",\n \"@babel/core\": \"^7.6.0\",\n \"@babel/plugin-proposal-class-properties\": \"^7.5.5\",\n \"@babel/preset-env\": \"^7.6.0\",\n \"@babel/preset-typescript\": \"^7.6.0\",\n \"@nextcloud/browserslist-config\": \"^1.0.0\",\n \"babel-jest\": \"^26.0.1\",\n \"babel-plugin-inline-json-import\": \"^0.3.2\",\n jest: \"^26.0.1\",\n typedoc: \"^0.17.2\",\n typescript: \"^3.6.3\"\n },\n browserslist: [\"extends @nextcloud/browserslist-config\"]\n};\n\nvar ProxyBus = /*#__PURE__*/function () {\n function ProxyBus(bus) {\n _classCallCheck(this, ProxyBus);\n\n _defineProperty(this, \"bus\", void 0);\n\n if (typeof bus.getVersion !== 'function' || !(0, _valid.default)(bus.getVersion())) {\n console.warn('Proxying an event bus with an unknown or invalid version');\n } else if ((0, _major.default)(bus.getVersion()) !== (0, _major.default)(this.getVersion())) {\n console.warn('Proxying an event bus of version ' + bus.getVersion() + ' with ' + this.getVersion());\n }\n\n this.bus = bus;\n }\n\n _createClass(ProxyBus, [{\n key: \"getVersion\",\n value: function getVersion() {\n return packageJson.version;\n }\n }, {\n key: \"subscribe\",\n value: function subscribe(name, handler) {\n this.bus.subscribe(name, handler);\n }\n }, {\n key: \"unsubscribe\",\n value: function unsubscribe(name, handler) {\n this.bus.unsubscribe(name, handler);\n }\n }, {\n key: \"emit\",\n value: function emit(name, event) {\n this.bus.emit(name, event);\n }\n }]);\n\n return ProxyBus;\n}();\n\nexports.ProxyBus = ProxyBus;\n//# sourceMappingURL=ProxyBus.js.map","\"use strict\";\n\nrequire(\"core-js/modules/es.array.concat\");\n\nrequire(\"core-js/modules/es.array.filter\");\n\nrequire(\"core-js/modules/es.array.for-each\");\n\nrequire(\"core-js/modules/es.array.iterator\");\n\nrequire(\"core-js/modules/es.map\");\n\nrequire(\"core-js/modules/es.object.to-string\");\n\nrequire(\"core-js/modules/es.string.iterator\");\n\nrequire(\"core-js/modules/web.dom-collections.for-each\");\n\nrequire(\"core-js/modules/web.dom-collections.iterator\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SimpleBus = void 0;\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar packageJson = {\n name: \"@nextcloud/event-bus\",\n version: \"1.2.0\",\n description: \"\",\n main: \"dist/index.js\",\n types: \"dist/index.d.ts\",\n scripts: {\n build: \"babel ./lib --out-dir dist --extensions '.ts,.tsx' --source-maps && tsc --emitDeclarationOnly\",\n \"build:doc\": \"typedoc --excludeNotExported --mode file --out dist/doc lib/index.ts && touch dist/doc/.nojekyll\",\n \"check-types\": \"tsc\",\n dev: \"babel ./lib --out-dir dist --extensions '.ts,.tsx' --watch\",\n test: \"jest\",\n \"test:watch\": \"jest --watchAll\"\n },\n keywords: [\"nextcloud\"],\n homepage: \"https://github.com/nextcloud/nextcloud-event-bus#readme\",\n author: \"Christoph Wurst\",\n license: \"GPL-3.0-or-later\",\n repository: {\n type: \"git\",\n url: \"https://github.com/nextcloud/nextcloud-event-bus\"\n },\n dependencies: {\n \"@types/semver\": \"^7.1.0\",\n \"core-js\": \"^3.6.2\",\n semver: \"^7.3.2\"\n },\n devDependencies: {\n \"@babel/cli\": \"^7.6.0\",\n \"@babel/core\": \"^7.6.0\",\n \"@babel/plugin-proposal-class-properties\": \"^7.5.5\",\n \"@babel/preset-env\": \"^7.6.0\",\n \"@babel/preset-typescript\": \"^7.6.0\",\n \"@nextcloud/browserslist-config\": \"^1.0.0\",\n \"babel-jest\": \"^26.0.1\",\n \"babel-plugin-inline-json-import\": \"^0.3.2\",\n jest: \"^26.0.1\",\n typedoc: \"^0.17.2\",\n typescript: \"^3.6.3\"\n },\n browserslist: [\"extends @nextcloud/browserslist-config\"]\n};\n\nvar SimpleBus = /*#__PURE__*/function () {\n function SimpleBus() {\n _classCallCheck(this, SimpleBus);\n\n _defineProperty(this, \"handlers\", new Map());\n }\n\n _createClass(SimpleBus, [{\n key: \"getVersion\",\n value: function getVersion() {\n return packageJson.version;\n }\n }, {\n key: \"subscribe\",\n value: function subscribe(name, handler) {\n this.handlers.set(name, (this.handlers.get(name) || []).concat(handler));\n }\n }, {\n key: \"unsubscribe\",\n value: function unsubscribe(name, handler) {\n this.handlers.set(name, (this.handlers.get(name) || []).filter(function (h) {\n return h != handler;\n }));\n }\n }, {\n key: \"emit\",\n value: function emit(name, event) {\n (this.handlers.get(name) || []).forEach(function (h) {\n try {\n h(event);\n } catch (e) {\n console.error('could not invoke event listener', e);\n }\n });\n }\n }]);\n\n return SimpleBus;\n}();\n\nexports.SimpleBus = SimpleBus;\n//# sourceMappingURL=SimpleBus.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.subscribe = subscribe;\nexports.unsubscribe = unsubscribe;\nexports.emit = emit;\n\nvar _ProxyBus = require(\"./ProxyBus\");\n\nvar _SimpleBus = require(\"./SimpleBus\");\n\nfunction getBus() {\n if (typeof window.OC !== 'undefined' && window.OC._eventBus && typeof window._nc_event_bus === 'undefined') {\n console.warn('found old event bus instance at OC._eventBus. Update your version!');\n window._nc_event_bus = window.OC._eventBus;\n } // Either use an existing event bus instance or create one\n\n\n if (typeof window._nc_event_bus !== 'undefined') {\n return new _ProxyBus.ProxyBus(window._nc_event_bus);\n } else {\n return window._nc_event_bus = new _SimpleBus.SimpleBus();\n }\n}\n\nvar bus = getBus();\n/**\n * Register an event listener\n *\n * @param name name of the event\n * @param handler callback invoked for every matching event emitted on the bus\n */\n\nfunction subscribe(name, handler) {\n bus.subscribe(name, handler);\n}\n/**\n * Unregister a previously registered event listener\n *\n * Note: doesn't work with anonymous functions (closures). Use method of an object or store listener function in variable.\n *\n * @param name name of the event\n * @param handler callback passed to `subscribed`\n */\n\n\nfunction unsubscribe(name, handler) {\n bus.unsubscribe(name, handler);\n}\n/**\n * Emit an event\n *\n * @param name name of the event\n * @param event event payload\n */\n\n\nfunction emit(name, event) {\n bus.emit(name, event);\n}\n//# sourceMappingURL=index.js.map","\"use strict\";\n\nrequire(\"core-js/modules/es.object.to-string\");\n\nrequire(\"core-js/modules/es.regexp.exec\");\n\nrequire(\"core-js/modules/es.regexp.to-string\");\n\nrequire(\"core-js/modules/es.string.replace\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getGettextBuilder = getGettextBuilder;\n\nvar _nodeGettext = _interopRequireDefault(require(\"node-gettext\"));\n\nvar _ = require(\".\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar GettextBuilder = /*#__PURE__*/function () {\n function GettextBuilder() {\n _classCallCheck(this, GettextBuilder);\n\n this.translations = {};\n this.debug = false;\n }\n\n _createClass(GettextBuilder, [{\n key: \"setLanguage\",\n value: function setLanguage(language) {\n this.locale = language;\n return this;\n }\n }, {\n key: \"detectLocale\",\n value: function detectLocale() {\n return this.setLanguage((0, _.getLanguage)().replace('-', '_'));\n }\n }, {\n key: \"addTranslation\",\n value: function addTranslation(language, data) {\n this.translations[language] = data;\n return this;\n }\n }, {\n key: \"enableDebugMode\",\n value: function enableDebugMode() {\n this.debug = true;\n return this;\n }\n }, {\n key: \"build\",\n value: function build() {\n return new GettextWrapper(this.locale || 'en', this.translations, this.debug);\n }\n }]);\n\n return GettextBuilder;\n}();\n\nvar GettextWrapper = /*#__PURE__*/function () {\n function GettextWrapper(locale, data, debug) {\n _classCallCheck(this, GettextWrapper);\n\n this.gt = new _nodeGettext.default({\n debug: debug,\n sourceLocale: 'en'\n });\n\n for (var key in data) {\n this.gt.addTranslations(key, 'messages', data[key]);\n }\n\n this.gt.setLocale(locale);\n }\n\n _createClass(GettextWrapper, [{\n key: \"subtitudePlaceholders\",\n value: function subtitudePlaceholders(translated, vars) {\n return translated.replace(/{([^{}]*)}/g, function (a, b) {\n var r = vars[b];\n\n if (typeof r === 'string' || typeof r === 'number') {\n return r.toString();\n } else {\n return a;\n }\n });\n }\n }, {\n key: \"gettext\",\n value: function gettext(original) {\n var placeholders = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return this.subtitudePlaceholders(this.gt.gettext(original), placeholders);\n }\n }, {\n key: \"ngettext\",\n value: function ngettext(singular, plural, count) {\n var placeholders = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n return this.subtitudePlaceholders(this.gt.ngettext(singular, plural, count).replace(/%n/g, count.toString()), placeholders);\n }\n }]);\n\n return GettextWrapper;\n}();\n\nfunction getGettextBuilder() {\n return new GettextBuilder();\n}\n//# sourceMappingURL=gettext.js.map","\"use strict\";\n\nrequire(\"core-js/modules/es.regexp.exec\");\n\nrequire(\"core-js/modules/es.string.replace\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getLocale = getLocale;\nexports.getCanonicalLocale = getCanonicalLocale;\nexports.getLanguage = getLanguage;\nexports.translate = translate;\nexports.translatePlural = translatePlural;\nexports.getFirstDay = getFirstDay;\nexports.getDayNames = getDayNames;\nexports.getDayNamesShort = getDayNamesShort;\nexports.getDayNamesMin = getDayNamesMin;\nexports.getMonthNames = getMonthNames;\nexports.getMonthNamesShort = getMonthNamesShort;\n\n/// <reference types=\"@nextcloud/typings\" />\n\n/**\n * Returns the user's locale\n */\nfunction getLocale() {\n if (typeof OC === 'undefined') {\n console.warn('No OC found');\n return 'en';\n }\n\n return OC.getLocale();\n}\n\nfunction getCanonicalLocale() {\n return getLocale().replace(/_/g, '-');\n}\n/**\n * Returns the user's language\n */\n\n\nfunction getLanguage() {\n if (typeof OC === 'undefined') {\n console.warn('No OC found');\n return 'en';\n }\n\n return OC.getLanguage();\n}\n\n/**\n * Translate a string\n *\n * @param {string} app the id of the app for which to translate the string\n * @param {string} text the string to translate\n * @param {object} vars map of placeholder key to value\n * @param {number} number to replace %n with\n * @param {object} [options] options object\n * @return {string}\n */\nfunction translate(app, text, vars, count, options) {\n if (typeof OC === 'undefined') {\n console.warn('No OC found');\n return text;\n }\n\n return OC.L10N.translate(app, text, vars, count, options);\n}\n/**\n * Translate a plural string\n *\n * @param {string} app the id of the app for which to translate the string\n * @param {string} textSingular the string to translate for exactly one object\n * @param {string} textPlural the string to translate for n objects\n * @param {number} count number to determine whether to use singular or plural\n * @param {Object} vars of placeholder key to value\n * @param {object} options options object\n * @return {string}\n */\n\n\nfunction translatePlural(app, textSingular, textPlural, count, vars, options) {\n if (typeof OC === 'undefined') {\n console.warn('No OC found');\n return textSingular;\n }\n\n return OC.L10N.translatePlural(app, textSingular, textPlural, count, vars, options);\n}\n/**\n * Get the first day of the week\n *\n * @return {number}\n */\n\n\nfunction getFirstDay() {\n if (typeof window.firstDay === 'undefined') {\n console.warn('No firstDay found');\n return 1;\n }\n\n return window.firstDay;\n}\n/**\n * Get a list of day names (full names)\n *\n * @return {string[]}\n */\n\n\nfunction getDayNames() {\n if (typeof window.dayNames === 'undefined') {\n console.warn('No dayNames found');\n return ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];\n }\n\n return window.dayNames;\n}\n/**\n * Get a list of day names (short names)\n *\n * @return {string[]}\n */\n\n\nfunction getDayNamesShort() {\n if (typeof window.dayNamesShort === 'undefined') {\n console.warn('No dayNamesShort found');\n return ['Sun.', 'Mon.', 'Tue.', 'Wed.', 'Thu.', 'Fri.', 'Sat.'];\n }\n\n return window.dayNamesShort;\n}\n/**\n * Get a list of day names (minified names)\n *\n * @return {string[]}\n */\n\n\nfunction getDayNamesMin() {\n if (typeof window.dayNamesMin === 'undefined') {\n console.warn('No dayNamesMin found');\n return ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'];\n }\n\n return window.dayNamesMin;\n}\n/**\n * Get a list of month names (full names)\n *\n * @return {string[]}\n */\n\n\nfunction getMonthNames() {\n if (typeof window.monthNames === 'undefined') {\n console.warn('No monthNames found');\n return ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];\n }\n\n return window.monthNames;\n}\n/**\n * Get a list of month names (short names)\n *\n * @return {string[]}\n */\n\n\nfunction getMonthNamesShort() {\n if (typeof window.monthNamesShort === 'undefined') {\n console.warn('No monthNamesShort found');\n return ['Jan.', 'Feb.', 'Mar.', 'Apr.', 'May.', 'Jun.', 'Jul.', 'Aug.', 'Sep.', 'Oct.', 'Nov.', 'Dec.'];\n }\n\n return window.monthNamesShort;\n}\n//# sourceMappingURL=index.js.map","\"use strict\";\n\nrequire(\"core-js/modules/es.array.index-of\");\n\nrequire(\"core-js/modules/es.object.assign\");\n\nrequire(\"core-js/modules/es.object.to-string\");\n\nrequire(\"core-js/modules/es.regexp.exec\");\n\nrequire(\"core-js/modules/es.regexp.to-string\");\n\nrequire(\"core-js/modules/es.string.replace\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getRootUrl = exports.generateFilePath = exports.imagePath = exports.generateUrl = exports.generateOcsUrl = exports.generateRemoteUrl = exports.linkTo = void 0;\n\n/// <reference types=\"@nextcloud/typings\" />\n\n/**\n * Get an absolute url to a file in an app\n *\n * @param {string} app the id of the app the file belongs to\n * @param {string} file the file path relative to the app folder\n * @return {string} Absolute URL to a file\n */\nvar linkTo = function linkTo(app, file) {\n return generateFilePath(app, '', file);\n};\n/**\n * Creates a relative url for remote use\n *\n * @param {string} service id\n * @return {string} the url\n */\n\n\nexports.linkTo = linkTo;\n\nvar linkToRemoteBase = function linkToRemoteBase(service) {\n return getRootUrl() + '/remote.php/' + service;\n};\n/**\n * @brief Creates an absolute url for remote use\n * @param {string} service id\n * @return {string} the url\n */\n\n\nvar generateRemoteUrl = function generateRemoteUrl(service) {\n return window.location.protocol + '//' + window.location.host + linkToRemoteBase(service);\n};\n/**\n * Get the base path for the given OCS API service\n *\n * @param {string} service name\n * @param {int} version OCS API version\n * @return {string} OCS API base path\n */\n\n\nexports.generateRemoteUrl = generateRemoteUrl;\n\nvar generateOcsUrl = function generateOcsUrl(service, version) {\n version = version !== 2 ? 1 : 2;\n return window.location.protocol + '//' + window.location.host + getRootUrl() + '/ocs/v' + version + '.php/' + service + '/';\n};\n\nexports.generateOcsUrl = generateOcsUrl;\n\n/**\n * Generate the absolute url for the given relative url, which can contain parameters\n *\n * Parameters will be URL encoded automatically\n *\n * @return {string} Absolute URL for the given relative URL\n */\nvar generateUrl = function generateUrl(url, params, options) {\n var allOptions = Object.assign({\n escape: true,\n noRewrite: false\n }, options || {});\n\n var _build = function _build(text, vars) {\n vars = vars || {};\n return text.replace(/{([^{}]*)}/g, function (a, b) {\n var r = vars[b];\n\n if (allOptions.escape) {\n return typeof r === 'string' || typeof r === 'number' ? encodeURIComponent(r.toString()) : encodeURIComponent(a);\n } else {\n return typeof r === 'string' || typeof r === 'number' ? r.toString() : a;\n }\n });\n };\n\n if (url.charAt(0) !== '/') {\n url = '/' + url;\n }\n\n if (OC.config.modRewriteWorking === true && !allOptions.noRewrite) {\n return getRootUrl() + _build(url, params || {});\n }\n\n return getRootUrl() + '/index.php' + _build(url, params || {});\n};\n/**\n * Get the absolute path to an image file\n * if no extension is given for the image, it will automatically decide\n * between .png and .svg based on what the browser supports\n *\n * @param {string} app the app id to which the image belongs\n * @param {string} file the name of the image file\n * @return {string}\n */\n\n\nexports.generateUrl = generateUrl;\n\nvar imagePath = function imagePath(app, file) {\n if (file.indexOf('.') === -1) {\n //if no extension is given, use svg\n return generateFilePath(app, 'img', file + '.svg');\n }\n\n return generateFilePath(app, 'img', file);\n};\n/**\n * Get the absolute url for a file in an app\n *\n * @param {string} app the id of the app\n * @param {string} type the type of the file to link to (e.g. css,img,ajax.template)\n * @param {string} file the filename\n * @return {string} Absolute URL for a file in an app\n */\n\n\nexports.imagePath = imagePath;\n\nvar generateFilePath = function generateFilePath(app, type, file) {\n var isCore = OC.coreApps.indexOf(app) !== -1;\n var link = getRootUrl();\n\n if (file.substring(file.length - 3) === 'php' && !isCore) {\n link += '/index.php/apps/' + app;\n\n if (file !== 'index.php') {\n link += '/';\n\n if (type) {\n link += encodeURI(type + '/');\n }\n\n link += file;\n }\n } else if (file.substring(file.length - 3) !== 'php' && !isCore) {\n link = OC.appswebroots[app];\n\n if (type) {\n link += '/' + type + '/';\n }\n\n if (link.substring(link.length - 1) !== '/') {\n link += '/';\n }\n\n link += file;\n } else {\n if ((app === 'settings' || app === 'core' || app === 'search') && type === 'ajax') {\n link += '/index.php/';\n } else {\n link += '/';\n }\n\n if (!isCore) {\n link += 'apps/';\n }\n\n if (app !== '') {\n app += '/';\n link += app;\n }\n\n if (type) {\n link += type + '/';\n }\n\n link += file;\n }\n\n return link;\n};\n/**\n * Return the web root path where this Nextcloud instance\n * is accessible, with a leading slash.\n * For example \"/nextcloud\".\n *\n * @return {string} web root path\n */\n\n\nexports.generateFilePath = generateFilePath;\n\nvar getRootUrl = function getRootUrl() {\n return OC.webroot;\n};\n\nexports.getRootUrl = getRootUrl;\n//# sourceMappingURL=index.js.map","!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(\"Components/Modal\",[],e):\"object\"==typeof exports?exports[\"Components/Modal\"]=e():(t.NextcloudVue=t.NextcloudVue||{},t.NextcloudVue[\"Components/Modal\"]=e())}(window,(function(){return function(t){var e={};function n(a){if(e[a])return e[a].exports;var i=e[a]={i:a,l:!1,exports:{}};return t[a].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,a){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:a})},n.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&\"object\"==typeof t&&t&&t.__esModule)return t;var a=Object.create(null);if(n.r(a),Object.defineProperty(a,\"default\",{enumerable:!0,value:t}),2&e&&\"string\"!=typeof t)for(var i in t)n.d(a,i,function(e){return t[e]}.bind(null,i));return a},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,\"a\",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p=\"/dist/\",n(n.s=108)}([function(t,e,n){\"use strict\";function a(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=t&&(\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"]);if(null==n)return;var a,i,o=[],r=!0,s=!1;try{for(n=n.call(t);!(r=(a=n.next()).done)&&(o.push(a.value),!e||o.length!==e);r=!0);}catch(t){s=!0,i=t}finally{try{r||null==n.return||n.return()}finally{if(s)throw i}}return o}(t,e)||function(t,e){if(!t)return;if(\"string\"==typeof t)return i(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===n&&t.constructor&&(n=t.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(t);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return i(t,e)}(t,e)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function i(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,a=new Array(e);n<e;n++)a[n]=t[n];return a}t.exports=function(t){var e=a(t,4),n=e[1],i=e[3];if(!i)return n;if(\"function\"==typeof btoa){var o=btoa(unescape(encodeURIComponent(JSON.stringify(i)))),r=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(o),s=\"/*# \".concat(r,\" */\"),l=i.sources.map((function(t){return\"/*# sourceURL=\".concat(i.sourceRoot||\"\").concat(t,\" */\")}));return[n].concat(l).concat([s]).join(\"\\n\")}return[n].join(\"\\n\")}},function(t,e,n){\"use strict\";t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var n=t(e);return e[2]?\"@media \".concat(e[2],\" {\").concat(n,\"}\"):n})).join(\"\")},e.i=function(t,n,a){\"string\"==typeof t&&(t=[[null,t,\"\"]]);var i={};if(a)for(var o=0;o<this.length;o++){var r=this[o][0];null!=r&&(i[r]=!0)}for(var s=0;s<t.length;s++){var l=[].concat(t[s]);a&&i[l[0]]||(n&&(l[2]?l[2]=\"\".concat(n,\" and \").concat(l[2]):l[2]=n),e.push(l))}},e}},function(t,e,n){\"use strict\";var a,i=function(){return void 0===a&&(a=Boolean(window&&document&&document.all&&!window.atob)),a},o=function(){var t={};return function(e){if(void 0===t[e]){var n=document.querySelector(e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(t){n=null}t[e]=n}return t[e]}}(),r=[];function s(t){for(var e=-1,n=0;n<r.length;n++)if(r[n].identifier===t){e=n;break}return e}function l(t,e){for(var n={},a=[],i=0;i<t.length;i++){var o=t[i],l=e.base?o[0]+e.base:o[0],c=n[l]||0,d=\"\".concat(l,\" \").concat(c);n[l]=c+1;var u=s(d),m={css:o[1],media:o[2],sourceMap:o[3]};-1!==u?(r[u].references++,r[u].updater(m)):r.push({identifier:d,updater:A(m,e),references:1}),a.push(d)}return a}function c(t){var e=document.createElement(\"style\"),a=t.attributes||{};if(void 0===a.nonce){var i=n.nc;i&&(a.nonce=i)}if(Object.keys(a).forEach((function(t){e.setAttribute(t,a[t])})),\"function\"==typeof t.insert)t.insert(e);else{var r=o(t.insert||\"head\");if(!r)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");r.appendChild(e)}return e}var d,u=(d=[],function(t,e){return d[t]=e,d.filter(Boolean).join(\"\\n\")});function m(t,e,n,a){var i=n?\"\":a.media?\"@media \".concat(a.media,\" {\").concat(a.css,\"}\"):a.css;if(t.styleSheet)t.styleSheet.cssText=u(e,i);else{var o=document.createTextNode(i),r=t.childNodes;r[e]&&t.removeChild(r[e]),r.length?t.insertBefore(o,r[e]):t.appendChild(o)}}function p(t,e,n){var a=n.css,i=n.media,o=n.sourceMap;if(i?t.setAttribute(\"media\",i):t.removeAttribute(\"media\"),o&&\"undefined\"!=typeof btoa&&(a+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(o)))),\" */\")),t.styleSheet)t.styleSheet.cssText=a;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(a))}}var h=null,g=0;function A(t,e){var n,a,i;if(e.singleton){var o=g++;n=h||(h=c(e)),a=m.bind(null,n,o,!1),i=m.bind(null,n,o,!0)}else n=c(e),a=p.bind(null,n,e),i=function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(n)};return a(t),function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap)return;a(t=e)}else i()}}t.exports=function(t,e){(e=e||{}).singleton||\"boolean\"==typeof e.singleton||(e.singleton=i());var n=l(t=t||[],e);return function(t){if(t=t||[],\"[object Array]\"===Object.prototype.toString.call(t)){for(var a=0;a<n.length;a++){var i=s(n[a]);r[i].references--}for(var o=l(t,e),c=0;c<n.length;c++){var d=s(n[c]);0===r[d].references&&(r[d].updater(),r.splice(d,1))}n=o}}}},function(t,e,n){\"use strict\";function a(t,e,n,a,i,o,r,s){var l,c=\"function\"==typeof t?t.options:t;if(e&&(c.render=e,c.staticRenderFns=n,c._compiled=!0),a&&(c.functional=!0),o&&(c._scopeId=\"data-v-\"+o),r?(l=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(r)},c._ssrRegister=l):i&&(l=s?function(){i.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:i),l)if(c.functional){c._injectStyles=l;var d=c.render;c.render=function(t,e){return l.call(e),d(t,e)}}else{var u=c.beforeCreate;c.beforeCreate=u?[].concat(u,l):[l]}return{exports:t,options:c}}n.d(e,\"a\",(function(){return a}))},function(t,e,n){\"use strict\";n.d(e,\"b\",(function(){return s})),n.d(e,\"a\",(function(){return r}));var a=n(11),i=Object(a.getGettextBuilder)().detectLocale();[{locale:\"ar\",translations:{\"{tag} (invisible)\":\"{tag} (غير مرئي)\",\"{tag} (restricted)\":\"{tag} (مقيد)\",Actions:\"الإجراءات\",Activities:\"النشاطات\",\"Animals & Nature\":\"الحيوانات والطبيعة\",\"Avatar of {displayName}\":\"صورة {displayName} الرمزية\",\"Avatar of {displayName}, {status}\":\"صورة {displayName} الرمزية، {status}\",\"Cancel changes\":\"إلغاء التغييرات\",Choose:\"إختيار\",Close:\"أغلق\",\"Close navigation\":\"إغلاق المتصفح\",\"Confirm changes\":\"تأكيد التغييرات\",Custom:\"مخصص\",\"Edit item\":\"تعديل عنصر\",\"External documentation for {title}\":\"الوثائق الخارجية لـ{title}\",Flags:\"الأعلام\",\"Food & Drink\":\"الطعام والشراب\",\"Frequently used\":\"كثيرا ما تستخدم\",Global:\"عالمي\",\"Go back to the list\":\"العودة إلى القائمة\",\"Message limit of {count} characters reached\":\"تم الوصول إلى الحد الأقصى لعدد الأحرف في الرسالة: {count} حرف\",Next:\"التالي\",\"No emoji found\":\"لم يتم العثور على أي رمز تعبيري\",\"No results\":\"ليس هناك أية نتيجة\",Objects:\"الأشياء\",\"Open navigation\":\"فتح المتصفح\",\"Pause slideshow\":\"إيقاف العرض مؤقتًا\",\"People & Body\":\"الناس والجسم\",\"Pick an emoji\":\"اختر رمزًا تعبيريًا\",\"Please select a time zone:\":\"الرجاء تحديد المنطقة الزمنية:\",Previous:\"السابق\",Search:\"بحث\",\"Search results\":\"نتائج البحث\",\"Select a tag\":\"اختر علامة\",Settings:\"الإعدادات\",\"Settings navigation\":\"إعدادات المتصفح\",\"Smileys & Emotion\":\"الوجوه و الرموز التعبيرية\",\"Start slideshow\":\"بدء العرض\",Submit:\"إرسال\",Symbols:\"الرموز\",\"Travel & Places\":\"السفر والأماكن\",\"Type to search time zone\":\"اكتب للبحث عن منطقة زمنية\",\"Unable to search the group\":\"تعذر البحث في المجموعة\",\"Undo changes\":\"التراجع عن التغييرات\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"اكتب رسالة، @ للإشارة إلى شخص ما، : للإكمال التلقائي للرموز التعبيرية ...\"}},{locale:\"br\",translations:{\"{tag} (invisible)\":\"{tag} (diwelus)\",\"{tag} (restricted)\":\"{tag} (bevennet)\",Actions:\"Oberioù\",Activities:\"Oberiantizoù\",\"Animals & Nature\":\"Loened & Natur\",Choose:\"Dibab\",Close:\"Serriñ\",Custom:\"Personelañ\",Flags:\"Bannieloù\",\"Food & Drink\":\"Boued & Evajoù\",\"Frequently used\":\"Implijet alies\",Next:\"Da heul\",\"No emoji found\":\"Emoji ebet kavet\",\"No results\":\"Disoc'h ebet\",Objects:\"Traoù\",\"Pause slideshow\":\"Arsav an diaporama\",\"People & Body\":\"Tud & Korf\",\"Pick an emoji\":\"Choaz un emoji\",Previous:\"A-raok\",Search:\"Klask\",\"Search results\":\"Disoc'hoù an enklask\",\"Select a tag\":\"Choaz ur c'hlav\",Settings:\"Arventennoù\",\"Smileys & Emotion\":\"Smileyioù & Fromoù\",\"Start slideshow\":\"Kregiñ an diaporama\",Symbols:\"Arouezioù\",\"Travel & Places\":\"Beaj & Lec'hioù\",\"Unable to search the group\":\"Dibosupl eo klask ar strollad\"}},{locale:\"ca\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restringit)\",Actions:\"Accions\",Activities:\"Activitats\",\"Animals & Nature\":\"Animals i natura\",\"Cancel changes\":\"Cancel·la els canvis\",Choose:\"Tria\",Close:\"Tanca\",\"Confirm changes\":\"Confirmeu els canvis\",Custom:\"Personalitzat\",\"External documentation for {title}\":\"Documentació externa per a {title}\",Flags:\"Marques\",\"Food & Drink\":\"Menjar i begudes\",\"Frequently used\":\"Utilitzats recentment\",\"Message limit of {count} characters reached\":\"S'ha arribat al límit de {count} caràcters per missatge\",Next:\"Següent\",\"No emoji found\":\"No s'ha trobat cap emoji\",\"No results\":\"Sense resultats\",Objects:\"Objectes\",\"Pause slideshow\":\"Atura la presentació\",\"People & Body\":\"Persones i cos\",\"Pick an emoji\":\"Trieu un emoji\",Previous:\"Anterior\",Search:\"Cerca\",\"Search results\":\"Resultats de cerca\",\"Select a tag\":\"Selecciona una etiqueta\",Settings:\"Paràmetres\",\"Settings navigation\":\"Navegació d'opcions\",\"Smileys & Emotion\":\"Cares i emocions\",\"Start slideshow\":\"Inicia la presentació\",Submit:\"Envia\",Symbols:\"Símbols\",\"Travel & Places\":\"Viatges i llocs\",\"Unable to search the group\":\"No es pot cercar el grup\",\"Write message, @ to mention someone …\":\"Escriu un missatge, @ per mencionar algú...\"}},{locale:\"cs_CZ\",translations:{\"{tag} (invisible)\":\"{tag} (neviditelné)\",\"{tag} (restricted)\":\"{tag} (omezené)\",Actions:\"Akce\",Activities:\"Aktivity\",\"Animals & Nature\":\"Zvířata a příroda\",\"Avatar of {displayName}\":\"Zástupný obrázek uživatele {displayName}\",\"Avatar of {displayName}, {status}\":\"Zástupný obrázek uživatele {displayName}, {status}\",\"Cancel changes\":\"Zrušit změny\",Choose:\"Zvolit\",Close:\"Zavřít\",\"Close navigation\":\"Zavřít navigaci\",\"Confirm changes\":\"Potvrdit změny\",Custom:\"Uživatelsky určené\",\"Edit item\":\"Upravit položku\",\"External documentation for {title}\":\"Externí dokumentace k {title}\",Flags:\"Příznaky\",\"Food & Drink\":\"Jídlo a pití\",\"Frequently used\":\"Často používané\",Global:\"Globální\",\"Go back to the list\":\"Jít zpět na seznam\",\"Message limit of {count} characters reached\":\"Dosaženo limitu počtu ({count}) znaků zprávy\",Next:\"Následující\",\"No emoji found\":\"Nenalezeno žádné emoji\",\"No results\":\"Nic nenalezeno\",Objects:\"Objekty\",\"Open navigation\":\"Otevřít navigaci\",\"Pause slideshow\":\"Pozastavit prezentaci\",\"People & Body\":\"Lidé a tělo\",\"Pick an emoji\":\"Vybrat emoji\",\"Please select a time zone:\":\"Vyberte časovou zónu:\",Previous:\"Předchozí\",Search:\"Hledat\",\"Search results\":\"Výsledky hledání\",\"Select a tag\":\"Vybrat štítek\",Settings:\"Nastavení\",\"Settings navigation\":\"Pohyb po nastavení\",\"Smileys & Emotion\":\"Úsměvy a emoce\",\"Start slideshow\":\"Spustit prezentaci\",Submit:\"Odeslat\",Symbols:\"Symboly\",\"Travel & Places\":\"Cestování a místa\",\"Type to search time zone\":\"Psaním vyhledejte časovou zónu\",\"Unable to search the group\":\"Nedaří se hledat skupinu\",\"Undo changes\":\"Vzít změny zpět\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Napište zprávu – pokud chcete někoho zmínit, napište před jeho uživatelským jménem @ (zavináč); automatické doplňování emotikonů zahájíte napsáním : (dvojtečky)…\"}},{locale:\"da\",translations:{\"{tag} (invisible)\":\"{tag} (usynlig)\",\"{tag} (restricted)\":\"{tag} (begrænset)\",Actions:\"Handlinger\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Dyr & Natur\",Choose:\"Vælg\",Close:\"Luk\",Custom:\"Brugerdefineret\",Flags:\"Flag\",\"Food & Drink\":\"Mad & Drikke\",\"Frequently used\":\"Ofte brugt\",\"Message limit of {count} characters reached\":\"Begrænsning på {count} tegn er nået\",Next:\"Videre\",\"No emoji found\":\"Ingen emoji fundet\",\"No results\":\"Ingen resultater\",Objects:\"Objekter\",\"Pause slideshow\":\"Suspender fremvisning\",\"People & Body\":\"Mennesker & Menneskekroppen\",\"Pick an emoji\":\"Vælg en emoji\",Previous:\"Forrige\",Search:\"Søg\",\"Search results\":\"Søgeresultater\",\"Select a tag\":\"Vælg et mærke\",Settings:\"Indstillinger\",\"Settings navigation\":\"Naviger i indstillinger\",\"Smileys & Emotion\":\"Smileys & Emotion\",\"Start slideshow\":\"Start fremvisning\",Symbols:\"Symboler\",\"Travel & Places\":\"Rejser & Rejsemål\",\"Unable to search the group\":\"Kan ikke søge på denne gruppe\",\"Write message, @ to mention someone …\":\"Skriv i meddelelse, @ for at nævne nogen …\"}},{locale:\"de\",translations:{\"{tag} (invisible)\":\"{tag} (unsichtbar)\",\"{tag} (restricted)\":\"{tag} (eingeschränkt)\",Actions:\"Aktionen\",Activities:\"Aktivitäten\",\"Animals & Nature\":\"Tiere & Natur\",\"Avatar of {displayName}\":\"Avatar von {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar von {displayName}, {status}\",\"Cancel changes\":\"Änderungen verwerfen\",Choose:\"Auswählen\",Close:\"Schließen\",\"Close navigation\":\"Navigation schließen\",\"Confirm changes\":\"Änderungen bestätigen\",Custom:\"Benutzerdefiniert\",\"Edit item\":\"Objekt bearbeiten\",\"External documentation for {title}\":\"Externe Dokumentation für {title}\",Flags:\"Flaggen\",\"Food & Drink\":\"Essen & Trinken\",\"Frequently used\":\"Häufig verwendet\",Global:\"Global\",\"Go back to the list\":\"Zurück zur Liste\",\"Message limit of {count} characters reached\":\"Nachrichtenlimit von {count} Zeichen erreicht\",Next:\"Weiter\",\"No emoji found\":\"Kein Emoji gefunden\",\"No results\":\"Keine Ergebnisse\",Objects:\"Gegenstände\",\"Open navigation\":\"Navigation öffnen\",\"Pause slideshow\":\"Diashow pausieren\",\"People & Body\":\"Menschen & Körper\",\"Pick an emoji\":\"Ein Emoji auswählen\",\"Please select a time zone:\":\"Bitte wählen Sie eine Zeitzone:\",Previous:\"Vorherige\",Search:\"Suche\",\"Search results\":\"Suchergebnisse\",\"Select a tag\":\"Schlagwort auswählen\",Settings:\"Einstellungen\",\"Settings navigation\":\"Einstellungen für die Navigation\",\"Smileys & Emotion\":\"Smileys & Emotionen\",\"Start slideshow\":\"Diashow starten\",Submit:\"Einreichen\",Symbols:\"Symbole\",\"Travel & Places\":\"Reisen & Orte\",\"Type to search time zone\":\"Tippen, um Zeitzone zu suchen\",\"Unable to search the group\":\"Die Gruppe konnte nicht durchsucht werden\",\"Undo changes\":\"Änderungen rückgängig machen\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Nachricht schreiben, @, um jemanden zu erwähnen, : für die automatische Vervollständigung von Emojis … \"}},{locale:\"de_DE\",translations:{\"{tag} (invisible)\":\"{tag} (unsichtbar)\",\"{tag} (restricted)\":\"{tag} (eingeschränkt)\",Actions:\"Aktionen\",Activities:\"Aktivitäten\",\"Animals & Nature\":\"Tiere & Natur\",\"Avatar of {displayName}\":\"Avatar von {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar von {displayName}, {status}\",\"Cancel changes\":\"Änderungen verwerfen\",Choose:\"Auswählen\",Close:\"Schließen\",\"Close navigation\":\"Navigation schließen\",\"Confirm changes\":\"Änderungen bestätigen\",Custom:\"Benutzerdefiniert\",\"Edit item\":\"Objekt bearbeiten\",\"External documentation for {title}\":\"Externe Dokumentation für {title}\",Flags:\"Flaggen\",\"Food & Drink\":\"Essen & Trinken\",\"Frequently used\":\"Häufig verwendet\",Global:\"Global\",\"Go back to the list\":\"Zurück zur Liste\",\"Message limit of {count} characters reached\":\"Nachrichtenlimit von {count} Zeichen erreicht\",Next:\"Weiter\",\"No emoji found\":\"Kein Emoji gefunden\",\"No results\":\"Keine Ergebnisse\",Objects:\"Objekte\",\"Open navigation\":\"Navigation öffnen\",\"Pause slideshow\":\"Diashow pausieren\",\"People & Body\":\"Menschen & Körper\",\"Pick an emoji\":\"Ein Emoji auswählen\",\"Please select a time zone:\":\"Bitte eine Zeitzone auswählen:\",Previous:\"Vorherige\",Search:\"Suche\",\"Search results\":\"Suchergebnisse\",\"Select a tag\":\"Schlagwort auswählen\",Settings:\"Einstellungen\",\"Settings navigation\":\"Einstellungen für die Navigation\",\"Smileys & Emotion\":\"Smileys & Emotionen\",\"Start slideshow\":\"Diashow starten\",Submit:\"Einreichen\",Symbols:\"Symbole\",\"Travel & Places\":\"Reisen & Orte\",\"Type to search time zone\":\"Tippen, um eine Zeitzone zu suchen\",\"Unable to search the group\":\"Die Gruppe kann nicht durchsucht werden\",\"Undo changes\":\"Änderungen rückgängig machen\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Nachricht schreiben, @, um jemanden zu erwähnen, : für die automatische Vervollständigung von Emojis …\"}},{locale:\"el\",translations:{\"{tag} (invisible)\":\"{tag} (αόρατο)\",\"{tag} (restricted)\":\"{tag} (περιορισμένο)\",Actions:\"Ενέργειες\",Activities:\"Δραστηριότητες\",\"Animals & Nature\":\"Ζώα & Φύση\",\"Avatar of {displayName}\":\"Άβαταρ του {displayName}\",\"Cancel changes\":\"Ακύρωση αλλαγών\",Choose:\"Επιλογή\",Close:\"Κλείσιμο\",\"Close navigation\":\"Κλείσιμο πλοήγησης\",\"Confirm changes\":\"Επιβεβαίωση αλλαγών\",Custom:\"Προσαρμογή\",\"Edit item\":\"Επεξεργασία\",\"External documentation for {title}\":\"Εξωτερική τεκμηρίωση για {title}\",Flags:\"Σημαίες\",\"Food & Drink\":\"Φαγητό & Ποτό\",\"Frequently used\":\"Συχνά χρησιμοποιούμενο\",Global:\"Καθολικό\",\"Go back to the list\":\"Επιστροφή στην αρχική λίστα \",\"Message limit of {count} characters reached\":\"Συμπληρώθηκε το όριο των {count} χαρακτήρων του μηνύματος\",Next:\"Επόμενο\",\"No emoji found\":\"Δεν βρέθηκε emoji\",\"No results\":\"Κανένα αποτέλεσμα\",Objects:\"Αντικείμενα\",\"Open navigation\":\"Άνοιγμα πλοήγησης\",\"Pause slideshow\":\"Παύση προβολής διαφανειών\",\"People & Body\":\"Άνθρωποι & Σώμα\",\"Pick an emoji\":\"Επιλέξτε ένα emoji\",\"Please select a time zone:\":\"Παρακαλούμε επιλέξτε μια ζώνη ώρας:\",Previous:\"Προηγούμενο\",Search:\"Αναζήτηση\",\"Search results\":\"Αποτελέσματα αναζήτησης\",\"Select a tag\":\"Επιλογή ετικέτας\",Settings:\"Ρυθμίσεις\",\"Settings navigation\":\"Πλοήγηση ρυθμίσεων\",\"Smileys & Emotion\":\"Φατσούλες & Συναίσθημα\",\"Start slideshow\":\"Έναρξη προβολής διαφανειών\",Submit:\"Υποβολή\",Symbols:\"Σύμβολα\",\"Travel & Places\":\"Ταξίδια & Τοποθεσίες\",\"Type to search time zone\":\"Πληκτρολογήστε για αναζήτηση ζώνης ώρας\",\"Unable to search the group\":\"Δεν είναι δυνατή η αναζήτηση της ομάδας\",\"Undo changes\":\"Αναίρεση Αλλαγών\",\"Write message, @ to mention someone …\":\"Γράψτε ένα μήνυμα, και με το σύμβολο @, μνημονεύστε κάποιον …\"}},{locale:\"eo\",translations:{\"{tag} (invisible)\":\"{tag} (kaŝita)\",\"{tag} (restricted)\":\"{tag} (limigita)\",Actions:\"Agoj\",Activities:\"Aktiveco\",\"Animals & Nature\":\"Bestoj & Naturo\",Choose:\"Elektu\",Close:\"Fermu\",Custom:\"Propra\",Flags:\"Flagoj\",\"Food & Drink\":\"Manĝaĵo & Trinkaĵo\",\"Frequently used\":\"Ofte uzataj\",\"Message limit of {count} characters reached\":\"La limo je {count} da literoj atingita\",Next:\"Sekva\",\"No emoji found\":\"La emoĝio forestas\",\"No results\":\"La rezulto forestas\",Objects:\"Objektoj\",\"Pause slideshow\":\"Payzi bildprezenton\",\"People & Body\":\"Homoj & Korpo\",\"Pick an emoji\":\"Elekti emoĝion \",Previous:\"Antaŭa\",Search:\"Serĉi\",\"Search results\":\"Serĉrezultoj\",\"Select a tag\":\"Elektu etikedon\",Settings:\"Agordo\",\"Settings navigation\":\"Agorda navigado\",\"Smileys & Emotion\":\"Ridoj kaj Emocioj\",\"Start slideshow\":\"Komenci bildprezenton\",Symbols:\"Signoj\",\"Travel & Places\":\"Vojaĵoj & Lokoj\",\"Unable to search the group\":\"Ne eblas serĉi en la grupo\",\"Write message, @ to mention someone …\":\"Mesaĝi, uzu @ por mencii iun ...\"}},{locale:\"es\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restringido)\",Actions:\"Acciones\",Activities:\"Actividades\",\"Animals & Nature\":\"Animales y naturaleza\",\"Avatar of {displayName}\":\"Avatar de {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar de {displayName}, {status}\",\"Cancel changes\":\"Cancelar cambios\",Choose:\"Elegir\",Close:\"Cerrar\",\"Close navigation\":\"Cerrar navegación\",\"Confirm changes\":\"Confirmar cambios\",Custom:\"Personalizado\",\"Edit item\":\"Editar elemento\",\"External documentation for {title}\":\"Documentacion externa de {title}\",Flags:\"Banderas\",\"Food & Drink\":\"Comida y bebida\",\"Frequently used\":\"Usado con frecuenca\",Global:\"Global\",\"Go back to the list\":\"Volver a la lista\",\"Message limit of {count} characters reached\":\"El mensaje ha alcanzado el límite de {count} caracteres\",Next:\"Siguiente\",\"No emoji found\":\"No hay ningún emoji\",\"No results\":\" Ningún resultado\",Objects:\"Objetos\",\"Open navigation\":\"Abrir navegación\",\"Pause slideshow\":\"Pausar la presentación \",\"People & Body\":\"Personas y cuerpos\",\"Pick an emoji\":\"Elegir un emoji\",\"Please select a time zone:\":\"Por favor elige un huso de horario:\",Previous:\"Anterior\",Search:\"Buscar\",\"Search results\":\"Resultados de la búsqueda\",\"Select a tag\":\"Seleccione una etiqueta\",Settings:\"Ajustes\",\"Settings navigation\":\"Navegación por ajustes\",\"Smileys & Emotion\":\"Smileys y emoticonos\",\"Start slideshow\":\"Iniciar la presentación\",Submit:\"Enviar\",Symbols:\"Símbolos\",\"Travel & Places\":\"Viajes y lugares\",\"Type to search time zone\":\"Escribe para buscar un huso de horario\",\"Unable to search the group\":\"No es posible buscar en el grupo\",\"Undo changes\":\"Deshacer cambios\",\"Write message, @ to mention someone …\":\"Escriba un mensaje, @ para mencionar a alguien...\"}},{locale:\"eu\",translations:{\"{tag} (invisible)\":\"{tag} (ikusezina)\",\"{tag} (restricted)\":\"{tag} (mugatua)\",Actions:\"Ekintzak\",Activities:\"Jarduerak\",\"Animals & Nature\":\"Animaliak eta Natura\",\"Avatar of {displayName}\":\"{displayName}-(e)n irudia\",\"Cancel changes\":\"Ezeztatu aldaketak\",Choose:\"Aukeratu\",Close:\"Itxi\",\"Close navigation\":\"Itxi nabigazioa\",\"Confirm changes\":\"Baieztatu aldaketak\",Custom:\"Pertsonalizatua\",\"External documentation for {title}\":\"Kanpoko dokumentazioa {title}(r)entzat\",Flags:\"Banderak\",\"Food & Drink\":\"Janaria eta edariak\",\"Frequently used\":\"Askotan erabilia\",Global:\"Globala\",\"Go back to the list\":\"Bueltatu zerrendara\",\"Message limit of {count} characters reached\":\"Mezuaren {count} karaketere-limitera heldu zara\",Next:\"Hurrengoa\",\"No emoji found\":\"Ez da emojirik aurkitu\",\"No results\":\"Emaitzarik ez\",Objects:\"Objektuak\",\"Open navigation\":\"Ireki nabigazioa\",\"Pause slideshow\":\"Pausatu diaporama\",\"People & Body\":\"Jendea eta gorputza\",\"Pick an emoji\":\"Aukeratu emoji bat\",\"Please select a time zone:\":\"Mesedez hautatu ordu-zona bat:\",Previous:\"Aurrekoa\",Search:\"Bilatu\",\"Search results\":\"Bilaketa emaitzak\",\"Select a tag\":\"Hautatu etiketa bat\",Settings:\"Ezarpenak\",\"Settings navigation\":\"Nabigazio ezarpenak\",\"Smileys & Emotion\":\"Smileyak eta emozioa\",\"Start slideshow\":\"Hasi diaporama\",Submit:\"Bidali\",Symbols:\"Sinboloak\",\"Travel & Places\":\"Bidaiak eta lekuak\",\"Type to search time zone\":\"Idatzi ordu-zona bat bilatzeko\",\"Unable to search the group\":\"Ezin izan da taldea bilatu\",\"Write message, @ to mention someone …\":\"Idatzi mezua, @ norbait aipatzeko …\"}},{locale:\"fi_FI\",translations:{\"{tag} (invisible)\":\"{tag} (näkymätön)\",\"{tag} (restricted)\":\"{tag} (rajoitettu)\",Actions:\"Toiminnot\",Activities:\"Aktiviteetit\",\"Animals & Nature\":\"Eläimet & luonto\",\"Avatar of {displayName}\":\"Käyttäjän {displayName} avatar\",\"Avatar of {displayName}, {status}\":\"Käyttäjän {displayName} avatar, {status}\",\"Cancel changes\":\"Peruuta muutokset\",Choose:\"Valitse\",Close:\"Sulje\",\"Close navigation\":\"Sulje navigaatio\",\"Confirm changes\":\"Vahvista muutokset\",Custom:\"Mukautettu\",\"Edit item\":\"Muokkaa kohdetta\",\"External documentation for {title}\":\"Ulkoinen dokumentaatio kohteelle {title}\",Flags:\"Liput\",\"Food & Drink\":\"Ruoka & juoma\",\"Frequently used\":\"Usein käytetyt\",Global:\"Yleinen\",\"Go back to the list\":\"Siirry takaisin listaan\",\"Message limit of {count} characters reached\":\"Viestin merkken enimmäisimäärä {count} täynnä \",Next:\"Seuraava\",\"No emoji found\":\"Emojia ei löytynyt\",\"No results\":\"Ei tuloksia\",Objects:\"Esineet & asiat\",\"Open navigation\":\"Avaa navigaatio\",\"Pause slideshow\":\"Keskeytä diaesitys\",\"People & Body\":\"Ihmiset & keho\",\"Pick an emoji\":\"Valitse emoji\",\"Please select a time zone:\":\"Valitse aikavyöhyke:\",Previous:\"Edellinen\",Search:\"Etsi\",\"Search results\":\"Hakutulokset\",\"Select a tag\":\"Valitse tagi\",Settings:\"Asetukset\",\"Settings navigation\":\"Asetusnavigaatio\",\"Smileys & Emotion\":\"Hymiöt & tunteet\",\"Start slideshow\":\"Aloita diaesitys\",Submit:\"Lähetä\",Symbols:\"Symbolit\",\"Travel & Places\":\"Matkustus & kohteet\",\"Type to search time zone\":\"Kirjoita etsiäksesi aikavyöhyke\",\"Unable to search the group\":\"Ryhmää ei voi hakea\",\"Undo changes\":\"Kumoa muutokset\",\"Write message, @ to mention someone …\":\"Kirjoita viesti, @ mainitaksesi jonkun...\"}},{locale:\"fr\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restreint)\",Actions:\"Actions\",Activities:\"Activités\",\"Animals & Nature\":\"Animaux & Nature\",\"Avatar of {displayName}\":\"Avatar de {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar de {displayName}, {status}\",\"Cancel changes\":\"Annuler les modifications\",Choose:\"Choisir\",Close:\"Fermer\",\"Close navigation\":\"Fermer la navigation\",\"Confirm changes\":\"Confirmer les modifications\",Custom:\"Personnalisé\",\"Edit item\":\"Éditer l'élément\",\"External documentation for {title}\":\"Documentation externe pour {title}\",Flags:\"Drapeaux\",\"Food & Drink\":\"Nourriture & Boissons\",\"Frequently used\":\"Utilisés fréquemment\",Global:\"Global\",\"Go back to the list\":\"Retourner à la liste\",\"Message limit of {count} characters reached\":\"Limite de messages de {count} caractères atteinte\",Next:\"Suivant\",\"No emoji found\":\"Pas d’émoji trouvé\",\"No results\":\"Aucun résultat\",Objects:\"Objets\",\"Open navigation\":\"Ouvrir la navigation\",\"Pause slideshow\":\"Mettre le diaporama en pause\",\"People & Body\":\"Personnes & Corps\",\"Pick an emoji\":\"Choisissez un émoji\",\"Please select a time zone:\":\"Sélectionnez un fuseau horaire : \",Previous:\"Précédent\",Search:\"Chercher\",\"Search results\":\"Résultats de recherche\",\"Select a tag\":\"Sélectionnez une balise\",Settings:\"Paramètres\",\"Settings navigation\":\"Navigation dans les paramètres\",\"Smileys & Emotion\":\"Smileys & Émotions\",\"Start slideshow\":\"Démarrer le diaporama\",Submit:\"Valider\",Symbols:\"Symboles\",\"Travel & Places\":\"Voyage & Lieux\",\"Type to search time zone\":\"Saisissez les premiers lettres pour rechercher un fuseau horaire\",\"Unable to search the group\":\"Impossible de chercher le groupe\",\"Undo changes\":\"Annuler les changements\",\"Write message, @ to mention someone …\":\"Écrivez un message, @ pour mentionner quelqu'un…\"}},{locale:\"gl\",translations:{\"{tag} (invisible)\":\"{tag} (invisíbel)\",\"{tag} (restricted)\":\"{tag} (restrinxido)\",Actions:\"Accións\",Activities:\"Actividades\",\"Animals & Nature\":\"Animais e natureza\",\"Cancel changes\":\"Cancelar os cambios\",Choose:\"Escoller\",Close:\"Pechar\",\"Confirm changes\":\"Confirma os cambios\",Custom:\"Personalizado\",\"External documentation for {title}\":\"Documentación externa para {title}\",Flags:\"Bandeiras\",\"Food & Drink\":\"Comida e bebida\",\"Frequently used\":\"Usado con frecuencia\",\"Message limit of {count} characters reached\":\"Acadouse o límite de {count} caracteres por mensaxe\",Next:\"Seguinte\",\"No emoji found\":\"Non se atopou ningún «emoji»\",\"No results\":\"Sen resultados\",Objects:\"Obxectos\",\"Pause slideshow\":\"Pausar o diaporama\",\"People & Body\":\"Persoas e corpo\",\"Pick an emoji\":\"Escolla un «emoji»\",Previous:\"Anterir\",Search:\"Buscar\",\"Search results\":\"Resultados da busca\",\"Select a tag\":\"Seleccione unha etiqueta\",Settings:\"Axustes\",\"Settings navigation\":\"Navegación polos axustes\",\"Smileys & Emotion\":\"Sorrisos e emocións\",\"Start slideshow\":\"Iniciar o diaporama\",Submit:\"Enviar\",Symbols:\"Símbolos\",\"Travel & Places\":\"Viaxes e lugares\",\"Unable to search the group\":\"Non foi posíbel buscar o grupo\",\"Write message, @ to mention someone …\":\"Escriba a mensaxe, @ para mencionar a alguén…\"}},{locale:\"he\",translations:{\"{tag} (invisible)\":\"{tag} (נסתר)\",\"{tag} (restricted)\":\"{tag} (מוגבל)\",Actions:\"פעולות\",Activities:\"פעילויות\",\"Animals & Nature\":\"חיות וטבע\",Choose:\"בחירה\",Close:\"סגירה\",Custom:\"בהתאמה אישית\",Flags:\"דגלים\",\"Food & Drink\":\"מזון ומשקאות\",\"Frequently used\":\"בשימוש תדיר\",Next:\"הבא\",\"No emoji found\":\"לא נמצא אמוג׳י\",\"No results\":\"אין תוצאות\",Objects:\"חפצים\",\"Pause slideshow\":\"השהיית מצגת\",\"People & Body\":\"אנשים וגוף\",\"Pick an emoji\":\"נא לבחור אמוג׳י\",Previous:\"הקודם\",Search:\"חיפוש\",\"Search results\":\"תוצאות חיפוש\",\"Select a tag\":\"בחירת תגית\",Settings:\"הגדרות\",\"Smileys & Emotion\":\"חייכנים ורגשונים\",\"Start slideshow\":\"התחלת המצגת\",Symbols:\"סמלים\",\"Travel & Places\":\"טיולים ומקומות\",\"Unable to search the group\":\"לא ניתן לחפש בקבוצה\"}},{locale:\"hu_HU\",translations:{\"{tag} (invisible)\":\"{tag} (láthatatlan)\",\"{tag} (restricted)\":\"{tag} (korlátozott)\",Actions:\"Műveletek\",Activities:\"Tevékenységek\",\"Animals & Nature\":\"Állatok és természet\",\"Avatar of {displayName}\":\"{displayName} profilképe\",\"Cancel changes\":\"Változtatások elvetése\",Choose:\"Válassszon\",Close:\"Bezárás\",\"Confirm changes\":\"Változtatások megerősítése\",Custom:\"Egyéni\",\"External documentation for {title}\":\"Külső dokumentáció ehhez: {title}\",Flags:\"Zászló\",\"Food & Drink\":\"Étel és ital\",\"Frequently used\":\"Gyakran használt\",Global:\"Globális\",\"Message limit of {count} characters reached\":\"{count} karakteres üzenetkorlát elérve\",Next:\"Következő\",\"No emoji found\":\"Nem található emodzsi\",\"No results\":\"Nincs találat\",Objects:\"Tárgyak\",\"Pause slideshow\":\"Diavetítés szüneteltetése\",\"People & Body\":\"Emberek és test\",\"Pick an emoji\":\"Válasszon egy emodzsit\",\"Please select a time zone:\":\"Válasszon időzónát:\",Previous:\"Előző\",Search:\"Keresés\",\"Search results\":\"Találatok\",\"Select a tag\":\"Válasszon címkét\",Settings:\"Beállítások\",\"Settings navigation\":\"Navigáció a beállításokban\",\"Smileys & Emotion\":\"Mosolyok és érzelmek\",\"Start slideshow\":\"Diavetítés indítása\",Submit:\"Beküldés\",Symbols:\"Szimbólumok\",\"Travel & Places\":\"Utazás és helyek\",\"Type to search time zone\":\"Gépeljen az időzóna kereséséhez\",\"Unable to search the group\":\"A csoport nem kereshető\",\"Write message, @ to mention someone …\":\"Írjon üzenetet, @ valaki megemlítéséhez…\"}},{locale:\"is\",translations:{\"{tag} (invisible)\":\"{tag} (ósýnilegt)\",\"{tag} (restricted)\":\"{tag} (takmarkað)\",Actions:\"Aðgerðir\",Activities:\"Aðgerðir\",\"Animals & Nature\":\"Dýr og náttúra\",Choose:\"Velja\",Close:\"Loka\",Custom:\"Sérsniðið\",Flags:\"Flögg\",\"Food & Drink\":\"Matur og drykkur\",\"Frequently used\":\"Oftast notað\",Next:\"Næsta\",\"No emoji found\":\"Ekkert tjáningartákn fannst\",\"No results\":\"Engar niðurstöður\",Objects:\"Hlutir\",\"Pause slideshow\":\"Gera hlé á skyggnusýningu\",\"People & Body\":\"Fólk og líkami\",\"Pick an emoji\":\"Veldu tjáningartákn\",Previous:\"Fyrri\",Search:\"Leita\",\"Search results\":\"Leitarniðurstöður\",\"Select a tag\":\"Veldu merki\",Settings:\"Stillingar\",\"Smileys & Emotion\":\"Broskallar og tilfinningar\",\"Start slideshow\":\"Byrja skyggnusýningu\",Symbols:\"Tákn\",\"Travel & Places\":\"Staðir og ferðalög\",\"Unable to search the group\":\"Get ekki leitað í hópnum\"}},{locale:\"it\",translations:{\"{tag} (invisible)\":\"{tag} (invisibile)\",\"{tag} (restricted)\":\"{tag} (limitato)\",Actions:\"Azioni\",Activities:\"Attività\",\"Animals & Nature\":\"Animali e natura\",\"Avatar of {displayName}\":\"Avatar di {displayName}\",\"Cancel changes\":\"Annulla modifiche\",Choose:\"Scegli\",Close:\"Chiudi\",\"Confirm changes\":\"Conferma modifiche\",Custom:\"Personalizzato\",\"External documentation for {title}\":\"Documentazione esterna per {title}\",Flags:\"Bandiere\",\"Food & Drink\":\"Cibo e bevande\",\"Frequently used\":\"Usati di frequente\",\"Message limit of {count} characters reached\":\"Limite dei messaggi di {count} caratteri raggiunto\",Next:\"Successivo\",\"No emoji found\":\"Nessun emoji trovato\",\"No results\":\"Nessun risultato\",Objects:\"Oggetti\",\"Pause slideshow\":\"Presentazione in pausa\",\"People & Body\":\"Persone e corpo\",\"Pick an emoji\":\"Scegli un emoji\",Previous:\"Precedente\",Search:\"Cerca\",\"Search results\":\"Risultati di ricerca\",\"Select a tag\":\"Seleziona un'etichetta\",Settings:\"Impostazioni\",\"Settings navigation\":\"Navigazione delle impostazioni\",\"Smileys & Emotion\":\"Faccine ed emozioni\",\"Start slideshow\":\"Avvia presentazione\",Submit:\"Invia\",Symbols:\"Simboli\",\"Travel & Places\":\"Viaggi e luoghi\",\"Unable to search the group\":\"Impossibile cercare il gruppo\",\"Write message, @ to mention someone …\":\"Scrivi messaggio, @ per menzionare qualcuno…\"}},{locale:\"ja_JP\",translations:{\"{tag} (invisible)\":\"{タグ} (不可視)\",\"{tag} (restricted)\":\"{タグ} (制限付)\",Actions:\"操作\",Activities:\"アクティビティ\",\"Animals & Nature\":\"動物と自然\",\"Avatar of {displayName}\":\"{displayName} のアバター\",\"Cancel changes\":\"変更をキャンセル\",Choose:\"選択\",Close:\"閉じる\",\"Confirm changes\":\"変更を承認\",Custom:\"カスタム\",\"External documentation for {title}\":\"{title} のための添付文書\",Flags:\"国旗\",\"Food & Drink\":\"食べ物と飲み物\",\"Frequently used\":\"よく使うもの\",Global:\"全体\",\"Message limit of {count} characters reached\":\"{count} 文字のメッセージ上限に達しています\",Next:\"次\",\"No emoji found\":\"絵文字が見つかりません\",\"No results\":\"なし\",Objects:\"物\",\"Pause slideshow\":\"スライドショーを一時停止\",\"People & Body\":\"様々な人と体の部位\",\"Pick an emoji\":\"絵文字を選択\",\"Please select a time zone:\":\"タイムゾーンを選んで下さい:\",Previous:\"前\",Search:\"検索\",\"Search results\":\"検索結果\",\"Select a tag\":\"タグを選択\",Settings:\"設定\",\"Settings navigation\":\"ナビゲーション設定\",\"Smileys & Emotion\":\"感情表現\",\"Start slideshow\":\"スライドショーを開始\",Submit:\"提出\",Symbols:\"記号\",\"Travel & Places\":\"旅行と場所\",\"Type to search time zone\":\"タイムゾーン検索のため入力してください\",\"Unable to search the group\":\"グループを検索できません\",\"Write message, @ to mention someone …\":\"メッセージを記入 @をつけるとその人に通知が行きます\"}},{locale:\"lt_LT\",translations:{\"{tag} (invisible)\":\"{tag} (nematoma)\",\"{tag} (restricted)\":\"{tag} (apribota)\",Actions:\"Veiksmai\",Activities:\"Veiklos\",\"Animals & Nature\":\"Gyvūnai ir gamta\",Choose:\"Pasirinkti\",Close:\"Užverti\",Custom:\"Tinkinti\",\"External documentation for {title}\":\"Išorinė {title} dokumentacija\",Flags:\"Vėliavos\",\"Food & Drink\":\"Maistas ir gėrimai\",\"Frequently used\":\"Dažniausiai naudoti\",\"Message limit of {count} characters reached\":\"Pasiekta {count} simbolių žinutės riba\",Next:\"Kitas\",\"No emoji found\":\"Nerasta jaustukų\",\"No results\":\"Nėra rezultatų\",Objects:\"Objektai\",\"Pause slideshow\":\"Pristabdyti skaidrių rodymą\",\"People & Body\":\"Žmonės ir kūnas\",\"Pick an emoji\":\"Pasirinkti jaustuką\",Previous:\"Ankstesnis\",Search:\"Ieškoti\",\"Search results\":\"Paieškos rezultatai\",\"Select a tag\":\"Pasirinkti žymę\",Settings:\"Nustatymai\",\"Settings navigation\":\"Naršymas nustatymuose\",\"Smileys & Emotion\":\"Šypsenos ir emocijos\",\"Start slideshow\":\"Pradėti skaidrių rodymą\",Submit:\"Pateikti\",Symbols:\"Simboliai\",\"Travel & Places\":\"Kelionės ir vietos\",\"Unable to search the group\":\"Nepavyko atlikti paiešką grupėje\",\"Write message, @ to mention someone …\":\"Rašykite žinutę, naudokite @ norėdami kažką paminėti…\"}},{locale:\"lv\",translations:{\"{tag} (invisible)\":\"{tag} (neredzams)\",\"{tag} (restricted)\":\"{tag} (ierobežots)\",Choose:\"Izvēlēties\",Close:\"Aizvērt\",Next:\"Nākamais\",\"No results\":\"Nav rezultātu\",\"Pause slideshow\":\"Pauzēt slaidrādi\",Previous:\"Iepriekšējais\",\"Select a tag\":\"Izvēlēties birku\",Settings:\"Iestatījumi\",\"Start slideshow\":\"Sākt slaidrādi\"}},{locale:\"mk\",translations:{\"{tag} (invisible)\":\"{tag} (невидливо)\",\"{tag} (restricted)\":\"{tag} (ограничено)\",Actions:\"Акции\",Activities:\"Активности\",\"Animals & Nature\":\"Животни & Природа\",Choose:\"Избери\",Close:\"Затвори\",Custom:\"Прилагодени\",Flags:\"Знамиња\",\"Food & Drink\":\"Храна & Пијалоци\",\"Frequently used\":\"Најчесто користени\",\"Message limit of {count} characters reached\":\"Ограничувањето на должината на пораката од {count} карактери е надминато\",Next:\"Следно\",\"No emoji found\":\"Не се пронајдени емотикони\",\"No results\":\"Нема резултати\",Objects:\"Објекти\",\"Pause slideshow\":\"Пузирај слајдшоу\",\"People & Body\":\"Луѓе & Тело\",\"Pick an emoji\":\"Избери емотикон\",Previous:\"Предходно\",Search:\"Барај\",\"Search results\":\"Резултати од барувањето\",\"Select a tag\":\"Избери ознака\",Settings:\"Параметри\",\"Settings navigation\":\"Параметри за навигација\",\"Smileys & Emotion\":\"Смешковци & Емотикони\",\"Start slideshow\":\"Стартувај слајдшоу\",Symbols:\"Симболи\",\"Travel & Places\":\"Патувања & Места\",\"Unable to search the group\":\"Неможе да се принајде групата\",\"Write message, @ to mention someone …\":\"Напиши порака, @ за да спомнеш некој …\"}},{locale:\"my\",translations:{\"{tag} (invisible)\":\"{tag} (ကွယ်ဝှက်ထား)\",\"{tag} (restricted)\":\"{tag} (ကန့်သတ်)\",Actions:\"လုပ်ဆောင်ချက်များ\",Activities:\"ပြုလုပ်ဆောင်တာများ\",\"Animals & Nature\":\"တိရစ္ဆာန်များနှင့် သဘာဝ\",\"Avatar of {displayName}\":\"{displayName} ၏ ကိုယ်ပွား\",\"Cancel changes\":\"ပြောင်းလဲမှုများ ပယ်ဖျက်ရန်\",Choose:\"ရွေးချယ်ရန်\",Close:\"ပိတ်ရန်\",\"Confirm changes\":\"ပြောင်းလဲမှုများ အတည်ပြုရန်\",Custom:\"အလိုကျချိန်ညှိမှု\",\"External documentation for {title}\":\"{title} အတွက် ပြင်ပ စာရွက်စာတမ်း\",Flags:\"အလံများ\",\"Food & Drink\":\"အစားအသောက်\",\"Frequently used\":\"မကြာခဏအသုံးပြုသော\",Global:\"ကမ္ဘာလုံးဆိုင်ရာ\",\"Message limit of {count} characters reached\":\"ကန့်သတ် စာလုံးရေ {count} လုံး ပြည့်ပါပြီ\",Next:\"နောက်သို့ဆက်ရန်\",\"No emoji found\":\"အီမိုဂျီ ရှာဖွေမတွေ့နိုင်ပါ\",\"No results\":\"ရလဒ်မရှိပါ\",Objects:\"အရာဝတ္ထုများ\",\"Pause slideshow\":\"စလိုက်ရှိုး ခေတ္တရပ်ရန်\",\"People & Body\":\"လူပုဂ္ဂိုလ်များနှင့် ခန္ဓာကိုယ်\",\"Pick an emoji\":\"အီမိုဂျီရွေးရန်\",\"Please select a time zone:\":\"ဒေသစံတော်ချိန် ရွေးချယ်ပေးပါ\",Previous:\"ယခင်\",Search:\"ရှာဖွေရန်\",\"Search results\":\"ရှာဖွေမှု ရလဒ်များ\",\"Select a tag\":\"tag ရွေးချယ်ရန်\",Settings:\"ချိန်ညှိချက်များ\",\"Settings navigation\":\"ချိန်ညှိချက်အညွှန်း\",\"Smileys & Emotion\":\"စမိုင်လီများနှင့် အီမိုရှင်း\",\"Start slideshow\":\"စလိုက်ရှိုးအား စတင်ရန်\",Submit:\"တင်သွင်းရန်\",Symbols:\"သင်္ကေတများ\",\"Travel & Places\":\"ခရီးသွားလာခြင်းနှင့် နေရာများ\",\"Type to search time zone\":\"ဒေသစံတော်ချိန်များ ရှာဖွေရန် စာရိုက်ပါ\",\"Unable to search the group\":\"အဖွဲ့အား ရှာဖွေ၍ မရနိုင်ပါ\",\"Write message, @ to mention someone …\":\"စာရေးသားရန်၊ တစ်စုံတစ်ဦးအား @ အသုံးပြု ရည်ညွှန်းရန်...\"}},{locale:\"nb_NO\",translations:{\"{tag} (invisible)\":\"{tag} (usynlig)\",\"{tag} (restricted)\":\"{tag} (beskyttet)\",Actions:\"Handlinger\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Dyr og natur\",\"Avatar of {displayName}\":\"Avataren til {displayName}\",\"Avatar of {displayName}, {status}\":\"{displayName}'s avatar, {status}\",\"Cancel changes\":\"Avbryt endringer\",Choose:\"Velg\",Close:\"Lukk\",\"Close navigation\":\"Lukk navigasjon\",\"Confirm changes\":\"Bekreft endringer\",Custom:\"Tilpasset\",\"Edit item\":\"Rediger\",\"External documentation for {title}\":\"Ekstern dokumentasjon for {title}\",Flags:\"Flagg\",\"Food & Drink\":\"Mat og drikke\",\"Frequently used\":\"Ofte brukt\",Global:\"Global\",\"Go back to the list\":\"Gå tilbake til listen\",\"Message limit of {count} characters reached\":\"Karakter begrensing {count} nådd i melding\",Next:\"Neste\",\"No emoji found\":\"Fant ingen emoji\",\"No results\":\"Ingen resultater\",Objects:\"Objekter\",\"Open navigation\":\"Åpne navigasjon\",\"Pause slideshow\":\"Pause lysbildefremvisning\",\"People & Body\":\"Mennesker og kropp\",\"Pick an emoji\":\"Velg en emoji\",\"Please select a time zone:\":\"Vennligst velg tidssone\",Previous:\"Forrige\",Search:\"Søk\",\"Search results\":\"Søkeresultater\",\"Select a tag\":\"Velg en merkelapp\",Settings:\"Innstillinger\",\"Settings navigation\":\"Navigasjons instillinger\",\"Smileys & Emotion\":\"Smilefjes og følelser\",\"Start slideshow\":\"Start lysbildefremvisning\",Submit:\"Send\",Symbols:\"Symboler\",\"Travel & Places\":\"Reise og steder\",\"Type to search time zone\":\"Skriv for å søke etter tidssone\",\"Unable to search the group\":\"Kunne ikke søke i gruppen\",\"Undo changes\":\"Tilbakestill endringer\",\"Write message, @ to mention someone …\":\"Bruk @ for å nevne noen i en melding\"}},{locale:\"nl\",translations:{\"{tag} (invisible)\":\"{tag} (onzichtbaar)\",\"{tag} (restricted)\":\"{tag} (beperkt)\",Actions:\"Acties\",Activities:\"Activiteiten\",\"Animals & Nature\":\"Dieren & Natuur\",\"Avatar of {displayName}\":\"Avatar van {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar van {displayName}, {status}\",\"Cancel changes\":\"Wijzigingen annuleren\",Choose:\"Kies\",Close:\"Sluiten\",\"Close navigation\":\"Navigatie sluiten\",\"Confirm changes\":\"Wijzigingen bevestigen\",Custom:\"Aangepast\",\"Edit item\":\"Item bewerken\",\"External documentation for {title}\":\"Externe documentatie voor {title}\",Flags:\"Vlaggen\",\"Food & Drink\":\"Eten & Drinken\",\"Frequently used\":\"Vaak gebruikt\",Global:\"Globaal\",\"Go back to the list\":\"Ga terug naar de lijst\",\"Message limit of {count} characters reached\":\"Berichtlimiet van {count} karakters bereikt\",Next:\"Volgende\",\"No emoji found\":\"Geen emoji gevonden\",\"No results\":\"Geen resultaten\",Objects:\"Objecten\",\"Open navigation\":\"Navigatie openen\",\"Pause slideshow\":\"Pauzeer diavoorstelling\",\"People & Body\":\"Mensen & Lichaam\",\"Pick an emoji\":\"Kies een emoji\",\"Please select a time zone:\":\"Selecteer een tijdzone:\",Previous:\"Vorige\",Search:\"Zoeken\",\"Search results\":\"Zoekresultaten\",\"Select a tag\":\"Selecteer een label\",Settings:\"Instellingen\",\"Settings navigation\":\"Instellingen navigatie\",\"Smileys & Emotion\":\"Smileys & Emotie\",\"Start slideshow\":\"Start diavoorstelling\",Submit:\"Verwerken\",Symbols:\"Symbolen\",\"Travel & Places\":\"Reizen & Plaatsen\",\"Type to search time zone\":\"Type om de tijdzone te zoeken\",\"Unable to search the group\":\"Kan niet in de groep zoeken\",\"Undo changes\":\"Wijzigingen ongedaan maken\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Schrijf bericht, @ om iemand te noemen, : voor emoji auto-aanvullen ...\"}},{locale:\"oc\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (limit)\",Actions:\"Accions\",Choose:\"Causir\",Close:\"Tampar\",Next:\"Seguent\",\"No results\":\"Cap de resultat\",\"Pause slideshow\":\"Metre en pausa lo diaporama\",Previous:\"Precedent\",\"Select a tag\":\"Seleccionar una etiqueta\",Settings:\"Paramètres\",\"Start slideshow\":\"Lançar lo diaporama\"}},{locale:\"pl\",translations:{\"{tag} (invisible)\":\"{tag} (niewidoczna)\",\"{tag} (restricted)\":\"{tag} (ograniczona)\",Actions:\"Działania\",Activities:\"Aktywność\",\"Animals & Nature\":\"Zwierzęta i natura\",\"Avatar of {displayName}\":\"Awatar {displayName}\",\"Avatar of {displayName}, {status}\":\"Awatar {displayName}, {status}\",\"Cancel changes\":\"Anuluj zmiany\",Choose:\"Wybierz\",Close:\"Zamknij\",\"Close navigation\":\"Zamknij nawigację\",\"Confirm changes\":\"Potwierdź zmiany\",Custom:\"Zwyczajne\",\"Edit item\":\"Edytuj element\",\"External documentation for {title}\":\"Dokumentacja zewnętrzna dla {title}\",Flags:\"Flagi\",\"Food & Drink\":\"Jedzenie i picie\",\"Frequently used\":\"Często używane\",Global:\"Globalnie\",\"Go back to the list\":\"Powrót do listy\",\"Message limit of {count} characters reached\":\"Przekroczono limit wiadomości wynoszący {count} znaków\",Next:\"Następny\",\"No emoji found\":\"Nie znaleziono emotikonów\",\"No results\":\"Brak wyników\",Objects:\"Obiekty\",\"Open navigation\":\"Otwórz nawigację\",\"Pause slideshow\":\"Wstrzymaj pokaz slajdów\",\"People & Body\":\"Ludzie i ciało\",\"Pick an emoji\":\"Wybierz emoji\",\"Please select a time zone:\":\"Wybierz strefę czasową:\",Previous:\"Poprzedni\",Search:\"Szukaj\",\"Search results\":\"Wyniki wyszukiwania\",\"Select a tag\":\"Wybierz etykietę\",Settings:\"Ustawienia\",\"Settings navigation\":\"Ustawienia nawigacji\",\"Smileys & Emotion\":\"Buźki i emotikony\",\"Start slideshow\":\"Rozpocznij pokaz slajdów\",Submit:\"Wyślij\",Symbols:\"Symbole\",\"Travel & Places\":\"Podróże i miejsca\",\"Type to search time zone\":\"Wpisz, aby wyszukać strefę czasową\",\"Unable to search the group\":\"Nie można przeszukać grupy\",\"Undo changes\":\"Cofnij zmiany\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Napisz wiadomość, @ aby o kimś wspomnieć, : dla autouzupełniania emotikonów…\"}},{locale:\"pt_BR\",translations:{\"{tag} (invisible)\":\"{tag} (invisível)\",\"{tag} (restricted)\":\"{tag} (restrito) \",Actions:\"Ações\",Activities:\"Atividades\",\"Animals & Nature\":\"Animais & Natureza\",\"Avatar of {displayName}\":\"Avatar de {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar de {displayName}, {status}\",\"Cancel changes\":\"Cancelar alterações\",Choose:\"Escolher\",Close:\"Fechar\",\"Close navigation\":\"Fechar navegação\",\"Confirm changes\":\"Confirmar alterações\",Custom:\"Personalizado\",\"Edit item\":\"Editar item\",\"External documentation for {title}\":\"Documentação externa para {title}\",Flags:\"Bandeiras\",\"Food & Drink\":\"Comida & Bebida\",\"Frequently used\":\"Mais usados\",Global:\"Global\",\"Go back to the list\":\"Volte para a lista\",\"Message limit of {count} characters reached\":\"Limite de mensagem de {count} caracteres atingido\",Next:\"Próximo\",\"No emoji found\":\"Nenhum emoji encontrado\",\"No results\":\"Sem resultados\",Objects:\"Objetos\",\"Open navigation\":\"Abrir navegação\",\"Pause slideshow\":\"Pausar apresentação de slides\",\"People & Body\":\"Pessoas & Corpo\",\"Pick an emoji\":\"Escolha um emoji\",\"Please select a time zone:\":\"Selecione um fuso horário: \",Previous:\"Anterior\",Search:\"Pesquisar\",\"Search results\":\"Resultados da pesquisa\",\"Select a tag\":\"Selecionar uma tag\",Settings:\"Configurações\",\"Settings navigation\":\"Navegação de configurações\",\"Smileys & Emotion\":\"Smiles & Emoções\",\"Start slideshow\":\"Iniciar apresentação de slides\",Submit:\"Enviar\",Symbols:\"Símbolo\",\"Travel & Places\":\"Viagem & Lugares\",\"Type to search time zone\":\"Digite para pesquisar o fuso horário \",\"Unable to search the group\":\"Não foi possível pesquisar o grupo\",\"Undo changes\":\"Desfazer modificações\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Escreva mensagem, @ para mencionar alguém, : para autocompleção emoji...\"}},{locale:\"pt_PT\",translations:{\"{tag} (invisible)\":\"{tag} (invisivel)\",\"{tag} (restricted)\":\"{tag} (restrito)\",Actions:\"Ações\",Choose:\"Escolher\",Close:\"Fechar\",Next:\"Seguinte\",\"No results\":\"Sem resultados\",\"Pause slideshow\":\"Pausar diaporama\",Previous:\"Anterior\",\"Select a tag\":\"Selecionar uma etiqueta\",Settings:\"Definições\",\"Start slideshow\":\"Iniciar diaporama\",\"Unable to search the group\":\"Não é possível pesquisar o grupo\"}},{locale:\"ru\",translations:{\"{tag} (invisible)\":\"{tag} (невидимое)\",\"{tag} (restricted)\":\"{tag} (ограниченное)\",Actions:\"Действия \",Activities:\"События\",\"Animals & Nature\":\"Животные и природа \",\"Avatar of {displayName}\":\"Аватар {displayName}\",\"Cancel changes\":\"Отменить изменения\",Choose:\"Выберите\",Close:\"Закрыть\",\"Confirm changes\":\"Подтвердить изменения\",Custom:\"Пользовательское\",\"External documentation for {title}\":\"Внешняя документация для {title}\",Flags:\"Флаги\",\"Food & Drink\":\"Еда, напиток\",\"Frequently used\":\"Часто используемый\",Global:\"Глобальный\",\"Message limit of {count} characters reached\":\"Достигнуто ограничение на количество символов в {count}\",Next:\"Следующее\",\"No emoji found\":\"Эмодзи не найдено\",\"No results\":\"Результаты отсуствуют\",Objects:\"Объекты\",\"Pause slideshow\":\"Приостановить показ слйдов\",\"People & Body\":\"Люди и тело\",\"Pick an emoji\":\"Выберите эмодзи\",\"Please select a time zone:\":\"Пожалуйста, выберите часовой пояс:\",Previous:\"Предыдущее\",Search:\"Поиск\",\"Search results\":\"Результаты поиска\",\"Select a tag\":\"Выберите метку\",Settings:\"Параметры\",\"Settings navigation\":\"Навигация по настройкам\",\"Smileys & Emotion\":\"Смайлики и эмоции\",\"Start slideshow\":\"Начать показ слайдов\",Submit:\"Утвердить\",Symbols:\"Символы\",\"Travel & Places\":\"Путешествия и места\",\"Type to search time zone\":\"Введите для поиска часового пояса\",\"Unable to search the group\":\"Невозможно найти группу\",\"Write message, @ to mention someone …\":\"Напишите сообщение, используйте @ чтобы упомянуть кого-то…\"}},{locale:\"sk_SK\",translations:{\"{tag} (invisible)\":\"{tag} (neviditeľný)\",\"{tag} (restricted)\":\"{tag} (obmedzený)\",Actions:\"Akcie\",Activities:\"Aktivity\",\"Animals & Nature\":\"Zvieratá a príroda\",\"Avatar of {displayName}\":\"Avatar {displayName}\",\"Cancel changes\":\"Zrušiť zmeny\",Choose:\"Vybrať\",Close:\"Zatvoriť\",\"Close navigation\":\"Zavrieť navigáciu\",\"Confirm changes\":\"Potvrdiť zmeny\",Custom:\"Zvyk\",\"Edit item\":\"Upraviť položku\",\"External documentation for {title}\":\"Externá dokumentácia pre {title}\",Flags:\"Vlajky\",\"Food & Drink\":\"Jedlo a nápoje\",\"Frequently used\":\"Často používané\",Global:\"Globálne\",\"Go back to the list\":\"Naspäť na zoznam\",\"Message limit of {count} characters reached\":\"Limit správy na {count} znakov dosiahnutý\",Next:\"Ďalší\",\"No emoji found\":\"Nenašli sa žiadne emodži\",\"No results\":\"Žiadne výsledky\",Objects:\"Objekty\",\"Open navigation\":\"Otvoriť navigáciu\",\"Pause slideshow\":\"Pozastaviť prezentáciu\",\"People & Body\":\"Ľudia a telo\",\"Pick an emoji\":\"Vyberte si emodži\",\"Please select a time zone:\":\"Prosím vyberte časovú zónu:\",Previous:\"Predchádzajúci\",Search:\"Hľadať\",\"Search results\":\"Výsledky vyhľadávania\",\"Select a tag\":\"Vybrať štítok\",Settings:\"Nastavenia\",\"Settings navigation\":\"Navigácia v nastaveniach\",\"Smileys & Emotion\":\"Smajlíky a emócie\",\"Start slideshow\":\"Začať prezentáciu\",Submit:\"Odoslať\",Symbols:\"Symboly\",\"Travel & Places\":\"Cestovanie a miesta\",\"Type to search time zone\":\"Začníte písať pre vyhľadávanie časovej zóny\",\"Unable to search the group\":\"Skupinu sa nepodarilo nájsť\",\"Undo changes\":\"Vrátiť zmeny\",\"Write message, @ to mention someone …\":\"Napíšte správu, @ pre spomenutie niekoho ...\"}},{locale:\"sl\",translations:{\"{tag} (invisible)\":\"{tag} (nevidno)\",\"{tag} (restricted)\":\"{tag} (omejeno)\",Actions:\"Dejanja\",Activities:\"Dejavnosti\",\"Animals & Nature\":\"Živali in Narava\",\"Avatar of {displayName}\":\"Podoba {displayName}\",\"Cancel changes\":\"Prekliči spremembe\",Choose:\"Izbor\",Close:\"Zapri\",\"Confirm changes\":\"Potrdi spremembe\",Custom:\"Po meri\",\"External documentation for {title}\":\"Zunanja dokumentacija za {title}\",Flags:\"Zastavice\",\"Food & Drink\":\"Hrana in Pijača\",\"Frequently used\":\"Pogostost uporabe\",Global:\"Splošno\",\"Message limit of {count} characters reached\":\"Dosežena omejitev {count} znakov na sporočilo.\",Next:\"Naslednji\",\"No emoji found\":\"Ni najdenih izraznih ikon\",\"No results\":\"Ni zadetkov\",Objects:\"Predmeti\",\"Pause slideshow\":\"Ustavi predstavitev\",\"People & Body\":\"Ljudje in Telo\",\"Pick an emoji\":\"Izbor izrazne ikone\",\"Please select a time zone:\":\"Izbor časovnega pasu:\",Previous:\"Predhodni\",Search:\"Iskanje\",\"Search results\":\"Zadetki iskanja\",\"Select a tag\":\"Izbor oznake\",Settings:\"Nastavitve\",\"Settings navigation\":\"Krmarjenje nastavitev\",\"Smileys & Emotion\":\"Izrazne ikone\",\"Start slideshow\":\"Začni predstavitev\",Submit:\"Pošlji\",Symbols:\"Simboli\",\"Travel & Places\":\"Potovanja in Kraji\",\"Type to search time zone\":\"Vpišite niz za iskanje časovnega pasu\",\"Unable to search the group\":\"Ni mogoče iskati po skupini\",\"Write message, @ to mention someone …\":\"Napišite sporočilo, z @ omenite osebo ...\"}},{locale:\"sv\",translations:{\"{tag} (invisible)\":\"{tag} (osynlig)\",\"{tag} (restricted)\":\"{tag} (begränsad)\",Actions:\"Åtgärder\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Djur & Natur\",\"Avatar of {displayName}\":\"{displayName}s avatar\",\"Avatar of {displayName}, {status}\":\"{displayName}s avatar, {status}\",\"Cancel changes\":\"Avbryt ändringar\",Choose:\"Välj\",Close:\"Stäng\",\"Close navigation\":\"Stäng navigering\",\"Confirm changes\":\"Bekräfta ändringar\",Custom:\"Anpassad\",\"Edit item\":\"Ändra\",\"External documentation for {title}\":\"Extern dokumentation för {title}\",Flags:\"Flaggor\",\"Food & Drink\":\"Mat & Dryck\",\"Frequently used\":\"Används ofta\",Global:\"Global\",\"Go back to the list\":\"Gå tillbaka till listan\",\"Message limit of {count} characters reached\":\"Meddelandegräns {count} tecken används\",Next:\"Nästa\",\"No emoji found\":\"Hittade inga emojis\",\"No results\":\"Inga resultat\",Objects:\"Objekt\",\"Open navigation\":\"Öppna navigering\",\"Pause slideshow\":\"Pausa bildspelet\",\"People & Body\":\"Kropp & Själ\",\"Pick an emoji\":\"Välj en emoji\",\"Please select a time zone:\":\"Välj tidszon:\",Previous:\"Föregående\",Search:\"Sök\",\"Search results\":\"Sökresultat\",\"Select a tag\":\"Välj en tag\",Settings:\"Inställningar\",\"Settings navigation\":\"Inställningsmeny\",\"Smileys & Emotion\":\"Selfies & Känslor\",\"Start slideshow\":\"Starta bildspelet\",Submit:\"Skicka\",Symbols:\"Symboler\",\"Travel & Places\":\"Resor & Sevärdigheter\",\"Type to search time zone\":\"Skriv för att välja tidszon\",\"Unable to search the group\":\"Kunde inte söka i gruppen\",\"Undo changes\":\"Ångra ändringar\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Skriv meddelande, @ för att nämna någon, : för automatiska emojiförslag ...\"}},{locale:\"tr\",translations:{\"{tag} (invisible)\":\"{tag} (görünmez)\",\"{tag} (restricted)\":\"{tag} (kısıtlı)\",Actions:\"İşlemler\",Activities:\"Etkinlikler\",\"Animals & Nature\":\"Hayvanlar ve Doğa\",\"Avatar of {displayName}\":\"{displayName} avatarı\",\"Avatar of {displayName}, {status}\":\"{displayName}, {status} avatarı\",\"Cancel changes\":\"Değişiklikleri iptal et\",Choose:\"Seçin\",Close:\"Kapat\",\"Close navigation\":\"Gezinmeyi kapat\",\"Confirm changes\":\"Değişiklikleri onayla\",Custom:\"Özel\",\"Edit item\":\"Ögeyi düzenle\",\"External documentation for {title}\":\"{title} için dış belgeler\",Flags:\"Bayraklar\",\"Food & Drink\":\"Yeme ve İçme\",\"Frequently used\":\"Sık kullanılanlar\",Global:\"Evrensel\",\"Go back to the list\":\"Listeye dön\",\"Message limit of {count} characters reached\":\"{count} karakter ileti sınırına ulaşıldı\",Next:\"Sonraki\",\"No emoji found\":\"Herhangi bir emoji bulunamadı\",\"No results\":\"Herhangi bir sonuç bulunamadı\",Objects:\"Nesneler\",\"Open navigation\":\"Gezinmeyi aç\",\"Pause slideshow\":\"Slayt sunumunu duraklat\",\"People & Body\":\"İnsanlar ve Beden\",\"Pick an emoji\":\"Bir emoji seçin\",\"Please select a time zone:\":\"Lütfen bir saat dilimi seçin:\",Previous:\"Önceki\",Search:\"Arama\",\"Search results\":\"Arama sonuçları\",\"Select a tag\":\"Bir etiket seçin\",Settings:\"Ayarlar\",\"Settings navigation\":\"Gezinme ayarları\",\"Smileys & Emotion\":\"İfadeler ve Duygular\",\"Start slideshow\":\"Slayt sunumunu başlat\",Submit:\"Gönder\",Symbols:\"Simgeler\",\"Travel & Places\":\"Gezi ve Yerler\",\"Type to search time zone\":\"Saat dilimi aramak için yazmaya başlayın\",\"Unable to search the group\":\"Grupta arama yapılamadı\",\"Undo changes\":\"Değişiklikleri geri al\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"İleti yazın, birini anmak için @, otomatik emoji tamamlamak için : kullanın…\"}},{locale:\"uk\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restricted)\",Actions:\"Дії\",Activities:\"Діяльність\",\"Animals & Nature\":\"Тварини та природа\",Choose:\"Виберіть\",Close:\"Закрити\",Custom:\"Власне\",Flags:\"Прапори\",\"Food & Drink\":\"Їжа та напитки\",\"Frequently used\":\"Найчастіші\",Next:\"Вперед\",\"No emoji found\":\"Емоційки відсутні\",\"No results\":\"Відсутні результати\",Objects:\"Об'єкти\",\"Pause slideshow\":\"Пауза у показі слайдів\",\"People & Body\":\"Люди та жести\",\"Pick an emoji\":\"Виберіть емоційку\",Previous:\"Назад\",Search:\"Пошук\",\"Search results\":\"Результати пошуку\",\"Select a tag\":\"Виберіть позначку\",Settings:\"Налаштування\",\"Smileys & Emotion\":\"Усміхайлики та емоційки\",\"Start slideshow\":\"Почати показ слайдів\",Symbols:\"Символи\",\"Travel & Places\":\"Поїздки та місця\",\"Unable to search the group\":\"Неможливо шукати в групі\"}},{locale:\"zh_CN\",translations:{\"{tag} (invisible)\":\"{tag} (不可见)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"行为\",Activities:\"活动\",\"Animals & Nature\":\"动物 & 自然\",\"Avatar of {displayName}\":\"{displayName}的头像\",\"Avatar of {displayName}, {status}\":\"{displayName}的头像,{status}\",\"Cancel changes\":\"取消更改\",Choose:\"选择\",Close:\"关闭\",\"Close navigation\":\"关闭导航\",\"Confirm changes\":\"确认更改\",Custom:\"自定义\",\"Edit item\":\"编辑项目\",\"External documentation for {title}\":\"{title}的外部文档\",Flags:\"旗帜\",\"Food & Drink\":\"食物 & 饮品\",\"Frequently used\":\"经常使用\",Global:\"全局\",\"Go back to the list\":\"返回至列表\",\"Message limit of {count} characters reached\":\"已达到 {count} 个字符的消息限制\",Next:\"下一个\",\"No emoji found\":\"表情未找到\",\"No results\":\"无结果\",Objects:\"物体\",\"Open navigation\":\"开启导航\",\"Pause slideshow\":\"暂停幻灯片\",\"People & Body\":\"人 & 身体\",\"Pick an emoji\":\"选择一个表情\",\"Please select a time zone:\":\"请选择一个时区:\",Previous:\"上一个\",Search:\"搜索\",\"Search results\":\"搜索结果\",\"Select a tag\":\"选择一个标签\",Settings:\"设置\",\"Settings navigation\":\"设置向导\",\"Smileys & Emotion\":\"笑脸 & 情感\",\"Start slideshow\":\"开始幻灯片\",Submit:\"提交\",Symbols:\"符号\",\"Travel & Places\":\"旅游 & 地点\",\"Type to search time zone\":\"打字以搜索时区\",\"Unable to search the group\":\"无法搜索分组\",\"Undo changes\":\"撤销更改\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"写信息,@ 提到某人,: 用于表情符号自动完成 ...\"}},{locale:\"zh_HK\",translations:{\"{tag} (invisible)\":\"{tag} (隱藏)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"動作\",Activities:\"活動\",\"Animals & Nature\":\"動物與自然\",\"Avatar of {displayName}\":\"{displayName} 的頭像\",\"Avatar of {displayName}, {status}\":\"{displayName}的頭像,{status}\",\"Cancel changes\":\"取消更改\",Choose:\"選擇\",Close:\"關閉\",\"Close navigation\":\"關閉導航\",\"Confirm changes\":\"確認更改\",Custom:\"自定義\",\"Edit item\":\"編輯項目\",\"External documentation for {title}\":\"{title} 的外部文檔\",Flags:\"旗幟\",\"Food & Drink\":\"食物與飲料\",\"Frequently used\":\"經常使用\",Global:\"全球的\",\"Go back to the list\":\"返回清單\",\"Message limit of {count} characters reached\":\"已達到訊息最多 {count} 字元限制\",Next:\"下一個\",\"No emoji found\":\"未找到表情符號\",\"No results\":\"無結果\",Objects:\"物件\",\"Open navigation\":\"開啟導航\",\"Pause slideshow\":\"暫停幻燈片\",\"People & Body\":\"人物\",\"Pick an emoji\":\"選擇表情符號\",\"Please select a time zone:\":\"請選擇時區:\",Previous:\"上一個\",Search:\"搜尋\",\"Search results\":\"搜尋結果\",\"Select a tag\":\"選擇標籤\",Settings:\"設定\",\"Settings navigation\":\"設定值導覽\",\"Smileys & Emotion\":\"表情\",\"Start slideshow\":\"開始幻燈片\",Submit:\"提交\",Symbols:\"標誌\",\"Travel & Places\":\"旅遊與景點\",\"Type to search time zone\":\"鍵入以搜索時區\",\"Unable to search the group\":\"無法搜尋群組\",\"Undo changes\":\"取消更改\",\"Write message, @ to mention someone …\":\"輸入訊息時可使用 @ 來標示某人...\"}},{locale:\"zh_TW\",translations:{\"{tag} (invisible)\":\"{tag} (隱藏)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"動作\",Activities:\"活動\",\"Animals & Nature\":\"動物與自然\",Choose:\"選擇\",Close:\"關閉\",Custom:\"自定義\",Flags:\"旗幟\",\"Food & Drink\":\"食物與飲料\",\"Frequently used\":\"最近使用\",\"Message limit of {count} characters reached\":\"已達到訊息最多 {count} 字元限制\",Next:\"下一個\",\"No emoji found\":\"未找到表情符號\",\"No results\":\"無結果\",Objects:\"物件\",\"Pause slideshow\":\"暫停幻燈片\",\"People & Body\":\"人物\",\"Pick an emoji\":\"選擇表情符號\",Previous:\"上一個\",Search:\"搜尋\",\"Search results\":\"搜尋結果\",\"Select a tag\":\"選擇標籤\",Settings:\"設定\",\"Settings navigation\":\"設定值導覽\",\"Smileys & Emotion\":\"表情\",\"Start slideshow\":\"開始幻燈片\",Symbols:\"標誌\",\"Travel & Places\":\"旅遊與景點\",\"Unable to search the group\":\"無法搜尋群組\",\"Write message, @ to mention someone …\":\"輸入訊息時可使用 @ 來標示某人...\"}}].forEach((function(t){var e={};for(var n in t.translations)t.translations[n].pluralId?e[n]={msgid:n,msgid_plural:t.translations[n].pluralId,msgstr:t.translations[n].msgstr}:e[n]={msgid:n,msgstr:[t.translations[n]]};i.addTranslation(t.locale,{translations:{\"\":e}})}));var o=i.build(),r=o.ngettext.bind(o),s=o.gettext.bind(o)},function(t,e){t.exports=require(\"v-tooltip\")},function(t,e){t.exports=require(\"vue\")},,function(t,e,n){\"use strict\";var a=n(0),i=n.n(a),o=n(1),r=n.n(o)()(i.a);r.push([t.i,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.popover{z-index:100000;display:block !important;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.popover__inner{padding:0;color:var(--color-main-text);border-radius:var(--border-radius);background:var(--color-main-background)}.popover__arrow{position:absolute;z-index:1;width:0;height:0;margin:10px;border-style:solid;border-color:var(--color-main-background)}.popover[x-placement^='top']{margin-bottom:10px}.popover[x-placement^='top'] .popover__arrow{bottom:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent !important;border-bottom-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='bottom']{margin-top:10px}.popover[x-placement^='bottom'] .popover__arrow{top:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent !important;border-right-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='right']{margin-left:10px}.popover[x-placement^='right'] .popover__arrow{top:calc(50% - $arrow-width);left:-10px;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent !important;border-bottom-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='left']{margin-right:10px}.popover[x-placement^='left'] .popover__arrow{top:calc(50% - $arrow-width);right:-10px;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent !important;border-right-color:transparent !important;border-bottom-color:transparent !important}.popover[aria-hidden='true']{visibility:hidden;transition:opacity var(--animation-quick),visibility var(--animation-quick);opacity:0}.popover[aria-hidden='false']{visibility:visible;transition:opacity var(--animation-quick);opacity:1}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./Popover.vue\"],names:[],mappings:\"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC0GxB,SACC,cAAe,CACf,wBAAyB,CAEzB,sDAAuD,CAEvD,gBACC,SAAU,CACV,4BAA6B,CAC7B,kCAAmC,CACnC,uCAAwC,CACxC,gBAGA,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,WApBgB,CAqBhB,kBAAmB,CACnB,yCAA0C,CApB5C,6BAwBE,kBA1BgB,CAElB,6CA2BG,YA7Be,CA8Bf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,6BAjCe,CAkCf,yCAA0C,CAC1C,0CAA2C,CAC3C,wCAAyC,CAlC5C,gCAuCE,eAzCgB,CAElB,gDA0CG,SA5Ce,CA6Cf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,6BAhDe,CAiDf,uCAAwC,CACxC,yCAA0C,CAC1C,wCAAyC,CAjD5C,+BAsDE,gBAxDgB,CAElB,+CAyDG,4BAA6B,CAC7B,UA5De,CA6Df,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,uCAAwC,CACxC,0CAA2C,CAC3C,wCAAyC,CAhE5C,8BAqEE,iBAvEgB,CAElB,8CAwEG,4BAA6B,CAC7B,WA3Ee,CA4Ef,cAAe,CACf,aAAc,CACd,6BA9Ee,CA+Ef,uCAAwC,CACxC,yCAA0C,CAC1C,0CAA2C,CA/E9C,6BAoFE,iBAAkB,CAClB,2EAA6E,CAC7E,SAAU,CAtFZ,8BA0FE,kBAAmB,CACnB,yCAA0C,CAC1C,SAAU\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"75cef38\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$arrow-width: 10px;\\n\\n.popover {\\n\\tz-index: 100000;\\n\\tdisplay: block !important;\\n\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t&__inner {\\n\\t\\tpadding: 0;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground: var(--color-main-background);\\n\\t}\\n\\n\\t&__arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: $arrow-width;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: var(--color-main-background);\\n\\t}\\n\\n\\t&[x-placement^='top'] {\\n\\t\\tmargin-bottom: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\tbottom: -$arrow-width;\\n\\t\\t\\tleft: calc(50% - $arrow-width);\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='bottom'] {\\n\\t\\tmargin-top: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: -$arrow-width;\\n\\t\\t\\tleft: calc(50% - $arrow-width);\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='right'] {\\n\\t\\tmargin-left: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: calc(50% - $arrow-width);\\n\\t\\t\\tleft: -$arrow-width;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width $arrow-width 0;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='left'] {\\n\\t\\tmargin-right: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: calc(50% - $arrow-width);\\n\\t\\t\\tright: -$arrow-width;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity var(--animation-quick), visibility var(--animation-quick);\\n\\t\\topacity: 0;\\n\\t}\\n\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),e.a=r},function(t,e){},function(t,e,n){\"use strict\";n.r(e);var a=n(5),i=n(2),o=n.n(i),r=n(12),s={insert:\"head\",singleton:!1};o()(r.a,s),r.a.locals;\n/**\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\na.VTooltip.options.defaultTemplate='<div class=\"vue-tooltip\" role=\"tooltip\" data-v-'.concat(\"75cef38\",'><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>'),a.VTooltip.options.defaultHtml=!1,a.VTooltip.options.defaultDelay={show:500,hide:200};e.default=a.VTooltip},function(t,e){t.exports=require(\"@nextcloud/l10n/dist/gettext\")},function(t,e,n){\"use strict\";var a=n(0),i=n.n(a),o=n(1),r=n.n(o)()(i.a);r.push([t.i,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.vue-tooltip[data-v-75cef38]{position:absolute;z-index:100000;right:auto;left:auto;display:block;margin:0;margin-top:-3px;padding:10px 0;text-align:left;text-align:start;opacity:0;line-height:1.6;line-break:auto;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.vue-tooltip[data-v-75cef38][x-placement^='top'] .tooltip-arrow{bottom:0;margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-75cef38][x-placement^='bottom'] .tooltip-arrow{top:0;margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent;border-right-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-75cef38][x-placement^='right'] .tooltip-arrow{right:100%;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-75cef38][x-placement^='left'] .tooltip-arrow{left:100%;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent;border-right-color:transparent;border-bottom-color:transparent}.vue-tooltip[data-v-75cef38][aria-hidden='true']{visibility:hidden;transition:opacity .15s, visibility .15s;opacity:0}.vue-tooltip[data-v-75cef38][aria-hidden='false']{visibility:visible;transition:opacity .15s;opacity:1}.vue-tooltip[data-v-75cef38] .tooltip-inner{max-width:350px;padding:5px 8px;text-align:center;color:var(--color-main-text);border-radius:var(--border-radius);background-color:var(--color-main-background)}.vue-tooltip[data-v-75cef38] .tooltip-arrow{position:absolute;z-index:1;width:0;height:0;margin:0;border-style:solid;border-color:var(--color-main-background)}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./index.scss\"],names:[],mappings:\"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCOxB,6BACC,iBAAkB,CAClB,cAAe,CACf,UAAW,CACX,SAAU,CACV,aAAc,CACd,QAAS,CAET,eAAgB,CAChB,cAAe,CACf,eAAgB,CAChB,gBAAiB,CACjB,SAAU,CACV,eAAgB,CAEhB,eAAgB,CAChB,sDAAuD,CAhBxD,gEAqBG,QAAS,CACT,YAAa,CACb,eAAgB,CAChB,6BA1Be,CA2Bf,8BAA+B,CAC/B,+BAAgC,CAChC,6BAA8B,CA3BjC,mEAkCG,KAAM,CACN,YAAa,CACb,eAAgB,CAChB,6BAvCe,CAwCf,4BAA6B,CAC7B,8BAA+B,CAC/B,6BAA8B,CAxCjC,kEA+CG,UAAW,CACX,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,4BAA6B,CAC7B,+BAAgC,CAChC,6BAA8B,CArDjC,iEA4DG,SAAU,CACV,cAAe,CACf,aAAc,CACd,6BAjEe,CAkEf,4BAA6B,CAC7B,8BAA+B,CAC/B,+BAAgC,CAlEnC,iDAwEE,iBAAkB,CAClB,wCAAyC,CACzC,SAAU,CA1EZ,kDA6EE,kBAAmB,CACnB,uBAAwB,CACxB,SAAU,CA/EZ,4CAoFE,eAAgB,CAChB,eAAgB,CAChB,iBAAkB,CAClB,4BAA6B,CAC7B,kCAAmC,CACnC,6CAA8C,CAzFhD,4CA8FE,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,QAAS,CACT,kBAAmB,CACnB,yCAA0C\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"75cef38\\\"; @import 'variables'; @import 'material-icons';\\n/**\\n* @copyright Copyright (c) 2016, John Molakvoæ <skjnldsv@protonmail.com>\\n* @copyright Copyright (c) 2016, Robin Appelman <robin@icewind.nl>\\n* @copyright Copyright (c) 2016, Jan-Christoph Borchardt <hey@jancborchardt.net>\\n* @copyright Copyright (c) 2016, Erik Pellikka <erik@pellikka.org>\\n* @copyright Copyright (c) 2015, Vincent Petry <pvince81@owncloud.com>\\n*\\n* Bootstrap v3.3.5 (http://getbootstrap.com)\\n* Copyright 2011-2015 Twitter, Inc.\\n* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\\n*/\\n\\n$arrow-width: 10px;\\n\\n.vue-tooltip[data-v-#{$scope_version}] {\\n\\tposition: absolute;\\n\\tz-index: 100000;\\n\\tright: auto;\\n\\tleft: auto;\\n\\tdisplay: block;\\n\\tmargin: 0;\\n\\t/* default to top */\\n\\tmargin-top: -3px;\\n\\tpadding: 10px 0;\\n\\ttext-align: left;\\n\\ttext-align: start;\\n\\topacity: 0;\\n\\tline-height: 1.6;\\n\\n\\tline-break: auto;\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t// TOP\\n\\t&[x-placement^='top'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tbottom: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// BOTTOM\\n\\t&[x-placement^='bottom'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// RIGHT\\n\\t&[x-placement^='right'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tright: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width $arrow-width 0;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// LEFT\\n\\t&[x-placement^='left'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tleft: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// HIDDEN / SHOWN\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity .15s, visibility .15s;\\n\\t\\topacity: 0;\\n\\t}\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity .15s;\\n\\t\\topacity: 1;\\n\\t}\\n\\n\\t// CONTENT\\n\\t.tooltip-inner {\\n\\t\\tmax-width: 350px;\\n\\t\\tpadding: 5px 8px;\\n\\t\\ttext-align: center;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t}\\n\\n\\t// ARROW\\n\\t.tooltip-arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: 0;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: var(--color-main-background);\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),e.a=r},,function(t,e,n){\"use strict\";var a={name:\"Popover\",components:{VPopover:n(5).VPopover},mounted:function(){var t=this;this.$watch((function(){return t.$refs.popover.isOpen}),(function(e){e?t.$emit(\"after-show\"):t.$emit(\"after-hide\")}))}},i=n(2),o=n.n(i),r=n(8),s={insert:\"head\",singleton:!1},l=(o()(r.a,s),r.a.locals,n(3)),c=n(9),d=n.n(c),u=Object(l.a)(a,(function(){var t=this,e=t.$createElement;return(t._self._c||e)(\"VPopover\",t._g(t._b({ref:\"popover\",attrs:{\"popover-base-class\":\"popover\",\"popover-wrapper-class\":\"popover__wrapper\",\"popover-arrow-class\":\"popover__arrow\",\"popover-inner-class\":\"popover__inner\"},scopedSlots:t._u([{key:\"popover\",fn:function(){return[t._t(\"default\")]},proxy:!0}],null,!0)},\"VPopover\",t.$attrs,!1),t.$listeners),[t._t(\"trigger\")],2)}),[],!1,null,null,null);\"function\"==typeof d.a&&d()(u);e.a=u.exports},function(t,e,n){\"use strict\";\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.a=function(t){return Math.random().toString(36).replace(/[^a-z]+/g,\"\").substr(0,t||5)}},function(t,e){t.exports=require(\"vue-material-design-icons/DotsHorizontal\")},,,function(t,e,n){\"use strict\";n.r(e);var a=n(14);\n/**\n * @copyright Copyright (c) 2019 Marco Ambrosini <marcoambrosini@pm.me>\n *\n * @author Marco Ambrosini <marcoambrosini@pm.me>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.default=a.a},,,,,,function(t,e,n){\"use strict\";var a=n(6),i=n.n(a);\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.a={before:function(){this.$slots.default&&\"\"!==this.text.trim()||(i.a.util.warn(\"\".concat(this.$options.name,\" cannot be empty and requires a meaningful text content\"),this),this.$destroy(),this.$el.remove())},beforeUpdate:function(){this.text=this.getText()},data:function(){return{text:this.getText()}},computed:{isLongText:function(){return this.text&&this.text.trim().length>20}},methods:{getText:function(){return this.$slots.default?this.$slots.default[0].text.trim():\"\"}}}},function(t,e,n){\"use strict\";var a=n(4);e.a={methods:{n:a.a,t:a.b}}},,function(t,e,n){\"use strict\";var a=n(0),i=n.n(a),o=n(1),r=n.n(o)()(i.a);r.push([t.i,\".material-design-icon[data-v-6aa4b9df]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.action-item[data-v-6aa4b9df]{position:relative;display:inline-block}.action-item--single[data-v-6aa4b9df]:hover,.action-item--single[data-v-6aa4b9df]:focus,.action-item--single[data-v-6aa4b9df]:active,.action-item__menutoggle[data-v-6aa4b9df]:hover,.action-item__menutoggle[data-v-6aa4b9df]:focus,.action-item__menutoggle[data-v-6aa4b9df]:active{opacity:1;background-color:rgba(127,127,127,0.25) !important}.action-item__menutoggle[data-v-6aa4b9df]:disabled,.action-item--single[data-v-6aa4b9df]:disabled{opacity:.3 !important}.action-item.action-item--open .action-item__menutoggle[data-v-6aa4b9df]{opacity:1;background-color:rgba(127,127,127,0.25)}.action-item--single[data-v-6aa4b9df],.action-item__menutoggle[data-v-6aa4b9df]{box-sizing:border-box;width:auto;min-width:44px;height:44px;margin:0;padding:0;cursor:pointer;border:none;border-radius:22px;background-color:transparent}.action-item--single--with-title[data-v-6aa4b9df],.action-item__menutoggle--with-title[data-v-6aa4b9df]{position:relative;padding:0 14px;padding-left:44px;white-space:nowrap;opacity:1;border:1px solid var(--color-border-dark);background-color:var(--color-background-dark);background-position:14px center;font-size:inherit}.action-item--single--with-title[data-v-6aa4b9df] span,.action-item__menutoggle--with-title[data-v-6aa4b9df] span{width:24px;height:24px;line-height:16px;position:absolute;top:0;left:0}.action-item[data-v-6aa4b9df] .material-design-icon{width:44px;height:44px;opacity:1}.action-item[data-v-6aa4b9df] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-item__menutoggle[data-v-6aa4b9df]{display:flex;align-items:center;justify-content:center;opacity:.7;font-weight:bold;line-height:16px}.action-item__menutoggle--primary[data-v-6aa4b9df]{opacity:1;color:var(--color-primary-text);border:none;background-color:var(--color-primary-element)}.action-item--open .action-item__menutoggle--primary[data-v-6aa4b9df],.action-item__menutoggle--primary[data-v-6aa4b9df]:hover,.action-item__menutoggle--primary[data-v-6aa4b9df]:focus,.action-item__menutoggle--primary[data-v-6aa4b9df]:active{color:var(--color-primary-text) !important;background-color:var(--color-primary-element-light) !important}.action-item--single[data-v-6aa4b9df]{opacity:.7}.action-item--single[data-v-6aa4b9df]:hover,.action-item--single[data-v-6aa4b9df]:focus,.action-item--single[data-v-6aa4b9df]:active{opacity:1}.action-item--single>[hidden][data-v-6aa4b9df]{display:none}.ie .action-item__menu[data-v-6aa4b9df],.ie .action-item__menu .action-item__menu_arrow[data-v-6aa4b9df],.edge .action-item__menu[data-v-6aa4b9df],.edge .action-item__menu .action-item__menu_arrow[data-v-6aa4b9df]{border:1px solid var(--color-border)}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./Actions.vue\",\"webpack://./../../assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC+oBxB,8BACC,iBAAkB,CAClB,oBAAqB,CAIrB,sRAMC,SCvnBc,CDynBd,kDAA2C,CAC3C,kGAKA,qBAAsB,CApBxB,yEAwBE,SCnoBc,CDooBd,uCChoBgD,CDioBhD,gFAKA,qBAAsB,CACtB,UAAW,CACX,cC/pBmB,CDgqBnB,WChqBmB,CDiqBnB,QAAS,CACT,SAAU,CACV,cAAe,CACf,WAAY,CACZ,kBAAkC,CAClC,4BAA6B,CAE7B,wGACC,iBAAkB,CAClB,cClqB6C,CDmqB7C,iBC3qBkB,CD4qBlB,kBAAmB,CACnB,SC1pBa,CD2pBb,yCAA0C,CAE1C,6CAA8C,CAC9C,+BAAwC,CACxC,iBAAkB,CAVlB,kHAeC,UAAW,CACX,WAAY,CACZ,gBCrrBY,CDsrBZ,iBAAkB,CAClB,KAAM,CACN,MAAO,CA9DX,oDAoEE,UClsBmB,CDmsBnB,WCnsBmB,CDosBnB,SCjrBc,CD2mBhB,+EAyEG,qBAAsB,CACtB,0CAMD,YAAa,CACb,kBAAmB,CACnB,sBAAuB,CACvB,UC/rBiB,CDgsBjB,gBAAiB,CACjB,gBC/sBc,CDitBd,mDACC,SCnsBa,CDosBb,+BAAgC,CAChC,WAAY,CACZ,6CAA8C,CAC9C,kPAIC,0CAA2C,CAC3C,8DAA+D,CAC/D,sCAKF,UCntBiB,CDktBjB,qIAKC,SCttBa,CDitBd,+CASC,YAAa,CACb,sNAQD,oCAAqC\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"75cef38\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.action-item {\\n\\tposition: relative;\\n\\tdisplay: inline-block;\\n\\n\\t// put a grey round background when menu is opened\\n\\t// or hover-focused\\n\\t&--single:hover,\\n\\t&--single:focus,\\n\\t&--single:active,\\n\\t&__menutoggle:hover,\\n\\t&__menutoggle:focus,\\n\\t&__menutoggle:active {\\n\\t\\topacity: $opacity_full;\\n\\t\\t// good looking on dark AND white bg, override server styling\\n\\t\\tbackground-color: $icon-focus-bg !important;\\n\\t}\\n\\n\\t// TODO: handle this in the future button component\\n\\t&__menutoggle:disabled,\\n\\t&--single:disabled {\\n\\t\\topacity: .3 !important;\\n\\t}\\n\\n\\t&.action-item--open .action-item__menutoggle {\\n\\t\\topacity: $opacity_full;\\n\\t\\tbackground-color: $action-background-hover;\\n\\t}\\n\\n\\t// icons\\n\\t&--single,\\n\\t&__menutoggle {\\n\\t\\tbox-sizing: border-box;\\n\\t\\twidth: auto;\\n\\t\\tmin-width: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tcursor: pointer;\\n\\t\\tborder: none;\\n\\t\\tborder-radius: $clickable-area / 2;\\n\\t\\tbackground-color: transparent;\\n\\n\\t\\t&--with-title {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tpadding: 0 $icon-margin;\\n\\t\\t\\tpadding-left: $clickable-area;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\t\\t// with a title, we need to display this as a real button\\n\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tfont-size: inherit;\\n\\n\\t\\t\\t// non-background icon class\\n\\t\\t\\t// image slot\\n\\t\\t\\t/deep/ span {\\n\\t\\t\\t\\twidth: 24px;\\n\\t\\t\\t\\theight: 24px;\\n\\t\\t\\t\\tline-height: $icon-size;\\n\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\ttop: 0;\\n\\t\\t\\t\\tleft: 0;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&::v-deep .material-design-icon {\\n\\t\\twidth: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\topacity: $opacity_full;\\n\\n\\t\\t.material-design-icon__svg {\\n\\t\\t\\tvertical-align: middle;\\n\\t\\t}\\n\\t}\\n\\n\\t// icon-more\\n\\t&__menutoggle {\\n\\t\\t// align menu icon in center\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\topacity: $opacity_normal;\\n\\t\\tfont-weight: bold;\\n\\t\\tline-height: $icon-size;\\n\\n\\t\\t&--primary {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tcolor: var(--color-primary-text);\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t\\t.action-item--open &,\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus,\\n\\t\\t\\t&:active {\\n\\t\\t\\t\\tcolor: var(--color-primary-text) !important;\\n\\t\\t\\t\\tbackground-color: var(--color-primary-element-light) !important;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&--single {\\n\\t\\topacity: $opacity_normal;\\n\\t\\t&:hover,\\n\\t\\t&:focus,\\n\\t\\t&:active {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t\\t// hide anything the slot is displaying\\n\\t\\t& > [hidden] {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n}\\n\\n.ie,\\n.edge {\\n\\t.action-item__menu,\\n\\t.action-item__menu .action-item__menu_arrow {\\n\\t\\tborder: 1px solid var(--color-border);\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),e.a=r},function(t,e){},,function(t,e,n){\"use strict\";var a=n(25),i=function(t,e){for(var n=t.$parent;n;){if(n.$options.name===e)return n;n=n.$parent}};\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.a={mixins:[a.a],props:{icon:{type:String,default:\"\"},title:{type:String,default:\"\"},closeAfterClick:{type:Boolean,default:!1},ariaLabel:{type:String,default:\"\"}},computed:{isIconUrl:function(){try{return new URL(this.icon)}catch(t){return!1}}},methods:{onClick:function(t){if(this.$emit(\"click\",t),this.closeAfterClick){var e=i(this,\"Actions\");e&&e.closeMenu&&e.closeMenu()}}}}},,,,,,function(t,e,n){\"use strict\";var a=n(16),i=n.n(a),o=n(10),r=n(15),s=n(4),l=n(19);function c(t){return function(t){if(Array.isArray(t))return d(t)}(t)||function(t){if(\"undefined\"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t[\"@@iterator\"])return Array.from(t)}(t)||function(t,e){if(!t)return;if(\"string\"==typeof t)return d(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===n&&t.constructor&&(n=t.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(t);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return d(t,e)}(t)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function d(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,a=new Array(e);n<e;n++)a[n]=t[n];return a}function u(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,a)}return n}function m(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?u(Object(n),!0).forEach((function(e){p(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):u(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function p(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var h={name:\"Actions\",directives:{tooltip:o.default},components:{DotsHorizontal:i.a,Popover:l.default,VNodes:{functional:!0,render:function(t,e){return e.props.vnodes}}},props:{open:{type:Boolean,default:!1},forceMenu:{type:Boolean,default:!1},forceTitle:{type:Boolean,default:!1},menuTitle:{type:String,default:null},primary:{type:Boolean,default:!1},defaultIcon:{type:String,default:\"\"},ariaLabel:{type:String,default:Object(s.b)(\"Actions\")},placement:{type:String,default:\"bottom\"},boundariesElement:{type:Element,default:function(){return document.querySelector(\"body\")}},container:{type:String,default:\"body\"},disabled:{type:Boolean,default:!1}},data:function(){return{actions:[],opened:this.open,focusIndex:0,randomId:\"menu-\"+Object(r.a)(),children:this.$children}},computed:{hasMultipleActions:function(){return this.actions.length>1},isValidSingleAction:function(){return 1===this.actions.length&&null!==this.firstActionElement},singleActionTitle:function(){return this.forceTitle?this.menuTitle:\"\"},isDisabled:function(){var t,e;return this.disabled||1===this.actions.length&&(null===(t=this.firstAction)||void 0===t||null===(e=t.$props)||void 0===e?void 0:e.disabled)},firstActionVNode:function(){return this.actions[0]},firstAction:function(){return this.children[0]?this.children[0]:{}},firstActionBinding:function(){if(this.firstActionVNode&&this.firstActionVNode.componentOptions){var t=this.firstActionVNode.componentOptions.tag;if(\"ActionLink\"===t)return m(m({is:\"a\",href:this.firstAction.href,target:this.firstAction.target,\"aria-label\":this.firstAction.ariaLabel},this.firstAction.$attrs),this.firstAction.$props);if(\"ActionRouter\"===t)return m(m({is:\"router-link\",to:this.firstAction.to,exact:this.firstAction.exact,\"aria-label\":this.firstAction.ariaLabel},this.firstAction.$attrs),this.firstAction.$props);if(\"ActionButton\"===t)return m(m({is:\"button\",\"aria-label\":this.firstAction.ariaLabel},this.firstAction.$attrs),this.firstAction.$props)}return null},firstActionEvent:function(){var t,e,n;return null===(t=this.firstActionVNode)||void 0===t||null===(e=t.componentOptions)||void 0===e||null===(n=e.listeners)||void 0===n?void 0:n.click},firstActionEventBinding:function(){return this.firstActionEvent?\"click\":null},firstActionIconSlot:function(){var t,e;return null===(t=this.firstAction)||void 0===t||null===(e=t.$slots)||void 0===e?void 0:e.icon},firstActionClass:function(){return((this.firstActionVNode&&this.firstActionVNode.data.staticClass)+\" \"+(this.firstActionVNode&&this.firstActionVNode.data.class)).trim()},iconSlotIsPopulated:function(){return!!this.$slots.icon}},watch:{open:function(t){t!==this.opened&&(this.opened=t)}},beforeMount:function(){this.initActions()},beforeUpdate:function(){this.initActions()},methods:{openMenu:function(t){this.opened||(this.opened=!0,this.$emit(\"update:open\",!0),this.$emit(\"open\"))},closeMenu:function(t){this.opened&&(this.opened=!1,this.$emit(\"update:open\",!1),this.$emit(\"close\"),this.opened=!1,this.focusIndex=0,this.$refs.menuButton.focus())},onOpen:function(t){var e=this;this.$nextTick((function(){e.focusFirstAction(t)}))},onMouseFocusAction:function(t){if(document.activeElement!==t.target){var e=t.target.closest(\"li\");if(e){var n=e.querySelector(\".focusable\");if(n){var a=c(this.$refs.menu.querySelectorAll(\".focusable\")).indexOf(n);a>-1&&(this.focusIndex=a,this.focusAction())}}}},removeCurrentActive:function(){var t=this.$refs.menu.querySelector(\"li.active\");t&&t.classList.remove(\"active\")},focusAction:function(){var t=this.$refs.menu.querySelectorAll(\".focusable\")[this.focusIndex];if(t){this.removeCurrentActive();var e=t.closest(\"li.action\");t.focus(),e&&e.classList.add(\"active\")}},focusPreviousAction:function(t){this.opened&&(0===this.focusIndex?this.closeMenu():(this.preventIfEvent(t),this.focusIndex=this.focusIndex-1),this.focusAction())},focusNextAction:function(t){if(this.opened){var e=this.$refs.menu.querySelectorAll(\".focusable\").length-1;this.focusIndex===e?this.closeMenu():(this.preventIfEvent(t),this.focusIndex=this.focusIndex+1),this.focusAction()}},focusFirstAction:function(t){this.opened&&(this.preventIfEvent(t),this.focusIndex=0,this.focusAction())},focusLastAction:function(t){this.opened&&(this.preventIfEvent(t),this.focusIndex=this.$el.querySelectorAll(\".focusable\").length-1,this.focusAction())},preventIfEvent:function(t){t&&(t.preventDefault(),t.stopPropagation())},execFirstAction:function(t){this.firstActionEvent&&this.firstActionEvent(t)},initActions:function(){this.actions=(this.$slots.default||[]).filter((function(t){return!!t&&!!t.componentOptions}))},onFocus:function(t){this.$emit(\"focus\",t)},onBlur:function(t){this.$emit(\"blur\",t)}}},g=n(2),A=n.n(g),v=n(28),C={insert:\"head\",singleton:!1},f=(A()(v.a,C),v.a.locals,n(3)),b=n(29),y=n.n(b),k=Object(f.a)(h,(function(){var t,e=this,n=e.$createElement,a=e._self._c||n;return e.isValidSingleAction&&!e.forceMenu?a(\"element\",e._b({directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:e.firstAction.text,expression:\"firstAction.text\",modifiers:{auto:!0}}],staticClass:\"action-item action-item--single\",class:(t={},t[e.firstAction.icon]=e.firstAction.icon,t[e.firstActionClass]=e.firstActionClass,t[\"action-item--single--with-title\"]=e.singleActionTitle,t),attrs:{rel:\"nofollow noreferrer noopener\",disabled:e.isDisabled},on:e._d({focus:e.onFocus,blur:e.onBlur},[e.firstActionEventBinding,e.execFirstAction])},\"element\",e.firstActionBinding,!1),[a(\"VNodes\",{attrs:{vnodes:e.firstActionIconSlot}}),e._v(\"\\n\\n\\t\"+e._s(e.singleActionTitle)+\"\\n\\n\\t\"),e._v(\" \"),a(\"span\",{attrs:{\"aria-hidden\":!0,hidden:\"\"}},[e._t(\"default\")],2)],1):a(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.hasMultipleActions||e.forceMenu,expression:\"hasMultipleActions || forceMenu\"}],staticClass:\"action-item\",class:{\"action-item--open\":e.opened}},[a(\"Popover\",{attrs:{delay:0,\"handle-resize\":!0,open:e.opened,placement:e.placement,\"boundaries-element\":e.boundariesElement,container:e.container},on:{\"update:open\":function(t){e.opened=t},show:e.openMenu,\"after-show\":e.onOpen,hide:e.closeMenu},scopedSlots:e._u([{key:\"trigger\",fn:function(){var t;return[a(\"button\",{ref:\"menuButton\",staticClass:\"icon action-item__menutoggle\",class:(t={},t[e.defaultIcon]=!e.iconSlotIsPopulated,t[\"action-item__menutoggle--with-title\"]=e.menuTitle,t[\"action-item__menutoggle--with-icon-slot\"]=e.iconSlotIsPopulated,t[\"action-item__menutoggle--default-icon\"]=!e.iconSlotIsPopulated&&\"\"===e.defaultIcon,t[\"action-item__menutoggle--primary\"]=e.primary,t),attrs:{disabled:e.disabled,\"aria-haspopup\":\"true\",\"aria-label\":e.ariaLabel,\"aria-controls\":e.randomId,\"aria-expanded\":e.opened?\"true\":\"false\",\"test-attr\":\"1\",type:\"button\"},on:{focus:e.onFocus,blur:e.onBlur}},[e.iconSlotIsPopulated?e._t(\"icon\"):\"\"===e.defaultIcon?a(\"DotsHorizontal\",{attrs:{size:20,decorative:\"\"}}):e._e(),e._v(\"\\n\\t\\t\\t\\t\"+e._s(e.menuTitle)+\"\\n\\t\\t\\t\")],2)]},proxy:!0}],null,!0)},[e._v(\" \"),a(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.opened,expression:\"opened\"}],ref:\"menu\",class:{open:e.opened},attrs:{tabindex:\"-1\"},on:{keydown:[function(t){return!t.type.indexOf(\"key\")&&e._k(t.keyCode,\"up\",38,t.key,[\"Up\",\"ArrowUp\"])||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:e.focusPreviousAction(t)},function(t){return!t.type.indexOf(\"key\")&&e._k(t.keyCode,\"down\",40,t.key,[\"Down\",\"ArrowDown\"])||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:e.focusNextAction(t)},function(t){return!t.type.indexOf(\"key\")&&e._k(t.keyCode,\"tab\",9,t.key,\"Tab\")||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:e.focusNextAction(t)},function(t){return!t.type.indexOf(\"key\")&&e._k(t.keyCode,\"tab\",9,t.key,\"Tab\")?null:t.shiftKey?t.ctrlKey||t.altKey||t.metaKey?null:e.focusPreviousAction(t):null},function(t){return!t.type.indexOf(\"key\")&&e._k(t.keyCode,\"page-up\",void 0,t.key,void 0)||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:e.focusFirstAction(t)},function(t){return!t.type.indexOf(\"key\")&&e._k(t.keyCode,\"page-down\",void 0,t.key,void 0)||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:e.focusLastAction(t)},function(t){return!t.type.indexOf(\"key\")&&e._k(t.keyCode,\"esc\",27,t.key,[\"Esc\",\"Escape\"])||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),e.closeMenu(t))}],mousemove:e.onMouseFocusAction}},[a(\"ul\",{attrs:{id:e.randomId,tabindex:\"-1\"}},[e.opened?[e._t(\"default\")]:e._e()],2)])])],1)}),[],!1,null,\"6aa4b9df\",null);\"function\"==typeof y.a&&y()(k);e.a=k.exports},,,,,,,,,,,,,,,,function(t,e,n){\"use strict\";n.r(e);var a=n(37);\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.default=a.a},,,,,,function(t,e,n){\"use strict\";\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.a=function(t){t.mounted?Array.isArray(t.mounted)||(t.mounted=[t.mounted]):t.mounted=[],t.mounted.push((function(){this.$el.setAttribute(\"data-v-\".concat(\"75cef38\"),\"\")}))}},,,function(t,e,n){\"use strict\";var a=n(0),i=n.n(a),o=n(1),r=n.n(o)()(i.a);r.push([t.i,\".material-design-icon[data-v-71ea20d2]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.active[data-v-71ea20d2]{background-color:var(--color-background-hover)}.action--disabled[data-v-71ea20d2]{pointer-events:none;opacity:.5}.action--disabled[data-v-71ea20d2]:hover,.action--disabled[data-v-71ea20d2]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-71ea20d2]{opacity:1 !important}.action-button[data-v-71ea20d2]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;padding-right:14px;box-sizing:border-box;cursor:pointer;white-space:nowrap;opacity:.7;color:var(--color-main-text);border:0;border-radius:0;background-color:transparent;box-shadow:none;font-weight:normal;font-size:var(--default-font-size);line-height:44px}.action-button[data-v-71ea20d2]:hover,.action-button[data-v-71ea20d2]:focus{opacity:1}.action-button>span[data-v-71ea20d2]{cursor:pointer;white-space:nowrap}.action-button__icon[data-v-71ea20d2]{width:44px;height:44px;opacity:1;background-position:14px center;background-size:16px;background-repeat:no-repeat}.action-button[data-v-71ea20d2] .material-design-icon{width:44px;height:44px;opacity:1}.action-button[data-v-71ea20d2] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-button p[data-v-71ea20d2]{max-width:220px;line-height:1.6em;padding:10.8px 0;cursor:pointer;text-align:left;overflow:hidden;text-overflow:ellipsis}.action-button__longtext[data-v-71ea20d2]{cursor:pointer;white-space:pre-wrap}.action-button__title[data-v-71ea20d2]{font-weight:bold;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%;display:inline-block}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./../../assets/action.scss\",\"webpack://./../../assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CACvB,2BCiBE,8CAA+C,CAC/C,mCAMD,mBAAoB,CACpB,UCQmB,CDVpB,kFAIE,cAAe,CACf,UCKkB,CDVpB,qCAQE,oBAAqB,CACrB,gCAOD,YAAa,CACb,sBAAuB,CAEvB,UAAW,CACX,WAAY,CACZ,QAAS,CACT,SAAU,CACV,kBCtB8C,CDuB9C,qBAAsB,CAEtB,cAAe,CACf,kBAAmB,CAEnB,UClBiB,CDmBjB,4BAA6B,CAC7B,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,eAAgB,CAEhB,kBAAmB,CACnB,kCAAmC,CACnC,gBC7CmB,CDsBpB,4EA2BE,SC9Ba,CDGf,qCA+BE,cAAe,CACf,kBAAmB,CACnB,sCAGA,UC1DkB,CD2DlB,WC3DkB,CD4DlB,SCzCa,CD0Cb,+BAAwC,CACxC,oBC1Da,CD2Db,2BAA4B,CAzC9B,sDA6CE,UCnEkB,CDoElB,WCpEkB,CDqElB,SClDa,CDGf,iFAkDG,qBAAsB,CAlDzB,kCAwDE,eAAgB,CAChB,iBAAkB,CAGlB,gBAA8C,CAE9C,cAAe,CACf,eAAgB,CAGhB,eAAgB,CAChB,sBAAuB,CACvB,0CAGA,cAAe,CAEf,oBAAqB,CACrB,uCAGA,gBAAiB,CACjB,sBAAuB,CACvB,eAAgB,CAChB,kBAAmB,CACnB,cAAe,CACf,oBAAqB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n * @author Marco Ambrosini <marcoambrosini@pm.me>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n@mixin action-active {\\n\\tli {\\n\\t\\t&.active {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n}\\n\\n@mixin action--disabled {\\n\\t.action--disabled {\\n\\t\\tpointer-events: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t&:hover, &:focus {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t}\\n\\t\\t& * {\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\\n@mixin action-item($name) {\\n\\t.action-#{$name} {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\t\\tbox-sizing: border-box; // otherwise router-link overflows in Firefox\\n\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\tfont-weight: normal;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\n\\t\\t& > span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t&__icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t}\\n\\n\\t\\t&::v-deep .material-design-icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\n\\t\\t\\t.material-design-icon__svg {\\n\\t\\t\\t\\tvertical-align: middle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\tp {\\n\\t\\t\\tmax-width: 220px;\\n\\t\\t\\tline-height: 1.6em;\\n\\n\\t\\t\\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\\n\\t\\t\\tpadding: #{($clickable-area - 1.6*14px) / 2} 0;\\n\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: left;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t&__longtext {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t// allow the use of `\\\\n`\\n\\t\\t\\twhite-space: pre-wrap;\\n\\t\\t}\\n\\n\\t\\t&__title {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),e.a=r},function(t,e){},,,,,,function(t,e,n){\"use strict\";var a={name:\"ActionButton\",mixins:[n(31).a],props:{disabled:{type:Boolean,default:!1}},computed:{isFocusable:function(){return!this.disabled}}},i=n(2),o=n.n(i),r=n(62),s={insert:\"head\",singleton:!1},l=(o()(r.a,s),r.a.locals,n(3)),c=n(63),d=n.n(c),u=Object(l.a)(a,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"li\",{staticClass:\"action\",class:{\"action--disabled\":t.disabled}},[n(\"button\",{staticClass:\"action-button\",class:{focusable:t.isFocusable},attrs:{\"aria-label\":t.ariaLabel,type:\"button\"},on:{click:t.onClick}},[t._t(\"icon\",[n(\"span\",{staticClass:\"action-button__icon\",class:[t.isIconUrl?\"action-button__icon--url\":t.icon],style:{backgroundImage:t.isIconUrl?\"url(\"+t.icon+\")\":null}})]),t._v(\" \"),t.title?n(\"p\",[n(\"strong\",{staticClass:\"action-button__title\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.title)+\"\\n\\t\\t\\t\")]),t._v(\" \"),n(\"br\"),t._v(\" \"),n(\"span\",{staticClass:\"action-button__longtext\",domProps:{textContent:t._s(t.text)}})]):t.isLongText?n(\"p\",{staticClass:\"action-button__longtext\",domProps:{textContent:t._s(t.text)}}):n(\"span\",{staticClass:\"action-button__text\"},[t._v(t._s(t.text))]),t._v(\" \"),t._e()],2)])}),[],!1,null,\"71ea20d2\",null);\"function\"==typeof d.a&&d()(u);e.a=u.exports},,,function(t,e){t.exports=require(\"vue-material-design-icons/Close\")},,,function(t,e){t.exports=require(\"vue-material-design-icons/ChevronRight\")},,,,function(t,e){t.exports=require(\"hammerjs\")},function(t,e,n){\"use strict\";n.r(e);var a=n(69);\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.default=a.a},,,,,,,,,,,,,function(t,e,n){\"use strict\";var a=n(0),i=n.n(a),o=n(1),r=n.n(o)()(i.a);r.push([t.i,\".material-design-icon[data-v-3e8e4882]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.modal-mask[data-v-3e8e4882]{position:fixed;z-index:9998;top:0;left:0;display:block;width:100%;height:100%;background-color:rgba(0,0,0,0.5)}.modal-mask--dark[data-v-3e8e4882]{background-color:rgba(0,0,0,0.92)}.modal-header[data-v-3e8e4882]{position:absolute;z-index:10001;top:0;right:0;left:0;display:flex !important;align-items:center;justify-content:center;width:100%;height:50px;transition:opacity 250ms, visibility 250ms}.modal-header.invisible[style*='display:none'][data-v-3e8e4882],.modal-header.invisible[style*='display: none'][data-v-3e8e4882]{visibility:hidden}.modal-header .modal-title[data-v-3e8e4882]{overflow-x:hidden;box-sizing:border-box;width:100%;padding:0 132px 0 12px;transition:padding ease 100ms;white-space:nowrap;text-overflow:ellipsis;color:#fff;font-size:14px}@media only screen and (min-width: 512px){.modal-header .modal-title[data-v-3e8e4882]{padding-left:132px;text-align:center}}.modal-header .icons-menu[data-v-3e8e4882]{position:absolute;right:0;display:flex;align-items:center;justify-content:flex-end}.modal-header .icons-menu .header-close[data-v-3e8e4882]{display:flex;align-items:center;justify-content:center;box-sizing:border-box;margin:3px;padding:0}.modal-header .icons-menu .play-pause-icons[data-v-3e8e4882]{position:relative;width:50px;height:50px;margin:0;padding:0;cursor:pointer;border:none;background-color:transparent}.modal-header .icons-menu .play-pause-icons:hover .play-pause-icons__play[data-v-3e8e4882],.modal-header .icons-menu .play-pause-icons:hover .play-pause-icons__pause[data-v-3e8e4882],.modal-header .icons-menu .play-pause-icons:focus .play-pause-icons__play[data-v-3e8e4882],.modal-header .icons-menu .play-pause-icons:focus .play-pause-icons__pause[data-v-3e8e4882]{opacity:1;border-radius:22px;background-color:rgba(127,127,127,0.25)}.modal-header .icons-menu .play-pause-icons__play[data-v-3e8e4882],.modal-header .icons-menu .play-pause-icons__pause[data-v-3e8e4882]{box-sizing:border-box;width:44px;height:44px;margin:3px;cursor:pointer;opacity:.7}.modal-header .icons-menu .header-actions[data-v-3e8e4882]{margin:3px;color:white}.modal-header .icons-menu .action-item--single[data-v-3e8e4882]{box-sizing:border-box;width:44px;height:44px;cursor:pointer;background-position:center;background-size:22px}.modal-header .icons-menu[data-v-3e8e4882] button{color:#fff}.modal-header .icons-menu[data-v-3e8e4882] .action-item__menutoggle{padding:0}.modal-header .icons-menu[data-v-3e8e4882] .action-item__menutoggle span,.modal-header .icons-menu[data-v-3e8e4882] .action-item__menutoggle svg{width:var(--icon-size);height:var(--icon-size)}.modal-wrapper[data-v-3e8e4882]{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;height:100%}.modal-wrapper .prev[data-v-3e8e4882],.modal-wrapper .next[data-v-3e8e4882]{z-index:10000;display:flex !important;align-items:center;justify-content:center;width:8%;min-width:44px;height:35vw;position:absolute;transition:opacity 250ms, visibility 250ms}.modal-wrapper .prev.invisible[style*='display:none'][data-v-3e8e4882],.modal-wrapper .prev.invisible[style*='display: none'][data-v-3e8e4882],.modal-wrapper .next.invisible[style*='display:none'][data-v-3e8e4882],.modal-wrapper .next.invisible[style*='display: none'][data-v-3e8e4882]{visibility:hidden}.modal-wrapper .prev[data-v-3e8e4882]{left:0}.modal-wrapper .next[data-v-3e8e4882]{right:0}.modal-wrapper .icon-next[data-v-3e8e4882],.modal-wrapper .icon-previous[data-v-3e8e4882]{box-sizing:border-box;width:44px;height:44px;color:white;background-image:none;display:flex}.modal-wrapper .modal-container[data-v-3e8e4882]{display:block;overflow:auto;padding:0;transition:transform 300ms ease;border-radius:var(--border-radius-large);background-color:var(--color-main-background);box-shadow:0 0 40px rgba(0,0,0,0.2)}.modal-wrapper--small .modal-container[data-v-3e8e4882]{width:330px;max-height:90%}.modal-wrapper--normal .modal-container[data-v-3e8e4882]{max-width:90%;width:600px;max-height:90%;height:600px}.modal-wrapper--large .modal-container[data-v-3e8e4882]{max-width:90%;width:900px;max-height:90%;height:700px}.modal-wrapper--full .modal-container[data-v-3e8e4882]{width:100%;height:calc(100% - var(--header-height));position:absolute;top:50px;border-radius:0}@media only screen and (max-width: 512px){.modal-wrapper:not(.modal-wrapper--small) .modal-container[data-v-3e8e4882]{max-width:initial;width:100%;max-height:initial;height:calc(100% - var(--header-height));position:absolute;top:50px;border-radius:0}}.fade-enter-active[data-v-3e8e4882],.fade-leave-active[data-v-3e8e4882]{transition:opacity 250ms}.fade-enter[data-v-3e8e4882],.fade-leave-to[data-v-3e8e4882]{opacity:0}.fade-visibility-enter[data-v-3e8e4882],.fade-visibility-leave-to[data-v-3e8e4882]{visibility:hidden;opacity:0}.modal-in-enter-active[data-v-3e8e4882],.modal-in-leave-active[data-v-3e8e4882],.modal-out-enter-active[data-v-3e8e4882],.modal-out-leave-active[data-v-3e8e4882]{transition:opacity 250ms}.modal-in-enter[data-v-3e8e4882],.modal-in-leave-to[data-v-3e8e4882],.modal-out-enter[data-v-3e8e4882],.modal-out-leave-to[data-v-3e8e4882]{opacity:0}.modal-in-enter .modal-container[data-v-3e8e4882],.modal-in-leave-to .modal-container[data-v-3e8e4882]{transform:scale(0.9)}.modal-out-enter .modal-container[data-v-3e8e4882],.modal-out-leave-to .modal-container[data-v-3e8e4882]{transform:scale(1.1)}.modal-mask .play-pause-icons .progress-ring[data-v-3e8e4882]{position:absolute;top:0;left:0;transform:rotate(-90deg)}.modal-mask .play-pause-icons .progress-ring .progress-ring__circle[data-v-3e8e4882]{transition:100ms stroke-dashoffset;transform-origin:50% 50%;animation:progressring-data-v-3e8e4882 linear var(--slideshow-duration) infinite;stroke-linecap:round;stroke-dashoffset:94.24778;stroke-dasharray:94.24778}.modal-mask .play-pause-icons--paused .icon-pause[data-v-3e8e4882]{animation:breath-data-v-3e8e4882 2s cubic-bezier(0.4, 0, 0.2, 1) infinite}.modal-mask .play-pause-icons--paused .progress-ring__circle[data-v-3e8e4882]{animation-play-state:paused !important}@keyframes progressring-data-v-3e8e4882{from{stroke-dashoffset:94.24778}to{stroke-dashoffset:0}}@keyframes breath-data-v-3e8e4882{0%{opacity:1}50%{opacity:0}100%{opacity:1}}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./Modal.vue\",\"webpack://./../../assets/variables.scss\"],names:[],mappings:\"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\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"75cef38\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.modal-mask {\\n\\tposition: fixed;\\n\\tz-index: 9998;\\n\\ttop: 0;\\n\\tleft: 0;\\n\\tdisplay: block;\\n\\twidth: 100%;\\n\\theight: 100%;\\n\\tbackground-color: rgba(0, 0, 0, .5);\\n\\t&--dark {\\n\\t\\tbackground-color: rgba(0, 0, 0, .92);\\n\\t}\\n}\\n\\n.modal-header {\\n\\tposition: absolute;\\n\\tz-index: 10001;\\n\\ttop: 0;\\n\\tright: 0;\\n\\tleft: 0;\\n\\t// prevent vue show to use display:none and reseting\\n\\t// the circle animation loop\\n\\tdisplay: flex !important;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n\\twidth: 100%;\\n\\theight: $header-height;\\n\\ttransition: opacity 250ms,\\n\\t\\tvisibility 250ms;\\n\\n\\t// replace display by visibility\\n\\t&.invisible[style*='display:none'],\\n\\t&.invisible[style*='display: none'] {\\n\\t\\tvisibility: hidden;\\n\\t}\\n\\n\\t.modal-title {\\n\\t\\toverflow-x: hidden;\\n\\t\\tbox-sizing: border-box;\\n\\t\\twidth: 100%;\\n\\t\\tpadding: 0 #{$clickable-area * 3} 0 12px; // maximum actions is 3\\n\\t\\ttransition: padding ease 100ms;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\tcolor: #fff;\\n\\t\\tfont-size: $icon-margin;\\n\\t}\\n\\n\\t// On wider screens the title can be centered\\n\\t@media only screen and (min-width: $breakpoint-mobile/2) {\\n\\t\\t.modal-title {\\n\\t\\t\\tpadding-left: #{$clickable-area * 3}; // maximum actions is 3\\n\\t\\t\\ttext-align: center;\\n\\t\\t}\\n\\t}\\n\\n\\t.icons-menu {\\n\\t\\tposition: absolute;\\n\\t\\tright: 0;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: flex-end;\\n\\n\\t\\t.header-close {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\tbox-sizing: border-box;\\n\\t\\t\\tmargin: ($header-height - $clickable-area) / 2;\\n\\t\\t\\tpadding: 0;\\n\\t\\t}\\n\\n\\t\\t.play-pause-icons {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\twidth: $header-height;\\n\\t\\t\\theight: $header-height;\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus {\\n\\t\\t\\t\\t.play-pause-icons__play,\\n\\t\\t\\t\\t.play-pause-icons__pause {\\n\\t\\t\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\t\\t\\tborder-radius: $clickable-area / 2;\\n\\t\\t\\t\\t\\tbackground-color: $icon-focus-bg;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t&__play,\\n\\t\\t\\t&__pause {\\n\\t\\t\\t\\tbox-sizing: border-box;\\n\\t\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\t\\theight: $clickable-area;\\n\\t\\t\\t\\tmargin: ($header-height - $clickable-area) / 2;\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.header-actions {\\n\\t\\t\\tmargin: ($header-height - $clickable-area) / 2;\\n\\t\\t\\tcolor: white;\\n\\t\\t}\\n\\n\\t\\t.action-item--single {\\n\\t\\t\\tbox-sizing: border-box;\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\tbackground-position: center;\\n\\t\\t\\tbackground-size: 22px;\\n\\t\\t}\\n\\n\\t\\t::v-deep button {\\n\\t\\t\\t// force white instead of default main text\\n\\t\\t\\tcolor: #fff;\\n\\t\\t}\\n\\n\\t\\t// Force the Actions menu icon to be the same size as other icons\\n\\t\\t&::v-deep .action-item__menutoggle {\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tspan, svg {\\n\\t\\t\\t\\twidth: var(--icon-size);\\n\\t\\t\\t\\theight: var(--icon-size);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\n.modal-wrapper {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n\\tbox-sizing: border-box;\\n\\twidth: 100%;\\n\\theight: 100%;\\n\\n\\t/* Navigation buttons */\\n\\t.prev,\\n\\t.next {\\n\\t\\tz-index: 10000;\\n\\t\\t// ignore display: none\\n\\t\\tdisplay: flex !important;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\twidth: 8%;\\n\\t\\tmin-width: $clickable-area;\\n\\t\\theight: 35vw;\\n\\t\\tposition: absolute;\\n\\t\\ttransition: opacity 250ms,\\n\\t\\t\\tvisibility 250ms;\\n\\n\\t\\t// we want to keep the elements on page\\n\\t\\t// even if hidden to avoid having a unbalanced\\n\\t\\t// centered content\\n\\t\\t// replace display by visibility\\n\\t\\t&.invisible[style*='display:none'],\\n\\t\\t&.invisible[style*='display: none'] {\\n\\t\\t\\tvisibility: hidden;\\n\\t\\t}\\n\\t}\\n\\t.prev {\\n\\t\\tleft: 0;\\n\\t}\\n\\t.next {\\n\\t\\tright: 0;\\n\\t}\\n\\n\\t// buttons/icons\\n\\t.icon-next,\\n\\t.icon-previous {\\n\\t\\tbox-sizing: border-box;\\n\\t\\twidth: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\tcolor: white;\\n\\t\\tbackground-image: none;\\n\\t\\tdisplay: flex;\\n\\t}\\n\\n\\t/* Content */\\n\\t.modal-container {\\n\\t\\tdisplay: block;\\n\\t\\toverflow: auto; // avoids unecessary hacks if the content should be bigger than the modal\\n\\t\\tpadding: 0;\\n\\t\\ttransition: transform 300ms ease;\\n\\t\\tborder-radius: var(--border-radius-large);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tbox-shadow: 0 0 40px rgba(0, 0, 0, .2);\\n\\t}\\n\\n\\t// Sizing\\n\\t&--small {\\n\\t\\t.modal-container {\\n\\t\\t\\twidth: 330px;\\n\\t\\t\\tmax-height: 90%;\\n\\t\\t}\\n\\t}\\n\\t&--normal {\\n\\t\\t.modal-container {\\n\\t\\t\\tmax-width: 90%;\\n\\t\\t\\twidth: 600px;\\n\\t\\t\\tmax-height: 90%;\\n\\t\\t\\theight: 600px;\\n\\t\\t}\\n\\t}\\n\\t&--large {\\n\\t\\t.modal-container {\\n\\t\\t\\tmax-width: 90%;\\n\\t\\t\\twidth: 900px;\\n\\t\\t\\tmax-height: 90%;\\n\\t\\t\\theight: 700px;\\n\\t\\t}\\n\\t}\\n\\t&--full {\\n\\t\\t.modal-container {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\theight: calc(100% - var(--header-height));\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: $header-height;\\n\\t\\t\\tborder-radius: 0;\\n\\t\\t}\\n\\t}\\n\\n\\t// Make modal full screen on mobile\\n\\t@media only screen and (max-width: $breakpoint-mobile/2) {\\n\\t\\t&:not(&--small) .modal-container {\\n\\t\\t\\tmax-width: initial;\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tmax-height: initial;\\n\\t\\t\\theight: calc(100% - var(--header-height));\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: $header-height;\\n\\t\\t\\tborder-radius: 0;\\n\\t\\t}\\n\\t}\\n}\\n\\n/* TRANSITIONS */\\n.fade-enter-active,\\n.fade-leave-active {\\n\\ttransition: opacity 250ms;\\n}\\n\\n.fade-enter,\\n.fade-leave-to {\\n\\topacity: 0;\\n}\\n\\n.fade-visibility-enter,\\n.fade-visibility-leave-to {\\n\\tvisibility: hidden;\\n\\topacity: 0;\\n}\\n\\n.modal-in-enter-active,\\n.modal-in-leave-active,\\n.modal-out-enter-active,\\n.modal-out-leave-active {\\n\\ttransition: opacity 250ms;\\n}\\n\\n.modal-in-enter,\\n.modal-in-leave-to,\\n.modal-out-enter,\\n.modal-out-leave-to {\\n\\topacity: 0;\\n}\\n\\n.modal-in-enter .modal-container,\\n.modal-in-leave-to .modal-container {\\n\\ttransform: scale(.9);\\n}\\n\\n.modal-out-enter .modal-container,\\n.modal-out-leave-to .modal-container {\\n\\ttransform: scale(1.1);\\n}\\n\\n// animated circle\\n$radius: 15;\\n$pi: 3.14159265358979;\\n\\n.modal-mask .play-pause-icons {\\n\\t.progress-ring {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 0;\\n\\t\\tleft: 0;\\n\\t\\ttransform: rotate(-90deg);\\n\\t\\t.progress-ring__circle {\\n\\t\\t\\ttransition: 100ms stroke-dashoffset;\\n\\t\\t\\ttransform-origin: 50% 50%; // axis compensation\\n\\t\\t\\tanimation: progressring linear var(--slideshow-duration) infinite;\\n\\n\\t\\t\\tstroke-linecap: round;\\n\\t\\t\\tstroke-dashoffset: $radius * 2 * $pi; // radius * 2 * PI\\n\\t\\t\\tstroke-dasharray: $radius * 2 * $pi; // radius * 2 * PI\\n\\t\\t}\\n\\t}\\n\\t&--paused {\\n\\t\\t.icon-pause {\\n\\t\\t\\tanimation: breath 2s cubic-bezier(.4, 0, .2, 1) infinite;\\n\\t\\t}\\n\\t\\t.progress-ring__circle {\\n\\t\\t\\tanimation-play-state: paused !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n// keyframes get scoped too and break the animation name, we need them unscoped\\n@keyframes progressring {\\n\\tfrom {\\n\\t\\tstroke-dashoffset: $radius * 2 * $pi; // radius * 2 * PI\\n\\t}\\n\\tto {\\n\\t\\tstroke-dashoffset: 0;\\n\\t}\\n}\\n\\n@keyframes breath {\\n\\t0% {\\n\\t\\topacity: 1;\\n\\t}\\n\\t50% {\\n\\t\\topacity: 0;\\n\\t}\\n\\t100% {\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),e.a=r},function(t,e){},,,,,,,,,,,,,,function(t,e,n){\"use strict\";n.r(e);var a=n(59),i=n(79),o=n.n(i),r=n(125),s=n.n(r),l=n(75),c=n.n(l),d=n(72),u=n.n(d),m=n(126),p=n.n(m),h=n(127),g=n.n(h),A=n(53),v=n(80),C=n(26),f=n(4),b=n(10);\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nfunction y(t,e){var n,a,i,o=e;this.start=function(){i=!0,a=new Date,n=setTimeout(t,o)},this.pause=function(){i=!1,clearTimeout(n),o-=new Date-a},this.clear=function(){i=!1,clearTimeout(n),o=0},this.getTimeLeft=function(){return i&&(this.pause(),this.start()),o},this.getStateRunning=function(){return i},this.start()}var k={name:\"Modal\",components:{ActionButton:v.default,Actions:A.default,ChevronLeft:s.a,ChevronRight:c.a,Close:u.a,Pause:p.a,Play:g.a},directives:{tooltip:b.default},mixins:[C.a],props:{title:{type:String,default:\"\"},hasPrevious:{type:Boolean,default:!1},hasNext:{type:Boolean,default:!1},outTransition:{type:Boolean,default:!1},enableSlideshow:{type:Boolean,default:!1},clearViewDelay:{type:Number,default:5e3},slideshowDelay:{type:Number,default:5e3},slideshowPaused:{type:Boolean,default:!1},enableSwipe:{type:Boolean,default:!0},spreadNavigation:{type:Boolean,default:!1},size:{type:String,default:\"normal\",validator:function(t){return[\"small\",\"normal\",\"large\",\"full\"].includes(t)}},canClose:{type:Boolean,default:!0},dark:{type:Boolean,default:!1},container:{type:String,default:\"body\"}},data:function(){return{mc:null,showModal:!1,clearView:!1,clearViewTimeout:null,playing:!1,slideshowTimeout:null,iconSize:24}},computed:{modalTransitionName:function(){return\"modal-\".concat(this.outTransition?\"out\":\"in\")},playPauseTitle:function(){return this.playing?Object(f.b)(\"Pause slideshow\"):Object(f.b)(\"Start slideshow\")},cssVariables:function(){return{\"--slideshow-duration\":this.slideshowDelay+\"ms\",\"--icon-size\":this.iconSize+\"px\"}}},watch:{slideshowPaused:function(t){this.slideshowTimeout&&(t?this.slideshowTimeout.pause():this.slideshowTimeout.start())}},beforeMount:function(){window.addEventListener(\"keydown\",this.handleKeydown)},beforeDestroy:function(){window.removeEventListener(\"keydown\",this.handleKeydown),this.mc.off(\"swipeleft swiperight\"),this.mc.destroy()},mounted:function(){var t=this;(this.showModal=!0,this.handleMouseMove(),this.mc=new o.a(this.$refs.mask),this.mc.on(\"swipeleft swiperight\",(function(e){t.handleSwipe(e)})),\"body\"===this.container)?document.body.insertBefore(this.$el,document.body.lastChild):document.querySelector(this.container).appendChild(this.$el)},destroyed:function(){this.$el.remove()},methods:{previous:function(t){this.hasPrevious&&(t&&this.resetSlideshow(),this.$emit(\"previous\",t))},next:function(t){this.hasNext&&(t&&this.resetSlideshow(),this.$emit(\"next\",t))},close:function(t){var e=this;this.canClose&&(this.showModal=!1,setTimeout((function(){e.$emit(\"close\",t)}),300))},handleKeydown:function(t){switch(t.keyCode){case 37:this.previous(t);break;case 13:case 39:this.next(t);break;case 27:this.close(t)}},handleSwipe:function(t){this.enableSwipe&&(\"swipeleft\"===t.type?this.next(t):\"swiperight\"===t.type&&this.previous(t))},handleMouseMove:function(){var t=this;this.clearViewDelay>0&&(this.clearView=!1,clearTimeout(this.clearViewTimeout),this.clearViewTimeout=setTimeout((function(){t.clearView=!0}),this.clearViewDelay))},togglePlayPause:function(){this.playing=!this.playing,this.playing?this.handleSlideshow():this.clearSlideshowTimeout()},resetSlideshow:function(){this.playing=!this.playing,this.clearSlideshowTimeout(),this.$nextTick((function(){this.togglePlayPause()}))},handleSlideshow:function(){var t=this;this.playing=!0,this.hasNext?this.slideshowTimeout=new y((function(){t.next(),t.handleSlideshow()}),this.slideshowDelay):(this.playing=!1,this.clearSlideshowTimeout())},clearSlideshowTimeout:function(){this.slideshowTimeout&&this.slideshowTimeout.clear()}}},B=n(2),w=n.n(B),S=n(93),x={insert:\"head\",singleton:!1},j=(w()(S.a,x),S.a.locals,n(3)),N=n(94),z=n.n(N),P=Object(j.a)(k,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"transition\",{attrs:{name:\"fade\"}},[n(\"div\",{ref:\"mask\",staticClass:\"modal-mask\",class:{\"modal-mask--dark\":t.dark},style:t.cssVariables,on:{click:t.handleMouseMove,mousemove:t.handleMouseMove,touchmove:t.handleMouseMove}},[n(\"transition\",{attrs:{name:\"fade-visibility\"}},[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:!t.clearView,expression:\"!clearView\"}],staticClass:\"modal-header\",class:{invisible:t.clearView}},[\"\"!==t.title.trim()?n(\"div\",{staticClass:\"modal-title\"},[t._v(\"\\n\\t\\t\\t\\t\\t\"+t._s(t.title)+\"\\n\\t\\t\\t\\t\")]):t._e(),t._v(\" \"),n(\"div\",{staticClass:\"icons-menu\"},[t.hasNext&&t.enableSlideshow?n(\"button\",{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:t.playPauseTitle,expression:\"playPauseTitle\",modifiers:{auto:!0}}],staticClass:\"play-pause-icons\",class:{\"play-pause-icons--paused\":t.slideshowPaused},attrs:{type:\"button\"},on:{click:t.togglePlayPause}},[t.playing?n(\"Pause\",{staticClass:\"play-pause-icons__pause\",attrs:{size:t.iconSize,title:\"\",decorative:\"\"}}):n(\"Play\",{staticClass:\"play-pause-icons__play\",attrs:{size:t.iconSize,title:\"\",decorative:\"\"}}),t._v(\" \"),n(\"span\",{staticClass:\"hidden-visually\"},[t._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\"+t._s(t.playPauseTitle)+\"\\n\\t\\t\\t\\t\\t\\t\")]),t._v(\" \"),t.playing?n(\"svg\",{staticClass:\"progress-ring\",attrs:{height:\"50\",width:\"50\"}},[n(\"circle\",{staticClass:\"progress-ring__circle\",attrs:{stroke:\"white\",\"stroke-width\":\"2\",fill:\"transparent\",r:\"15\",cx:\"25\",cy:\"25\"}})]):t._e()],1):t._e(),t._v(\" \"),n(\"Actions\",{staticClass:\"header-actions\"},[t._t(\"actions\")],2),t._v(\" \"),t.canClose?n(\"Actions\",{staticClass:\"header-close\"},[n(\"ActionButton\",{on:{click:t.close},scopedSlots:t._u([{key:\"icon\",fn:function(){return[n(\"Close\",{attrs:{size:t.iconSize,title:\"\",decorative:\"\"}})]},proxy:!0}],null,!1,1372351874)},[t._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\"+t._s(t.t(\"Close\"))+\"\\n\\t\\t\\t\\t\\t\\t\")])],1):t._e()],1)])]),t._v(\" \"),n(\"transition\",{attrs:{name:t.modalTransitionName}},[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.showModal,expression:\"showModal\"}],staticClass:\"modal-wrapper\",class:[\"modal-wrapper--\"+t.size,t.spreadNavigation?\"modal-wrapper--spread-navigation\":\"\"],on:{mousedown:function(e){return e.target!==e.currentTarget?null:t.close(e)}}},[n(\"transition\",{attrs:{name:\"fade-visibility\"}},[n(\"a\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.hasPrevious&&!t.clearView,expression:\"hasPrevious && !clearView\"}],staticClass:\"prev\",class:{invisible:t.clearView||!t.hasPrevious},attrs:{href:\"#\"},on:{click:function(e){return e.preventDefault(),e.stopPropagation(),t.previous(e)}}},[n(\"span\",{staticClass:\"icon-previous\"},[n(\"ChevronLeft\",{attrs:{size:40,title:\"\",decorative:\"\"}}),t._v(\" \"),n(\"span\",{staticClass:\"hidden-visually\"},[t._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\"+t._s(t.t(\"Previous\"))+\"\\n\\t\\t\\t\\t\\t\\t\\t\")])],1)])]),t._v(\" \"),n(\"div\",{staticClass:\"modal-container\"},[t._t(\"default\")],2),t._v(\" \"),n(\"transition\",{attrs:{name:\"fade-visibility\"}},[n(\"a\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.hasNext&&!t.clearView,expression:\"hasNext && !clearView\"}],staticClass:\"next\",class:{invisible:t.clearView||!t.hasNext},attrs:{href:\"#\"},on:{click:function(e){return e.preventDefault(),e.stopPropagation(),t.next(e)}}},[n(\"span\",{staticClass:\"icon-next\"},[n(\"ChevronRight\",{attrs:{size:40,title:\"\",decorative:\"\"}}),t._v(\" \"),n(\"span\",{staticClass:\"hidden-visually\"},[t._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\"+t._s(t.t(\"Next\"))+\"\\n\\t\\t\\t\\t\\t\\t\\t\")])],1)])])],1)])],1)])}),[],!1,null,\"3e8e4882\",null);\"function\"==typeof z.a&&z()(P);var _=P.exports;\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */Object(a.a)(_);e.default=_},,,,,,,,,,,,,,,,,function(t,e){t.exports=require(\"vue-material-design-icons/ChevronLeft\")},function(t,e){t.exports=require(\"vue-material-design-icons/Pause\")},function(t,e){t.exports=require(\"vue-material-design-icons/Play\")}])}));\n//# sourceMappingURL=Modal.js.map","'use strict';\n\nvar possibleNames = [\n\t'BigInt64Array',\n\t'BigUint64Array',\n\t'Float32Array',\n\t'Float64Array',\n\t'Int16Array',\n\t'Int32Array',\n\t'Int8Array',\n\t'Uint16Array',\n\t'Uint32Array',\n\t'Uint8Array',\n\t'Uint8ClampedArray'\n];\n\nvar g = typeof globalThis === 'undefined' ? global : globalThis;\n\nmodule.exports = function availableTypedArrays() {\n\tvar out = [];\n\tfor (var i = 0; i < possibleNames.length; i++) {\n\t\tif (typeof g[possibleNames[i]] === 'function') {\n\t\t\tout[out.length] = possibleNames[i];\n\t\t}\n\t}\n\treturn out;\n};\n","module.exports = require('./lib/axios');","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\nvar defaults = require('../defaults');\nvar Cancel = require('../cancel/Cancel');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n var responseType = config.responseType;\n var onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(createError('Request aborted', config, 'ECONNABORTED', request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n var transitional = config.transitional || defaults.transitional;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(createError(\n timeoutErrorMessage,\n config,\n transitional.clarifyTimeoutError ? 'ETIMEDOUT' : 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = function(cancel) {\n if (!request) {\n return;\n }\n reject(!cancel || (cancel && cancel.type) ? new Cancel('canceled') : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\naxios.VERSION = require('./env/data').version;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\n// Expose isAxiosError\naxios.isAxiosError = require('./helpers/isAxiosError');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(function(cancel) {\n if (!token._listeners) return;\n\n var i;\n var l = token._listeners.length;\n\n for (i = 0; i < l; i++) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = function(onfulfilled) {\n var _resolve;\n // eslint-disable-next-line func-names\n var promise = new Promise(function(resolve) {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Subscribe to the cancel signal\n */\n\nCancelToken.prototype.subscribe = function subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n};\n\n/**\n * Unsubscribe from the cancel signal\n */\n\nCancelToken.prototype.unsubscribe = function unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n var index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\nvar validator = require('../helpers/validator');\n\nvar validators = validator.validators;\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = arguments[1] || {};\n config.url = arguments[0];\n } else {\n config = config || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n var transitional = config.transitional;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n // filter out skipped interceptors\n var requestInterceptorChain = [];\n var synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n var responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n var promise;\n\n if (!synchronousRequestInterceptors) {\n var chain = [dispatchRequest, undefined];\n\n Array.prototype.unshift.apply(chain, requestInterceptorChain);\n chain = chain.concat(responseInterceptorChain);\n\n promise = Promise.resolve(config);\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n }\n\n\n var newConfig = config;\n while (requestInterceptorChain.length) {\n var onFulfilled = requestInterceptorChain.shift();\n var onRejected = requestInterceptorChain.shift();\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected(error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest(newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n while (responseInterceptorChain.length) {\n promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar Cancel = require('../cancel/Cancel');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new Cancel('canceled');\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n };\n return error;\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(prop) {\n if (prop in config2) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n var mergeMap = {\n 'url': valueFromConfig2,\n 'method': valueFromConfig2,\n 'data': valueFromConfig2,\n 'baseURL': defaultToConfig2,\n 'transformRequest': defaultToConfig2,\n 'transformResponse': defaultToConfig2,\n 'paramsSerializer': defaultToConfig2,\n 'timeout': defaultToConfig2,\n 'timeoutMessage': defaultToConfig2,\n 'withCredentials': defaultToConfig2,\n 'adapter': defaultToConfig2,\n 'responseType': defaultToConfig2,\n 'xsrfCookieName': defaultToConfig2,\n 'xsrfHeaderName': defaultToConfig2,\n 'onUploadProgress': defaultToConfig2,\n 'onDownloadProgress': defaultToConfig2,\n 'decompress': defaultToConfig2,\n 'maxContentLength': defaultToConfig2,\n 'maxBodyLength': defaultToConfig2,\n 'transport': defaultToConfig2,\n 'httpAgent': defaultToConfig2,\n 'httpsAgent': defaultToConfig2,\n 'cancelToken': defaultToConfig2,\n 'socketPath': defaultToConfig2,\n 'responseEncoding': defaultToConfig2,\n 'validateStatus': mergeDirectKeys\n };\n\n utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n var merge = mergeMap[prop] || mergeDeepProperties;\n var configValue = merge(prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n};\n","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar defaults = require('./../defaults');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n var context = this || defaults;\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn.call(context, data, headers);\n });\n\n return data;\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\nvar enhanceError = require('./core/enhanceError');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nvar defaults = {\n\n transitional: {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n },\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data) || (headers && headers['Content-Type'] === 'application/json')) {\n setContentTypeIfUnset(headers, 'application/json');\n return stringifySafely(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n var transitional = this.transitional || defaults.transitional;\n var silentJSONParsing = transitional && transitional.silentJSONParsing;\n var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';\n\n if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw enhanceError(e, this, 'E_JSON_PARSE');\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","module.exports = {\n \"version\": \"0.24.0\"\n};","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n","'use strict';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return (typeof payload === 'object') && (payload.isAxiosError === true);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","'use strict';\n\nvar VERSION = require('../env/data').version;\n\nvar validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nvar deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return function(value, opt, opts) {\n if (validator === false) {\n throw new Error(formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')));\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new TypeError('options must be an object');\n }\n var keys = Object.keys(options);\n var i = keys.length;\n while (i-- > 0) {\n var opt = keys[i];\n var validator = schema[opt];\n if (validator) {\n var value = options[opt];\n var result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new TypeError('option ' + opt + ' must be ' + result);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw Error('Unknown option ' + opt);\n }\n }\n}\n\nmodule.exports = {\n assertOptions: assertOptions,\n validators: validators\n};\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (toString.call(val) !== '[object Object]') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar callBind = require('./');\n\nvar $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));\n\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\tvar intrinsic = GetIntrinsic(name, !!allowMissing);\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBind(intrinsic);\n\t}\n\treturn intrinsic;\n};\n","'use strict';\n\nvar bind = require('function-bind');\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $apply = GetIntrinsic('%Function.prototype.apply%');\nvar $call = GetIntrinsic('%Function.prototype.call%');\nvar $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply);\n\nvar $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true);\nvar $max = GetIntrinsic('%Math.max%');\n\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = null;\n\t}\n}\n\nmodule.exports = function callBind(originalFunction) {\n\tvar func = $reflectApply(bind, $call, arguments);\n\tif ($gOPD && $defineProperty) {\n\t\tvar desc = $gOPD(func, 'length');\n\t\tif (desc.configurable) {\n\t\t\t// original length, plus the receiver, minus any additional arguments (after the receiver)\n\t\t\t$defineProperty(\n\t\t\t\tfunc,\n\t\t\t\t'length',\n\t\t\t\t{ value: 1 + $max(0, originalFunction.length - (arguments.length - 1)) }\n\t\t\t);\n\t\t}\n\t}\n\treturn func;\n};\n\nvar applyBind = function applyBind() {\n\treturn $reflectApply(bind, $apply, arguments);\n};\n\nif ($defineProperty) {\n\t$defineProperty(module.exports, 'apply', { value: applyBind });\n} else {\n\tmodule.exports.apply = applyBind;\n}\n","/*global window, global*/\nvar util = require(\"util\")\nvar assert = require(\"assert\")\nfunction now() { return new Date().getTime() }\n\nvar slice = Array.prototype.slice\nvar console\nvar times = {}\n\nif (typeof global !== \"undefined\" && global.console) {\n console = global.console\n} else if (typeof window !== \"undefined\" && window.console) {\n console = window.console\n} else {\n console = {}\n}\n\nvar functions = [\n [log, \"log\"],\n [info, \"info\"],\n [warn, \"warn\"],\n [error, \"error\"],\n [time, \"time\"],\n [timeEnd, \"timeEnd\"],\n [trace, \"trace\"],\n [dir, \"dir\"],\n [consoleAssert, \"assert\"]\n]\n\nfor (var i = 0; i < functions.length; i++) {\n var tuple = functions[i]\n var f = tuple[0]\n var name = tuple[1]\n\n if (!console[name]) {\n console[name] = f\n }\n}\n\nmodule.exports = console\n\nfunction log() {}\n\nfunction info() {\n console.log.apply(console, arguments)\n}\n\nfunction warn() {\n console.log.apply(console, arguments)\n}\n\nfunction error() {\n console.warn.apply(console, arguments)\n}\n\nfunction time(label) {\n times[label] = now()\n}\n\nfunction timeEnd(label) {\n var time = times[label]\n if (!time) {\n throw new Error(\"No such label: \" + label)\n }\n\n delete times[label]\n var duration = now() - time\n console.log(label + \": \" + duration + \"ms\")\n}\n\nfunction trace() {\n var err = new Error()\n err.name = \"Trace\"\n err.message = util.format.apply(null, arguments)\n console.error(err.stack)\n}\n\nfunction dir(object) {\n console.log(util.inspect(object) + \"\\n\")\n}\n\nfunction consoleAssert(expression) {\n if (!expression) {\n var arr = slice.call(arguments, 1)\n assert.ok(false, util.format.apply(null, arr))\n }\n}\n","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n } return it;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar definePropertyModule = require('../internals/object-define-property');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\n\n// `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? charAt(S, index).length : 1);\n};\n","module.exports = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n } return it;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","'use strict';\nvar $forEach = require('../internals/array-iteration').forEach;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.github.io/ecma262/#sec-array.prototype.foreach\nmodule.exports = (!STRICT_METHOD || !USES_TO_LENGTH) ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n} : [].forEach;\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var bind = require('../internals/function-bind-context');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = [].push;\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push.call(target, value); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6)\n};\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call,no-throw-literal\n method.call(null, argument || function () { throw 1; }, 1);\n });\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\n\nvar defineProperty = Object.defineProperty;\nvar cache = {};\n\nvar thrower = function (it) { throw it; };\n\nmodule.exports = function (METHOD_NAME, options) {\n if (has(cache, METHOD_NAME)) return cache[METHOD_NAME];\n if (!options) options = {};\n var method = [][METHOD_NAME];\n var ACCESSORS = has(options, 'ACCESSORS') ? options.ACCESSORS : false;\n var argument0 = has(options, 0) ? options[0] : thrower;\n var argument1 = has(options, 1) ? options[1] : undefined;\n\n return cache[METHOD_NAME] = !!method && !fails(function () {\n if (ACCESSORS && !DESCRIPTORS) return true;\n var O = { length: -1 };\n\n if (ACCESSORS) defineProperty(O, 1, { enumerable: true, get: thrower });\n else O[1] = 1;\n\n method.call(O, argument0, argument1);\n });\n};\n","var isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.github.io/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n","var anObject = require('../internals/an-object');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (error) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined) anObject(returnMethod.call(iterator));\n throw error;\n }\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line no-throw-literal\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\nvar create = require('../internals/object-create');\nvar redefineAll = require('../internals/redefine-all');\nvar bind = require('../internals/function-bind-context');\nvar anInstance = require('../internals/an-instance');\nvar iterate = require('../internals/iterate');\nvar defineIterator = require('../internals/define-iterator');\nvar setSpecies = require('../internals/set-species');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fastKey = require('../internals/internal-metadata').fastKey;\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, CONSTRUCTOR_NAME);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n index: create(null),\n first: undefined,\n last: undefined,\n size: 0\n });\n if (!DESCRIPTORS) that.size = 0;\n if (iterable != undefined) iterate(iterable, that[ADDER], that, IS_MAP);\n });\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n var previous, index;\n // change existing entry\n if (entry) {\n entry.value = value;\n // create new entry\n } else {\n state.last = entry = {\n index: index = fastKey(key, true),\n key: key,\n value: value,\n previous: previous = state.last,\n next: undefined,\n removed: false\n };\n if (!state.first) state.first = entry;\n if (previous) previous.next = entry;\n if (DESCRIPTORS) state.size++;\n else that.size++;\n // add to index\n if (index !== 'F') state.index[index] = entry;\n } return that;\n };\n\n var getEntry = function (that, key) {\n var state = getInternalState(that);\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return state.index[index];\n // frozen object case\n for (entry = state.first; entry; entry = entry.next) {\n if (entry.key == key) return entry;\n }\n };\n\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear() {\n var that = this;\n var state = getInternalState(that);\n var data = state.index;\n var entry = state.first;\n while (entry) {\n entry.removed = true;\n if (entry.previous) entry.previous = entry.previous.next = undefined;\n delete data[entry.index];\n entry = entry.next;\n }\n state.first = state.last = undefined;\n if (DESCRIPTORS) state.size = 0;\n else that.size = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function (key) {\n var that = this;\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.next;\n var prev = entry.previous;\n delete state.index[entry.index];\n entry.removed = true;\n if (prev) prev.next = next;\n if (next) next.previous = prev;\n if (state.first == entry) state.first = next;\n if (state.last == entry) state.last = prev;\n if (DESCRIPTORS) state.size--;\n else that.size--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\n var state = getInternalState(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.next : state.first) {\n boundFunction(entry.value, entry.key, this);\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n\n redefineAll(C.prototype, IS_MAP ? {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (DESCRIPTORS) defineProperty(C.prototype, 'size', {\n get: function () {\n return getInternalState(this).size;\n }\n });\n return C;\n },\n setStrong: function (C, CONSTRUCTOR_NAME, IS_MAP) {\n var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n defineIterator(C, CONSTRUCTOR_NAME, function (iterated, kind) {\n setInternalState(this, {\n type: ITERATOR_NAME,\n target: iterated,\n state: getInternalCollectionState(iterated),\n kind: kind,\n last: undefined\n });\n }, function () {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var entry = state.last;\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n // get next entry\n if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n // or finish the iteration\n state.target = undefined;\n return { value: undefined, done: true };\n }\n // return step by kind\n if (kind == 'keys') return { value: entry.key, done: false };\n if (kind == 'values') return { value: entry.value, done: false };\n return { value: [entry.key, entry.value], done: false };\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar iterate = require('../internals/iterate');\nvar anInstance = require('../internals/an-instance');\nvar isObject = require('../internals/is-object');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var exported = {};\n\n var fixMethod = function (KEY) {\n var nativeMethod = NativePrototype[KEY];\n redefine(NativePrototype, KEY,\n KEY == 'add' ? function add(value) {\n nativeMethod.call(this, value === 0 ? 0 : value);\n return this;\n } : KEY == 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n nativeMethod.call(this, key === 0 ? 0 : key, value);\n return this;\n }\n );\n };\n\n // eslint-disable-next-line max-len\n if (isForced(CONSTRUCTOR_NAME, typeof NativeConstructor != 'function' || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n })))) {\n // create collection constructor\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n InternalMetadataModule.REQUIRED = true;\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n // eslint-disable-next-line no-new\n var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new NativeConstructor();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n\n if (!ACCEPT_ITERABLES) {\n Constructor = wrapper(function (dummy, iterable) {\n anInstance(dummy, Constructor, CONSTRUCTOR_NAME);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (iterable != undefined) iterate(iterable, that[ADDER], that, IS_MAP);\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\n }\n\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n\n // weak collections should not contains .clear method\n if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;\n }\n\n exported[CONSTRUCTOR_NAME] = Constructor;\n $({ global: true, forced: Constructor != NativeConstructor }, exported);\n\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n return Constructor;\n};\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return nativeIterator.call(this); };\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n return methods;\n};\n","var fails = require('../internals/fails');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\n// TODO: Remove from `core-js@4` since it's moved to entry points\nrequire('../modules/es.regexp.exec');\nvar redefine = require('../internals/redefine');\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar regexpExec = require('../internals/regexp-exec');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar SPECIES = wellKnownSymbol('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$<a>') !== '7';\n});\n\n// IE <= 11 replaces $0 with the whole match, as if it was $&\n// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0\nvar REPLACE_KEEPS_$0 = (function () {\n return 'a'.replace(/./, '$0') === '$0';\n})();\n\nvar REPLACE = wellKnownSymbol('replace');\n// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string\nvar REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {\n if (/./[REPLACE]) {\n return /./[REPLACE]('a', '$0') === '';\n }\n return false;\n})();\n\n// Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n// Weex JS has frozen built-in prototypes, so use try / catch wrapper\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';\n});\n\nmodule.exports = function (KEY, length, exec, sham) {\n var SYMBOL = wellKnownSymbol(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n\n if (KEY === 'split') {\n // We can't use real regex here since it causes deoptimization\n // and serious performance degradation in V8\n // https://github.com/zloirock/core-js/issues/306\n re = {};\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n re.flags = '';\n re[SYMBOL] = /./[SYMBOL];\n }\n\n re.exec = function () { execCalled = true; return null; };\n\n re[SYMBOL]('');\n return !execCalled;\n });\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !(\n REPLACE_SUPPORTS_NAMED_GROUPS &&\n REPLACE_KEEPS_$0 &&\n !REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n )) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === regexpExec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }, {\n REPLACE_KEEPS_$0: REPLACE_KEEPS_$0,\n REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n });\n var stringMethod = methods[0];\n var regexMethod = methods[1];\n\n redefine(String.prototype, KEY, stringMethod);\n redefine(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return regexMethod.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return regexMethod.call(string, this); }\n );\n }\n\n if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true);\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n return Object.isExtensible(Object.preventExtensions({}));\n});\n","var aFunction = require('../internals/a-function');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","var classof = require('../internals/classof');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line no-undef\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func\n Function('return this')();\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","module.exports = {};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n typeof (NewTarget = dummy.constructor) == 'function' &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","var store = require('../internals/shared-store');\n\nvar functionToString = Function.toString;\n\n// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var hiddenKeys = require('../internals/hidden-keys');\nvar isObject = require('../internals/is-object');\nvar has = require('../internals/has');\nvar defineProperty = require('../internals/object-define-property').f;\nvar uid = require('../internals/uid');\nvar FREEZING = require('../internals/freezing');\n\nvar METADATA = uid('meta');\nvar id = 0;\n\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\n\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, { value: {\n objectID: 'O' + ++id, // object ID\n weakData: {} // weak collections IDs\n } });\n};\n\nvar fastKey = function (it, create) {\n // return a primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMetadata(it);\n // return object ID\n } return it[METADATA].objectID;\n};\n\nvar getWeakData = function (it, create) {\n if (!has(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMetadata(it);\n // return the store of weak collections IDs\n } return it[METADATA].weakData;\n};\n\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZING && meta.REQUIRED && isExtensible(it) && !has(it, METADATA)) setMetadata(it);\n return it;\n};\n\nvar meta = module.exports = {\n REQUIRED: false,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\n\nhiddenKeys[METADATA] = true;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = new WeakMap();\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.github.io/ecma262/#sec-isarray\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","module.exports = false;\n","var anObject = require('../internals/an-object');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar bind = require('../internals/function-bind-context');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar iterate = module.exports = function (iterable, fn, that, AS_ENTRIES, IS_ITERATOR) {\n var boundFunction = bind(fn, that, AS_ENTRIES ? 2 : 1);\n var iterator, iterFn, index, length, result, next, step;\n\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (typeof iterFn != 'function') throw TypeError('Target is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\n result = AS_ENTRIES\n ? boundFunction(anObject(step = iterable[index])[0], step[1])\n : boundFunction(iterable[index]);\n if (result && result instanceof Result) return result;\n } return new Result(false);\n }\n iterator = iterFn.call(iterable);\n }\n\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n result = callWithSafeIterationClosing(iterator, boundFunction, step.value, AS_ENTRIES);\n if (typeof result == 'object' && result && result instanceof Result) return result;\n } return new Result(false);\n};\n\niterate.stop = function (result) {\n return new Result(true, result);\n};\n","'use strict';\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\nvar returnThis = function () { return this; };\n\n// `%IteratorPrototype%` object\n// https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nif (IteratorPrototype == undefined) IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nif (!IS_PURE && !has(IteratorPrototype, ITERATOR)) {\n createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","module.exports = {};\n","var fails = require('../internals/fails');\n\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n // Chrome 38 Symbol has incorrect toString conversion\n // eslint-disable-next-line no-undef\n return !String(Symbol());\n});\n","var global = require('../internals/global');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\nvar nativeAssign = Object.assign;\nvar defineProperty = Object.defineProperty;\n\n// `Object.assign` method\n// https://tc39.github.io/ecma262/#sec-object.assign\nmodule.exports = !nativeAssign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && nativeAssign({ b: 1 }, nativeAssign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var symbol = Symbol();\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : nativeAssign;\n","var anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n /* global ActiveXObject */\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.github.io/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperties\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\nvar nativeDefineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","exports.f = Object.getOwnPropertySymbols;\n","var has = require('../internals/has');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.getprototypeof\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectPrototype : null;\n};\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n","var anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter.call(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","var redefine = require('../internals/redefine');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) redefine(target, key, src[key], options);\n return target;\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);\n enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n","var classof = require('./classof-raw');\nvar regexpExec = require('./regexp-exec');\n\n// `RegExpExec` abstract operation\n// https://tc39.github.io/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n\n if (classof(R) !== 'RegExp') {\n throw TypeError('RegExp#exec called on incompatible receiver');\n }\n\n return regexpExec.call(R, S);\n};\n\n","'use strict';\nvar regexpFlags = require('./regexp-flags');\nvar stickyHelpers = require('./regexp-sticky-helpers');\n\nvar nativeExec = RegExp.prototype.exec;\n// This always refers to the native implementation, because the\n// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,\n// which loads this file before patching the method.\nvar nativeReplace = String.prototype.replace;\n\nvar patchedExec = nativeExec;\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/;\n var re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1.lastIndex !== 0 || re2.lastIndex !== 0;\n})();\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y || stickyHelpers.BROKEN_CARET;\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n var sticky = UNSUPPORTED_Y && re.sticky;\n var flags = regexpFlags.call(re);\n var source = re.source;\n var charsAdded = 0;\n var strCopy = str;\n\n if (sticky) {\n flags = flags.replace('y', '');\n if (flags.indexOf('g') === -1) {\n flags += 'g';\n }\n\n strCopy = String(str).slice(re.lastIndex);\n // Support anchored sticky behavior.\n if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\\n')) {\n source = '(?: ' + source + ')';\n strCopy = ' ' + strCopy;\n charsAdded++;\n }\n // ^(? + rx + ) is needed, in combination with some str slicing, to\n // simulate the 'y' flag.\n reCopy = new RegExp('^(?:' + source + ')', flags);\n }\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + source + '$(?!\\\\s)', flags);\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;\n\n match = nativeExec.call(sticky ? reCopy : re, strCopy);\n\n if (sticky) {\n if (match) {\n match.input = match.input.slice(charsAdded);\n match[0] = match[0].slice(charsAdded);\n match.index = re.lastIndex;\n re.lastIndex += match[0].length;\n } else re.lastIndex = 0;\n } else if (UPDATES_LAST_INDEX_WRONG && match) {\n re.lastIndex = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","'use strict';\n\nvar fails = require('./fails');\n\n// babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,\n// so we use an intermediate function.\nfunction RE(s, f) {\n return RegExp(s, f);\n}\n\nexports.UNSUPPORTED_Y = fails(function () {\n // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError\n var re = RE('a', 'y');\n re.lastIndex = 2;\n return re.exec('abcd') != null;\n});\n\nexports.BROKEN_CARET = fails(function () {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=773687\n var re = RE('^r', 'gy');\n re.lastIndex = 2;\n return re.exec('str') != null;\n});\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.github.io/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","var defineProperty = require('../internals/object-define-property').f;\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.6.5',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\n","var toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.{ codePointAt, at }` methods implementation\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = String(requireObjectCoercible($this));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING ? S.charAt(position) : first\n : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.github.io/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.github.io/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.github.io/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.github.io/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","var NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n // eslint-disable-next-line no-undef\n && !Symbol.sham\n // eslint-disable-next-line no-undef\n && typeof Symbol.iterator == 'symbol';\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar has = require('../internals/has');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name)) {\n if (NATIVE_SYMBOL && has(Symbol, name)) WellKnownSymbolsStore[name] = Symbol[name];\n else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n\n// `Array.prototype.concat` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, forced: FORCED }, {\n concat: function concat(arg) { // eslint-disable-line no-unused-vars\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = toLength(E.length);\n if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n// Edge 14- issue\nvar USES_TO_LENGTH = arrayMethodUsesToLength('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar forEach = require('../internals/array-for-each');\n\n// `Array.prototype.forEach` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.foreach\n$({ target: 'Array', proto: true, forced: [].forEach != forEach }, {\n forEach: forEach\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $indexOf = require('../internals/array-includes').indexOf;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar nativeIndexOf = [].indexOf;\n\nvar NEGATIVE_ZERO = !!nativeIndexOf && 1 / [1].indexOf(1, -0) < 0;\nvar STRICT_METHOD = arrayMethodIsStrict('indexOf');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 });\n\n// `Array.prototype.indexOf` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n$({ target: 'Array', proto: true, forced: NEGATIVE_ZERO || !STRICT_METHOD || !USES_TO_LENGTH }, {\n indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {\n return NEGATIVE_ZERO\n // convert -0 to +0\n ? nativeIndexOf.apply(this, arguments) || 0\n : $indexOf(this, searchElement, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.github.io/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.github.io/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.github.io/ecma262/#sec-createmappedargumentsobject\nIterators.Arguments = Iterators.Array;\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Map` constructor\n// https://tc39.github.io/ecma262/#sec-map-objects\nmodule.exports = collection('Map', function (init) {\n return function Map() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","var $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.github.io/ecma262/#sec-object.assign\n$({ target: 'Object', stat: true, forced: Object.assign !== assign }, {\n assign: assign\n});\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar redefine = require('../internals/redefine');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar exec = require('../internals/regexp-exec');\n\n$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {\n exec: exec\n});\n","'use strict';\nvar redefine = require('../internals/redefine');\nvar anObject = require('../internals/an-object');\nvar fails = require('../internals/fails');\nvar flags = require('../internals/regexp-flags');\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar nativeToString = RegExpPrototype[TO_STRING];\n\nvar NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = nativeToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n redefine(RegExp.prototype, TO_STRING, function toString() {\n var R = anObject(this);\n var p = String(R.source);\n var rf = R.flags;\n var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf);\n return '/' + p + '/' + f;\n }, { unsafe: true });\n}\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: String(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\nvar max = Math.max;\nvar min = Math.min;\nvar floor = Math.floor;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d\\d?|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d\\d?)/g;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {\n var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = reason.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE;\n var REPLACE_KEEPS_$0 = reason.REPLACE_KEEPS_$0;\n var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';\n\n return [\n // `String.prototype.replace` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];\n return replacer !== undefined\n ? replacer.call(searchValue, O, replaceValue)\n : nativeReplace.call(String(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace\n function (regexp, replaceValue) {\n if (\n (!REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE && REPLACE_KEEPS_$0) ||\n (typeof replaceValue === 'string' && replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1)\n ) {\n var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);\n if (res.done) return res.value;\n }\n\n var rx = anObject(regexp);\n var S = String(this);\n\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n\n results.push(result);\n if (!global) break;\n\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n\n var matched = String(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = String(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n\n // https://tc39.github.io/ecma262/#sec-getsubstitution\n function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return nativeReplace.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n }\n});\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar forEach = require('../internals/array-for-each');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);\n } catch (error) {\n CollectionPrototype.forEach = forEach;\n }\n}\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n if (!CollectionPrototype[TO_STRING_TAG]) {\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n }\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n}\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"#firstrunwizard .page{display:flex;flex-direction:row;flex-wrap:wrap;margin:auto}#firstrunwizard .page h3{margin:10px 0 10px;line-height:120%;padding:0}#firstrunwizard .page .image{padding:20px;max-width:calc(50% - 40px);flex-grow:1}#firstrunwizard .page .image img{width:100%}#firstrunwizard .page .content{padding:20px;width:100%}#firstrunwizard .page p{margin-bottom:20px}#firstrunwizard .page .description-block:first-child{margin-bottom:20px}#firstrunwizard .page .description{margin:20px;width:auto;flex-grow:1;max-width:calc(50% - 40px)}#firstrunwizard .page ul{margin:10px}#firstrunwizard .page ul li{margin-left:20px;margin-bottom:10px;list-style:circle outside}#firstrunwizard .page a:not(.button):hover,#firstrunwizard .page a:not(.button):focus{text-decoration:underline}#firstrunwizard .page .button{display:inline-block}#firstrunwizard .page .button img{width:16px;height:16px;opacity:.5;margin-top:-3px;vertical-align:middle}#firstrunwizard .content-clients{width:100%;text-align:center}#firstrunwizard .content-clients a{text-decoration:none;display:inline-block}#firstrunwizard .content-clients .clientslinks .appsmall{height:32px;width:32px;position:relative;opacity:.5;vertical-align:middle}#firstrunwizard .content-clients .clientslinks .button{display:inline-block;padding:8px;font-weight:normal;font-size:14px}#firstrunwizard .content-final h3{background-position:0;background-size:16px 16px;padding-left:26px;opacity:.7}#firstrunwizard p a{font-weight:bold;color:var(--color-primary)}#firstrunwizard p a:hover,#firstrunwizard p a:focus{color:var(color-text-light)}#firstrunwizard .footnote{margin-top:40px}#firstrunwizard .modal-wrapper .icon-next{background-color:var(--color-primary);color:var(--color-primary-text);box-shadow:0 2px 8px rgba(0,0,0,.33);left:22px}#firstrunwizard .modal-wrapper .icon-previous{background-color:var(--color-primary-light);color:var(--color-primary-light-text);box-shadow:0 2px 8px rgba(0,0,0,.33);left:22px}.clientslinks{margin-top:20px;margin-bottom:20px}#wizard-values{list-style-type:none;display:flex;flex-wrap:wrap;margin:0}#wizard-values li{display:block;min-width:250px;width:33%;flex-grow:1;margin:20px 0 20px 0}#wizard-values li span{opacity:.7;display:block;height:50px;width:50px;background-size:40px;margin:auto}#wizard-values li h3{margin:10px 0 10px 0;font-size:130%;text-align:center}.details-link{text-align:center}@media only screen and (max-width: 680px){#firstrunwizard .firstrunwizard-header div.logo{background-size:120px}#firstrunwizard h2{font-size:20px}#firstrunwizard .page>div{max-width:100% !important;width:100%}#firstrunwizard .page #wizard-values li{min-width:100%;overflow:hidden;display:flex}#firstrunwizard .page #wizard-values li span{width:44px !important;padding-right:20px;flex-grow:0}#firstrunwizard .page #wizard-values li h3{font-size:12px;text-align:left;flex-grow:1}#firstrunwizard .page.content-final{padding-bottom:50px}.modal-mask .modal-wrapper .next,.prev{top:220px;align-items:start !important}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/App.vue\"],\"names\":[],\"mappings\":\"AA4CC,sBACC,YAAA,CACA,kBAAA,CACA,cAAA,CACA,WAAA,CAEA,yBACC,kBAAA,CACA,gBAAA,CACA,SAAA,CAED,6BACC,YAAA,CACA,0BAAA,CACA,WAAA,CACA,iCACC,UAAA,CAGF,+BACC,YAAA,CACA,UAAA,CAED,wBACC,kBAAA,CAED,qDACC,kBAAA,CAED,mCACC,WAAA,CACA,UAAA,CACA,WAAA,CACA,0BAAA,CAED,yBACC,WAAA,CACA,4BACC,gBAAA,CACA,kBAAA,CACA,yBAAA,CAID,sFAEC,yBAAA,CAGF,8BACC,oBAAA,CAEA,kCACC,UAAA,CACA,WAAA,CACA,UAAA,CACA,eAAA,CACA,qBAAA,CAKH,iCACC,UAAA,CACA,iBAAA,CACA,mCACC,oBAAA,CACA,oBAAA,CAED,yDACC,WAAA,CACA,UAAA,CACA,iBAAA,CACA,UAAA,CACA,qBAAA,CAED,uDACC,oBAAA,CACA,WAAA,CACA,kBAAA,CACA,cAAA,CAID,kCACC,qBAAA,CACA,yBAAA,CACA,iBAAA,CACA,UAAA,CAGF,oBACC,gBAAA,CACA,0BAAA,CACA,oDAEC,2BAAA,CAIF,0BACC,eAAA,CAKA,0CACC,qCAAA,CACA,+BAAA,CACA,oCAAA,CACA,SAAA,CAGD,8CACC,2CAAA,CACA,qCAAA,CACA,oCAAA,CACA,SAAA,CAKH,cACC,eAAA,CACA,kBAAA,CAGD,eACC,oBAAA,CACA,YAAA,CACA,cAAA,CACA,QAAA,CACA,kBACC,aAAA,CACA,eAAA,CACA,SAAA,CACA,WAAA,CACA,oBAAA,CACA,uBACC,UAAA,CACA,aAAA,CACA,WAAA,CACA,UAAA,CACA,oBAAA,CACA,WAAA,CAED,qBACC,oBAAA,CACA,cAAA,CACA,iBAAA,CAKH,cACC,iBAAA,CAGD,0CAEE,gDACC,qBAAA,CAED,mBACC,cAAA,CAED,0BACC,yBAAA,CACA,UAAA,CAGA,wCACC,cAAA,CACA,eAAA,CACA,YAAA,CACA,6CACC,qBAAA,CACA,kBAAA,CACA,WAAA,CAED,2CACC,cAAA,CACA,eAAA,CACA,WAAA,CAIF,oCACC,mBAAA,CAKH,uCACC,SAAA,CACA,4BAAA,CAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n/* Page styling needs to be unscoped, since we load it separately from the server */\\n#firstrunwizard {\\n\\n\\t.page {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: row;\\n\\t\\tflex-wrap: wrap;\\n\\t\\tmargin: auto;\\n\\n\\t\\th3 {\\n\\t\\t\\tmargin: 10px 0 10px;\\n\\t\\t\\tline-height: 120%;\\n\\t\\t\\tpadding: 0;\\n\\t\\t}\\n\\t\\t.image {\\n\\t\\t\\tpadding: 20px;\\n\\t\\t\\tmax-width: calc(50% - 40px);\\n\\t\\t\\tflex-grow: 1;\\n\\t\\t\\timg {\\n\\t\\t\\t\\twidth: 100%;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t.content {\\n\\t\\t\\tpadding: 20px;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\t\\tp {\\n\\t\\t\\tmargin-bottom: 20px;\\n\\t\\t}\\n\\t\\t.description-block:first-child {\\n\\t\\t\\tmargin-bottom: 20px;\\n\\t\\t}\\n\\t\\t.description {\\n\\t\\t\\tmargin: 20px;\\n\\t\\t\\twidth: auto;\\n\\t\\t\\tflex-grow: 1;\\n\\t\\t\\tmax-width: calc(50% - 40px);\\n\\t\\t}\\n\\t\\tul {\\n\\t\\t\\tmargin: 10px;\\n\\t\\t\\tli {\\n\\t\\t\\t\\tmargin-left: 20px;\\n\\t\\t\\t\\tmargin-bottom: 10px;\\n\\t\\t\\t\\tlist-style: circle outside;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\ta:not(.button) {\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus {\\n\\t\\t\\t\\ttext-decoration: underline;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t.button {\\n\\t\\t\\tdisplay: inline-block;\\n\\n\\t\\t\\timg {\\n\\t\\t\\t\\twidth: 16px;\\n\\t\\t\\t\\theight: 16px;\\n\\t\\t\\t\\topacity: .5;\\n\\t\\t\\t\\tmargin-top: -3px;\\n\\t\\t\\t\\tvertical-align: middle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t.content-clients {\\n\\t\\twidth: 100%;\\n\\t\\ttext-align: center;\\n\\t\\ta {\\n\\t\\t\\ttext-decoration: none;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t\\t.clientslinks .appsmall {\\n\\t\\t\\theight: 32px;\\n\\t\\t\\twidth: 32px;\\n\\t\\t\\tposition: relative;\\n\\t\\t\\topacity: .5;\\n\\t\\t\\tvertical-align: middle;\\n\\t\\t}\\n\\t\\t.clientslinks .button {\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t\\tpadding: 8px;\\n\\t\\t\\tfont-weight: normal;\\n\\t\\t\\tfont-size: 14px;\\n\\t\\t}\\n\\t}\\n\\t.content-final {\\n\\t\\th3 {\\n\\t\\t\\tbackground-position: 0;\\n\\t\\t\\tbackground-size: 16px 16px;\\n\\t\\t\\tpadding-left: 26px;\\n\\t\\t\\topacity: .7;\\n\\t\\t}\\n\\t}\\n\\tp a {\\n\\t\\tfont-weight: bold;\\n\\t\\tcolor: var(--color-primary);\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\tcolor: var(color-text-light);\\n\\t\\t}\\n\\t}\\n\\n\\t.footnote {\\n\\t\\tmargin-top: 40px;\\n\\t}\\n\\n\\t// primary on next button\\n\\t.modal-wrapper {\\n\\t\\t.icon-next {\\n\\t\\t\\tbackground-color: var(--color-primary);\\n\\t\\t\\tcolor: var(--color-primary-text);\\n\\t\\t\\tbox-shadow: 0 2px 8px rgba(0, 0, 0, .33);\\n\\t\\t\\tleft: 22px;\\n\\t\\t}\\n\\n\\t\\t.icon-previous {\\n\\t\\t\\tbackground-color: var(--color-primary-light);\\n\\t\\t\\tcolor: var(--color-primary-light-text);\\n\\t\\t\\tbox-shadow: 0 2px 8px rgba(0, 0, 0, .33);\\n\\t\\t\\tleft: 22px;\\n\\t\\t}\\n\\t}\\n}\\n\\n.clientslinks {\\n\\tmargin-top: 20px;\\n\\tmargin-bottom: 20px;\\n}\\n\\n#wizard-values {\\n\\tlist-style-type: none;\\n\\tdisplay: flex;\\n\\tflex-wrap: wrap;\\n\\tmargin: 0;\\n\\tli {\\n\\t\\tdisplay: block;\\n\\t\\tmin-width: 250px;\\n\\t\\twidth: 33%;\\n\\t\\tflex-grow: 1;\\n\\t\\tmargin: 20px 0 20px 0;\\n\\t\\tspan {\\n\\t\\t\\topacity: .7;\\n\\t\\t\\tdisplay: block;\\n\\t\\t\\theight: 50px;\\n\\t\\t\\twidth: 50px;\\n\\t\\t\\tbackground-size: 40px;\\n\\t\\t\\tmargin: auto;\\n\\t\\t}\\n\\t\\th3 {\\n\\t\\t\\tmargin: 10px 0 10px 0;\\n\\t\\t\\tfont-size: 130%;\\n\\t\\t\\ttext-align: center;\\n\\t\\t}\\n\\t}\\n}\\n\\n.details-link {\\n\\ttext-align: center;\\n}\\n\\n@media only screen and (max-width: 680px) {\\n\\t#firstrunwizard {\\n\\t\\t.firstrunwizard-header div.logo {\\n\\t\\t\\tbackground-size: 120px;\\n\\t\\t}\\n\\t\\th2 {\\n\\t\\t\\tfont-size: 20px;\\n\\t\\t}\\n\\t\\t.page > div {\\n\\t\\t\\tmax-width: 100% !important;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\t\\t.page {\\n\\t\\t\\t#wizard-values li {\\n\\t\\t\\t\\tmin-width: 100%;\\n\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\tdisplay: flex;\\n\\t\\t\\t\\tspan {\\n\\t\\t\\t\\t\\twidth: 44px !important;\\n\\t\\t\\t\\t\\tpadding-right: 20px;\\n\\t\\t\\t\\t\\tflex-grow: 0;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\th3 {\\n\\t\\t\\t\\t\\tfont-size: 12px;\\n\\t\\t\\t\\t\\ttext-align: left;\\n\\t\\t\\t\\t\\tflex-grow: 1;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t&.content-final {\\n\\t\\t\\t\\tpadding-bottom: 50px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t// fix button position on mobile (so that they don't overlap with text)\\n\\t.modal-mask .modal-wrapper .next, .prev {\\n\\t\\ttop: 220px;\\n\\t\\talign-items: start !important;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".modal-mask[data-v-e75b1dfa]{background-color:rgba(0,0,0,.7)}.modal-mask[data-v-e75b1dfa] .modal-wrapper{position:relative}.modal-mask[data-v-e75b1dfa] .modal-container{display:flex;flex-direction:column;position:relative}.modal-mask .modal-body[data-v-e75b1dfa]{flex-grow:1;display:flex;overflow-x:hidden;overflow-y:auto}.modal-mask .modal-body>div[data-v-e75b1dfa]{display:flex;flex-grow:1;align-items:center;justify-content:center}.modal-header[data-v-e75b1dfa]{flex-shrink:0}.modal-header .firstrunwizard-header[data-v-e75b1dfa]{padding:20px 12px;background:var(--color-primary) var(--image-login-background) no-repeat 50% 50%;background-size:cover;color:var(--color-primary-text);text-align:center}.modal-header .firstrunwizard-header .logo[data-v-e75b1dfa]{background:var(--image-logo) no-repeat center;background-size:contain;width:175px;height:100px;max-height:20vh;margin:0 auto}.modal-header .firstrunwizard-header h2[data-v-e75b1dfa]{font-size:20px;margin-top:7px;line-height:150%;color:var(--color-primary-text);font-weight:300;padding:0 0 10px}.modal-default-button[data-v-e75b1dfa]{align-self:flex-end}.modal-footer[data-v-e75b1dfa]{overflow:hidden;position:absolute;display:flex;bottom:0;right:0}.modal-footer button[data-v-e75b1dfa]{margin:10px}.next-enter-active[data-v-e75b1dfa],.next-leave-active[data-v-e75b1dfa],.previous-enter-active[data-v-e75b1dfa],.previous-leave-active[data-v-e75b1dfa]{transition:transform .1s,opacity .25s}.next-enter[data-v-e75b1dfa]{transform:translateX(50%);opacity:0}.next-leave-to[data-v-e75b1dfa]{transform:translateX(-50%);opacity:0}.previous-enter[data-v-e75b1dfa]{transform:translateX(-50%);opacity:0}.previous-leave-to[data-v-e75b1dfa]{transform:translateX(50%);opacity:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/App.vue\"],\"names\":[],\"mappings\":\"AAqPA,6BACC,+BAAA,CAEA,4CACC,iBAAA,CAGD,8CACC,YAAA,CACA,qBAAA,CACA,iBAAA,CAGD,yCACC,WAAA,CACA,YAAA,CACA,iBAAA,CACA,eAAA,CAEA,6CACC,YAAA,CACA,WAAA,CACA,kBAAA,CACA,sBAAA,CAKH,+BACC,aAAA,CAEA,sDACC,iBAAA,CACA,+EAAA,CACA,qBAAA,CACA,+BAAA,CACA,iBAAA,CACA,4DACC,6CAAA,CACA,uBAAA,CACA,WAAA,CACA,YAAA,CACA,eAAA,CACA,aAAA,CAED,yDACC,cAAA,CACA,cAAA,CACA,gBAAA,CACA,+BAAA,CACA,eAAA,CACA,gBAAA,CAKH,uCACC,mBAAA,CAGD,+BACC,eAAA,CACA,iBAAA,CACA,YAAA,CACA,QAAA,CACA,OAAA,CAGD,sCACC,WAAA,CAID,wJAEC,qCAAA,CAGD,6BACC,yBAAA,CACA,SAAA,CAGD,gCACC,0BAAA,CACA,SAAA,CAGD,iCACC,0BAAA,CACA,SAAA,CAGD,oCACC,yBAAA,CACA,SAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.modal-mask {\\n\\tbackground-color: rgba(0, 0, 0, 0.7);\\n\\n\\t&::v-deep .modal-wrapper {\\n\\t\\tposition: relative;\\n\\t}\\n\\n\\t&::v-deep .modal-container {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tposition: relative;\\n\\t}\\n\\n\\t.modal-body {\\n\\t\\tflex-grow: 1;\\n\\t\\tdisplay: flex;\\n\\t\\toverflow-x: hidden;\\n\\t\\toverflow-y: auto;\\n\\n\\t\\t& > div {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-grow: 1;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tjustify-content: center;\\n\\t\\t}\\n\\t}\\n}\\n\\n.modal-header {\\n\\tflex-shrink: 0;\\n\\n\\t.firstrunwizard-header {\\n\\t\\tpadding: 20px 12px;\\n\\t\\tbackground: var(--color-primary) var(--image-login-background) no-repeat 50% 50%;\\n\\t\\tbackground-size: cover;\\n\\t\\tcolor: var(--color-primary-text);\\n\\t\\ttext-align: center;\\n\\t\\t.logo {\\n\\t\\t\\tbackground: var(--image-logo) no-repeat center;\\n\\t\\t\\tbackground-size: contain;\\n\\t\\t\\twidth: 175px;\\n\\t\\t\\theight: 100px;\\n\\t\\t\\tmax-height: 20vh;\\n\\t\\t\\tmargin: 0 auto;\\n\\t\\t}\\n\\t\\th2 {\\n\\t\\t\\tfont-size: 20px;\\n\\t\\t\\tmargin-top: 7px;\\n\\t\\t\\tline-height: 150%;\\n\\t\\t\\tcolor: var(--color-primary-text);\\n\\t\\t\\tfont-weight: 300;\\n\\t\\t\\tpadding: 0 0 10px;\\n\\t\\t}\\n\\t}\\n}\\n\\n.modal-default-button {\\n\\talign-self: flex-end;\\n}\\n\\n.modal-footer {\\n\\toverflow: hidden;\\n\\tposition: absolute;\\n\\tdisplay: flex;\\n\\tbottom: 0;\\n\\tright: 0;\\n}\\n\\n.modal-footer button {\\n\\tmargin: 10px;\\n}\\n\\n/* Transitions */\\n.next-enter-active, .next-leave-active,\\n.previous-enter-active, .previous-leave-active {\\n\\ttransition: transform .1s, opacity .25s;\\n}\\n\\n.next-enter {\\n\\ttransform: translateX(50%);\\n\\topacity: 0;\\n}\\n\\n.next-leave-to {\\n\\ttransform: translateX(-50%);\\n\\topacity: 0;\\n}\\n\\n.previous-enter {\\n\\ttransform: translateX(-50%);\\n\\topacity: 0;\\n}\\n\\n.previous-leave-to {\\n\\ttransform: translateX(50%);\\n\\topacity: 0;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"video[data-v-70de3a6e]{width:100%;height:100%;object-fit:cover}.video-wrapper[data-v-70de3a6e]{background-color:var(--color-primary)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/IntroVideo.vue\"],\"names\":[],\"mappings\":\"AAuDA,uBACC,UAAA,CACA,WAAA,CACA,gBAAA,CAGD,gCACC,qCAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nvideo {\\n\\twidth: 100%;\\n\\theight: 100%;\\n\\tobject-fit: cover;\\n}\\n\\n.video-wrapper {\\n\\tbackground-color: var(--color-primary);\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n\n content += cssWithMappingToString(item);\n\n if (needLayer) {\n content += \"}\";\n }\n\n if (item[2]) {\n content += \"}\";\n }\n\n if (item[4]) {\n content += \"}\";\n }\n\n return content;\n }).join(\"\");\n }; // import a list of modules into the list\n\n\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\n};","\"use strict\";\n\nmodule.exports = function (item) {\n var content = item[1];\n var cssMapping = item[3];\n\n if (!cssMapping) {\n return content;\n }\n\n if (typeof btoa === \"function\") {\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || \"\").concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join(\"\\n\");\n }\n\n return [content].join(\"\\n\");\n};","'use strict';\n\nvar keys = require('object-keys');\nvar hasSymbols = typeof Symbol === 'function' && typeof Symbol('foo') === 'symbol';\n\nvar toStr = Object.prototype.toString;\nvar concat = Array.prototype.concat;\nvar origDefineProperty = Object.defineProperty;\n\nvar isFunction = function (fn) {\n\treturn typeof fn === 'function' && toStr.call(fn) === '[object Function]';\n};\n\nvar arePropertyDescriptorsSupported = function () {\n\tvar obj = {};\n\ttry {\n\t\torigDefineProperty(obj, 'x', { enumerable: false, value: obj });\n\t\t// eslint-disable-next-line no-unused-vars, no-restricted-syntax\n\t\tfor (var _ in obj) { // jscs:ignore disallowUnusedVariables\n\t\t\treturn false;\n\t\t}\n\t\treturn obj.x === obj;\n\t} catch (e) { /* this is IE 8. */\n\t\treturn false;\n\t}\n};\nvar supportsDescriptors = origDefineProperty && arePropertyDescriptorsSupported();\n\nvar defineProperty = function (object, name, value, predicate) {\n\tif (name in object && (!isFunction(predicate) || !predicate())) {\n\t\treturn;\n\t}\n\tif (supportsDescriptors) {\n\t\torigDefineProperty(object, name, {\n\t\t\tconfigurable: true,\n\t\t\tenumerable: false,\n\t\t\tvalue: value,\n\t\t\twritable: true\n\t\t});\n\t} else {\n\t\tobject[name] = value;\n\t}\n};\n\nvar defineProperties = function (object, map) {\n\tvar predicates = arguments.length > 2 ? arguments[2] : {};\n\tvar props = keys(map);\n\tif (hasSymbols) {\n\t\tprops = concat.call(props, Object.getOwnPropertySymbols(map));\n\t}\n\tfor (var i = 0; i < props.length; i += 1) {\n\t\tdefineProperty(object, props[i], map[props[i]], predicates[props[i]]);\n\t}\n};\n\ndefineProperties.supportsDescriptors = !!supportsDescriptors;\n\nmodule.exports = defineProperties;\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);\nif ($gOPD) {\n\ttry {\n\t\t$gOPD([], 'length');\n\t} catch (e) {\n\t\t// IE 8 has a broken gOPD\n\t\t$gOPD = null;\n\t}\n}\n\nmodule.exports = $gOPD;\n","/**\n * Code refactored from Mozilla Developer Network:\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign\n */\n\n'use strict';\n\nfunction assign(target, firstSource) {\n if (target === undefined || target === null) {\n throw new TypeError('Cannot convert first argument to object');\n }\n\n var to = Object(target);\n for (var i = 1; i < arguments.length; i++) {\n var nextSource = arguments[i];\n if (nextSource === undefined || nextSource === null) {\n continue;\n }\n\n var keysArray = Object.keys(Object(nextSource));\n for (var nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex++) {\n var nextKey = keysArray[nextIndex];\n var desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);\n if (desc !== undefined && desc.enumerable) {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n return to;\n}\n\nfunction polyfill() {\n if (!Object.assign) {\n Object.defineProperty(Object, 'assign', {\n enumerable: false,\n configurable: true,\n writable: true,\n value: assign\n });\n }\n}\n\nmodule.exports = {\n assign: assign,\n polyfill: polyfill\n};\n","\nvar hasOwn = Object.prototype.hasOwnProperty;\nvar toString = Object.prototype.toString;\n\nmodule.exports = function forEach (obj, fn, ctx) {\n if (toString.call(fn) !== '[object Function]') {\n throw new TypeError('iterator must be a function');\n }\n var l = obj.length;\n if (l === +l) {\n for (var i = 0; i < l; i++) {\n fn.call(ctx, obj[i], i, obj);\n }\n } else {\n for (var k in obj) {\n if (hasOwn.call(obj, k)) {\n fn.call(ctx, obj[k], k, obj);\n }\n }\n }\n};\n\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar slice = Array.prototype.slice;\nvar toStr = Object.prototype.toString;\nvar funcType = '[object Function]';\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.call(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slice.call(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n args.concat(slice.call(arguments))\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n } else {\n return target.apply(\n that,\n args.concat(slice.call(arguments))\n );\n }\n };\n\n var boundLength = Math.max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs.push('$' + i);\n }\n\n bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\nvar undefined;\n\nvar $SyntaxError = SyntaxError;\nvar $Function = Function;\nvar $TypeError = TypeError;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\n\nvar getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': RangeError,\n\t'%ReferenceError%': ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('has');\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","/*! Hammer.JS - v2.0.7 - 2016-04-22\n * http://hammerjs.github.io/\n *\n * Copyright (c) 2016 Jorik Tangelder;\n * Licensed under the MIT license */\n(function(window, document, exportName, undefined) {\n 'use strict';\n\nvar VENDOR_PREFIXES = ['', 'webkit', 'Moz', 'MS', 'ms', 'o'];\nvar TEST_ELEMENT = document.createElement('div');\n\nvar TYPE_FUNCTION = 'function';\n\nvar round = Math.round;\nvar abs = Math.abs;\nvar now = Date.now;\n\n/**\n * set a timeout with a given scope\n * @param {Function} fn\n * @param {Number} timeout\n * @param {Object} context\n * @returns {number}\n */\nfunction setTimeoutContext(fn, timeout, context) {\n return setTimeout(bindFn(fn, context), timeout);\n}\n\n/**\n * if the argument is an array, we want to execute the fn on each entry\n * if it aint an array we don't want to do a thing.\n * this is used by all the methods that accept a single and array argument.\n * @param {*|Array} arg\n * @param {String} fn\n * @param {Object} [context]\n * @returns {Boolean}\n */\nfunction invokeArrayArg(arg, fn, context) {\n if (Array.isArray(arg)) {\n each(arg, context[fn], context);\n return true;\n }\n return false;\n}\n\n/**\n * walk objects and arrays\n * @param {Object} obj\n * @param {Function} iterator\n * @param {Object} context\n */\nfunction each(obj, iterator, context) {\n var i;\n\n if (!obj) {\n return;\n }\n\n if (obj.forEach) {\n obj.forEach(iterator, context);\n } else if (obj.length !== undefined) {\n i = 0;\n while (i < obj.length) {\n iterator.call(context, obj[i], i, obj);\n i++;\n }\n } else {\n for (i in obj) {\n obj.hasOwnProperty(i) && iterator.call(context, obj[i], i, obj);\n }\n }\n}\n\n/**\n * wrap a method with a deprecation warning and stack trace\n * @param {Function} method\n * @param {String} name\n * @param {String} message\n * @returns {Function} A new function wrapping the supplied method.\n */\nfunction deprecate(method, name, message) {\n var deprecationMessage = 'DEPRECATED METHOD: ' + name + '\\n' + message + ' AT \\n';\n return function() {\n var e = new Error('get-stack-trace');\n var stack = e && e.stack ? e.stack.replace(/^[^\\(]+?[\\n$]/gm, '')\n .replace(/^\\s+at\\s+/gm, '')\n .replace(/^Object.<anonymous>\\s*\\(/gm, '{anonymous}()@') : 'Unknown Stack Trace';\n\n var log = window.console && (window.console.warn || window.console.log);\n if (log) {\n log.call(window.console, deprecationMessage, stack);\n }\n return method.apply(this, arguments);\n };\n}\n\n/**\n * extend object.\n * means that properties in dest will be overwritten by the ones in src.\n * @param {Object} target\n * @param {...Object} objects_to_assign\n * @returns {Object} target\n */\nvar assign;\nif (typeof Object.assign !== 'function') {\n assign = function assign(target) {\n if (target === undefined || target === null) {\n throw new TypeError('Cannot convert undefined or null to object');\n }\n\n var output = Object(target);\n for (var index = 1; index < arguments.length; index++) {\n var source = arguments[index];\n if (source !== undefined && source !== null) {\n for (var nextKey in source) {\n if (source.hasOwnProperty(nextKey)) {\n output[nextKey] = source[nextKey];\n }\n }\n }\n }\n return output;\n };\n} else {\n assign = Object.assign;\n}\n\n/**\n * extend object.\n * means that properties in dest will be overwritten by the ones in src.\n * @param {Object} dest\n * @param {Object} src\n * @param {Boolean} [merge=false]\n * @returns {Object} dest\n */\nvar extend = deprecate(function extend(dest, src, merge) {\n var keys = Object.keys(src);\n var i = 0;\n while (i < keys.length) {\n if (!merge || (merge && dest[keys[i]] === undefined)) {\n dest[keys[i]] = src[keys[i]];\n }\n i++;\n }\n return dest;\n}, 'extend', 'Use `assign`.');\n\n/**\n * merge the values from src in the dest.\n * means that properties that exist in dest will not be overwritten by src\n * @param {Object} dest\n * @param {Object} src\n * @returns {Object} dest\n */\nvar merge = deprecate(function merge(dest, src) {\n return extend(dest, src, true);\n}, 'merge', 'Use `assign`.');\n\n/**\n * simple class inheritance\n * @param {Function} child\n * @param {Function} base\n * @param {Object} [properties]\n */\nfunction inherit(child, base, properties) {\n var baseP = base.prototype,\n childP;\n\n childP = child.prototype = Object.create(baseP);\n childP.constructor = child;\n childP._super = baseP;\n\n if (properties) {\n assign(childP, properties);\n }\n}\n\n/**\n * simple function bind\n * @param {Function} fn\n * @param {Object} context\n * @returns {Function}\n */\nfunction bindFn(fn, context) {\n return function boundFn() {\n return fn.apply(context, arguments);\n };\n}\n\n/**\n * let a boolean value also be a function that must return a boolean\n * this first item in args will be used as the context\n * @param {Boolean|Function} val\n * @param {Array} [args]\n * @returns {Boolean}\n */\nfunction boolOrFn(val, args) {\n if (typeof val == TYPE_FUNCTION) {\n return val.apply(args ? args[0] || undefined : undefined, args);\n }\n return val;\n}\n\n/**\n * use the val2 when val1 is undefined\n * @param {*} val1\n * @param {*} val2\n * @returns {*}\n */\nfunction ifUndefined(val1, val2) {\n return (val1 === undefined) ? val2 : val1;\n}\n\n/**\n * addEventListener with multiple events at once\n * @param {EventTarget} target\n * @param {String} types\n * @param {Function} handler\n */\nfunction addEventListeners(target, types, handler) {\n each(splitStr(types), function(type) {\n target.addEventListener(type, handler, false);\n });\n}\n\n/**\n * removeEventListener with multiple events at once\n * @param {EventTarget} target\n * @param {String} types\n * @param {Function} handler\n */\nfunction removeEventListeners(target, types, handler) {\n each(splitStr(types), function(type) {\n target.removeEventListener(type, handler, false);\n });\n}\n\n/**\n * find if a node is in the given parent\n * @method hasParent\n * @param {HTMLElement} node\n * @param {HTMLElement} parent\n * @return {Boolean} found\n */\nfunction hasParent(node, parent) {\n while (node) {\n if (node == parent) {\n return true;\n }\n node = node.parentNode;\n }\n return false;\n}\n\n/**\n * small indexOf wrapper\n * @param {String} str\n * @param {String} find\n * @returns {Boolean} found\n */\nfunction inStr(str, find) {\n return str.indexOf(find) > -1;\n}\n\n/**\n * split string on whitespace\n * @param {String} str\n * @returns {Array} words\n */\nfunction splitStr(str) {\n return str.trim().split(/\\s+/g);\n}\n\n/**\n * find if a array contains the object using indexOf or a simple polyFill\n * @param {Array} src\n * @param {String} find\n * @param {String} [findByKey]\n * @return {Boolean|Number} false when not found, or the index\n */\nfunction inArray(src, find, findByKey) {\n if (src.indexOf && !findByKey) {\n return src.indexOf(find);\n } else {\n var i = 0;\n while (i < src.length) {\n if ((findByKey && src[i][findByKey] == find) || (!findByKey && src[i] === find)) {\n return i;\n }\n i++;\n }\n return -1;\n }\n}\n\n/**\n * convert array-like objects to real arrays\n * @param {Object} obj\n * @returns {Array}\n */\nfunction toArray(obj) {\n return Array.prototype.slice.call(obj, 0);\n}\n\n/**\n * unique array with objects based on a key (like 'id') or just by the array's value\n * @param {Array} src [{id:1},{id:2},{id:1}]\n * @param {String} [key]\n * @param {Boolean} [sort=False]\n * @returns {Array} [{id:1},{id:2}]\n */\nfunction uniqueArray(src, key, sort) {\n var results = [];\n var values = [];\n var i = 0;\n\n while (i < src.length) {\n var val = key ? src[i][key] : src[i];\n if (inArray(values, val) < 0) {\n results.push(src[i]);\n }\n values[i] = val;\n i++;\n }\n\n if (sort) {\n if (!key) {\n results = results.sort();\n } else {\n results = results.sort(function sortUniqueArray(a, b) {\n return a[key] > b[key];\n });\n }\n }\n\n return results;\n}\n\n/**\n * get the prefixed property\n * @param {Object} obj\n * @param {String} property\n * @returns {String|Undefined} prefixed\n */\nfunction prefixed(obj, property) {\n var prefix, prop;\n var camelProp = property[0].toUpperCase() + property.slice(1);\n\n var i = 0;\n while (i < VENDOR_PREFIXES.length) {\n prefix = VENDOR_PREFIXES[i];\n prop = (prefix) ? prefix + camelProp : property;\n\n if (prop in obj) {\n return prop;\n }\n i++;\n }\n return undefined;\n}\n\n/**\n * get a unique id\n * @returns {number} uniqueId\n */\nvar _uniqueId = 1;\nfunction uniqueId() {\n return _uniqueId++;\n}\n\n/**\n * get the window object of an element\n * @param {HTMLElement} element\n * @returns {DocumentView|Window}\n */\nfunction getWindowForElement(element) {\n var doc = element.ownerDocument || element;\n return (doc.defaultView || doc.parentWindow || window);\n}\n\nvar MOBILE_REGEX = /mobile|tablet|ip(ad|hone|od)|android/i;\n\nvar SUPPORT_TOUCH = ('ontouchstart' in window);\nvar SUPPORT_POINTER_EVENTS = prefixed(window, 'PointerEvent') !== undefined;\nvar SUPPORT_ONLY_TOUCH = SUPPORT_TOUCH && MOBILE_REGEX.test(navigator.userAgent);\n\nvar INPUT_TYPE_TOUCH = 'touch';\nvar INPUT_TYPE_PEN = 'pen';\nvar INPUT_TYPE_MOUSE = 'mouse';\nvar INPUT_TYPE_KINECT = 'kinect';\n\nvar COMPUTE_INTERVAL = 25;\n\nvar INPUT_START = 1;\nvar INPUT_MOVE = 2;\nvar INPUT_END = 4;\nvar INPUT_CANCEL = 8;\n\nvar DIRECTION_NONE = 1;\nvar DIRECTION_LEFT = 2;\nvar DIRECTION_RIGHT = 4;\nvar DIRECTION_UP = 8;\nvar DIRECTION_DOWN = 16;\n\nvar DIRECTION_HORIZONTAL = DIRECTION_LEFT | DIRECTION_RIGHT;\nvar DIRECTION_VERTICAL = DIRECTION_UP | DIRECTION_DOWN;\nvar DIRECTION_ALL = DIRECTION_HORIZONTAL | DIRECTION_VERTICAL;\n\nvar PROPS_XY = ['x', 'y'];\nvar PROPS_CLIENT_XY = ['clientX', 'clientY'];\n\n/**\n * create new input type manager\n * @param {Manager} manager\n * @param {Function} callback\n * @returns {Input}\n * @constructor\n */\nfunction Input(manager, callback) {\n var self = this;\n this.manager = manager;\n this.callback = callback;\n this.element = manager.element;\n this.target = manager.options.inputTarget;\n\n // smaller wrapper around the handler, for the scope and the enabled state of the manager,\n // so when disabled the input events are completely bypassed.\n this.domHandler = function(ev) {\n if (boolOrFn(manager.options.enable, [manager])) {\n self.handler(ev);\n }\n };\n\n this.init();\n\n}\n\nInput.prototype = {\n /**\n * should handle the inputEvent data and trigger the callback\n * @virtual\n */\n handler: function() { },\n\n /**\n * bind the events\n */\n init: function() {\n this.evEl && addEventListeners(this.element, this.evEl, this.domHandler);\n this.evTarget && addEventListeners(this.target, this.evTarget, this.domHandler);\n this.evWin && addEventListeners(getWindowForElement(this.element), this.evWin, this.domHandler);\n },\n\n /**\n * unbind the events\n */\n destroy: function() {\n this.evEl && removeEventListeners(this.element, this.evEl, this.domHandler);\n this.evTarget && removeEventListeners(this.target, this.evTarget, this.domHandler);\n this.evWin && removeEventListeners(getWindowForElement(this.element), this.evWin, this.domHandler);\n }\n};\n\n/**\n * create new input type manager\n * called by the Manager constructor\n * @param {Hammer} manager\n * @returns {Input}\n */\nfunction createInputInstance(manager) {\n var Type;\n var inputClass = manager.options.inputClass;\n\n if (inputClass) {\n Type = inputClass;\n } else if (SUPPORT_POINTER_EVENTS) {\n Type = PointerEventInput;\n } else if (SUPPORT_ONLY_TOUCH) {\n Type = TouchInput;\n } else if (!SUPPORT_TOUCH) {\n Type = MouseInput;\n } else {\n Type = TouchMouseInput;\n }\n return new (Type)(manager, inputHandler);\n}\n\n/**\n * handle input events\n * @param {Manager} manager\n * @param {String} eventType\n * @param {Object} input\n */\nfunction inputHandler(manager, eventType, input) {\n var pointersLen = input.pointers.length;\n var changedPointersLen = input.changedPointers.length;\n var isFirst = (eventType & INPUT_START && (pointersLen - changedPointersLen === 0));\n var isFinal = (eventType & (INPUT_END | INPUT_CANCEL) && (pointersLen - changedPointersLen === 0));\n\n input.isFirst = !!isFirst;\n input.isFinal = !!isFinal;\n\n if (isFirst) {\n manager.session = {};\n }\n\n // source event is the normalized value of the domEvents\n // like 'touchstart, mouseup, pointerdown'\n input.eventType = eventType;\n\n // compute scale, rotation etc\n computeInputData(manager, input);\n\n // emit secret event\n manager.emit('hammer.input', input);\n\n manager.recognize(input);\n manager.session.prevInput = input;\n}\n\n/**\n * extend the data with some usable properties like scale, rotate, velocity etc\n * @param {Object} manager\n * @param {Object} input\n */\nfunction computeInputData(manager, input) {\n var session = manager.session;\n var pointers = input.pointers;\n var pointersLength = pointers.length;\n\n // store the first input to calculate the distance and direction\n if (!session.firstInput) {\n session.firstInput = simpleCloneInputData(input);\n }\n\n // to compute scale and rotation we need to store the multiple touches\n if (pointersLength > 1 && !session.firstMultiple) {\n session.firstMultiple = simpleCloneInputData(input);\n } else if (pointersLength === 1) {\n session.firstMultiple = false;\n }\n\n var firstInput = session.firstInput;\n var firstMultiple = session.firstMultiple;\n var offsetCenter = firstMultiple ? firstMultiple.center : firstInput.center;\n\n var center = input.center = getCenter(pointers);\n input.timeStamp = now();\n input.deltaTime = input.timeStamp - firstInput.timeStamp;\n\n input.angle = getAngle(offsetCenter, center);\n input.distance = getDistance(offsetCenter, center);\n\n computeDeltaXY(session, input);\n input.offsetDirection = getDirection(input.deltaX, input.deltaY);\n\n var overallVelocity = getVelocity(input.deltaTime, input.deltaX, input.deltaY);\n input.overallVelocityX = overallVelocity.x;\n input.overallVelocityY = overallVelocity.y;\n input.overallVelocity = (abs(overallVelocity.x) > abs(overallVelocity.y)) ? overallVelocity.x : overallVelocity.y;\n\n input.scale = firstMultiple ? getScale(firstMultiple.pointers, pointers) : 1;\n input.rotation = firstMultiple ? getRotation(firstMultiple.pointers, pointers) : 0;\n\n input.maxPointers = !session.prevInput ? input.pointers.length : ((input.pointers.length >\n session.prevInput.maxPointers) ? input.pointers.length : session.prevInput.maxPointers);\n\n computeIntervalInputData(session, input);\n\n // find the correct target\n var target = manager.element;\n if (hasParent(input.srcEvent.target, target)) {\n target = input.srcEvent.target;\n }\n input.target = target;\n}\n\nfunction computeDeltaXY(session, input) {\n var center = input.center;\n var offset = session.offsetDelta || {};\n var prevDelta = session.prevDelta || {};\n var prevInput = session.prevInput || {};\n\n if (input.eventType === INPUT_START || prevInput.eventType === INPUT_END) {\n prevDelta = session.prevDelta = {\n x: prevInput.deltaX || 0,\n y: prevInput.deltaY || 0\n };\n\n offset = session.offsetDelta = {\n x: center.x,\n y: center.y\n };\n }\n\n input.deltaX = prevDelta.x + (center.x - offset.x);\n input.deltaY = prevDelta.y + (center.y - offset.y);\n}\n\n/**\n * velocity is calculated every x ms\n * @param {Object} session\n * @param {Object} input\n */\nfunction computeIntervalInputData(session, input) {\n var last = session.lastInterval || input,\n deltaTime = input.timeStamp - last.timeStamp,\n velocity, velocityX, velocityY, direction;\n\n if (input.eventType != INPUT_CANCEL && (deltaTime > COMPUTE_INTERVAL || last.velocity === undefined)) {\n var deltaX = input.deltaX - last.deltaX;\n var deltaY = input.deltaY - last.deltaY;\n\n var v = getVelocity(deltaTime, deltaX, deltaY);\n velocityX = v.x;\n velocityY = v.y;\n velocity = (abs(v.x) > abs(v.y)) ? v.x : v.y;\n direction = getDirection(deltaX, deltaY);\n\n session.lastInterval = input;\n } else {\n // use latest velocity info if it doesn't overtake a minimum period\n velocity = last.velocity;\n velocityX = last.velocityX;\n velocityY = last.velocityY;\n direction = last.direction;\n }\n\n input.velocity = velocity;\n input.velocityX = velocityX;\n input.velocityY = velocityY;\n input.direction = direction;\n}\n\n/**\n * create a simple clone from the input used for storage of firstInput and firstMultiple\n * @param {Object} input\n * @returns {Object} clonedInputData\n */\nfunction simpleCloneInputData(input) {\n // make a simple copy of the pointers because we will get a reference if we don't\n // we only need clientXY for the calculations\n var pointers = [];\n var i = 0;\n while (i < input.pointers.length) {\n pointers[i] = {\n clientX: round(input.pointers[i].clientX),\n clientY: round(input.pointers[i].clientY)\n };\n i++;\n }\n\n return {\n timeStamp: now(),\n pointers: pointers,\n center: getCenter(pointers),\n deltaX: input.deltaX,\n deltaY: input.deltaY\n };\n}\n\n/**\n * get the center of all the pointers\n * @param {Array} pointers\n * @return {Object} center contains `x` and `y` properties\n */\nfunction getCenter(pointers) {\n var pointersLength = pointers.length;\n\n // no need to loop when only one touch\n if (pointersLength === 1) {\n return {\n x: round(pointers[0].clientX),\n y: round(pointers[0].clientY)\n };\n }\n\n var x = 0, y = 0, i = 0;\n while (i < pointersLength) {\n x += pointers[i].clientX;\n y += pointers[i].clientY;\n i++;\n }\n\n return {\n x: round(x / pointersLength),\n y: round(y / pointersLength)\n };\n}\n\n/**\n * calculate the velocity between two points. unit is in px per ms.\n * @param {Number} deltaTime\n * @param {Number} x\n * @param {Number} y\n * @return {Object} velocity `x` and `y`\n */\nfunction getVelocity(deltaTime, x, y) {\n return {\n x: x / deltaTime || 0,\n y: y / deltaTime || 0\n };\n}\n\n/**\n * get the direction between two points\n * @param {Number} x\n * @param {Number} y\n * @return {Number} direction\n */\nfunction getDirection(x, y) {\n if (x === y) {\n return DIRECTION_NONE;\n }\n\n if (abs(x) >= abs(y)) {\n return x < 0 ? DIRECTION_LEFT : DIRECTION_RIGHT;\n }\n return y < 0 ? DIRECTION_UP : DIRECTION_DOWN;\n}\n\n/**\n * calculate the absolute distance between two points\n * @param {Object} p1 {x, y}\n * @param {Object} p2 {x, y}\n * @param {Array} [props] containing x and y keys\n * @return {Number} distance\n */\nfunction getDistance(p1, p2, props) {\n if (!props) {\n props = PROPS_XY;\n }\n var x = p2[props[0]] - p1[props[0]],\n y = p2[props[1]] - p1[props[1]];\n\n return Math.sqrt((x * x) + (y * y));\n}\n\n/**\n * calculate the angle between two coordinates\n * @param {Object} p1\n * @param {Object} p2\n * @param {Array} [props] containing x and y keys\n * @return {Number} angle\n */\nfunction getAngle(p1, p2, props) {\n if (!props) {\n props = PROPS_XY;\n }\n var x = p2[props[0]] - p1[props[0]],\n y = p2[props[1]] - p1[props[1]];\n return Math.atan2(y, x) * 180 / Math.PI;\n}\n\n/**\n * calculate the rotation degrees between two pointersets\n * @param {Array} start array of pointers\n * @param {Array} end array of pointers\n * @return {Number} rotation\n */\nfunction getRotation(start, end) {\n return getAngle(end[1], end[0], PROPS_CLIENT_XY) + getAngle(start[1], start[0], PROPS_CLIENT_XY);\n}\n\n/**\n * calculate the scale factor between two pointersets\n * no scale is 1, and goes down to 0 when pinched together, and bigger when pinched out\n * @param {Array} start array of pointers\n * @param {Array} end array of pointers\n * @return {Number} scale\n */\nfunction getScale(start, end) {\n return getDistance(end[0], end[1], PROPS_CLIENT_XY) / getDistance(start[0], start[1], PROPS_CLIENT_XY);\n}\n\nvar MOUSE_INPUT_MAP = {\n mousedown: INPUT_START,\n mousemove: INPUT_MOVE,\n mouseup: INPUT_END\n};\n\nvar MOUSE_ELEMENT_EVENTS = 'mousedown';\nvar MOUSE_WINDOW_EVENTS = 'mousemove mouseup';\n\n/**\n * Mouse events input\n * @constructor\n * @extends Input\n */\nfunction MouseInput() {\n this.evEl = MOUSE_ELEMENT_EVENTS;\n this.evWin = MOUSE_WINDOW_EVENTS;\n\n this.pressed = false; // mousedown state\n\n Input.apply(this, arguments);\n}\n\ninherit(MouseInput, Input, {\n /**\n * handle mouse events\n * @param {Object} ev\n */\n handler: function MEhandler(ev) {\n var eventType = MOUSE_INPUT_MAP[ev.type];\n\n // on start we want to have the left mouse button down\n if (eventType & INPUT_START && ev.button === 0) {\n this.pressed = true;\n }\n\n if (eventType & INPUT_MOVE && ev.which !== 1) {\n eventType = INPUT_END;\n }\n\n // mouse must be down\n if (!this.pressed) {\n return;\n }\n\n if (eventType & INPUT_END) {\n this.pressed = false;\n }\n\n this.callback(this.manager, eventType, {\n pointers: [ev],\n changedPointers: [ev],\n pointerType: INPUT_TYPE_MOUSE,\n srcEvent: ev\n });\n }\n});\n\nvar POINTER_INPUT_MAP = {\n pointerdown: INPUT_START,\n pointermove: INPUT_MOVE,\n pointerup: INPUT_END,\n pointercancel: INPUT_CANCEL,\n pointerout: INPUT_CANCEL\n};\n\n// in IE10 the pointer types is defined as an enum\nvar IE10_POINTER_TYPE_ENUM = {\n 2: INPUT_TYPE_TOUCH,\n 3: INPUT_TYPE_PEN,\n 4: INPUT_TYPE_MOUSE,\n 5: INPUT_TYPE_KINECT // see https://twitter.com/jacobrossi/status/480596438489890816\n};\n\nvar POINTER_ELEMENT_EVENTS = 'pointerdown';\nvar POINTER_WINDOW_EVENTS = 'pointermove pointerup pointercancel';\n\n// IE10 has prefixed support, and case-sensitive\nif (window.MSPointerEvent && !window.PointerEvent) {\n POINTER_ELEMENT_EVENTS = 'MSPointerDown';\n POINTER_WINDOW_EVENTS = 'MSPointerMove MSPointerUp MSPointerCancel';\n}\n\n/**\n * Pointer events input\n * @constructor\n * @extends Input\n */\nfunction PointerEventInput() {\n this.evEl = POINTER_ELEMENT_EVENTS;\n this.evWin = POINTER_WINDOW_EVENTS;\n\n Input.apply(this, arguments);\n\n this.store = (this.manager.session.pointerEvents = []);\n}\n\ninherit(PointerEventInput, Input, {\n /**\n * handle mouse events\n * @param {Object} ev\n */\n handler: function PEhandler(ev) {\n var store = this.store;\n var removePointer = false;\n\n var eventTypeNormalized = ev.type.toLowerCase().replace('ms', '');\n var eventType = POINTER_INPUT_MAP[eventTypeNormalized];\n var pointerType = IE10_POINTER_TYPE_ENUM[ev.pointerType] || ev.pointerType;\n\n var isTouch = (pointerType == INPUT_TYPE_TOUCH);\n\n // get index of the event in the store\n var storeIndex = inArray(store, ev.pointerId, 'pointerId');\n\n // start and mouse must be down\n if (eventType & INPUT_START && (ev.button === 0 || isTouch)) {\n if (storeIndex < 0) {\n store.push(ev);\n storeIndex = store.length - 1;\n }\n } else if (eventType & (INPUT_END | INPUT_CANCEL)) {\n removePointer = true;\n }\n\n // it not found, so the pointer hasn't been down (so it's probably a hover)\n if (storeIndex < 0) {\n return;\n }\n\n // update the event in the store\n store[storeIndex] = ev;\n\n this.callback(this.manager, eventType, {\n pointers: store,\n changedPointers: [ev],\n pointerType: pointerType,\n srcEvent: ev\n });\n\n if (removePointer) {\n // remove from the store\n store.splice(storeIndex, 1);\n }\n }\n});\n\nvar SINGLE_TOUCH_INPUT_MAP = {\n touchstart: INPUT_START,\n touchmove: INPUT_MOVE,\n touchend: INPUT_END,\n touchcancel: INPUT_CANCEL\n};\n\nvar SINGLE_TOUCH_TARGET_EVENTS = 'touchstart';\nvar SINGLE_TOUCH_WINDOW_EVENTS = 'touchstart touchmove touchend touchcancel';\n\n/**\n * Touch events input\n * @constructor\n * @extends Input\n */\nfunction SingleTouchInput() {\n this.evTarget = SINGLE_TOUCH_TARGET_EVENTS;\n this.evWin = SINGLE_TOUCH_WINDOW_EVENTS;\n this.started = false;\n\n Input.apply(this, arguments);\n}\n\ninherit(SingleTouchInput, Input, {\n handler: function TEhandler(ev) {\n var type = SINGLE_TOUCH_INPUT_MAP[ev.type];\n\n // should we handle the touch events?\n if (type === INPUT_START) {\n this.started = true;\n }\n\n if (!this.started) {\n return;\n }\n\n var touches = normalizeSingleTouches.call(this, ev, type);\n\n // when done, reset the started state\n if (type & (INPUT_END | INPUT_CANCEL) && touches[0].length - touches[1].length === 0) {\n this.started = false;\n }\n\n this.callback(this.manager, type, {\n pointers: touches[0],\n changedPointers: touches[1],\n pointerType: INPUT_TYPE_TOUCH,\n srcEvent: ev\n });\n }\n});\n\n/**\n * @this {TouchInput}\n * @param {Object} ev\n * @param {Number} type flag\n * @returns {undefined|Array} [all, changed]\n */\nfunction normalizeSingleTouches(ev, type) {\n var all = toArray(ev.touches);\n var changed = toArray(ev.changedTouches);\n\n if (type & (INPUT_END | INPUT_CANCEL)) {\n all = uniqueArray(all.concat(changed), 'identifier', true);\n }\n\n return [all, changed];\n}\n\nvar TOUCH_INPUT_MAP = {\n touchstart: INPUT_START,\n touchmove: INPUT_MOVE,\n touchend: INPUT_END,\n touchcancel: INPUT_CANCEL\n};\n\nvar TOUCH_TARGET_EVENTS = 'touchstart touchmove touchend touchcancel';\n\n/**\n * Multi-user touch events input\n * @constructor\n * @extends Input\n */\nfunction TouchInput() {\n this.evTarget = TOUCH_TARGET_EVENTS;\n this.targetIds = {};\n\n Input.apply(this, arguments);\n}\n\ninherit(TouchInput, Input, {\n handler: function MTEhandler(ev) {\n var type = TOUCH_INPUT_MAP[ev.type];\n var touches = getTouches.call(this, ev, type);\n if (!touches) {\n return;\n }\n\n this.callback(this.manager, type, {\n pointers: touches[0],\n changedPointers: touches[1],\n pointerType: INPUT_TYPE_TOUCH,\n srcEvent: ev\n });\n }\n});\n\n/**\n * @this {TouchInput}\n * @param {Object} ev\n * @param {Number} type flag\n * @returns {undefined|Array} [all, changed]\n */\nfunction getTouches(ev, type) {\n var allTouches = toArray(ev.touches);\n var targetIds = this.targetIds;\n\n // when there is only one touch, the process can be simplified\n if (type & (INPUT_START | INPUT_MOVE) && allTouches.length === 1) {\n targetIds[allTouches[0].identifier] = true;\n return [allTouches, allTouches];\n }\n\n var i,\n targetTouches,\n changedTouches = toArray(ev.changedTouches),\n changedTargetTouches = [],\n target = this.target;\n\n // get target touches from touches\n targetTouches = allTouches.filter(function(touch) {\n return hasParent(touch.target, target);\n });\n\n // collect touches\n if (type === INPUT_START) {\n i = 0;\n while (i < targetTouches.length) {\n targetIds[targetTouches[i].identifier] = true;\n i++;\n }\n }\n\n // filter changed touches to only contain touches that exist in the collected target ids\n i = 0;\n while (i < changedTouches.length) {\n if (targetIds[changedTouches[i].identifier]) {\n changedTargetTouches.push(changedTouches[i]);\n }\n\n // cleanup removed touches\n if (type & (INPUT_END | INPUT_CANCEL)) {\n delete targetIds[changedTouches[i].identifier];\n }\n i++;\n }\n\n if (!changedTargetTouches.length) {\n return;\n }\n\n return [\n // merge targetTouches with changedTargetTouches so it contains ALL touches, including 'end' and 'cancel'\n uniqueArray(targetTouches.concat(changedTargetTouches), 'identifier', true),\n changedTargetTouches\n ];\n}\n\n/**\n * Combined touch and mouse input\n *\n * Touch has a higher priority then mouse, and while touching no mouse events are allowed.\n * This because touch devices also emit mouse events while doing a touch.\n *\n * @constructor\n * @extends Input\n */\n\nvar DEDUP_TIMEOUT = 2500;\nvar DEDUP_DISTANCE = 25;\n\nfunction TouchMouseInput() {\n Input.apply(this, arguments);\n\n var handler = bindFn(this.handler, this);\n this.touch = new TouchInput(this.manager, handler);\n this.mouse = new MouseInput(this.manager, handler);\n\n this.primaryTouch = null;\n this.lastTouches = [];\n}\n\ninherit(TouchMouseInput, Input, {\n /**\n * handle mouse and touch events\n * @param {Hammer} manager\n * @param {String} inputEvent\n * @param {Object} inputData\n */\n handler: function TMEhandler(manager, inputEvent, inputData) {\n var isTouch = (inputData.pointerType == INPUT_TYPE_TOUCH),\n isMouse = (inputData.pointerType == INPUT_TYPE_MOUSE);\n\n if (isMouse && inputData.sourceCapabilities && inputData.sourceCapabilities.firesTouchEvents) {\n return;\n }\n\n // when we're in a touch event, record touches to de-dupe synthetic mouse event\n if (isTouch) {\n recordTouches.call(this, inputEvent, inputData);\n } else if (isMouse && isSyntheticEvent.call(this, inputData)) {\n return;\n }\n\n this.callback(manager, inputEvent, inputData);\n },\n\n /**\n * remove the event listeners\n */\n destroy: function destroy() {\n this.touch.destroy();\n this.mouse.destroy();\n }\n});\n\nfunction recordTouches(eventType, eventData) {\n if (eventType & INPUT_START) {\n this.primaryTouch = eventData.changedPointers[0].identifier;\n setLastTouch.call(this, eventData);\n } else if (eventType & (INPUT_END | INPUT_CANCEL)) {\n setLastTouch.call(this, eventData);\n }\n}\n\nfunction setLastTouch(eventData) {\n var touch = eventData.changedPointers[0];\n\n if (touch.identifier === this.primaryTouch) {\n var lastTouch = {x: touch.clientX, y: touch.clientY};\n this.lastTouches.push(lastTouch);\n var lts = this.lastTouches;\n var removeLastTouch = function() {\n var i = lts.indexOf(lastTouch);\n if (i > -1) {\n lts.splice(i, 1);\n }\n };\n setTimeout(removeLastTouch, DEDUP_TIMEOUT);\n }\n}\n\nfunction isSyntheticEvent(eventData) {\n var x = eventData.srcEvent.clientX, y = eventData.srcEvent.clientY;\n for (var i = 0; i < this.lastTouches.length; i++) {\n var t = this.lastTouches[i];\n var dx = Math.abs(x - t.x), dy = Math.abs(y - t.y);\n if (dx <= DEDUP_DISTANCE && dy <= DEDUP_DISTANCE) {\n return true;\n }\n }\n return false;\n}\n\nvar PREFIXED_TOUCH_ACTION = prefixed(TEST_ELEMENT.style, 'touchAction');\nvar NATIVE_TOUCH_ACTION = PREFIXED_TOUCH_ACTION !== undefined;\n\n// magical touchAction value\nvar TOUCH_ACTION_COMPUTE = 'compute';\nvar TOUCH_ACTION_AUTO = 'auto';\nvar TOUCH_ACTION_MANIPULATION = 'manipulation'; // not implemented\nvar TOUCH_ACTION_NONE = 'none';\nvar TOUCH_ACTION_PAN_X = 'pan-x';\nvar TOUCH_ACTION_PAN_Y = 'pan-y';\nvar TOUCH_ACTION_MAP = getTouchActionProps();\n\n/**\n * Touch Action\n * sets the touchAction property or uses the js alternative\n * @param {Manager} manager\n * @param {String} value\n * @constructor\n */\nfunction TouchAction(manager, value) {\n this.manager = manager;\n this.set(value);\n}\n\nTouchAction.prototype = {\n /**\n * set the touchAction value on the element or enable the polyfill\n * @param {String} value\n */\n set: function(value) {\n // find out the touch-action by the event handlers\n if (value == TOUCH_ACTION_COMPUTE) {\n value = this.compute();\n }\n\n if (NATIVE_TOUCH_ACTION && this.manager.element.style && TOUCH_ACTION_MAP[value]) {\n this.manager.element.style[PREFIXED_TOUCH_ACTION] = value;\n }\n this.actions = value.toLowerCase().trim();\n },\n\n /**\n * just re-set the touchAction value\n */\n update: function() {\n this.set(this.manager.options.touchAction);\n },\n\n /**\n * compute the value for the touchAction property based on the recognizer's settings\n * @returns {String} value\n */\n compute: function() {\n var actions = [];\n each(this.manager.recognizers, function(recognizer) {\n if (boolOrFn(recognizer.options.enable, [recognizer])) {\n actions = actions.concat(recognizer.getTouchAction());\n }\n });\n return cleanTouchActions(actions.join(' '));\n },\n\n /**\n * this method is called on each input cycle and provides the preventing of the browser behavior\n * @param {Object} input\n */\n preventDefaults: function(input) {\n var srcEvent = input.srcEvent;\n var direction = input.offsetDirection;\n\n // if the touch action did prevented once this session\n if (this.manager.session.prevented) {\n srcEvent.preventDefault();\n return;\n }\n\n var actions = this.actions;\n var hasNone = inStr(actions, TOUCH_ACTION_NONE) && !TOUCH_ACTION_MAP[TOUCH_ACTION_NONE];\n var hasPanY = inStr(actions, TOUCH_ACTION_PAN_Y) && !TOUCH_ACTION_MAP[TOUCH_ACTION_PAN_Y];\n var hasPanX = inStr(actions, TOUCH_ACTION_PAN_X) && !TOUCH_ACTION_MAP[TOUCH_ACTION_PAN_X];\n\n if (hasNone) {\n //do not prevent defaults if this is a tap gesture\n\n var isTapPointer = input.pointers.length === 1;\n var isTapMovement = input.distance < 2;\n var isTapTouchTime = input.deltaTime < 250;\n\n if (isTapPointer && isTapMovement && isTapTouchTime) {\n return;\n }\n }\n\n if (hasPanX && hasPanY) {\n // `pan-x pan-y` means browser handles all scrolling/panning, do not prevent\n return;\n }\n\n if (hasNone ||\n (hasPanY && direction & DIRECTION_HORIZONTAL) ||\n (hasPanX && direction & DIRECTION_VERTICAL)) {\n return this.preventSrc(srcEvent);\n }\n },\n\n /**\n * call preventDefault to prevent the browser's default behavior (scrolling in most cases)\n * @param {Object} srcEvent\n */\n preventSrc: function(srcEvent) {\n this.manager.session.prevented = true;\n srcEvent.preventDefault();\n }\n};\n\n/**\n * when the touchActions are collected they are not a valid value, so we need to clean things up. *\n * @param {String} actions\n * @returns {*}\n */\nfunction cleanTouchActions(actions) {\n // none\n if (inStr(actions, TOUCH_ACTION_NONE)) {\n return TOUCH_ACTION_NONE;\n }\n\n var hasPanX = inStr(actions, TOUCH_ACTION_PAN_X);\n var hasPanY = inStr(actions, TOUCH_ACTION_PAN_Y);\n\n // if both pan-x and pan-y are set (different recognizers\n // for different directions, e.g. horizontal pan but vertical swipe?)\n // we need none (as otherwise with pan-x pan-y combined none of these\n // recognizers will work, since the browser would handle all panning\n if (hasPanX && hasPanY) {\n return TOUCH_ACTION_NONE;\n }\n\n // pan-x OR pan-y\n if (hasPanX || hasPanY) {\n return hasPanX ? TOUCH_ACTION_PAN_X : TOUCH_ACTION_PAN_Y;\n }\n\n // manipulation\n if (inStr(actions, TOUCH_ACTION_MANIPULATION)) {\n return TOUCH_ACTION_MANIPULATION;\n }\n\n return TOUCH_ACTION_AUTO;\n}\n\nfunction getTouchActionProps() {\n if (!NATIVE_TOUCH_ACTION) {\n return false;\n }\n var touchMap = {};\n var cssSupports = window.CSS && window.CSS.supports;\n ['auto', 'manipulation', 'pan-y', 'pan-x', 'pan-x pan-y', 'none'].forEach(function(val) {\n\n // If css.supports is not supported but there is native touch-action assume it supports\n // all values. This is the case for IE 10 and 11.\n touchMap[val] = cssSupports ? window.CSS.supports('touch-action', val) : true;\n });\n return touchMap;\n}\n\n/**\n * Recognizer flow explained; *\n * All recognizers have the initial state of POSSIBLE when a input session starts.\n * The definition of a input session is from the first input until the last input, with all it's movement in it. *\n * Example session for mouse-input: mousedown -> mousemove -> mouseup\n *\n * On each recognizing cycle (see Manager.recognize) the .recognize() method is executed\n * which determines with state it should be.\n *\n * If the recognizer has the state FAILED, CANCELLED or RECOGNIZED (equals ENDED), it is reset to\n * POSSIBLE to give it another change on the next cycle.\n *\n * Possible\n * |\n * +-----+---------------+\n * | |\n * +-----+-----+ |\n * | | |\n * Failed Cancelled |\n * +-------+------+\n * | |\n * Recognized Began\n * |\n * Changed\n * |\n * Ended/Recognized\n */\nvar STATE_POSSIBLE = 1;\nvar STATE_BEGAN = 2;\nvar STATE_CHANGED = 4;\nvar STATE_ENDED = 8;\nvar STATE_RECOGNIZED = STATE_ENDED;\nvar STATE_CANCELLED = 16;\nvar STATE_FAILED = 32;\n\n/**\n * Recognizer\n * Every recognizer needs to extend from this class.\n * @constructor\n * @param {Object} options\n */\nfunction Recognizer(options) {\n this.options = assign({}, this.defaults, options || {});\n\n this.id = uniqueId();\n\n this.manager = null;\n\n // default is enable true\n this.options.enable = ifUndefined(this.options.enable, true);\n\n this.state = STATE_POSSIBLE;\n\n this.simultaneous = {};\n this.requireFail = [];\n}\n\nRecognizer.prototype = {\n /**\n * @virtual\n * @type {Object}\n */\n defaults: {},\n\n /**\n * set options\n * @param {Object} options\n * @return {Recognizer}\n */\n set: function(options) {\n assign(this.options, options);\n\n // also update the touchAction, in case something changed about the directions/enabled state\n this.manager && this.manager.touchAction.update();\n return this;\n },\n\n /**\n * recognize simultaneous with an other recognizer.\n * @param {Recognizer} otherRecognizer\n * @returns {Recognizer} this\n */\n recognizeWith: function(otherRecognizer) {\n if (invokeArrayArg(otherRecognizer, 'recognizeWith', this)) {\n return this;\n }\n\n var simultaneous = this.simultaneous;\n otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n if (!simultaneous[otherRecognizer.id]) {\n simultaneous[otherRecognizer.id] = otherRecognizer;\n otherRecognizer.recognizeWith(this);\n }\n return this;\n },\n\n /**\n * drop the simultaneous link. it doesnt remove the link on the other recognizer.\n * @param {Recognizer} otherRecognizer\n * @returns {Recognizer} this\n */\n dropRecognizeWith: function(otherRecognizer) {\n if (invokeArrayArg(otherRecognizer, 'dropRecognizeWith', this)) {\n return this;\n }\n\n otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n delete this.simultaneous[otherRecognizer.id];\n return this;\n },\n\n /**\n * recognizer can only run when an other is failing\n * @param {Recognizer} otherRecognizer\n * @returns {Recognizer} this\n */\n requireFailure: function(otherRecognizer) {\n if (invokeArrayArg(otherRecognizer, 'requireFailure', this)) {\n return this;\n }\n\n var requireFail = this.requireFail;\n otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n if (inArray(requireFail, otherRecognizer) === -1) {\n requireFail.push(otherRecognizer);\n otherRecognizer.requireFailure(this);\n }\n return this;\n },\n\n /**\n * drop the requireFailure link. it does not remove the link on the other recognizer.\n * @param {Recognizer} otherRecognizer\n * @returns {Recognizer} this\n */\n dropRequireFailure: function(otherRecognizer) {\n if (invokeArrayArg(otherRecognizer, 'dropRequireFailure', this)) {\n return this;\n }\n\n otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n var index = inArray(this.requireFail, otherRecognizer);\n if (index > -1) {\n this.requireFail.splice(index, 1);\n }\n return this;\n },\n\n /**\n * has require failures boolean\n * @returns {boolean}\n */\n hasRequireFailures: function() {\n return this.requireFail.length > 0;\n },\n\n /**\n * if the recognizer can recognize simultaneous with an other recognizer\n * @param {Recognizer} otherRecognizer\n * @returns {Boolean}\n */\n canRecognizeWith: function(otherRecognizer) {\n return !!this.simultaneous[otherRecognizer.id];\n },\n\n /**\n * You should use `tryEmit` instead of `emit` directly to check\n * that all the needed recognizers has failed before emitting.\n * @param {Object} input\n */\n emit: function(input) {\n var self = this;\n var state = this.state;\n\n function emit(event) {\n self.manager.emit(event, input);\n }\n\n // 'panstart' and 'panmove'\n if (state < STATE_ENDED) {\n emit(self.options.event + stateStr(state));\n }\n\n emit(self.options.event); // simple 'eventName' events\n\n if (input.additionalEvent) { // additional event(panleft, panright, pinchin, pinchout...)\n emit(input.additionalEvent);\n }\n\n // panend and pancancel\n if (state >= STATE_ENDED) {\n emit(self.options.event + stateStr(state));\n }\n },\n\n /**\n * Check that all the require failure recognizers has failed,\n * if true, it emits a gesture event,\n * otherwise, setup the state to FAILED.\n * @param {Object} input\n */\n tryEmit: function(input) {\n if (this.canEmit()) {\n return this.emit(input);\n }\n // it's failing anyway\n this.state = STATE_FAILED;\n },\n\n /**\n * can we emit?\n * @returns {boolean}\n */\n canEmit: function() {\n var i = 0;\n while (i < this.requireFail.length) {\n if (!(this.requireFail[i].state & (STATE_FAILED | STATE_POSSIBLE))) {\n return false;\n }\n i++;\n }\n return true;\n },\n\n /**\n * update the recognizer\n * @param {Object} inputData\n */\n recognize: function(inputData) {\n // make a new copy of the inputData\n // so we can change the inputData without messing up the other recognizers\n var inputDataClone = assign({}, inputData);\n\n // is is enabled and allow recognizing?\n if (!boolOrFn(this.options.enable, [this, inputDataClone])) {\n this.reset();\n this.state = STATE_FAILED;\n return;\n }\n\n // reset when we've reached the end\n if (this.state & (STATE_RECOGNIZED | STATE_CANCELLED | STATE_FAILED)) {\n this.state = STATE_POSSIBLE;\n }\n\n this.state = this.process(inputDataClone);\n\n // the recognizer has recognized a gesture\n // so trigger an event\n if (this.state & (STATE_BEGAN | STATE_CHANGED | STATE_ENDED | STATE_CANCELLED)) {\n this.tryEmit(inputDataClone);\n }\n },\n\n /**\n * return the state of the recognizer\n * the actual recognizing happens in this method\n * @virtual\n * @param {Object} inputData\n * @returns {Const} STATE\n */\n process: function(inputData) { }, // jshint ignore:line\n\n /**\n * return the preferred touch-action\n * @virtual\n * @returns {Array}\n */\n getTouchAction: function() { },\n\n /**\n * called when the gesture isn't allowed to recognize\n * like when another is being recognized or it is disabled\n * @virtual\n */\n reset: function() { }\n};\n\n/**\n * get a usable string, used as event postfix\n * @param {Const} state\n * @returns {String} state\n */\nfunction stateStr(state) {\n if (state & STATE_CANCELLED) {\n return 'cancel';\n } else if (state & STATE_ENDED) {\n return 'end';\n } else if (state & STATE_CHANGED) {\n return 'move';\n } else if (state & STATE_BEGAN) {\n return 'start';\n }\n return '';\n}\n\n/**\n * direction cons to string\n * @param {Const} direction\n * @returns {String}\n */\nfunction directionStr(direction) {\n if (direction == DIRECTION_DOWN) {\n return 'down';\n } else if (direction == DIRECTION_UP) {\n return 'up';\n } else if (direction == DIRECTION_LEFT) {\n return 'left';\n } else if (direction == DIRECTION_RIGHT) {\n return 'right';\n }\n return '';\n}\n\n/**\n * get a recognizer by name if it is bound to a manager\n * @param {Recognizer|String} otherRecognizer\n * @param {Recognizer} recognizer\n * @returns {Recognizer}\n */\nfunction getRecognizerByNameIfManager(otherRecognizer, recognizer) {\n var manager = recognizer.manager;\n if (manager) {\n return manager.get(otherRecognizer);\n }\n return otherRecognizer;\n}\n\n/**\n * This recognizer is just used as a base for the simple attribute recognizers.\n * @constructor\n * @extends Recognizer\n */\nfunction AttrRecognizer() {\n Recognizer.apply(this, arguments);\n}\n\ninherit(AttrRecognizer, Recognizer, {\n /**\n * @namespace\n * @memberof AttrRecognizer\n */\n defaults: {\n /**\n * @type {Number}\n * @default 1\n */\n pointers: 1\n },\n\n /**\n * Used to check if it the recognizer receives valid input, like input.distance > 10.\n * @memberof AttrRecognizer\n * @param {Object} input\n * @returns {Boolean} recognized\n */\n attrTest: function(input) {\n var optionPointers = this.options.pointers;\n return optionPointers === 0 || input.pointers.length === optionPointers;\n },\n\n /**\n * Process the input and return the state for the recognizer\n * @memberof AttrRecognizer\n * @param {Object} input\n * @returns {*} State\n */\n process: function(input) {\n var state = this.state;\n var eventType = input.eventType;\n\n var isRecognized = state & (STATE_BEGAN | STATE_CHANGED);\n var isValid = this.attrTest(input);\n\n // on cancel input and we've recognized before, return STATE_CANCELLED\n if (isRecognized && (eventType & INPUT_CANCEL || !isValid)) {\n return state | STATE_CANCELLED;\n } else if (isRecognized || isValid) {\n if (eventType & INPUT_END) {\n return state | STATE_ENDED;\n } else if (!(state & STATE_BEGAN)) {\n return STATE_BEGAN;\n }\n return state | STATE_CHANGED;\n }\n return STATE_FAILED;\n }\n});\n\n/**\n * Pan\n * Recognized when the pointer is down and moved in the allowed direction.\n * @constructor\n * @extends AttrRecognizer\n */\nfunction PanRecognizer() {\n AttrRecognizer.apply(this, arguments);\n\n this.pX = null;\n this.pY = null;\n}\n\ninherit(PanRecognizer, AttrRecognizer, {\n /**\n * @namespace\n * @memberof PanRecognizer\n */\n defaults: {\n event: 'pan',\n threshold: 10,\n pointers: 1,\n direction: DIRECTION_ALL\n },\n\n getTouchAction: function() {\n var direction = this.options.direction;\n var actions = [];\n if (direction & DIRECTION_HORIZONTAL) {\n actions.push(TOUCH_ACTION_PAN_Y);\n }\n if (direction & DIRECTION_VERTICAL) {\n actions.push(TOUCH_ACTION_PAN_X);\n }\n return actions;\n },\n\n directionTest: function(input) {\n var options = this.options;\n var hasMoved = true;\n var distance = input.distance;\n var direction = input.direction;\n var x = input.deltaX;\n var y = input.deltaY;\n\n // lock to axis?\n if (!(direction & options.direction)) {\n if (options.direction & DIRECTION_HORIZONTAL) {\n direction = (x === 0) ? DIRECTION_NONE : (x < 0) ? DIRECTION_LEFT : DIRECTION_RIGHT;\n hasMoved = x != this.pX;\n distance = Math.abs(input.deltaX);\n } else {\n direction = (y === 0) ? DIRECTION_NONE : (y < 0) ? DIRECTION_UP : DIRECTION_DOWN;\n hasMoved = y != this.pY;\n distance = Math.abs(input.deltaY);\n }\n }\n input.direction = direction;\n return hasMoved && distance > options.threshold && direction & options.direction;\n },\n\n attrTest: function(input) {\n return AttrRecognizer.prototype.attrTest.call(this, input) &&\n (this.state & STATE_BEGAN || (!(this.state & STATE_BEGAN) && this.directionTest(input)));\n },\n\n emit: function(input) {\n\n this.pX = input.deltaX;\n this.pY = input.deltaY;\n\n var direction = directionStr(input.direction);\n\n if (direction) {\n input.additionalEvent = this.options.event + direction;\n }\n this._super.emit.call(this, input);\n }\n});\n\n/**\n * Pinch\n * Recognized when two or more pointers are moving toward (zoom-in) or away from each other (zoom-out).\n * @constructor\n * @extends AttrRecognizer\n */\nfunction PinchRecognizer() {\n AttrRecognizer.apply(this, arguments);\n}\n\ninherit(PinchRecognizer, AttrRecognizer, {\n /**\n * @namespace\n * @memberof PinchRecognizer\n */\n defaults: {\n event: 'pinch',\n threshold: 0,\n pointers: 2\n },\n\n getTouchAction: function() {\n return [TOUCH_ACTION_NONE];\n },\n\n attrTest: function(input) {\n return this._super.attrTest.call(this, input) &&\n (Math.abs(input.scale - 1) > this.options.threshold || this.state & STATE_BEGAN);\n },\n\n emit: function(input) {\n if (input.scale !== 1) {\n var inOut = input.scale < 1 ? 'in' : 'out';\n input.additionalEvent = this.options.event + inOut;\n }\n this._super.emit.call(this, input);\n }\n});\n\n/**\n * Press\n * Recognized when the pointer is down for x ms without any movement.\n * @constructor\n * @extends Recognizer\n */\nfunction PressRecognizer() {\n Recognizer.apply(this, arguments);\n\n this._timer = null;\n this._input = null;\n}\n\ninherit(PressRecognizer, Recognizer, {\n /**\n * @namespace\n * @memberof PressRecognizer\n */\n defaults: {\n event: 'press',\n pointers: 1,\n time: 251, // minimal time of the pointer to be pressed\n threshold: 9 // a minimal movement is ok, but keep it low\n },\n\n getTouchAction: function() {\n return [TOUCH_ACTION_AUTO];\n },\n\n process: function(input) {\n var options = this.options;\n var validPointers = input.pointers.length === options.pointers;\n var validMovement = input.distance < options.threshold;\n var validTime = input.deltaTime > options.time;\n\n this._input = input;\n\n // we only allow little movement\n // and we've reached an end event, so a tap is possible\n if (!validMovement || !validPointers || (input.eventType & (INPUT_END | INPUT_CANCEL) && !validTime)) {\n this.reset();\n } else if (input.eventType & INPUT_START) {\n this.reset();\n this._timer = setTimeoutContext(function() {\n this.state = STATE_RECOGNIZED;\n this.tryEmit();\n }, options.time, this);\n } else if (input.eventType & INPUT_END) {\n return STATE_RECOGNIZED;\n }\n return STATE_FAILED;\n },\n\n reset: function() {\n clearTimeout(this._timer);\n },\n\n emit: function(input) {\n if (this.state !== STATE_RECOGNIZED) {\n return;\n }\n\n if (input && (input.eventType & INPUT_END)) {\n this.manager.emit(this.options.event + 'up', input);\n } else {\n this._input.timeStamp = now();\n this.manager.emit(this.options.event, this._input);\n }\n }\n});\n\n/**\n * Rotate\n * Recognized when two or more pointer are moving in a circular motion.\n * @constructor\n * @extends AttrRecognizer\n */\nfunction RotateRecognizer() {\n AttrRecognizer.apply(this, arguments);\n}\n\ninherit(RotateRecognizer, AttrRecognizer, {\n /**\n * @namespace\n * @memberof RotateRecognizer\n */\n defaults: {\n event: 'rotate',\n threshold: 0,\n pointers: 2\n },\n\n getTouchAction: function() {\n return [TOUCH_ACTION_NONE];\n },\n\n attrTest: function(input) {\n return this._super.attrTest.call(this, input) &&\n (Math.abs(input.rotation) > this.options.threshold || this.state & STATE_BEGAN);\n }\n});\n\n/**\n * Swipe\n * Recognized when the pointer is moving fast (velocity), with enough distance in the allowed direction.\n * @constructor\n * @extends AttrRecognizer\n */\nfunction SwipeRecognizer() {\n AttrRecognizer.apply(this, arguments);\n}\n\ninherit(SwipeRecognizer, AttrRecognizer, {\n /**\n * @namespace\n * @memberof SwipeRecognizer\n */\n defaults: {\n event: 'swipe',\n threshold: 10,\n velocity: 0.3,\n direction: DIRECTION_HORIZONTAL | DIRECTION_VERTICAL,\n pointers: 1\n },\n\n getTouchAction: function() {\n return PanRecognizer.prototype.getTouchAction.call(this);\n },\n\n attrTest: function(input) {\n var direction = this.options.direction;\n var velocity;\n\n if (direction & (DIRECTION_HORIZONTAL | DIRECTION_VERTICAL)) {\n velocity = input.overallVelocity;\n } else if (direction & DIRECTION_HORIZONTAL) {\n velocity = input.overallVelocityX;\n } else if (direction & DIRECTION_VERTICAL) {\n velocity = input.overallVelocityY;\n }\n\n return this._super.attrTest.call(this, input) &&\n direction & input.offsetDirection &&\n input.distance > this.options.threshold &&\n input.maxPointers == this.options.pointers &&\n abs(velocity) > this.options.velocity && input.eventType & INPUT_END;\n },\n\n emit: function(input) {\n var direction = directionStr(input.offsetDirection);\n if (direction) {\n this.manager.emit(this.options.event + direction, input);\n }\n\n this.manager.emit(this.options.event, input);\n }\n});\n\n/**\n * A tap is ecognized when the pointer is doing a small tap/click. Multiple taps are recognized if they occur\n * between the given interval and position. The delay option can be used to recognize multi-taps without firing\n * a single tap.\n *\n * The eventData from the emitted event contains the property `tapCount`, which contains the amount of\n * multi-taps being recognized.\n * @constructor\n * @extends Recognizer\n */\nfunction TapRecognizer() {\n Recognizer.apply(this, arguments);\n\n // previous time and center,\n // used for tap counting\n this.pTime = false;\n this.pCenter = false;\n\n this._timer = null;\n this._input = null;\n this.count = 0;\n}\n\ninherit(TapRecognizer, Recognizer, {\n /**\n * @namespace\n * @memberof PinchRecognizer\n */\n defaults: {\n event: 'tap',\n pointers: 1,\n taps: 1,\n interval: 300, // max time between the multi-tap taps\n time: 250, // max time of the pointer to be down (like finger on the screen)\n threshold: 9, // a minimal movement is ok, but keep it low\n posThreshold: 10 // a multi-tap can be a bit off the initial position\n },\n\n getTouchAction: function() {\n return [TOUCH_ACTION_MANIPULATION];\n },\n\n process: function(input) {\n var options = this.options;\n\n var validPointers = input.pointers.length === options.pointers;\n var validMovement = input.distance < options.threshold;\n var validTouchTime = input.deltaTime < options.time;\n\n this.reset();\n\n if ((input.eventType & INPUT_START) && (this.count === 0)) {\n return this.failTimeout();\n }\n\n // we only allow little movement\n // and we've reached an end event, so a tap is possible\n if (validMovement && validTouchTime && validPointers) {\n if (input.eventType != INPUT_END) {\n return this.failTimeout();\n }\n\n var validInterval = this.pTime ? (input.timeStamp - this.pTime < options.interval) : true;\n var validMultiTap = !this.pCenter || getDistance(this.pCenter, input.center) < options.posThreshold;\n\n this.pTime = input.timeStamp;\n this.pCenter = input.center;\n\n if (!validMultiTap || !validInterval) {\n this.count = 1;\n } else {\n this.count += 1;\n }\n\n this._input = input;\n\n // if tap count matches we have recognized it,\n // else it has began recognizing...\n var tapCount = this.count % options.taps;\n if (tapCount === 0) {\n // no failing requirements, immediately trigger the tap event\n // or wait as long as the multitap interval to trigger\n if (!this.hasRequireFailures()) {\n return STATE_RECOGNIZED;\n } else {\n this._timer = setTimeoutContext(function() {\n this.state = STATE_RECOGNIZED;\n this.tryEmit();\n }, options.interval, this);\n return STATE_BEGAN;\n }\n }\n }\n return STATE_FAILED;\n },\n\n failTimeout: function() {\n this._timer = setTimeoutContext(function() {\n this.state = STATE_FAILED;\n }, this.options.interval, this);\n return STATE_FAILED;\n },\n\n reset: function() {\n clearTimeout(this._timer);\n },\n\n emit: function() {\n if (this.state == STATE_RECOGNIZED) {\n this._input.tapCount = this.count;\n this.manager.emit(this.options.event, this._input);\n }\n }\n});\n\n/**\n * Simple way to create a manager with a default set of recognizers.\n * @param {HTMLElement} element\n * @param {Object} [options]\n * @constructor\n */\nfunction Hammer(element, options) {\n options = options || {};\n options.recognizers = ifUndefined(options.recognizers, Hammer.defaults.preset);\n return new Manager(element, options);\n}\n\n/**\n * @const {string}\n */\nHammer.VERSION = '2.0.7';\n\n/**\n * default settings\n * @namespace\n */\nHammer.defaults = {\n /**\n * set if DOM events are being triggered.\n * But this is slower and unused by simple implementations, so disabled by default.\n * @type {Boolean}\n * @default false\n */\n domEvents: false,\n\n /**\n * The value for the touchAction property/fallback.\n * When set to `compute` it will magically set the correct value based on the added recognizers.\n * @type {String}\n * @default compute\n */\n touchAction: TOUCH_ACTION_COMPUTE,\n\n /**\n * @type {Boolean}\n * @default true\n */\n enable: true,\n\n /**\n * EXPERIMENTAL FEATURE -- can be removed/changed\n * Change the parent input target element.\n * If Null, then it is being set the to main element.\n * @type {Null|EventTarget}\n * @default null\n */\n inputTarget: null,\n\n /**\n * force an input class\n * @type {Null|Function}\n * @default null\n */\n inputClass: null,\n\n /**\n * Default recognizer setup when calling `Hammer()`\n * When creating a new Manager these will be skipped.\n * @type {Array}\n */\n preset: [\n // RecognizerClass, options, [recognizeWith, ...], [requireFailure, ...]\n [RotateRecognizer, {enable: false}],\n [PinchRecognizer, {enable: false}, ['rotate']],\n [SwipeRecognizer, {direction: DIRECTION_HORIZONTAL}],\n [PanRecognizer, {direction: DIRECTION_HORIZONTAL}, ['swipe']],\n [TapRecognizer],\n [TapRecognizer, {event: 'doubletap', taps: 2}, ['tap']],\n [PressRecognizer]\n ],\n\n /**\n * Some CSS properties can be used to improve the working of Hammer.\n * Add them to this method and they will be set when creating a new Manager.\n * @namespace\n */\n cssProps: {\n /**\n * Disables text selection to improve the dragging gesture. Mainly for desktop browsers.\n * @type {String}\n * @default 'none'\n */\n userSelect: 'none',\n\n /**\n * Disable the Windows Phone grippers when pressing an element.\n * @type {String}\n * @default 'none'\n */\n touchSelect: 'none',\n\n /**\n * Disables the default callout shown when you touch and hold a touch target.\n * On iOS, when you touch and hold a touch target such as a link, Safari displays\n * a callout containing information about the link. This property allows you to disable that callout.\n * @type {String}\n * @default 'none'\n */\n touchCallout: 'none',\n\n /**\n * Specifies whether zooming is enabled. Used by IE10>\n * @type {String}\n * @default 'none'\n */\n contentZooming: 'none',\n\n /**\n * Specifies that an entire element should be draggable instead of its contents. Mainly for desktop browsers.\n * @type {String}\n * @default 'none'\n */\n userDrag: 'none',\n\n /**\n * Overrides the highlight color shown when the user taps a link or a JavaScript\n * clickable element in iOS. This property obeys the alpha value, if specified.\n * @type {String}\n * @default 'rgba(0,0,0,0)'\n */\n tapHighlightColor: 'rgba(0,0,0,0)'\n }\n};\n\nvar STOP = 1;\nvar FORCED_STOP = 2;\n\n/**\n * Manager\n * @param {HTMLElement} element\n * @param {Object} [options]\n * @constructor\n */\nfunction Manager(element, options) {\n this.options = assign({}, Hammer.defaults, options || {});\n\n this.options.inputTarget = this.options.inputTarget || element;\n\n this.handlers = {};\n this.session = {};\n this.recognizers = [];\n this.oldCssProps = {};\n\n this.element = element;\n this.input = createInputInstance(this);\n this.touchAction = new TouchAction(this, this.options.touchAction);\n\n toggleCssProps(this, true);\n\n each(this.options.recognizers, function(item) {\n var recognizer = this.add(new (item[0])(item[1]));\n item[2] && recognizer.recognizeWith(item[2]);\n item[3] && recognizer.requireFailure(item[3]);\n }, this);\n}\n\nManager.prototype = {\n /**\n * set options\n * @param {Object} options\n * @returns {Manager}\n */\n set: function(options) {\n assign(this.options, options);\n\n // Options that need a little more setup\n if (options.touchAction) {\n this.touchAction.update();\n }\n if (options.inputTarget) {\n // Clean up existing event listeners and reinitialize\n this.input.destroy();\n this.input.target = options.inputTarget;\n this.input.init();\n }\n return this;\n },\n\n /**\n * stop recognizing for this session.\n * This session will be discarded, when a new [input]start event is fired.\n * When forced, the recognizer cycle is stopped immediately.\n * @param {Boolean} [force]\n */\n stop: function(force) {\n this.session.stopped = force ? FORCED_STOP : STOP;\n },\n\n /**\n * run the recognizers!\n * called by the inputHandler function on every movement of the pointers (touches)\n * it walks through all the recognizers and tries to detect the gesture that is being made\n * @param {Object} inputData\n */\n recognize: function(inputData) {\n var session = this.session;\n if (session.stopped) {\n return;\n }\n\n // run the touch-action polyfill\n this.touchAction.preventDefaults(inputData);\n\n var recognizer;\n var recognizers = this.recognizers;\n\n // this holds the recognizer that is being recognized.\n // so the recognizer's state needs to be BEGAN, CHANGED, ENDED or RECOGNIZED\n // if no recognizer is detecting a thing, it is set to `null`\n var curRecognizer = session.curRecognizer;\n\n // reset when the last recognizer is recognized\n // or when we're in a new session\n if (!curRecognizer || (curRecognizer && curRecognizer.state & STATE_RECOGNIZED)) {\n curRecognizer = session.curRecognizer = null;\n }\n\n var i = 0;\n while (i < recognizers.length) {\n recognizer = recognizers[i];\n\n // find out if we are allowed try to recognize the input for this one.\n // 1. allow if the session is NOT forced stopped (see the .stop() method)\n // 2. allow if we still haven't recognized a gesture in this session, or the this recognizer is the one\n // that is being recognized.\n // 3. allow if the recognizer is allowed to run simultaneous with the current recognized recognizer.\n // this can be setup with the `recognizeWith()` method on the recognizer.\n if (session.stopped !== FORCED_STOP && ( // 1\n !curRecognizer || recognizer == curRecognizer || // 2\n recognizer.canRecognizeWith(curRecognizer))) { // 3\n recognizer.recognize(inputData);\n } else {\n recognizer.reset();\n }\n\n // if the recognizer has been recognizing the input as a valid gesture, we want to store this one as the\n // current active recognizer. but only if we don't already have an active recognizer\n if (!curRecognizer && recognizer.state & (STATE_BEGAN | STATE_CHANGED | STATE_ENDED)) {\n curRecognizer = session.curRecognizer = recognizer;\n }\n i++;\n }\n },\n\n /**\n * get a recognizer by its event name.\n * @param {Recognizer|String} recognizer\n * @returns {Recognizer|Null}\n */\n get: function(recognizer) {\n if (recognizer instanceof Recognizer) {\n return recognizer;\n }\n\n var recognizers = this.recognizers;\n for (var i = 0; i < recognizers.length; i++) {\n if (recognizers[i].options.event == recognizer) {\n return recognizers[i];\n }\n }\n return null;\n },\n\n /**\n * add a recognizer to the manager\n * existing recognizers with the same event name will be removed\n * @param {Recognizer} recognizer\n * @returns {Recognizer|Manager}\n */\n add: function(recognizer) {\n if (invokeArrayArg(recognizer, 'add', this)) {\n return this;\n }\n\n // remove existing\n var existing = this.get(recognizer.options.event);\n if (existing) {\n this.remove(existing);\n }\n\n this.recognizers.push(recognizer);\n recognizer.manager = this;\n\n this.touchAction.update();\n return recognizer;\n },\n\n /**\n * remove a recognizer by name or instance\n * @param {Recognizer|String} recognizer\n * @returns {Manager}\n */\n remove: function(recognizer) {\n if (invokeArrayArg(recognizer, 'remove', this)) {\n return this;\n }\n\n recognizer = this.get(recognizer);\n\n // let's make sure this recognizer exists\n if (recognizer) {\n var recognizers = this.recognizers;\n var index = inArray(recognizers, recognizer);\n\n if (index !== -1) {\n recognizers.splice(index, 1);\n this.touchAction.update();\n }\n }\n\n return this;\n },\n\n /**\n * bind event\n * @param {String} events\n * @param {Function} handler\n * @returns {EventEmitter} this\n */\n on: function(events, handler) {\n if (events === undefined) {\n return;\n }\n if (handler === undefined) {\n return;\n }\n\n var handlers = this.handlers;\n each(splitStr(events), function(event) {\n handlers[event] = handlers[event] || [];\n handlers[event].push(handler);\n });\n return this;\n },\n\n /**\n * unbind event, leave emit blank to remove all handlers\n * @param {String} events\n * @param {Function} [handler]\n * @returns {EventEmitter} this\n */\n off: function(events, handler) {\n if (events === undefined) {\n return;\n }\n\n var handlers = this.handlers;\n each(splitStr(events), function(event) {\n if (!handler) {\n delete handlers[event];\n } else {\n handlers[event] && handlers[event].splice(inArray(handlers[event], handler), 1);\n }\n });\n return this;\n },\n\n /**\n * emit event to the listeners\n * @param {String} event\n * @param {Object} data\n */\n emit: function(event, data) {\n // we also want to trigger dom events\n if (this.options.domEvents) {\n triggerDomEvent(event, data);\n }\n\n // no handlers, so skip it all\n var handlers = this.handlers[event] && this.handlers[event].slice();\n if (!handlers || !handlers.length) {\n return;\n }\n\n data.type = event;\n data.preventDefault = function() {\n data.srcEvent.preventDefault();\n };\n\n var i = 0;\n while (i < handlers.length) {\n handlers[i](data);\n i++;\n }\n },\n\n /**\n * destroy the manager and unbinds all events\n * it doesn't unbind dom events, that is the user own responsibility\n */\n destroy: function() {\n this.element && toggleCssProps(this, false);\n\n this.handlers = {};\n this.session = {};\n this.input.destroy();\n this.element = null;\n }\n};\n\n/**\n * add/remove the css properties as defined in manager.options.cssProps\n * @param {Manager} manager\n * @param {Boolean} add\n */\nfunction toggleCssProps(manager, add) {\n var element = manager.element;\n if (!element.style) {\n return;\n }\n var prop;\n each(manager.options.cssProps, function(value, name) {\n prop = prefixed(element.style, name);\n if (add) {\n manager.oldCssProps[prop] = element.style[prop];\n element.style[prop] = value;\n } else {\n element.style[prop] = manager.oldCssProps[prop] || '';\n }\n });\n if (!add) {\n manager.oldCssProps = {};\n }\n}\n\n/**\n * trigger dom event\n * @param {String} event\n * @param {Object} data\n */\nfunction triggerDomEvent(event, data) {\n var gestureEvent = document.createEvent('Event');\n gestureEvent.initEvent(event, true, true);\n gestureEvent.gesture = data;\n data.target.dispatchEvent(gestureEvent);\n}\n\nassign(Hammer, {\n INPUT_START: INPUT_START,\n INPUT_MOVE: INPUT_MOVE,\n INPUT_END: INPUT_END,\n INPUT_CANCEL: INPUT_CANCEL,\n\n STATE_POSSIBLE: STATE_POSSIBLE,\n STATE_BEGAN: STATE_BEGAN,\n STATE_CHANGED: STATE_CHANGED,\n STATE_ENDED: STATE_ENDED,\n STATE_RECOGNIZED: STATE_RECOGNIZED,\n STATE_CANCELLED: STATE_CANCELLED,\n STATE_FAILED: STATE_FAILED,\n\n DIRECTION_NONE: DIRECTION_NONE,\n DIRECTION_LEFT: DIRECTION_LEFT,\n DIRECTION_RIGHT: DIRECTION_RIGHT,\n DIRECTION_UP: DIRECTION_UP,\n DIRECTION_DOWN: DIRECTION_DOWN,\n DIRECTION_HORIZONTAL: DIRECTION_HORIZONTAL,\n DIRECTION_VERTICAL: DIRECTION_VERTICAL,\n DIRECTION_ALL: DIRECTION_ALL,\n\n Manager: Manager,\n Input: Input,\n TouchAction: TouchAction,\n\n TouchInput: TouchInput,\n MouseInput: MouseInput,\n PointerEventInput: PointerEventInput,\n TouchMouseInput: TouchMouseInput,\n SingleTouchInput: SingleTouchInput,\n\n Recognizer: Recognizer,\n AttrRecognizer: AttrRecognizer,\n Tap: TapRecognizer,\n Pan: PanRecognizer,\n Swipe: SwipeRecognizer,\n Pinch: PinchRecognizer,\n Rotate: RotateRecognizer,\n Press: PressRecognizer,\n\n on: addEventListeners,\n off: removeEventListeners,\n each: each,\n merge: merge,\n extend: extend,\n assign: assign,\n inherit: inherit,\n bindFn: bindFn,\n prefixed: prefixed\n});\n\n// this prevents errors when Hammer is loaded in the presence of an AMD\n// style loader but by script tag, not by the loader.\nvar freeGlobal = (typeof window !== 'undefined' ? window : (typeof self !== 'undefined' ? self : {})); // jshint ignore:line\nfreeGlobal.Hammer = Hammer;\n\nif (typeof define === 'function' && define.amd) {\n define(function() {\n return Hammer;\n });\n} else if (typeof module != 'undefined' && module.exports) {\n module.exports = Hammer;\n} else {\n window[exportName] = Hammer;\n}\n\n})(window, document, 'Hammer');\n","'use strict';\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\n\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n","'use strict';\n\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\tvar descriptor = Object.getOwnPropertyDescriptor(obj, sym);\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n","'use strict';\n\nvar hasSymbols = require('has-symbols/shams');\n\nmodule.exports = function hasToStringTagShams() {\n\treturn hasSymbols() && !!Symbol.toStringTag;\n};\n","'use strict';\n\nvar bind = require('function-bind');\n\nmodule.exports = bind.call(Function.call, Object.prototype.hasOwnProperty);\n","'use strict';\n\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar callBound = require('call-bind/callBound');\n\nvar $toString = callBound('Object.prototype.toString');\n\nvar isStandardArguments = function isArguments(value) {\n\tif (hasToStringTag && value && typeof value === 'object' && Symbol.toStringTag in value) {\n\t\treturn false;\n\t}\n\treturn $toString(value) === '[object Arguments]';\n};\n\nvar isLegacyArguments = function isArguments(value) {\n\tif (isStandardArguments(value)) {\n\t\treturn true;\n\t}\n\treturn value !== null &&\n\t\ttypeof value === 'object' &&\n\t\ttypeof value.length === 'number' &&\n\t\tvalue.length >= 0 &&\n\t\t$toString(value) !== '[object Array]' &&\n\t\t$toString(value.callee) === '[object Function]';\n};\n\nvar supportsStandardArguments = (function () {\n\treturn isStandardArguments(arguments);\n}());\n\nisStandardArguments.isLegacyArguments = isLegacyArguments; // for tests\n\nmodule.exports = supportsStandardArguments ? isStandardArguments : isLegacyArguments;\n","'use strict';\n\nvar toStr = Object.prototype.toString;\nvar fnToStr = Function.prototype.toString;\nvar isFnRegex = /^\\s*(?:function)?\\*/;\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar getProto = Object.getPrototypeOf;\nvar getGeneratorFunc = function () { // eslint-disable-line consistent-return\n\tif (!hasToStringTag) {\n\t\treturn false;\n\t}\n\ttry {\n\t\treturn Function('return function*() {}')();\n\t} catch (e) {\n\t}\n};\nvar GeneratorFunction;\n\nmodule.exports = function isGeneratorFunction(fn) {\n\tif (typeof fn !== 'function') {\n\t\treturn false;\n\t}\n\tif (isFnRegex.test(fnToStr.call(fn))) {\n\t\treturn true;\n\t}\n\tif (!hasToStringTag) {\n\t\tvar str = toStr.call(fn);\n\t\treturn str === '[object GeneratorFunction]';\n\t}\n\tif (!getProto) {\n\t\treturn false;\n\t}\n\tif (typeof GeneratorFunction === 'undefined') {\n\t\tvar generatorFunc = getGeneratorFunc();\n\t\tGeneratorFunction = generatorFunc ? getProto(generatorFunc) : false;\n\t}\n\treturn getProto(fn) === GeneratorFunction;\n};\n","'use strict';\n\n/* http://www.ecma-international.org/ecma-262/6.0/#sec-number.isnan */\n\nmodule.exports = function isNaN(value) {\n\treturn value !== value;\n};\n","'use strict';\n\nvar callBind = require('call-bind');\nvar define = require('define-properties');\n\nvar implementation = require('./implementation');\nvar getPolyfill = require('./polyfill');\nvar shim = require('./shim');\n\nvar polyfill = callBind(getPolyfill(), Number);\n\n/* http://www.ecma-international.org/ecma-262/6.0/#sec-number.isnan */\n\ndefine(polyfill, {\n\tgetPolyfill: getPolyfill,\n\timplementation: implementation,\n\tshim: shim\n});\n\nmodule.exports = polyfill;\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = function getPolyfill() {\n\tif (Number.isNaN && Number.isNaN(NaN) && !Number.isNaN('a')) {\n\t\treturn Number.isNaN;\n\t}\n\treturn implementation;\n};\n","'use strict';\n\nvar define = require('define-properties');\nvar getPolyfill = require('./polyfill');\n\n/* http://www.ecma-international.org/ecma-262/6.0/#sec-number.isnan */\n\nmodule.exports = function shimNumberIsNaN() {\n\tvar polyfill = getPolyfill();\n\tdefine(Number, { isNaN: polyfill }, {\n\t\tisNaN: function testIsNaN() {\n\t\t\treturn Number.isNaN !== polyfill;\n\t\t}\n\t});\n\treturn polyfill;\n};\n","'use strict';\n\nvar forEach = require('foreach');\nvar availableTypedArrays = require('available-typed-arrays');\nvar callBound = require('call-bind/callBound');\n\nvar $toString = callBound('Object.prototype.toString');\nvar hasToStringTag = require('has-tostringtag/shams')();\n\nvar g = typeof globalThis === 'undefined' ? global : globalThis;\nvar typedArrays = availableTypedArrays();\n\nvar $indexOf = callBound('Array.prototype.indexOf', true) || function indexOf(array, value) {\n\tfor (var i = 0; i < array.length; i += 1) {\n\t\tif (array[i] === value) {\n\t\t\treturn i;\n\t\t}\n\t}\n\treturn -1;\n};\nvar $slice = callBound('String.prototype.slice');\nvar toStrTags = {};\nvar gOPD = require('es-abstract/helpers/getOwnPropertyDescriptor');\nvar getPrototypeOf = Object.getPrototypeOf; // require('getprototypeof');\nif (hasToStringTag && gOPD && getPrototypeOf) {\n\tforEach(typedArrays, function (typedArray) {\n\t\tvar arr = new g[typedArray]();\n\t\tif (Symbol.toStringTag in arr) {\n\t\t\tvar proto = getPrototypeOf(arr);\n\t\t\tvar descriptor = gOPD(proto, Symbol.toStringTag);\n\t\t\tif (!descriptor) {\n\t\t\t\tvar superProto = getPrototypeOf(proto);\n\t\t\t\tdescriptor = gOPD(superProto, Symbol.toStringTag);\n\t\t\t}\n\t\t\ttoStrTags[typedArray] = descriptor.get;\n\t\t}\n\t});\n}\n\nvar tryTypedArrays = function tryAllTypedArrays(value) {\n\tvar anyTrue = false;\n\tforEach(toStrTags, function (getter, typedArray) {\n\t\tif (!anyTrue) {\n\t\t\ttry {\n\t\t\t\tanyTrue = getter.call(value) === typedArray;\n\t\t\t} catch (e) { /**/ }\n\t\t}\n\t});\n\treturn anyTrue;\n};\n\nmodule.exports = function isTypedArray(value) {\n\tif (!value || typeof value !== 'object') { return false; }\n\tif (!hasToStringTag || !(Symbol.toStringTag in value)) {\n\t\tvar tag = $slice($toString(value), 8, -1);\n\t\treturn $indexOf(typedArrays, tag) > -1;\n\t}\n\tif (!gOPD) { return false; }\n\treturn tryTypedArrays(value);\n};\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n symbolTag = '[object Symbol]';\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/,\n reLeadingDot = /^\\./,\n rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Symbol = root.Symbol,\n splice = arrayProto.splice;\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = isKey(path, object) ? [path] : castPath(path);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value) {\n return isArray(value) ? value : stringToPath(value);\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoize(function(string) {\n string = toString(string);\n\n var result = [];\n if (reLeadingDot.test(string)) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, string) {\n result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result);\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Assign cache to `_.memoize`.\nmemoize.Cache = MapCache;\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nmodule.exports = get;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nmodule.exports = DataView;\n","var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n","var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nmodule.exports = Promise;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n","var MapCache = require('./_MapCache'),\n setCacheAdd = require('./_setCacheAdd'),\n setCacheHas = require('./_setCacheHas');\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nmodule.exports = SetCache;\n","var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nmodule.exports = WeakMap;\n","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nmodule.exports = apply;\n","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = arrayFilter;\n","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nmodule.exports = arrayPush;\n","/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignMergeValue;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;\n","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n","var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n","var isObject = require('./isObject');\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nmodule.exports = baseCreate;\n","var createBaseFor = require('./_createBaseFor');\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n","var arrayPush = require('./_arrayPush'),\n isArray = require('./isArray');\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nmodule.exports = baseGetAllKeys;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n","var baseIsEqualDeep = require('./_baseIsEqualDeep'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nmodule.exports = baseIsEqual;\n","var Stack = require('./_Stack'),\n equalArrays = require('./_equalArrays'),\n equalByTag = require('./_equalByTag'),\n equalObjects = require('./_equalObjects'),\n getTag = require('./_getTag'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isTypedArray = require('./isTypedArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nmodule.exports = baseIsEqualDeep;\n","var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n","var baseGetTag = require('./_baseGetTag'),\n isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n","var isPrototype = require('./_isPrototype'),\n nativeKeys = require('./_nativeKeys');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeys;\n","var isObject = require('./isObject'),\n isPrototype = require('./_isPrototype'),\n nativeKeysIn = require('./_nativeKeysIn');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeysIn;\n","var Stack = require('./_Stack'),\n assignMergeValue = require('./_assignMergeValue'),\n baseFor = require('./_baseFor'),\n baseMergeDeep = require('./_baseMergeDeep'),\n isObject = require('./isObject'),\n keysIn = require('./keysIn'),\n safeGet = require('./_safeGet');\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n stack || (stack = new Stack);\n if (isObject(srcValue)) {\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n}\n\nmodule.exports = baseMerge;\n","var assignMergeValue = require('./_assignMergeValue'),\n cloneBuffer = require('./_cloneBuffer'),\n cloneTypedArray = require('./_cloneTypedArray'),\n copyArray = require('./_copyArray'),\n initCloneObject = require('./_initCloneObject'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isArrayLikeObject = require('./isArrayLikeObject'),\n isBuffer = require('./isBuffer'),\n isFunction = require('./isFunction'),\n isObject = require('./isObject'),\n isPlainObject = require('./isPlainObject'),\n isTypedArray = require('./isTypedArray'),\n safeGet = require('./_safeGet'),\n toPlainObject = require('./toPlainObject');\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || isFunction(objValue)) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n}\n\nmodule.exports = baseMergeDeep;\n","var identity = require('./identity'),\n overRest = require('./_overRest'),\n setToString = require('./_setToString');\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\nmodule.exports = baseRest;\n","var constant = require('./constant'),\n defineProperty = require('./_defineProperty'),\n identity = require('./identity');\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\nmodule.exports = baseSetToString;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n","/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\nmodule.exports = cacheHas;\n","var Uint8Array = require('./_Uint8Array');\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nmodule.exports = cloneArrayBuffer;\n","var root = require('./_root');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nmodule.exports = cloneBuffer;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nmodule.exports = cloneTypedArray;\n","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = copyArray;\n","var assignValue = require('./_assignValue'),\n baseAssignValue = require('./_baseAssignValue');\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nmodule.exports = copyObject;\n","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n","var baseRest = require('./_baseRest'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\nmodule.exports = createAssigner;\n","/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n","var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n","var SetCache = require('./_SetCache'),\n arraySome = require('./_arraySome'),\n cacheHas = require('./_cacheHas');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalArrays;\n","var Symbol = require('./_Symbol'),\n Uint8Array = require('./_Uint8Array'),\n eq = require('./eq'),\n equalArrays = require('./_equalArrays'),\n mapToArray = require('./_mapToArray'),\n setToArray = require('./_setToArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n","var getAllKeys = require('./_getAllKeys');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalObjects;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbols = require('./_getSymbols'),\n keys = require('./keys');\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nmodule.exports = getAllKeys;\n","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n","var overArg = require('./_overArg');\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","var arrayFilter = require('./_arrayFilter'),\n stubArray = require('./stubArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nmodule.exports = getSymbols;\n","var DataView = require('./_DataView'),\n Map = require('./_Map'),\n Promise = require('./_Promise'),\n Set = require('./_Set'),\n WeakMap = require('./_WeakMap'),\n baseGetTag = require('./_baseGetTag'),\n toSource = require('./_toSource');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nmodule.exports = getTag;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n","var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nmodule.exports = hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n","var baseCreate = require('./_baseCreate'),\n getPrototype = require('./_getPrototype'),\n isPrototype = require('./_isPrototype');\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nmodule.exports = initCloneObject;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n","var eq = require('./eq'),\n isArrayLike = require('./isArrayLike'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject');\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nmodule.exports = isKeyable;\n","var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n","var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\n","var getMapData = require('./_getMapData');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n","var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n","var getMapData = require('./_getMapData');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n","var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n","/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nmodule.exports = mapToArray;\n","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n","var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = nativeKeysIn;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n","var apply = require('./_apply');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nmodule.exports = overRest;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","/**\n * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n if (key === 'constructor' && typeof object[key] === 'function') {\n return;\n }\n\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n}\n\nmodule.exports = safeGet;\n","/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\nmodule.exports = setCacheAdd;\n","/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\nmodule.exports = setCacheHas;\n","/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nmodule.exports = setToArray;\n","var baseSetToString = require('./_baseSetToString'),\n shortOut = require('./_shortOut');\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\nmodule.exports = setToString;\n","/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nmodule.exports = shortOut;\n","var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n","var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nmodule.exports = constant;\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n","var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n","var isArrayLike = require('./isArrayLike'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\nmodule.exports = isArrayLikeObject;\n","var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n","var baseIsEqual = require('./_baseIsEqual');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\n\nmodule.exports = isEqual;\n","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n getPrototype = require('./_getPrototype'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nmodule.exports = isPlainObject;\n","var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeys = require('./_baseKeys'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = keys;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeysIn = require('./_baseKeysIn'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nmodule.exports = keysIn;\n","var baseMerge = require('./_baseMerge'),\n createAssigner = require('./_createAssigner');\n\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\nvar merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n});\n\nmodule.exports = merge;\n","/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nmodule.exports = stubArray;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n","var copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return copyObject(value, keysIn(value));\n}\n\nmodule.exports = toPlainObject;\n","'use strict';\n\nvar get = require('lodash.get');\nvar plurals = require('./plurals');\n\nmodule.exports = Gettext;\n\n/**\n * Creates and returns a new Gettext instance.\n *\n * @constructor\n * @param {Object} [options] A set of options\n * @param {String} options.sourceLocale The locale that the source code and its\n * texts are written in. Translations for\n * this locale is not necessary.\n * @param {Boolean} options.debug Whether to output debug info into the\n * console.\n * @return {Object} A Gettext instance\n */\nfunction Gettext(options) {\n options = options || {};\n\n this.catalogs = {};\n this.locale = '';\n this.domain = 'messages';\n\n this.listeners = [];\n\n // Set source locale\n this.sourceLocale = '';\n if (options.sourceLocale) {\n if (typeof options.sourceLocale === 'string') {\n this.sourceLocale = options.sourceLocale;\n }\n else {\n this.warn('The `sourceLocale` option should be a string');\n }\n }\n\n // Set debug flag\n this.debug = 'debug' in options && options.debug === true;\n}\n\n/**\n * Adds an event listener.\n *\n * @param {String} eventName An event name\n * @param {Function} callback An event handler function\n */\nGettext.prototype.on = function(eventName, callback) {\n this.listeners.push({\n eventName: eventName,\n callback: callback\n });\n};\n\n/**\n * Removes an event listener.\n *\n * @param {String} eventName An event name\n * @param {Function} callback A previously registered event handler function\n */\nGettext.prototype.off = function(eventName, callback) {\n this.listeners = this.listeners.filter(function(listener) {\n return (\n listener.eventName === eventName &&\n listener.callback === callback\n ) === false;\n });\n};\n\n/**\n * Emits an event to all registered event listener.\n *\n * @private\n * @param {String} eventName An event name\n * @param {any} eventData Data to pass to event listeners\n */\nGettext.prototype.emit = function(eventName, eventData) {\n for (var i = 0; i < this.listeners.length; i++) {\n var listener = this.listeners[i];\n if (listener.eventName === eventName) {\n listener.callback(eventData);\n }\n }\n};\n\n/**\n * Logs a warning to the console if debug mode is enabled.\n *\n * @ignore\n * @param {String} message A warning message\n */\nGettext.prototype.warn = function(message) {\n if (this.debug) {\n console.warn(message);\n }\n\n this.emit('error', new Error(message));\n};\n\n/**\n * Stores a set of translations in the set of gettext\n * catalogs.\n *\n * @example\n * gt.addTranslations('sv-SE', 'messages', translationsObject)\n *\n * @param {String} locale A locale string\n * @param {String} domain A domain name\n * @param {Object} translations An object of gettext-parser JSON shape\n */\nGettext.prototype.addTranslations = function(locale, domain, translations) {\n if (!this.catalogs[locale]) {\n this.catalogs[locale] = {};\n }\n\n this.catalogs[locale][domain] = translations;\n};\n\n/**\n * Sets the locale to get translated messages for.\n *\n * @example\n * gt.setLocale('sv-SE')\n *\n * @param {String} locale A locale\n */\nGettext.prototype.setLocale = function(locale) {\n if (typeof locale !== 'string') {\n this.warn(\n 'You called setLocale() with an argument of type ' + (typeof locale) + '. ' +\n 'The locale must be a string.'\n );\n return;\n }\n\n if (locale.trim() === '') {\n this.warn('You called setLocale() with an empty value, which makes little sense.');\n }\n\n if (locale !== this.sourceLocale && !this.catalogs[locale]) {\n this.warn('You called setLocale() with \"' + locale + '\", but no translations for that locale has been added.');\n }\n\n this.locale = locale;\n};\n\n/**\n * Sets the default gettext domain.\n *\n * @example\n * gt.setTextDomain('domainname')\n *\n * @param {String} domain A gettext domain name\n */\nGettext.prototype.setTextDomain = function(domain) {\n if (typeof domain !== 'string') {\n this.warn(\n 'You called setTextDomain() with an argument of type ' + (typeof domain) + '. ' +\n 'The domain must be a string.'\n );\n return;\n }\n\n if (domain.trim() === '') {\n this.warn('You called setTextDomain() with an empty `domain` value.');\n }\n\n this.domain = domain;\n};\n\n/**\n * Translates a string using the default textdomain\n *\n * @example\n * gt.gettext('Some text')\n *\n * @param {String} msgid String to be translated\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.gettext = function(msgid) {\n return this.dnpgettext(this.domain, '', msgid);\n};\n\n/**\n * Translates a string using a specific domain\n *\n * @example\n * gt.dgettext('domainname', 'Some text')\n *\n * @param {String} domain A gettext domain name\n * @param {String} msgid String to be translated\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.dgettext = function(domain, msgid) {\n return this.dnpgettext(domain, '', msgid);\n};\n\n/**\n * Translates a plural string using the default textdomain\n *\n * @example\n * gt.ngettext('One thing', 'Many things', numberOfThings)\n *\n * @param {String} msgid String to be translated when count is not plural\n * @param {String} msgidPlural String to be translated when count is plural\n * @param {Number} count Number count for the plural\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.ngettext = function(msgid, msgidPlural, count) {\n return this.dnpgettext(this.domain, '', msgid, msgidPlural, count);\n};\n\n/**\n * Translates a plural string using a specific textdomain\n *\n * @example\n * gt.dngettext('domainname', 'One thing', 'Many things', numberOfThings)\n *\n * @param {String} domain A gettext domain name\n * @param {String} msgid String to be translated when count is not plural\n * @param {String} msgidPlural String to be translated when count is plural\n * @param {Number} count Number count for the plural\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.dngettext = function(domain, msgid, msgidPlural, count) {\n return this.dnpgettext(domain, '', msgid, msgidPlural, count);\n};\n\n/**\n * Translates a string from a specific context using the default textdomain\n *\n * @example\n * gt.pgettext('sports', 'Back')\n *\n * @param {String} msgctxt Translation context\n * @param {String} msgid String to be translated\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.pgettext = function(msgctxt, msgid) {\n return this.dnpgettext(this.domain, msgctxt, msgid);\n};\n\n/**\n * Translates a string from a specific context using s specific textdomain\n *\n * @example\n * gt.dpgettext('domainname', 'sports', 'Back')\n *\n * @param {String} domain A gettext domain name\n * @param {String} msgctxt Translation context\n * @param {String} msgid String to be translated\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.dpgettext = function(domain, msgctxt, msgid) {\n return this.dnpgettext(domain, msgctxt, msgid);\n};\n\n/**\n * Translates a plural string from a specific context using the default textdomain\n *\n * @example\n * gt.npgettext('sports', 'Back', '%d backs', numberOfBacks)\n *\n * @param {String} msgctxt Translation context\n * @param {String} msgid String to be translated when count is not plural\n * @param {String} msgidPlural String to be translated when count is plural\n * @param {Number} count Number count for the plural\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.npgettext = function(msgctxt, msgid, msgidPlural, count) {\n return this.dnpgettext(this.domain, msgctxt, msgid, msgidPlural, count);\n};\n\n/**\n * Translates a plural string from a specifi context using a specific textdomain\n *\n * @example\n * gt.dnpgettext('domainname', 'sports', 'Back', '%d backs', numberOfBacks)\n *\n * @param {String} domain A gettext domain name\n * @param {String} msgctxt Translation context\n * @param {String} msgid String to be translated\n * @param {String} msgidPlural If no translation was found, return this on count!=1\n * @param {Number} count Number count for the plural\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.dnpgettext = function(domain, msgctxt, msgid, msgidPlural, count) {\n var defaultTranslation = msgid;\n var translation;\n var index;\n\n msgctxt = msgctxt || '';\n\n if (!isNaN(count) && count !== 1) {\n defaultTranslation = msgidPlural || msgid;\n }\n\n translation = this._getTranslation(domain, msgctxt, msgid);\n\n if (translation) {\n if (typeof count === 'number') {\n var pluralsFunc = plurals[Gettext.getLanguageCode(this.locale)].pluralsFunc;\n index = pluralsFunc(count);\n if (typeof index === 'boolean') {\n index = index ? 1 : 0;\n }\n } else {\n index = 0;\n }\n\n return translation.msgstr[index] || defaultTranslation;\n }\n else if (!this.sourceLocale || this.locale !== this.sourceLocale) {\n this.warn('No translation was found for msgid \"' + msgid + '\" in msgctxt \"' + msgctxt + '\" and domain \"' + domain + '\"');\n }\n\n return defaultTranslation;\n};\n\n/**\n * Retrieves comments object for a translation. The comments object\n * has the shape `{ translator, extracted, reference, flag, previous }`.\n *\n * @example\n * const comment = gt.getComment('domainname', 'sports', 'Backs')\n *\n * @private\n * @param {String} domain A gettext domain name\n * @param {String} msgctxt Translation context\n * @param {String} msgid String to be translated\n * @return {Object} Comments object or false if not found\n */\nGettext.prototype.getComment = function(domain, msgctxt, msgid) {\n var translation;\n\n translation = this._getTranslation(domain, msgctxt, msgid);\n if (translation) {\n return translation.comments || {};\n }\n\n return {};\n};\n\n/**\n * Retrieves translation object from the domain and context\n *\n * @private\n * @param {String} domain A gettext domain name\n * @param {String} msgctxt Translation context\n * @param {String} msgid String to be translated\n * @return {Object} Translation object or false if not found\n */\nGettext.prototype._getTranslation = function(domain, msgctxt, msgid) {\n msgctxt = msgctxt || '';\n\n return get(this.catalogs, [this.locale, domain, 'translations', msgctxt, msgid]);\n};\n\n/**\n * Returns the language code part of a locale\n *\n * @example\n * Gettext.getLanguageCode('sv-SE')\n * // -> \"sv\"\n *\n * @private\n * @param {String} locale A case-insensitive locale string\n * @returns {String} A language code\n */\nGettext.getLanguageCode = function(locale) {\n return locale.split(/[\\-_]/)[0].toLowerCase();\n};\n\n/* C-style aliases */\n\n/**\n * C-style alias for [setTextDomain](#gettextsettextdomaindomain)\n *\n * @see Gettext#setTextDomain\n */\nGettext.prototype.textdomain = function(domain) {\n if (this.debug) {\n console.warn('textdomain(domain) was used to set locales in node-gettext v1. ' +\n 'Make sure you are using it for domains, and switch to setLocale(locale) if you are not.\\n\\n ' +\n 'To read more about the migration from node-gettext v1 to v2, ' +\n 'see https://github.com/alexanderwallin/node-gettext/#migrating-from-1x-to-2x\\n\\n' +\n 'This warning will be removed in the final 2.0.0');\n }\n\n this.setTextDomain(domain);\n};\n\n/**\n * C-style alias for [setLocale](#gettextsetlocalelocale)\n *\n * @see Gettext#setLocale\n */\nGettext.prototype.setlocale = function(locale) {\n this.setLocale(locale);\n};\n\n/* Deprecated functions */\n\n/**\n * This function will be removed in the final 2.0.0 release.\n *\n * @deprecated\n */\nGettext.prototype.addTextdomain = function() {\n console.error('addTextdomain() is deprecated.\\n\\n' +\n '* To add translations, use addTranslations()\\n' +\n '* To set the default domain, use setTextDomain() (or its alias textdomain())\\n' +\n '\\n' +\n 'To read more about the migration from node-gettext v1 to v2, ' +\n 'see https://github.com/alexanderwallin/node-gettext/#migrating-from-1x-to-2x');\n};\n","'use strict';\n\nmodule.exports = {\n ach: {\n name: 'Acholi',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n af: {\n name: 'Afrikaans',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ak: {\n name: 'Akan',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n am: {\n name: 'Amharic',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n an: {\n name: 'Aragonese',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ar: {\n name: 'Arabic',\n examples: [{\n plural: 0,\n sample: 0\n }, {\n plural: 1,\n sample: 1\n }, {\n plural: 2,\n sample: 2\n }, {\n plural: 3,\n sample: 3\n }, {\n plural: 4,\n sample: 11\n }, {\n plural: 5,\n sample: 100\n }],\n nplurals: 6,\n pluralsText: 'nplurals = 6; plural = (n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5)',\n pluralsFunc: function(n) {\n return (n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5);\n }\n },\n arn: {\n name: 'Mapudungun',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n ast: {\n name: 'Asturian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ay: {\n name: 'Aymará',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n az: {\n name: 'Azerbaijani',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n be: {\n name: 'Belarusian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n bg: {\n name: 'Bulgarian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n bn: {\n name: 'Bengali',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n bo: {\n name: 'Tibetan',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n br: {\n name: 'Breton',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n brx: {\n name: 'Bodo',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n bs: {\n name: 'Bosnian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n ca: {\n name: 'Catalan',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n cgg: {\n name: 'Chiga',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n cs: {\n name: 'Czech',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : (n >= 2 && n <= 4) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : (n >= 2 && n <= 4) ? 1 : 2);\n }\n },\n csb: {\n name: 'Kashubian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n cy: {\n name: 'Welsh',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 3\n }, {\n plural: 3,\n sample: 8\n }],\n nplurals: 4,\n pluralsText: 'nplurals = 4; plural = (n === 1 ? 0 : n === 2 ? 1 : (n !== 8 && n !== 11) ? 2 : 3)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : n === 2 ? 1 : (n !== 8 && n !== 11) ? 2 : 3);\n }\n },\n da: {\n name: 'Danish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n de: {\n name: 'German',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n doi: {\n name: 'Dogri',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n dz: {\n name: 'Dzongkha',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n el: {\n name: 'Greek',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n en: {\n name: 'English',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n eo: {\n name: 'Esperanto',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n es: {\n name: 'Spanish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n et: {\n name: 'Estonian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n eu: {\n name: 'Basque',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n fa: {\n name: 'Persian',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n ff: {\n name: 'Fulah',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n fi: {\n name: 'Finnish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n fil: {\n name: 'Filipino',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n fo: {\n name: 'Faroese',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n fr: {\n name: 'French',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n fur: {\n name: 'Friulian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n fy: {\n name: 'Frisian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ga: {\n name: 'Irish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 3\n }, {\n plural: 3,\n sample: 7\n }, {\n plural: 4,\n sample: 11\n }],\n nplurals: 5,\n pluralsText: 'nplurals = 5; plural = (n === 1 ? 0 : n === 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : n === 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4);\n }\n },\n gd: {\n name: 'Scottish Gaelic',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 3\n }, {\n plural: 3,\n sample: 20\n }],\n nplurals: 4,\n pluralsText: 'nplurals = 4; plural = ((n === 1 || n === 11) ? 0 : (n === 2 || n === 12) ? 1 : (n > 2 && n < 20) ? 2 : 3)',\n pluralsFunc: function(n) {\n return ((n === 1 || n === 11) ? 0 : (n === 2 || n === 12) ? 1 : (n > 2 && n < 20) ? 2 : 3);\n }\n },\n gl: {\n name: 'Galician',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n gu: {\n name: 'Gujarati',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n gun: {\n name: 'Gun',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n ha: {\n name: 'Hausa',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n he: {\n name: 'Hebrew',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n hi: {\n name: 'Hindi',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n hne: {\n name: 'Chhattisgarhi',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n hr: {\n name: 'Croatian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n hu: {\n name: 'Hungarian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n hy: {\n name: 'Armenian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n id: {\n name: 'Indonesian',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n is: {\n name: 'Icelandic',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n % 10 !== 1 || n % 100 === 11)',\n pluralsFunc: function(n) {\n return (n % 10 !== 1 || n % 100 === 11);\n }\n },\n it: {\n name: 'Italian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ja: {\n name: 'Japanese',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n jbo: {\n name: 'Lojban',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n jv: {\n name: 'Javanese',\n examples: [{\n plural: 0,\n sample: 0\n }, {\n plural: 1,\n sample: 1\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 0)',\n pluralsFunc: function(n) {\n return (n !== 0);\n }\n },\n ka: {\n name: 'Georgian',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n kk: {\n name: 'Kazakh',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n km: {\n name: 'Khmer',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n kn: {\n name: 'Kannada',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ko: {\n name: 'Korean',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n ku: {\n name: 'Kurdish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n kw: {\n name: 'Cornish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 3\n }, {\n plural: 3,\n sample: 4\n }],\n nplurals: 4,\n pluralsText: 'nplurals = 4; plural = (n === 1 ? 0 : n === 2 ? 1 : n === 3 ? 2 : 3)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : n === 2 ? 1 : n === 3 ? 2 : 3);\n }\n },\n ky: {\n name: 'Kyrgyz',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n lb: {\n name: 'Letzeburgesch',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ln: {\n name: 'Lingala',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n lo: {\n name: 'Lao',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n lt: {\n name: 'Lithuanian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 10\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n lv: {\n name: 'Latvian',\n examples: [{\n plural: 2,\n sample: 0\n }, {\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n !== 0 ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n !== 0 ? 1 : 2);\n }\n },\n mai: {\n name: 'Maithili',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n mfe: {\n name: 'Mauritian Creole',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n mg: {\n name: 'Malagasy',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n mi: {\n name: 'Maori',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n mk: {\n name: 'Macedonian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n === 1 || n % 10 === 1 ? 0 : 1)',\n pluralsFunc: function(n) {\n return (n === 1 || n % 10 === 1 ? 0 : 1);\n }\n },\n ml: {\n name: 'Malayalam',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n mn: {\n name: 'Mongolian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n mni: {\n name: 'Manipuri',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n mnk: {\n name: 'Mandinka',\n examples: [{\n plural: 0,\n sample: 0\n }, {\n plural: 1,\n sample: 1\n }, {\n plural: 2,\n sample: 2\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n === 0 ? 0 : n === 1 ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n === 0 ? 0 : n === 1 ? 1 : 2);\n }\n },\n mr: {\n name: 'Marathi',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ms: {\n name: 'Malay',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n mt: {\n name: 'Maltese',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 11\n }, {\n plural: 3,\n sample: 20\n }],\n nplurals: 4,\n pluralsText: 'nplurals = 4; plural = (n === 1 ? 0 : n === 0 || ( n % 100 > 1 && n % 100 < 11) ? 1 : (n % 100 > 10 && n % 100 < 20 ) ? 2 : 3)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : n === 0 || (n % 100 > 1 && n % 100 < 11) ? 1 : (n % 100 > 10 && n % 100 < 20) ? 2 : 3);\n }\n },\n my: {\n name: 'Burmese',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n nah: {\n name: 'Nahuatl',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n nap: {\n name: 'Neapolitan',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n nb: {\n name: 'Norwegian Bokmal',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ne: {\n name: 'Nepali',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n nl: {\n name: 'Dutch',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n nn: {\n name: 'Norwegian Nynorsk',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n no: {\n name: 'Norwegian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n nso: {\n name: 'Northern Sotho',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n oc: {\n name: 'Occitan',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n or: {\n name: 'Oriya',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n pa: {\n name: 'Punjabi',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n pap: {\n name: 'Papiamento',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n pl: {\n name: 'Polish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n pms: {\n name: 'Piemontese',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ps: {\n name: 'Pashto',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n pt: {\n name: 'Portuguese',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n rm: {\n name: 'Romansh',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ro: {\n name: 'Romanian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 20\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : (n === 0 || (n % 100 > 0 && n % 100 < 20)) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : (n === 0 || (n % 100 > 0 && n % 100 < 20)) ? 1 : 2);\n }\n },\n ru: {\n name: 'Russian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n rw: {\n name: 'Kinyarwanda',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sah: {\n name: 'Yakut',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n sat: {\n name: 'Santali',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sco: {\n name: 'Scots',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sd: {\n name: 'Sindhi',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n se: {\n name: 'Northern Sami',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n si: {\n name: 'Sinhala',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sk: {\n name: 'Slovak',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : (n >= 2 && n <= 4) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : (n >= 2 && n <= 4) ? 1 : 2);\n }\n },\n sl: {\n name: 'Slovenian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 3\n }, {\n plural: 3,\n sample: 5\n }],\n nplurals: 4,\n pluralsText: 'nplurals = 4; plural = (n % 100 === 1 ? 0 : n % 100 === 2 ? 1 : n % 100 === 3 || n % 100 === 4 ? 2 : 3)',\n pluralsFunc: function(n) {\n return (n % 100 === 1 ? 0 : n % 100 === 2 ? 1 : n % 100 === 3 || n % 100 === 4 ? 2 : 3);\n }\n },\n so: {\n name: 'Somali',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n son: {\n name: 'Songhay',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sq: {\n name: 'Albanian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sr: {\n name: 'Serbian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n su: {\n name: 'Sundanese',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n sv: {\n name: 'Swedish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sw: {\n name: 'Swahili',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ta: {\n name: 'Tamil',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n te: {\n name: 'Telugu',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n tg: {\n name: 'Tajik',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n th: {\n name: 'Thai',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n ti: {\n name: 'Tigrinya',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n tk: {\n name: 'Turkmen',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n tr: {\n name: 'Turkish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n tt: {\n name: 'Tatar',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n ug: {\n name: 'Uyghur',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n uk: {\n name: 'Ukrainian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n ur: {\n name: 'Urdu',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n uz: {\n name: 'Uzbek',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n vi: {\n name: 'Vietnamese',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n wa: {\n name: 'Walloon',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n wo: {\n name: 'Wolof',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n yo: {\n name: 'Yoruba',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n zh: {\n name: 'Chinese',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n }\n};\n","// Currently in sync with Node.js lib/assert.js\n// https://github.com/nodejs/node/commit/2a51ae424a513ec9a6aa3466baa0cc1d55dd4f3b\n// Originally from narwhal.js (http://narwhaljs.org)\n// Copyright (c) 2009 Thomas Robinson <280north.com>\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the 'Software'), to\n// deal in the Software without restriction, including without limitation the\n// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n// sell copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n'use strict';\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar _require = require('./internal/errors'),\n _require$codes = _require.codes,\n ERR_AMBIGUOUS_ARGUMENT = _require$codes.ERR_AMBIGUOUS_ARGUMENT,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_INVALID_ARG_VALUE = _require$codes.ERR_INVALID_ARG_VALUE,\n ERR_INVALID_RETURN_VALUE = _require$codes.ERR_INVALID_RETURN_VALUE,\n ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS;\n\nvar AssertionError = require('./internal/assert/assertion_error');\n\nvar _require2 = require('util/'),\n inspect = _require2.inspect;\n\nvar _require$types = require('util/').types,\n isPromise = _require$types.isPromise,\n isRegExp = _require$types.isRegExp;\n\nvar objectAssign = Object.assign ? Object.assign : require('es6-object-assign').assign;\nvar objectIs = Object.is ? Object.is : require('object-is');\nvar errorCache = new Map();\nvar isDeepEqual;\nvar isDeepStrictEqual;\nvar parseExpressionAt;\nvar findNodeAround;\nvar decoder;\n\nfunction lazyLoadComparison() {\n var comparison = require('./internal/util/comparisons');\n\n isDeepEqual = comparison.isDeepEqual;\n isDeepStrictEqual = comparison.isDeepStrictEqual;\n} // Escape control characters but not \\n and \\t to keep the line breaks and\n// indentation intact.\n// eslint-disable-next-line no-control-regex\n\n\nvar escapeSequencesRegExp = /[\\x00-\\x08\\x0b\\x0c\\x0e-\\x1f]/g;\nvar meta = [\"\\\\u0000\", \"\\\\u0001\", \"\\\\u0002\", \"\\\\u0003\", \"\\\\u0004\", \"\\\\u0005\", \"\\\\u0006\", \"\\\\u0007\", '\\\\b', '', '', \"\\\\u000b\", '\\\\f', '', \"\\\\u000e\", \"\\\\u000f\", \"\\\\u0010\", \"\\\\u0011\", \"\\\\u0012\", \"\\\\u0013\", \"\\\\u0014\", \"\\\\u0015\", \"\\\\u0016\", \"\\\\u0017\", \"\\\\u0018\", \"\\\\u0019\", \"\\\\u001a\", \"\\\\u001b\", \"\\\\u001c\", \"\\\\u001d\", \"\\\\u001e\", \"\\\\u001f\"];\n\nvar escapeFn = function escapeFn(str) {\n return meta[str.charCodeAt(0)];\n};\n\nvar warned = false; // The assert module provides functions that throw\n// AssertionError's when particular conditions are not met. The\n// assert module must conform to the following interface.\n\nvar assert = module.exports = ok;\nvar NO_EXCEPTION_SENTINEL = {}; // All of the following functions must throw an AssertionError\n// when a corresponding condition is not met, with a message that\n// may be undefined if not provided. All assertion methods provide\n// both the actual and expected values to the assertion error for\n// display purposes.\n\nfunction innerFail(obj) {\n if (obj.message instanceof Error) throw obj.message;\n throw new AssertionError(obj);\n}\n\nfunction fail(actual, expected, message, operator, stackStartFn) {\n var argsLen = arguments.length;\n var internalMessage;\n\n if (argsLen === 0) {\n internalMessage = 'Failed';\n } else if (argsLen === 1) {\n message = actual;\n actual = undefined;\n } else {\n if (warned === false) {\n warned = true;\n var warn = process.emitWarning ? process.emitWarning : console.warn.bind(console);\n warn('assert.fail() with more than one argument is deprecated. ' + 'Please use assert.strictEqual() instead or only pass a message.', 'DeprecationWarning', 'DEP0094');\n }\n\n if (argsLen === 2) operator = '!=';\n }\n\n if (message instanceof Error) throw message;\n var errArgs = {\n actual: actual,\n expected: expected,\n operator: operator === undefined ? 'fail' : operator,\n stackStartFn: stackStartFn || fail\n };\n\n if (message !== undefined) {\n errArgs.message = message;\n }\n\n var err = new AssertionError(errArgs);\n\n if (internalMessage) {\n err.message = internalMessage;\n err.generatedMessage = true;\n }\n\n throw err;\n}\n\nassert.fail = fail; // The AssertionError is defined in internal/error.\n\nassert.AssertionError = AssertionError;\n\nfunction innerOk(fn, argLen, value, message) {\n if (!value) {\n var generatedMessage = false;\n\n if (argLen === 0) {\n generatedMessage = true;\n message = 'No value argument passed to `assert.ok()`';\n } else if (message instanceof Error) {\n throw message;\n }\n\n var err = new AssertionError({\n actual: value,\n expected: true,\n message: message,\n operator: '==',\n stackStartFn: fn\n });\n err.generatedMessage = generatedMessage;\n throw err;\n }\n} // Pure assertion tests whether a value is truthy, as determined\n// by !!value.\n\n\nfunction ok() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n innerOk.apply(void 0, [ok, args.length].concat(args));\n}\n\nassert.ok = ok; // The equality assertion tests shallow, coercive equality with ==.\n\n/* eslint-disable no-restricted-properties */\n\nassert.equal = function equal(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n } // eslint-disable-next-line eqeqeq\n\n\n if (actual != expected) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: '==',\n stackStartFn: equal\n });\n }\n}; // The non-equality assertion tests for whether two objects are not\n// equal with !=.\n\n\nassert.notEqual = function notEqual(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n } // eslint-disable-next-line eqeqeq\n\n\n if (actual == expected) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: '!=',\n stackStartFn: notEqual\n });\n }\n}; // The equivalence assertion tests a deep equality relation.\n\n\nassert.deepEqual = function deepEqual(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n }\n\n if (isDeepEqual === undefined) lazyLoadComparison();\n\n if (!isDeepEqual(actual, expected)) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: 'deepEqual',\n stackStartFn: deepEqual\n });\n }\n}; // The non-equivalence assertion tests for any deep inequality.\n\n\nassert.notDeepEqual = function notDeepEqual(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n }\n\n if (isDeepEqual === undefined) lazyLoadComparison();\n\n if (isDeepEqual(actual, expected)) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: 'notDeepEqual',\n stackStartFn: notDeepEqual\n });\n }\n};\n/* eslint-enable */\n\n\nassert.deepStrictEqual = function deepStrictEqual(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n }\n\n if (isDeepEqual === undefined) lazyLoadComparison();\n\n if (!isDeepStrictEqual(actual, expected)) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: 'deepStrictEqual',\n stackStartFn: deepStrictEqual\n });\n }\n};\n\nassert.notDeepStrictEqual = notDeepStrictEqual;\n\nfunction notDeepStrictEqual(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n }\n\n if (isDeepEqual === undefined) lazyLoadComparison();\n\n if (isDeepStrictEqual(actual, expected)) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: 'notDeepStrictEqual',\n stackStartFn: notDeepStrictEqual\n });\n }\n}\n\nassert.strictEqual = function strictEqual(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n }\n\n if (!objectIs(actual, expected)) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: 'strictEqual',\n stackStartFn: strictEqual\n });\n }\n};\n\nassert.notStrictEqual = function notStrictEqual(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n }\n\n if (objectIs(actual, expected)) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: 'notStrictEqual',\n stackStartFn: notStrictEqual\n });\n }\n};\n\nvar Comparison = function Comparison(obj, keys, actual) {\n var _this = this;\n\n _classCallCheck(this, Comparison);\n\n keys.forEach(function (key) {\n if (key in obj) {\n if (actual !== undefined && typeof actual[key] === 'string' && isRegExp(obj[key]) && obj[key].test(actual[key])) {\n _this[key] = actual[key];\n } else {\n _this[key] = obj[key];\n }\n }\n });\n};\n\nfunction compareExceptionKey(actual, expected, key, message, keys, fn) {\n if (!(key in actual) || !isDeepStrictEqual(actual[key], expected[key])) {\n if (!message) {\n // Create placeholder objects to create a nice output.\n var a = new Comparison(actual, keys);\n var b = new Comparison(expected, keys, actual);\n var err = new AssertionError({\n actual: a,\n expected: b,\n operator: 'deepStrictEqual',\n stackStartFn: fn\n });\n err.actual = actual;\n err.expected = expected;\n err.operator = fn.name;\n throw err;\n }\n\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: fn.name,\n stackStartFn: fn\n });\n }\n}\n\nfunction expectedException(actual, expected, msg, fn) {\n if (typeof expected !== 'function') {\n if (isRegExp(expected)) return expected.test(actual); // assert.doesNotThrow does not accept objects.\n\n if (arguments.length === 2) {\n throw new ERR_INVALID_ARG_TYPE('expected', ['Function', 'RegExp'], expected);\n } // Handle primitives properly.\n\n\n if (_typeof(actual) !== 'object' || actual === null) {\n var err = new AssertionError({\n actual: actual,\n expected: expected,\n message: msg,\n operator: 'deepStrictEqual',\n stackStartFn: fn\n });\n err.operator = fn.name;\n throw err;\n }\n\n var keys = Object.keys(expected); // Special handle errors to make sure the name and the message are compared\n // as well.\n\n if (expected instanceof Error) {\n keys.push('name', 'message');\n } else if (keys.length === 0) {\n throw new ERR_INVALID_ARG_VALUE('error', expected, 'may not be an empty object');\n }\n\n if (isDeepEqual === undefined) lazyLoadComparison();\n keys.forEach(function (key) {\n if (typeof actual[key] === 'string' && isRegExp(expected[key]) && expected[key].test(actual[key])) {\n return;\n }\n\n compareExceptionKey(actual, expected, key, msg, keys, fn);\n });\n return true;\n } // Guard instanceof against arrow functions as they don't have a prototype.\n\n\n if (expected.prototype !== undefined && actual instanceof expected) {\n return true;\n }\n\n if (Error.isPrototypeOf(expected)) {\n return false;\n }\n\n return expected.call({}, actual) === true;\n}\n\nfunction getActual(fn) {\n if (typeof fn !== 'function') {\n throw new ERR_INVALID_ARG_TYPE('fn', 'Function', fn);\n }\n\n try {\n fn();\n } catch (e) {\n return e;\n }\n\n return NO_EXCEPTION_SENTINEL;\n}\n\nfunction checkIsPromise(obj) {\n // Accept native ES6 promises and promises that are implemented in a similar\n // way. Do not accept thenables that use a function as `obj` and that have no\n // `catch` handler.\n // TODO: thenables are checked up until they have the correct methods,\n // but according to documentation, the `then` method should receive\n // the `fulfill` and `reject` arguments as well or it may be never resolved.\n return isPromise(obj) || obj !== null && _typeof(obj) === 'object' && typeof obj.then === 'function' && typeof obj.catch === 'function';\n}\n\nfunction waitForActual(promiseFn) {\n return Promise.resolve().then(function () {\n var resultPromise;\n\n if (typeof promiseFn === 'function') {\n // Return a rejected promise if `promiseFn` throws synchronously.\n resultPromise = promiseFn(); // Fail in case no promise is returned.\n\n if (!checkIsPromise(resultPromise)) {\n throw new ERR_INVALID_RETURN_VALUE('instance of Promise', 'promiseFn', resultPromise);\n }\n } else if (checkIsPromise(promiseFn)) {\n resultPromise = promiseFn;\n } else {\n throw new ERR_INVALID_ARG_TYPE('promiseFn', ['Function', 'Promise'], promiseFn);\n }\n\n return Promise.resolve().then(function () {\n return resultPromise;\n }).then(function () {\n return NO_EXCEPTION_SENTINEL;\n }).catch(function (e) {\n return e;\n });\n });\n}\n\nfunction expectsError(stackStartFn, actual, error, message) {\n if (typeof error === 'string') {\n if (arguments.length === 4) {\n throw new ERR_INVALID_ARG_TYPE('error', ['Object', 'Error', 'Function', 'RegExp'], error);\n }\n\n if (_typeof(actual) === 'object' && actual !== null) {\n if (actual.message === error) {\n throw new ERR_AMBIGUOUS_ARGUMENT('error/message', \"The error message \\\"\".concat(actual.message, \"\\\" is identical to the message.\"));\n }\n } else if (actual === error) {\n throw new ERR_AMBIGUOUS_ARGUMENT('error/message', \"The error \\\"\".concat(actual, \"\\\" is identical to the message.\"));\n }\n\n message = error;\n error = undefined;\n } else if (error != null && _typeof(error) !== 'object' && typeof error !== 'function') {\n throw new ERR_INVALID_ARG_TYPE('error', ['Object', 'Error', 'Function', 'RegExp'], error);\n }\n\n if (actual === NO_EXCEPTION_SENTINEL) {\n var details = '';\n\n if (error && error.name) {\n details += \" (\".concat(error.name, \")\");\n }\n\n details += message ? \": \".concat(message) : '.';\n var fnType = stackStartFn.name === 'rejects' ? 'rejection' : 'exception';\n innerFail({\n actual: undefined,\n expected: error,\n operator: stackStartFn.name,\n message: \"Missing expected \".concat(fnType).concat(details),\n stackStartFn: stackStartFn\n });\n }\n\n if (error && !expectedException(actual, error, message, stackStartFn)) {\n throw actual;\n }\n}\n\nfunction expectsNoError(stackStartFn, actual, error, message) {\n if (actual === NO_EXCEPTION_SENTINEL) return;\n\n if (typeof error === 'string') {\n message = error;\n error = undefined;\n }\n\n if (!error || expectedException(actual, error)) {\n var details = message ? \": \".concat(message) : '.';\n var fnType = stackStartFn.name === 'doesNotReject' ? 'rejection' : 'exception';\n innerFail({\n actual: actual,\n expected: error,\n operator: stackStartFn.name,\n message: \"Got unwanted \".concat(fnType).concat(details, \"\\n\") + \"Actual message: \\\"\".concat(actual && actual.message, \"\\\"\"),\n stackStartFn: stackStartFn\n });\n }\n\n throw actual;\n}\n\nassert.throws = function throws(promiseFn) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n expectsError.apply(void 0, [throws, getActual(promiseFn)].concat(args));\n};\n\nassert.rejects = function rejects(promiseFn) {\n for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n args[_key3 - 1] = arguments[_key3];\n }\n\n return waitForActual(promiseFn).then(function (result) {\n return expectsError.apply(void 0, [rejects, result].concat(args));\n });\n};\n\nassert.doesNotThrow = function doesNotThrow(fn) {\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n\n expectsNoError.apply(void 0, [doesNotThrow, getActual(fn)].concat(args));\n};\n\nassert.doesNotReject = function doesNotReject(fn) {\n for (var _len5 = arguments.length, args = new Array(_len5 > 1 ? _len5 - 1 : 0), _key5 = 1; _key5 < _len5; _key5++) {\n args[_key5 - 1] = arguments[_key5];\n }\n\n return waitForActual(fn).then(function (result) {\n return expectsNoError.apply(void 0, [doesNotReject, result].concat(args));\n });\n};\n\nassert.ifError = function ifError(err) {\n if (err !== null && err !== undefined) {\n var message = 'ifError got unwanted exception: ';\n\n if (_typeof(err) === 'object' && typeof err.message === 'string') {\n if (err.message.length === 0 && err.constructor) {\n message += err.constructor.name;\n } else {\n message += err.message;\n }\n } else {\n message += inspect(err);\n }\n\n var newErr = new AssertionError({\n actual: err,\n expected: null,\n operator: 'ifError',\n message: message,\n stackStartFn: ifError\n }); // Make sure we actually have a stack trace!\n\n var origStack = err.stack;\n\n if (typeof origStack === 'string') {\n // This will remove any duplicated frames from the error frames taken\n // from within `ifError` and add the original error frames to the newly\n // created ones.\n var tmp2 = origStack.split('\\n');\n tmp2.shift(); // Filter all frames existing in err.stack.\n\n var tmp1 = newErr.stack.split('\\n');\n\n for (var i = 0; i < tmp2.length; i++) {\n // Find the first occurrence of the frame.\n var pos = tmp1.indexOf(tmp2[i]);\n\n if (pos !== -1) {\n // Only keep new frames.\n tmp1 = tmp1.slice(0, pos);\n break;\n }\n }\n\n newErr.stack = \"\".concat(tmp1.join('\\n'), \"\\n\").concat(tmp2.join('\\n'));\n }\n\n throw newErr;\n }\n}; // Expose a strict only variant of assert\n\n\nfunction strict() {\n for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n args[_key6] = arguments[_key6];\n }\n\n innerOk.apply(void 0, [strict, args.length].concat(args));\n}\n\nassert.strict = objectAssign(strict, assert, {\n equal: assert.strictEqual,\n deepEqual: assert.deepStrictEqual,\n notEqual: assert.notStrictEqual,\n notDeepEqual: assert.notDeepStrictEqual\n});\nassert.strict.strict = assert.strict;","// Currently in sync with Node.js lib/internal/assert/assertion_error.js\n// https://github.com/nodejs/node/commit/0817840f775032169ddd70c85ac059f18ffcc81c\n'use strict';\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\n\nfunction isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _construct(Parent, args, Class) { if (isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar _require = require('util/'),\n inspect = _require.inspect;\n\nvar _require2 = require('../errors'),\n ERR_INVALID_ARG_TYPE = _require2.codes.ERR_INVALID_ARG_TYPE; // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\n\n\nfunction endsWith(str, search, this_len) {\n if (this_len === undefined || this_len > str.length) {\n this_len = str.length;\n }\n\n return str.substring(this_len - search.length, this_len) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/repeat\n\n\nfunction repeat(str, count) {\n count = Math.floor(count);\n if (str.length == 0 || count == 0) return '';\n var maxCount = str.length * count;\n count = Math.floor(Math.log(count) / Math.log(2));\n\n while (count) {\n str += str;\n count--;\n }\n\n str += str.substring(0, maxCount - str.length);\n return str;\n}\n\nvar blue = '';\nvar green = '';\nvar red = '';\nvar white = '';\nvar kReadableOperator = {\n deepStrictEqual: 'Expected values to be strictly deep-equal:',\n strictEqual: 'Expected values to be strictly equal:',\n strictEqualObject: 'Expected \"actual\" to be reference-equal to \"expected\":',\n deepEqual: 'Expected values to be loosely deep-equal:',\n equal: 'Expected values to be loosely equal:',\n notDeepStrictEqual: 'Expected \"actual\" not to be strictly deep-equal to:',\n notStrictEqual: 'Expected \"actual\" to be strictly unequal to:',\n notStrictEqualObject: 'Expected \"actual\" not to be reference-equal to \"expected\":',\n notDeepEqual: 'Expected \"actual\" not to be loosely deep-equal to:',\n notEqual: 'Expected \"actual\" to be loosely unequal to:',\n notIdentical: 'Values identical but not reference-equal:'\n}; // Comparing short primitives should just show === / !== instead of using the\n// diff.\n\nvar kMaxShortLength = 10;\n\nfunction copyError(source) {\n var keys = Object.keys(source);\n var target = Object.create(Object.getPrototypeOf(source));\n keys.forEach(function (key) {\n target[key] = source[key];\n });\n Object.defineProperty(target, 'message', {\n value: source.message\n });\n return target;\n}\n\nfunction inspectValue(val) {\n // The util.inspect default values could be changed. This makes sure the\n // error messages contain the necessary information nevertheless.\n return inspect(val, {\n compact: false,\n customInspect: false,\n depth: 1000,\n maxArrayLength: Infinity,\n // Assert compares only enumerable properties (with a few exceptions).\n showHidden: false,\n // Having a long line as error is better than wrapping the line for\n // comparison for now.\n // TODO(BridgeAR): `breakLength` should be limited as soon as soon as we\n // have meta information about the inspected properties (i.e., know where\n // in what line the property starts and ends).\n breakLength: Infinity,\n // Assert does not detect proxies currently.\n showProxy: false,\n sorted: true,\n // Inspect getters as we also check them when comparing entries.\n getters: true\n });\n}\n\nfunction createErrDiff(actual, expected, operator) {\n var other = '';\n var res = '';\n var lastPos = 0;\n var end = '';\n var skipped = false;\n var actualInspected = inspectValue(actual);\n var actualLines = actualInspected.split('\\n');\n var expectedLines = inspectValue(expected).split('\\n');\n var i = 0;\n var indicator = ''; // In case both values are objects explicitly mark them as not reference equal\n // for the `strictEqual` operator.\n\n if (operator === 'strictEqual' && _typeof(actual) === 'object' && _typeof(expected) === 'object' && actual !== null && expected !== null) {\n operator = 'strictEqualObject';\n } // If \"actual\" and \"expected\" fit on a single line and they are not strictly\n // equal, check further special handling.\n\n\n if (actualLines.length === 1 && expectedLines.length === 1 && actualLines[0] !== expectedLines[0]) {\n var inputLength = actualLines[0].length + expectedLines[0].length; // If the character length of \"actual\" and \"expected\" together is less than\n // kMaxShortLength and if neither is an object and at least one of them is\n // not `zero`, use the strict equal comparison to visualize the output.\n\n if (inputLength <= kMaxShortLength) {\n if ((_typeof(actual) !== 'object' || actual === null) && (_typeof(expected) !== 'object' || expected === null) && (actual !== 0 || expected !== 0)) {\n // -0 === +0\n return \"\".concat(kReadableOperator[operator], \"\\n\\n\") + \"\".concat(actualLines[0], \" !== \").concat(expectedLines[0], \"\\n\");\n }\n } else if (operator !== 'strictEqualObject') {\n // If the stderr is a tty and the input length is lower than the current\n // columns per line, add a mismatch indicator below the output. If it is\n // not a tty, use a default value of 80 characters.\n var maxLength = process.stderr && process.stderr.isTTY ? process.stderr.columns : 80;\n\n if (inputLength < maxLength) {\n while (actualLines[0][i] === expectedLines[0][i]) {\n i++;\n } // Ignore the first characters.\n\n\n if (i > 2) {\n // Add position indicator for the first mismatch in case it is a\n // single line and the input length is less than the column length.\n indicator = \"\\n \".concat(repeat(' ', i), \"^\");\n i = 0;\n }\n }\n }\n } // Remove all ending lines that match (this optimizes the output for\n // readability by reducing the number of total changed lines).\n\n\n var a = actualLines[actualLines.length - 1];\n var b = expectedLines[expectedLines.length - 1];\n\n while (a === b) {\n if (i++ < 2) {\n end = \"\\n \".concat(a).concat(end);\n } else {\n other = a;\n }\n\n actualLines.pop();\n expectedLines.pop();\n if (actualLines.length === 0 || expectedLines.length === 0) break;\n a = actualLines[actualLines.length - 1];\n b = expectedLines[expectedLines.length - 1];\n }\n\n var maxLines = Math.max(actualLines.length, expectedLines.length); // Strict equal with identical objects that are not identical by reference.\n // E.g., assert.deepStrictEqual({ a: Symbol() }, { a: Symbol() })\n\n if (maxLines === 0) {\n // We have to get the result again. The lines were all removed before.\n var _actualLines = actualInspected.split('\\n'); // Only remove lines in case it makes sense to collapse those.\n // TODO: Accept env to always show the full error.\n\n\n if (_actualLines.length > 30) {\n _actualLines[26] = \"\".concat(blue, \"...\").concat(white);\n\n while (_actualLines.length > 27) {\n _actualLines.pop();\n }\n }\n\n return \"\".concat(kReadableOperator.notIdentical, \"\\n\\n\").concat(_actualLines.join('\\n'), \"\\n\");\n }\n\n if (i > 3) {\n end = \"\\n\".concat(blue, \"...\").concat(white).concat(end);\n skipped = true;\n }\n\n if (other !== '') {\n end = \"\\n \".concat(other).concat(end);\n other = '';\n }\n\n var printedLines = 0;\n var msg = kReadableOperator[operator] + \"\\n\".concat(green, \"+ actual\").concat(white, \" \").concat(red, \"- expected\").concat(white);\n var skippedMsg = \" \".concat(blue, \"...\").concat(white, \" Lines skipped\");\n\n for (i = 0; i < maxLines; i++) {\n // Only extra expected lines exist\n var cur = i - lastPos;\n\n if (actualLines.length < i + 1) {\n // If the last diverging line is more than one line above and the\n // current line is at least line three, add some of the former lines and\n // also add dots to indicate skipped entries.\n if (cur > 1 && i > 2) {\n if (cur > 4) {\n res += \"\\n\".concat(blue, \"...\").concat(white);\n skipped = true;\n } else if (cur > 3) {\n res += \"\\n \".concat(expectedLines[i - 2]);\n printedLines++;\n }\n\n res += \"\\n \".concat(expectedLines[i - 1]);\n printedLines++;\n } // Mark the current line as the last diverging one.\n\n\n lastPos = i; // Add the expected line to the cache.\n\n other += \"\\n\".concat(red, \"-\").concat(white, \" \").concat(expectedLines[i]);\n printedLines++; // Only extra actual lines exist\n } else if (expectedLines.length < i + 1) {\n // If the last diverging line is more than one line above and the\n // current line is at least line three, add some of the former lines and\n // also add dots to indicate skipped entries.\n if (cur > 1 && i > 2) {\n if (cur > 4) {\n res += \"\\n\".concat(blue, \"...\").concat(white);\n skipped = true;\n } else if (cur > 3) {\n res += \"\\n \".concat(actualLines[i - 2]);\n printedLines++;\n }\n\n res += \"\\n \".concat(actualLines[i - 1]);\n printedLines++;\n } // Mark the current line as the last diverging one.\n\n\n lastPos = i; // Add the actual line to the result.\n\n res += \"\\n\".concat(green, \"+\").concat(white, \" \").concat(actualLines[i]);\n printedLines++; // Lines diverge\n } else {\n var expectedLine = expectedLines[i];\n var actualLine = actualLines[i]; // If the lines diverge, specifically check for lines that only diverge by\n // a trailing comma. In that case it is actually identical and we should\n // mark it as such.\n\n var divergingLines = actualLine !== expectedLine && (!endsWith(actualLine, ',') || actualLine.slice(0, -1) !== expectedLine); // If the expected line has a trailing comma but is otherwise identical,\n // add a comma at the end of the actual line. Otherwise the output could\n // look weird as in:\n //\n // [\n // 1 // No comma at the end!\n // + 2\n // ]\n //\n\n if (divergingLines && endsWith(expectedLine, ',') && expectedLine.slice(0, -1) === actualLine) {\n divergingLines = false;\n actualLine += ',';\n }\n\n if (divergingLines) {\n // If the last diverging line is more than one line above and the\n // current line is at least line three, add some of the former lines and\n // also add dots to indicate skipped entries.\n if (cur > 1 && i > 2) {\n if (cur > 4) {\n res += \"\\n\".concat(blue, \"...\").concat(white);\n skipped = true;\n } else if (cur > 3) {\n res += \"\\n \".concat(actualLines[i - 2]);\n printedLines++;\n }\n\n res += \"\\n \".concat(actualLines[i - 1]);\n printedLines++;\n } // Mark the current line as the last diverging one.\n\n\n lastPos = i; // Add the actual line to the result and cache the expected diverging\n // line so consecutive diverging lines show up as +++--- and not +-+-+-.\n\n res += \"\\n\".concat(green, \"+\").concat(white, \" \").concat(actualLine);\n other += \"\\n\".concat(red, \"-\").concat(white, \" \").concat(expectedLine);\n printedLines += 2; // Lines are identical\n } else {\n // Add all cached information to the result before adding other things\n // and reset the cache.\n res += other;\n other = ''; // If the last diverging line is exactly one line above or if it is the\n // very first line, add the line to the result.\n\n if (cur === 1 || i === 0) {\n res += \"\\n \".concat(actualLine);\n printedLines++;\n }\n }\n } // Inspected object to big (Show ~20 rows max)\n\n\n if (printedLines > 20 && i < maxLines - 2) {\n return \"\".concat(msg).concat(skippedMsg, \"\\n\").concat(res, \"\\n\").concat(blue, \"...\").concat(white).concat(other, \"\\n\") + \"\".concat(blue, \"...\").concat(white);\n }\n }\n\n return \"\".concat(msg).concat(skipped ? skippedMsg : '', \"\\n\").concat(res).concat(other).concat(end).concat(indicator);\n}\n\nvar AssertionError =\n/*#__PURE__*/\nfunction (_Error) {\n _inherits(AssertionError, _Error);\n\n function AssertionError(options) {\n var _this;\n\n _classCallCheck(this, AssertionError);\n\n if (_typeof(options) !== 'object' || options === null) {\n throw new ERR_INVALID_ARG_TYPE('options', 'Object', options);\n }\n\n var message = options.message,\n operator = options.operator,\n stackStartFn = options.stackStartFn;\n var actual = options.actual,\n expected = options.expected;\n var limit = Error.stackTraceLimit;\n Error.stackTraceLimit = 0;\n\n if (message != null) {\n _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError).call(this, String(message)));\n } else {\n if (process.stderr && process.stderr.isTTY) {\n // Reset on each call to make sure we handle dynamically set environment\n // variables correct.\n if (process.stderr && process.stderr.getColorDepth && process.stderr.getColorDepth() !== 1) {\n blue = \"\\x1B[34m\";\n green = \"\\x1B[32m\";\n white = \"\\x1B[39m\";\n red = \"\\x1B[31m\";\n } else {\n blue = '';\n green = '';\n white = '';\n red = '';\n }\n } // Prevent the error stack from being visible by duplicating the error\n // in a very close way to the original in case both sides are actually\n // instances of Error.\n\n\n if (_typeof(actual) === 'object' && actual !== null && _typeof(expected) === 'object' && expected !== null && 'stack' in actual && actual instanceof Error && 'stack' in expected && expected instanceof Error) {\n actual = copyError(actual);\n expected = copyError(expected);\n }\n\n if (operator === 'deepStrictEqual' || operator === 'strictEqual') {\n _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError).call(this, createErrDiff(actual, expected, operator)));\n } else if (operator === 'notDeepStrictEqual' || operator === 'notStrictEqual') {\n // In case the objects are equal but the operator requires unequal, show\n // the first object and say A equals B\n var base = kReadableOperator[operator];\n var res = inspectValue(actual).split('\\n'); // In case \"actual\" is an object, it should not be reference equal.\n\n if (operator === 'notStrictEqual' && _typeof(actual) === 'object' && actual !== null) {\n base = kReadableOperator.notStrictEqualObject;\n } // Only remove lines in case it makes sense to collapse those.\n // TODO: Accept env to always show the full error.\n\n\n if (res.length > 30) {\n res[26] = \"\".concat(blue, \"...\").concat(white);\n\n while (res.length > 27) {\n res.pop();\n }\n } // Only print a single input.\n\n\n if (res.length === 1) {\n _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError).call(this, \"\".concat(base, \" \").concat(res[0])));\n } else {\n _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError).call(this, \"\".concat(base, \"\\n\\n\").concat(res.join('\\n'), \"\\n\")));\n }\n } else {\n var _res = inspectValue(actual);\n\n var other = '';\n var knownOperators = kReadableOperator[operator];\n\n if (operator === 'notDeepEqual' || operator === 'notEqual') {\n _res = \"\".concat(kReadableOperator[operator], \"\\n\\n\").concat(_res);\n\n if (_res.length > 1024) {\n _res = \"\".concat(_res.slice(0, 1021), \"...\");\n }\n } else {\n other = \"\".concat(inspectValue(expected));\n\n if (_res.length > 512) {\n _res = \"\".concat(_res.slice(0, 509), \"...\");\n }\n\n if (other.length > 512) {\n other = \"\".concat(other.slice(0, 509), \"...\");\n }\n\n if (operator === 'deepEqual' || operator === 'equal') {\n _res = \"\".concat(knownOperators, \"\\n\\n\").concat(_res, \"\\n\\nshould equal\\n\\n\");\n } else {\n other = \" \".concat(operator, \" \").concat(other);\n }\n }\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError).call(this, \"\".concat(_res).concat(other)));\n }\n }\n\n Error.stackTraceLimit = limit;\n _this.generatedMessage = !message;\n Object.defineProperty(_assertThisInitialized(_this), 'name', {\n value: 'AssertionError [ERR_ASSERTION]',\n enumerable: false,\n writable: true,\n configurable: true\n });\n _this.code = 'ERR_ASSERTION';\n _this.actual = actual;\n _this.expected = expected;\n _this.operator = operator;\n\n if (Error.captureStackTrace) {\n // eslint-disable-next-line no-restricted-syntax\n Error.captureStackTrace(_assertThisInitialized(_this), stackStartFn);\n } // Create error message including the error code in the name.\n\n\n _this.stack; // Reset the name.\n\n _this.name = 'AssertionError';\n return _possibleConstructorReturn(_this);\n }\n\n _createClass(AssertionError, [{\n key: \"toString\",\n value: function toString() {\n return \"\".concat(this.name, \" [\").concat(this.code, \"]: \").concat(this.message);\n }\n }, {\n key: inspect.custom,\n value: function value(recurseTimes, ctx) {\n // This limits the `actual` and `expected` property default inspection to\n // the minimum depth. Otherwise those values would be too verbose compared\n // to the actual error message which contains a combined view of these two\n // input values.\n return inspect(this, _objectSpread({}, ctx, {\n customInspect: false,\n depth: 0\n }));\n }\n }]);\n\n return AssertionError;\n}(_wrapNativeSuper(Error));\n\nmodule.exports = AssertionError;","// Currently in sync with Node.js lib/internal/errors.js\n// https://github.com/nodejs/node/commit/3b044962c48fe313905877a96b5d0894a5404f6f\n\n/* eslint node-core/documented-errors: \"error\" */\n\n/* eslint node-core/alphabetize-errors: \"error\" */\n\n/* eslint node-core/prefer-util-format-errors: \"error\" */\n'use strict'; // The whole point behind this internal module is to allow Node.js to no\n// longer be forced to treat every error message change as a semver-major\n// change. The NodeError classes here all expose a `code` property whose\n// value statically and permanently identifies the error. While the error\n// message may change, the code should not.\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nvar codes = {}; // Lazy loaded\n\nvar assert;\nvar util;\n\nfunction createErrorType(code, message, Base) {\n if (!Base) {\n Base = Error;\n }\n\n function getMessage(arg1, arg2, arg3) {\n if (typeof message === 'string') {\n return message;\n } else {\n return message(arg1, arg2, arg3);\n }\n }\n\n var NodeError =\n /*#__PURE__*/\n function (_Base) {\n _inherits(NodeError, _Base);\n\n function NodeError(arg1, arg2, arg3) {\n var _this;\n\n _classCallCheck(this, NodeError);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(NodeError).call(this, getMessage(arg1, arg2, arg3)));\n _this.code = code;\n return _this;\n }\n\n return NodeError;\n }(Base);\n\n codes[code] = NodeError;\n} // https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js\n\n\nfunction oneOf(expected, thing) {\n if (Array.isArray(expected)) {\n var len = expected.length;\n expected = expected.map(function (i) {\n return String(i);\n });\n\n if (len > 2) {\n return \"one of \".concat(thing, \" \").concat(expected.slice(0, len - 1).join(', '), \", or \") + expected[len - 1];\n } else if (len === 2) {\n return \"one of \".concat(thing, \" \").concat(expected[0], \" or \").concat(expected[1]);\n } else {\n return \"of \".concat(thing, \" \").concat(expected[0]);\n }\n } else {\n return \"of \".concat(thing, \" \").concat(String(expected));\n }\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith\n\n\nfunction startsWith(str, search, pos) {\n return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\n\n\nfunction endsWith(str, search, this_len) {\n if (this_len === undefined || this_len > str.length) {\n this_len = str.length;\n }\n\n return str.substring(this_len - search.length, this_len) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes\n\n\nfunction includes(str, search, start) {\n if (typeof start !== 'number') {\n start = 0;\n }\n\n if (start + search.length > str.length) {\n return false;\n } else {\n return str.indexOf(search, start) !== -1;\n }\n}\n\ncreateErrorType('ERR_AMBIGUOUS_ARGUMENT', 'The \"%s\" argument is ambiguous. %s', TypeError);\ncreateErrorType('ERR_INVALID_ARG_TYPE', function (name, expected, actual) {\n if (assert === undefined) assert = require('../assert');\n assert(typeof name === 'string', \"'name' must be a string\"); // determiner: 'must be' or 'must not be'\n\n var determiner;\n\n if (typeof expected === 'string' && startsWith(expected, 'not ')) {\n determiner = 'must not be';\n expected = expected.replace(/^not /, '');\n } else {\n determiner = 'must be';\n }\n\n var msg;\n\n if (endsWith(name, ' argument')) {\n // For cases like 'first argument'\n msg = \"The \".concat(name, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n } else {\n var type = includes(name, '.') ? 'property' : 'argument';\n msg = \"The \\\"\".concat(name, \"\\\" \").concat(type, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n } // TODO(BridgeAR): Improve the output by showing `null` and similar.\n\n\n msg += \". Received type \".concat(_typeof(actual));\n return msg;\n}, TypeError);\ncreateErrorType('ERR_INVALID_ARG_VALUE', function (name, value) {\n var reason = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'is invalid';\n if (util === undefined) util = require('util/');\n var inspected = util.inspect(value);\n\n if (inspected.length > 128) {\n inspected = \"\".concat(inspected.slice(0, 128), \"...\");\n }\n\n return \"The argument '\".concat(name, \"' \").concat(reason, \". Received \").concat(inspected);\n}, TypeError, RangeError);\ncreateErrorType('ERR_INVALID_RETURN_VALUE', function (input, name, value) {\n var type;\n\n if (value && value.constructor && value.constructor.name) {\n type = \"instance of \".concat(value.constructor.name);\n } else {\n type = \"type \".concat(_typeof(value));\n }\n\n return \"Expected \".concat(input, \" to be returned from the \\\"\").concat(name, \"\\\"\") + \" function but got \".concat(type, \".\");\n}, TypeError);\ncreateErrorType('ERR_MISSING_ARGS', function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (assert === undefined) assert = require('../assert');\n assert(args.length > 0, 'At least one arg needs to be specified');\n var msg = 'The ';\n var len = args.length;\n args = args.map(function (a) {\n return \"\\\"\".concat(a, \"\\\"\");\n });\n\n switch (len) {\n case 1:\n msg += \"\".concat(args[0], \" argument\");\n break;\n\n case 2:\n msg += \"\".concat(args[0], \" and \").concat(args[1], \" arguments\");\n break;\n\n default:\n msg += args.slice(0, len - 1).join(', ');\n msg += \", and \".concat(args[len - 1], \" arguments\");\n break;\n }\n\n return \"\".concat(msg, \" must be specified\");\n}, TypeError);\nmodule.exports.codes = codes;","// Currently in sync with Node.js lib/internal/util/comparisons.js\n// https://github.com/nodejs/node/commit/112cc7c27551254aa2b17098fb774867f05ed0d9\n'use strict';\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar regexFlagsSupported = /a/g.flags !== undefined;\n\nvar arrayFromSet = function arrayFromSet(set) {\n var array = [];\n set.forEach(function (value) {\n return array.push(value);\n });\n return array;\n};\n\nvar arrayFromMap = function arrayFromMap(map) {\n var array = [];\n map.forEach(function (value, key) {\n return array.push([key, value]);\n });\n return array;\n};\n\nvar objectIs = Object.is ? Object.is : require('object-is');\nvar objectGetOwnPropertySymbols = Object.getOwnPropertySymbols ? Object.getOwnPropertySymbols : function () {\n return [];\n};\nvar numberIsNaN = Number.isNaN ? Number.isNaN : require('is-nan');\n\nfunction uncurryThis(f) {\n return f.call.bind(f);\n}\n\nvar hasOwnProperty = uncurryThis(Object.prototype.hasOwnProperty);\nvar propertyIsEnumerable = uncurryThis(Object.prototype.propertyIsEnumerable);\nvar objectToString = uncurryThis(Object.prototype.toString);\n\nvar _require$types = require('util/').types,\n isAnyArrayBuffer = _require$types.isAnyArrayBuffer,\n isArrayBufferView = _require$types.isArrayBufferView,\n isDate = _require$types.isDate,\n isMap = _require$types.isMap,\n isRegExp = _require$types.isRegExp,\n isSet = _require$types.isSet,\n isNativeError = _require$types.isNativeError,\n isBoxedPrimitive = _require$types.isBoxedPrimitive,\n isNumberObject = _require$types.isNumberObject,\n isStringObject = _require$types.isStringObject,\n isBooleanObject = _require$types.isBooleanObject,\n isBigIntObject = _require$types.isBigIntObject,\n isSymbolObject = _require$types.isSymbolObject,\n isFloat32Array = _require$types.isFloat32Array,\n isFloat64Array = _require$types.isFloat64Array;\n\nfunction isNonIndex(key) {\n if (key.length === 0 || key.length > 10) return true;\n\n for (var i = 0; i < key.length; i++) {\n var code = key.charCodeAt(i);\n if (code < 48 || code > 57) return true;\n } // The maximum size for an array is 2 ** 32 -1.\n\n\n return key.length === 10 && key >= Math.pow(2, 32);\n}\n\nfunction getOwnNonIndexProperties(value) {\n return Object.keys(value).filter(isNonIndex).concat(objectGetOwnPropertySymbols(value).filter(Object.prototype.propertyIsEnumerable.bind(value)));\n} // Taken from https://github.com/feross/buffer/blob/680e9e5e488f22aac27599a57dc844a6315928dd/index.js\n// original notice:\n\n/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>\n * @license MIT\n */\n\n\nfunction compare(a, b) {\n if (a === b) {\n return 0;\n }\n\n var x = a.length;\n var y = b.length;\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i];\n y = b[i];\n break;\n }\n }\n\n if (x < y) {\n return -1;\n }\n\n if (y < x) {\n return 1;\n }\n\n return 0;\n}\n\nvar ONLY_ENUMERABLE = undefined;\nvar kStrict = true;\nvar kLoose = false;\nvar kNoIterator = 0;\nvar kIsArray = 1;\nvar kIsSet = 2;\nvar kIsMap = 3; // Check if they have the same source and flags\n\nfunction areSimilarRegExps(a, b) {\n return regexFlagsSupported ? a.source === b.source && a.flags === b.flags : RegExp.prototype.toString.call(a) === RegExp.prototype.toString.call(b);\n}\n\nfunction areSimilarFloatArrays(a, b) {\n if (a.byteLength !== b.byteLength) {\n return false;\n }\n\n for (var offset = 0; offset < a.byteLength; offset++) {\n if (a[offset] !== b[offset]) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction areSimilarTypedArrays(a, b) {\n if (a.byteLength !== b.byteLength) {\n return false;\n }\n\n return compare(new Uint8Array(a.buffer, a.byteOffset, a.byteLength), new Uint8Array(b.buffer, b.byteOffset, b.byteLength)) === 0;\n}\n\nfunction areEqualArrayBuffers(buf1, buf2) {\n return buf1.byteLength === buf2.byteLength && compare(new Uint8Array(buf1), new Uint8Array(buf2)) === 0;\n}\n\nfunction isEqualBoxedPrimitive(val1, val2) {\n if (isNumberObject(val1)) {\n return isNumberObject(val2) && objectIs(Number.prototype.valueOf.call(val1), Number.prototype.valueOf.call(val2));\n }\n\n if (isStringObject(val1)) {\n return isStringObject(val2) && String.prototype.valueOf.call(val1) === String.prototype.valueOf.call(val2);\n }\n\n if (isBooleanObject(val1)) {\n return isBooleanObject(val2) && Boolean.prototype.valueOf.call(val1) === Boolean.prototype.valueOf.call(val2);\n }\n\n if (isBigIntObject(val1)) {\n return isBigIntObject(val2) && BigInt.prototype.valueOf.call(val1) === BigInt.prototype.valueOf.call(val2);\n }\n\n return isSymbolObject(val2) && Symbol.prototype.valueOf.call(val1) === Symbol.prototype.valueOf.call(val2);\n} // Notes: Type tags are historical [[Class]] properties that can be set by\n// FunctionTemplate::SetClassName() in C++ or Symbol.toStringTag in JS\n// and retrieved using Object.prototype.toString.call(obj) in JS\n// See https://tc39.github.io/ecma262/#sec-object.prototype.tostring\n// for a list of tags pre-defined in the spec.\n// There are some unspecified tags in the wild too (e.g. typed array tags).\n// Since tags can be altered, they only serve fast failures\n//\n// Typed arrays and buffers are checked by comparing the content in their\n// underlying ArrayBuffer. This optimization requires that it's\n// reasonable to interpret their underlying memory in the same way,\n// which is checked by comparing their type tags.\n// (e.g. a Uint8Array and a Uint16Array with the same memory content\n// could still be different because they will be interpreted differently).\n//\n// For strict comparison, objects should have\n// a) The same built-in type tags\n// b) The same prototypes.\n\n\nfunction innerDeepEqual(val1, val2, strict, memos) {\n // All identical values are equivalent, as determined by ===.\n if (val1 === val2) {\n if (val1 !== 0) return true;\n return strict ? objectIs(val1, val2) : true;\n } // Check more closely if val1 and val2 are equal.\n\n\n if (strict) {\n if (_typeof(val1) !== 'object') {\n return typeof val1 === 'number' && numberIsNaN(val1) && numberIsNaN(val2);\n }\n\n if (_typeof(val2) !== 'object' || val1 === null || val2 === null) {\n return false;\n }\n\n if (Object.getPrototypeOf(val1) !== Object.getPrototypeOf(val2)) {\n return false;\n }\n } else {\n if (val1 === null || _typeof(val1) !== 'object') {\n if (val2 === null || _typeof(val2) !== 'object') {\n // eslint-disable-next-line eqeqeq\n return val1 == val2;\n }\n\n return false;\n }\n\n if (val2 === null || _typeof(val2) !== 'object') {\n return false;\n }\n }\n\n var val1Tag = objectToString(val1);\n var val2Tag = objectToString(val2);\n\n if (val1Tag !== val2Tag) {\n return false;\n }\n\n if (Array.isArray(val1)) {\n // Check for sparse arrays and general fast path\n if (val1.length !== val2.length) {\n return false;\n }\n\n var keys1 = getOwnNonIndexProperties(val1, ONLY_ENUMERABLE);\n var keys2 = getOwnNonIndexProperties(val2, ONLY_ENUMERABLE);\n\n if (keys1.length !== keys2.length) {\n return false;\n }\n\n return keyCheck(val1, val2, strict, memos, kIsArray, keys1);\n } // [browserify] This triggers on certain types in IE (Map/Set) so we don't\n // wan't to early return out of the rest of the checks. However we can check\n // if the second value is one of these values and the first isn't.\n\n\n if (val1Tag === '[object Object]') {\n // return keyCheck(val1, val2, strict, memos, kNoIterator);\n if (!isMap(val1) && isMap(val2) || !isSet(val1) && isSet(val2)) {\n return false;\n }\n }\n\n if (isDate(val1)) {\n if (!isDate(val2) || Date.prototype.getTime.call(val1) !== Date.prototype.getTime.call(val2)) {\n return false;\n }\n } else if (isRegExp(val1)) {\n if (!isRegExp(val2) || !areSimilarRegExps(val1, val2)) {\n return false;\n }\n } else if (isNativeError(val1) || val1 instanceof Error) {\n // Do not compare the stack as it might differ even though the error itself\n // is otherwise identical.\n if (val1.message !== val2.message || val1.name !== val2.name) {\n return false;\n }\n } else if (isArrayBufferView(val1)) {\n if (!strict && (isFloat32Array(val1) || isFloat64Array(val1))) {\n if (!areSimilarFloatArrays(val1, val2)) {\n return false;\n }\n } else if (!areSimilarTypedArrays(val1, val2)) {\n return false;\n } // Buffer.compare returns true, so val1.length === val2.length. If they both\n // only contain numeric keys, we don't need to exam further than checking\n // the symbols.\n\n\n var _keys = getOwnNonIndexProperties(val1, ONLY_ENUMERABLE);\n\n var _keys2 = getOwnNonIndexProperties(val2, ONLY_ENUMERABLE);\n\n if (_keys.length !== _keys2.length) {\n return false;\n }\n\n return keyCheck(val1, val2, strict, memos, kNoIterator, _keys);\n } else if (isSet(val1)) {\n if (!isSet(val2) || val1.size !== val2.size) {\n return false;\n }\n\n return keyCheck(val1, val2, strict, memos, kIsSet);\n } else if (isMap(val1)) {\n if (!isMap(val2) || val1.size !== val2.size) {\n return false;\n }\n\n return keyCheck(val1, val2, strict, memos, kIsMap);\n } else if (isAnyArrayBuffer(val1)) {\n if (!areEqualArrayBuffers(val1, val2)) {\n return false;\n }\n } else if (isBoxedPrimitive(val1) && !isEqualBoxedPrimitive(val1, val2)) {\n return false;\n }\n\n return keyCheck(val1, val2, strict, memos, kNoIterator);\n}\n\nfunction getEnumerables(val, keys) {\n return keys.filter(function (k) {\n return propertyIsEnumerable(val, k);\n });\n}\n\nfunction keyCheck(val1, val2, strict, memos, iterationType, aKeys) {\n // For all remaining Object pairs, including Array, objects and Maps,\n // equivalence is determined by having:\n // a) The same number of owned enumerable properties\n // b) The same set of keys/indexes (although not necessarily the same order)\n // c) Equivalent values for every corresponding key/index\n // d) For Sets and Maps, equal contents\n // Note: this accounts for both named and indexed properties on Arrays.\n if (arguments.length === 5) {\n aKeys = Object.keys(val1);\n var bKeys = Object.keys(val2); // The pair must have the same number of owned properties.\n\n if (aKeys.length !== bKeys.length) {\n return false;\n }\n } // Cheap key test\n\n\n var i = 0;\n\n for (; i < aKeys.length; i++) {\n if (!hasOwnProperty(val2, aKeys[i])) {\n return false;\n }\n }\n\n if (strict && arguments.length === 5) {\n var symbolKeysA = objectGetOwnPropertySymbols(val1);\n\n if (symbolKeysA.length !== 0) {\n var count = 0;\n\n for (i = 0; i < symbolKeysA.length; i++) {\n var key = symbolKeysA[i];\n\n if (propertyIsEnumerable(val1, key)) {\n if (!propertyIsEnumerable(val2, key)) {\n return false;\n }\n\n aKeys.push(key);\n count++;\n } else if (propertyIsEnumerable(val2, key)) {\n return false;\n }\n }\n\n var symbolKeysB = objectGetOwnPropertySymbols(val2);\n\n if (symbolKeysA.length !== symbolKeysB.length && getEnumerables(val2, symbolKeysB).length !== count) {\n return false;\n }\n } else {\n var _symbolKeysB = objectGetOwnPropertySymbols(val2);\n\n if (_symbolKeysB.length !== 0 && getEnumerables(val2, _symbolKeysB).length !== 0) {\n return false;\n }\n }\n }\n\n if (aKeys.length === 0 && (iterationType === kNoIterator || iterationType === kIsArray && val1.length === 0 || val1.size === 0)) {\n return true;\n } // Use memos to handle cycles.\n\n\n if (memos === undefined) {\n memos = {\n val1: new Map(),\n val2: new Map(),\n position: 0\n };\n } else {\n // We prevent up to two map.has(x) calls by directly retrieving the value\n // and checking for undefined. The map can only contain numbers, so it is\n // safe to check for undefined only.\n var val2MemoA = memos.val1.get(val1);\n\n if (val2MemoA !== undefined) {\n var val2MemoB = memos.val2.get(val2);\n\n if (val2MemoB !== undefined) {\n return val2MemoA === val2MemoB;\n }\n }\n\n memos.position++;\n }\n\n memos.val1.set(val1, memos.position);\n memos.val2.set(val2, memos.position);\n var areEq = objEquiv(val1, val2, strict, aKeys, memos, iterationType);\n memos.val1.delete(val1);\n memos.val2.delete(val2);\n return areEq;\n}\n\nfunction setHasEqualElement(set, val1, strict, memo) {\n // Go looking.\n var setValues = arrayFromSet(set);\n\n for (var i = 0; i < setValues.length; i++) {\n var val2 = setValues[i];\n\n if (innerDeepEqual(val1, val2, strict, memo)) {\n // Remove the matching element to make sure we do not check that again.\n set.delete(val2);\n return true;\n }\n }\n\n return false;\n} // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Equality_comparisons_and_sameness#Loose_equality_using\n// Sadly it is not possible to detect corresponding values properly in case the\n// type is a string, number, bigint or boolean. The reason is that those values\n// can match lots of different string values (e.g., 1n == '+00001').\n\n\nfunction findLooseMatchingPrimitives(prim) {\n switch (_typeof(prim)) {\n case 'undefined':\n return null;\n\n case 'object':\n // Only pass in null as object!\n return undefined;\n\n case 'symbol':\n return false;\n\n case 'string':\n prim = +prim;\n // Loose equal entries exist only if the string is possible to convert to\n // a regular number and not NaN.\n // Fall through\n\n case 'number':\n if (numberIsNaN(prim)) {\n return false;\n }\n\n }\n\n return true;\n}\n\nfunction setMightHaveLoosePrim(a, b, prim) {\n var altValue = findLooseMatchingPrimitives(prim);\n if (altValue != null) return altValue;\n return b.has(altValue) && !a.has(altValue);\n}\n\nfunction mapMightHaveLoosePrim(a, b, prim, item, memo) {\n var altValue = findLooseMatchingPrimitives(prim);\n\n if (altValue != null) {\n return altValue;\n }\n\n var curB = b.get(altValue);\n\n if (curB === undefined && !b.has(altValue) || !innerDeepEqual(item, curB, false, memo)) {\n return false;\n }\n\n return !a.has(altValue) && innerDeepEqual(item, curB, false, memo);\n}\n\nfunction setEquiv(a, b, strict, memo) {\n // This is a lazily initiated Set of entries which have to be compared\n // pairwise.\n var set = null;\n var aValues = arrayFromSet(a);\n\n for (var i = 0; i < aValues.length; i++) {\n var val = aValues[i]; // Note: Checking for the objects first improves the performance for object\n // heavy sets but it is a minor slow down for primitives. As they are fast\n // to check this improves the worst case scenario instead.\n\n if (_typeof(val) === 'object' && val !== null) {\n if (set === null) {\n set = new Set();\n } // If the specified value doesn't exist in the second set its an not null\n // object (or non strict only: a not matching primitive) we'll need to go\n // hunting for something thats deep-(strict-)equal to it. To make this\n // O(n log n) complexity we have to copy these values in a new set first.\n\n\n set.add(val);\n } else if (!b.has(val)) {\n if (strict) return false; // Fast path to detect missing string, symbol, undefined and null values.\n\n if (!setMightHaveLoosePrim(a, b, val)) {\n return false;\n }\n\n if (set === null) {\n set = new Set();\n }\n\n set.add(val);\n }\n }\n\n if (set !== null) {\n var bValues = arrayFromSet(b);\n\n for (var _i = 0; _i < bValues.length; _i++) {\n var _val = bValues[_i]; // We have to check if a primitive value is already\n // matching and only if it's not, go hunting for it.\n\n if (_typeof(_val) === 'object' && _val !== null) {\n if (!setHasEqualElement(set, _val, strict, memo)) return false;\n } else if (!strict && !a.has(_val) && !setHasEqualElement(set, _val, strict, memo)) {\n return false;\n }\n }\n\n return set.size === 0;\n }\n\n return true;\n}\n\nfunction mapHasEqualEntry(set, map, key1, item1, strict, memo) {\n // To be able to handle cases like:\n // Map([[{}, 'a'], [{}, 'b']]) vs Map([[{}, 'b'], [{}, 'a']])\n // ... we need to consider *all* matching keys, not just the first we find.\n var setValues = arrayFromSet(set);\n\n for (var i = 0; i < setValues.length; i++) {\n var key2 = setValues[i];\n\n if (innerDeepEqual(key1, key2, strict, memo) && innerDeepEqual(item1, map.get(key2), strict, memo)) {\n set.delete(key2);\n return true;\n }\n }\n\n return false;\n}\n\nfunction mapEquiv(a, b, strict, memo) {\n var set = null;\n var aEntries = arrayFromMap(a);\n\n for (var i = 0; i < aEntries.length; i++) {\n var _aEntries$i = _slicedToArray(aEntries[i], 2),\n key = _aEntries$i[0],\n item1 = _aEntries$i[1];\n\n if (_typeof(key) === 'object' && key !== null) {\n if (set === null) {\n set = new Set();\n }\n\n set.add(key);\n } else {\n // By directly retrieving the value we prevent another b.has(key) check in\n // almost all possible cases.\n var item2 = b.get(key);\n\n if (item2 === undefined && !b.has(key) || !innerDeepEqual(item1, item2, strict, memo)) {\n if (strict) return false; // Fast path to detect missing string, symbol, undefined and null\n // keys.\n\n if (!mapMightHaveLoosePrim(a, b, key, item1, memo)) return false;\n\n if (set === null) {\n set = new Set();\n }\n\n set.add(key);\n }\n }\n }\n\n if (set !== null) {\n var bEntries = arrayFromMap(b);\n\n for (var _i2 = 0; _i2 < bEntries.length; _i2++) {\n var _bEntries$_i = _slicedToArray(bEntries[_i2], 2),\n key = _bEntries$_i[0],\n item = _bEntries$_i[1];\n\n if (_typeof(key) === 'object' && key !== null) {\n if (!mapHasEqualEntry(set, a, key, item, strict, memo)) return false;\n } else if (!strict && (!a.has(key) || !innerDeepEqual(a.get(key), item, false, memo)) && !mapHasEqualEntry(set, a, key, item, false, memo)) {\n return false;\n }\n }\n\n return set.size === 0;\n }\n\n return true;\n}\n\nfunction objEquiv(a, b, strict, keys, memos, iterationType) {\n // Sets and maps don't have their entries accessible via normal object\n // properties.\n var i = 0;\n\n if (iterationType === kIsSet) {\n if (!setEquiv(a, b, strict, memos)) {\n return false;\n }\n } else if (iterationType === kIsMap) {\n if (!mapEquiv(a, b, strict, memos)) {\n return false;\n }\n } else if (iterationType === kIsArray) {\n for (; i < a.length; i++) {\n if (hasOwnProperty(a, i)) {\n if (!hasOwnProperty(b, i) || !innerDeepEqual(a[i], b[i], strict, memos)) {\n return false;\n }\n } else if (hasOwnProperty(b, i)) {\n return false;\n } else {\n // Array is sparse.\n var keysA = Object.keys(a);\n\n for (; i < keysA.length; i++) {\n var key = keysA[i];\n\n if (!hasOwnProperty(b, key) || !innerDeepEqual(a[key], b[key], strict, memos)) {\n return false;\n }\n }\n\n if (keysA.length !== Object.keys(b).length) {\n return false;\n }\n\n return true;\n }\n }\n } // The pair must have equivalent values for every corresponding key.\n // Possibly expensive deep test:\n\n\n for (i = 0; i < keys.length; i++) {\n var _key = keys[i];\n\n if (!innerDeepEqual(a[_key], b[_key], strict, memos)) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction isDeepEqual(val1, val2) {\n return innerDeepEqual(val1, val2, kLoose);\n}\n\nfunction isDeepStrictEqual(val1, val2) {\n return innerDeepEqual(val1, val2, kStrict);\n}\n\nmodule.exports = {\n isDeepEqual: isDeepEqual,\n isDeepStrictEqual: isDeepStrictEqual\n};","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n })\n }\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n }\n}\n","module.exports = function isBuffer(arg) {\n return arg && typeof arg === 'object'\n && typeof arg.copy === 'function'\n && typeof arg.fill === 'function'\n && typeof arg.readUInt8 === 'function';\n}","// Currently in sync with Node.js lib/internal/util/types.js\n// https://github.com/nodejs/node/commit/112cc7c27551254aa2b17098fb774867f05ed0d9\n\n'use strict';\n\nvar isArgumentsObject = require('is-arguments');\nvar isGeneratorFunction = require('is-generator-function');\nvar whichTypedArray = require('which-typed-array');\nvar isTypedArray = require('is-typed-array');\n\nfunction uncurryThis(f) {\n return f.call.bind(f);\n}\n\nvar BigIntSupported = typeof BigInt !== 'undefined';\nvar SymbolSupported = typeof Symbol !== 'undefined';\n\nvar ObjectToString = uncurryThis(Object.prototype.toString);\n\nvar numberValue = uncurryThis(Number.prototype.valueOf);\nvar stringValue = uncurryThis(String.prototype.valueOf);\nvar booleanValue = uncurryThis(Boolean.prototype.valueOf);\n\nif (BigIntSupported) {\n var bigIntValue = uncurryThis(BigInt.prototype.valueOf);\n}\n\nif (SymbolSupported) {\n var symbolValue = uncurryThis(Symbol.prototype.valueOf);\n}\n\nfunction checkBoxedPrimitive(value, prototypeValueOf) {\n if (typeof value !== 'object') {\n return false;\n }\n try {\n prototypeValueOf(value);\n return true;\n } catch(e) {\n return false;\n }\n}\n\nexports.isArgumentsObject = isArgumentsObject;\nexports.isGeneratorFunction = isGeneratorFunction;\nexports.isTypedArray = isTypedArray;\n\n// Taken from here and modified for better browser support\n// https://github.com/sindresorhus/p-is-promise/blob/cda35a513bda03f977ad5cde3a079d237e82d7ef/index.js\nfunction isPromise(input) {\n\treturn (\n\t\t(\n\t\t\ttypeof Promise !== 'undefined' &&\n\t\t\tinput instanceof Promise\n\t\t) ||\n\t\t(\n\t\t\tinput !== null &&\n\t\t\ttypeof input === 'object' &&\n\t\t\ttypeof input.then === 'function' &&\n\t\t\ttypeof input.catch === 'function'\n\t\t)\n\t);\n}\nexports.isPromise = isPromise;\n\nfunction isArrayBufferView(value) {\n if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) {\n return ArrayBuffer.isView(value);\n }\n\n return (\n isTypedArray(value) ||\n isDataView(value)\n );\n}\nexports.isArrayBufferView = isArrayBufferView;\n\n\nfunction isUint8Array(value) {\n return whichTypedArray(value) === 'Uint8Array';\n}\nexports.isUint8Array = isUint8Array;\n\nfunction isUint8ClampedArray(value) {\n return whichTypedArray(value) === 'Uint8ClampedArray';\n}\nexports.isUint8ClampedArray = isUint8ClampedArray;\n\nfunction isUint16Array(value) {\n return whichTypedArray(value) === 'Uint16Array';\n}\nexports.isUint16Array = isUint16Array;\n\nfunction isUint32Array(value) {\n return whichTypedArray(value) === 'Uint32Array';\n}\nexports.isUint32Array = isUint32Array;\n\nfunction isInt8Array(value) {\n return whichTypedArray(value) === 'Int8Array';\n}\nexports.isInt8Array = isInt8Array;\n\nfunction isInt16Array(value) {\n return whichTypedArray(value) === 'Int16Array';\n}\nexports.isInt16Array = isInt16Array;\n\nfunction isInt32Array(value) {\n return whichTypedArray(value) === 'Int32Array';\n}\nexports.isInt32Array = isInt32Array;\n\nfunction isFloat32Array(value) {\n return whichTypedArray(value) === 'Float32Array';\n}\nexports.isFloat32Array = isFloat32Array;\n\nfunction isFloat64Array(value) {\n return whichTypedArray(value) === 'Float64Array';\n}\nexports.isFloat64Array = isFloat64Array;\n\nfunction isBigInt64Array(value) {\n return whichTypedArray(value) === 'BigInt64Array';\n}\nexports.isBigInt64Array = isBigInt64Array;\n\nfunction isBigUint64Array(value) {\n return whichTypedArray(value) === 'BigUint64Array';\n}\nexports.isBigUint64Array = isBigUint64Array;\n\nfunction isMapToString(value) {\n return ObjectToString(value) === '[object Map]';\n}\nisMapToString.working = (\n typeof Map !== 'undefined' &&\n isMapToString(new Map())\n);\n\nfunction isMap(value) {\n if (typeof Map === 'undefined') {\n return false;\n }\n\n return isMapToString.working\n ? isMapToString(value)\n : value instanceof Map;\n}\nexports.isMap = isMap;\n\nfunction isSetToString(value) {\n return ObjectToString(value) === '[object Set]';\n}\nisSetToString.working = (\n typeof Set !== 'undefined' &&\n isSetToString(new Set())\n);\nfunction isSet(value) {\n if (typeof Set === 'undefined') {\n return false;\n }\n\n return isSetToString.working\n ? isSetToString(value)\n : value instanceof Set;\n}\nexports.isSet = isSet;\n\nfunction isWeakMapToString(value) {\n return ObjectToString(value) === '[object WeakMap]';\n}\nisWeakMapToString.working = (\n typeof WeakMap !== 'undefined' &&\n isWeakMapToString(new WeakMap())\n);\nfunction isWeakMap(value) {\n if (typeof WeakMap === 'undefined') {\n return false;\n }\n\n return isWeakMapToString.working\n ? isWeakMapToString(value)\n : value instanceof WeakMap;\n}\nexports.isWeakMap = isWeakMap;\n\nfunction isWeakSetToString(value) {\n return ObjectToString(value) === '[object WeakSet]';\n}\nisWeakSetToString.working = (\n typeof WeakSet !== 'undefined' &&\n isWeakSetToString(new WeakSet())\n);\nfunction isWeakSet(value) {\n return isWeakSetToString(value);\n}\nexports.isWeakSet = isWeakSet;\n\nfunction isArrayBufferToString(value) {\n return ObjectToString(value) === '[object ArrayBuffer]';\n}\nisArrayBufferToString.working = (\n typeof ArrayBuffer !== 'undefined' &&\n isArrayBufferToString(new ArrayBuffer())\n);\nfunction isArrayBuffer(value) {\n if (typeof ArrayBuffer === 'undefined') {\n return false;\n }\n\n return isArrayBufferToString.working\n ? isArrayBufferToString(value)\n : value instanceof ArrayBuffer;\n}\nexports.isArrayBuffer = isArrayBuffer;\n\nfunction isDataViewToString(value) {\n return ObjectToString(value) === '[object DataView]';\n}\nisDataViewToString.working = (\n typeof ArrayBuffer !== 'undefined' &&\n typeof DataView !== 'undefined' &&\n isDataViewToString(new DataView(new ArrayBuffer(1), 0, 1))\n);\nfunction isDataView(value) {\n if (typeof DataView === 'undefined') {\n return false;\n }\n\n return isDataViewToString.working\n ? isDataViewToString(value)\n : value instanceof DataView;\n}\nexports.isDataView = isDataView;\n\n// Store a copy of SharedArrayBuffer in case it's deleted elsewhere\nvar SharedArrayBufferCopy = typeof SharedArrayBuffer !== 'undefined' ? SharedArrayBuffer : undefined;\nfunction isSharedArrayBufferToString(value) {\n return ObjectToString(value) === '[object SharedArrayBuffer]';\n}\nfunction isSharedArrayBuffer(value) {\n if (typeof SharedArrayBufferCopy === 'undefined') {\n return false;\n }\n\n if (typeof isSharedArrayBufferToString.working === 'undefined') {\n isSharedArrayBufferToString.working = isSharedArrayBufferToString(new SharedArrayBufferCopy());\n }\n\n return isSharedArrayBufferToString.working\n ? isSharedArrayBufferToString(value)\n : value instanceof SharedArrayBufferCopy;\n}\nexports.isSharedArrayBuffer = isSharedArrayBuffer;\n\nfunction isAsyncFunction(value) {\n return ObjectToString(value) === '[object AsyncFunction]';\n}\nexports.isAsyncFunction = isAsyncFunction;\n\nfunction isMapIterator(value) {\n return ObjectToString(value) === '[object Map Iterator]';\n}\nexports.isMapIterator = isMapIterator;\n\nfunction isSetIterator(value) {\n return ObjectToString(value) === '[object Set Iterator]';\n}\nexports.isSetIterator = isSetIterator;\n\nfunction isGeneratorObject(value) {\n return ObjectToString(value) === '[object Generator]';\n}\nexports.isGeneratorObject = isGeneratorObject;\n\nfunction isWebAssemblyCompiledModule(value) {\n return ObjectToString(value) === '[object WebAssembly.Module]';\n}\nexports.isWebAssemblyCompiledModule = isWebAssemblyCompiledModule;\n\nfunction isNumberObject(value) {\n return checkBoxedPrimitive(value, numberValue);\n}\nexports.isNumberObject = isNumberObject;\n\nfunction isStringObject(value) {\n return checkBoxedPrimitive(value, stringValue);\n}\nexports.isStringObject = isStringObject;\n\nfunction isBooleanObject(value) {\n return checkBoxedPrimitive(value, booleanValue);\n}\nexports.isBooleanObject = isBooleanObject;\n\nfunction isBigIntObject(value) {\n return BigIntSupported && checkBoxedPrimitive(value, bigIntValue);\n}\nexports.isBigIntObject = isBigIntObject;\n\nfunction isSymbolObject(value) {\n return SymbolSupported && checkBoxedPrimitive(value, symbolValue);\n}\nexports.isSymbolObject = isSymbolObject;\n\nfunction isBoxedPrimitive(value) {\n return (\n isNumberObject(value) ||\n isStringObject(value) ||\n isBooleanObject(value) ||\n isBigIntObject(value) ||\n isSymbolObject(value)\n );\n}\nexports.isBoxedPrimitive = isBoxedPrimitive;\n\nfunction isAnyArrayBuffer(value) {\n return typeof Uint8Array !== 'undefined' && (\n isArrayBuffer(value) ||\n isSharedArrayBuffer(value)\n );\n}\nexports.isAnyArrayBuffer = isAnyArrayBuffer;\n\n['isProxy', 'isExternal', 'isModuleNamespaceObject'].forEach(function(method) {\n Object.defineProperty(exports, method, {\n enumerable: false,\n value: function() {\n throw new Error(method + ' is not supported in userland');\n }\n });\n});\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors ||\n function getOwnPropertyDescriptors(obj) {\n var keys = Object.keys(obj);\n var descriptors = {};\n for (var i = 0; i < keys.length; i++) {\n descriptors[keys[i]] = Object.getOwnPropertyDescriptor(obj, keys[i]);\n }\n return descriptors;\n };\n\nvar formatRegExp = /%[sdj%]/g;\nexports.format = function(f) {\n if (!isString(f)) {\n var objects = [];\n for (var i = 0; i < arguments.length; i++) {\n objects.push(inspect(arguments[i]));\n }\n return objects.join(' ');\n }\n\n var i = 1;\n var args = arguments;\n var len = args.length;\n var str = String(f).replace(formatRegExp, function(x) {\n if (x === '%%') return '%';\n if (i >= len) return x;\n switch (x) {\n case '%s': return String(args[i++]);\n case '%d': return Number(args[i++]);\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n default:\n return x;\n }\n });\n for (var x = args[i]; i < len; x = args[++i]) {\n if (isNull(x) || !isObject(x)) {\n str += ' ' + x;\n } else {\n str += ' ' + inspect(x);\n }\n }\n return str;\n};\n\n\n// Mark that a method should not be used.\n// Returns a modified function which warns once by default.\n// If --no-deprecation is set, then it is a no-op.\nexports.deprecate = function(fn, msg) {\n if (typeof process !== 'undefined' && process.noDeprecation === true) {\n return fn;\n }\n\n // Allow for deprecating things in the process of starting up.\n if (typeof process === 'undefined') {\n return function() {\n return exports.deprecate(fn, msg).apply(this, arguments);\n };\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (process.throwDeprecation) {\n throw new Error(msg);\n } else if (process.traceDeprecation) {\n console.trace(msg);\n } else {\n console.error(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n};\n\n\nvar debugs = {};\nvar debugEnvRegex = /^$/;\n\nif (process.env.NODE_DEBUG) {\n var debugEnv = process.env.NODE_DEBUG;\n debugEnv = debugEnv.replace(/[|\\\\{}()[\\]^$+?.]/g, '\\\\$&')\n .replace(/\\*/g, '.*')\n .replace(/,/g, '$|^')\n .toUpperCase();\n debugEnvRegex = new RegExp('^' + debugEnv + '$', 'i');\n}\nexports.debuglog = function(set) {\n set = set.toUpperCase();\n if (!debugs[set]) {\n if (debugEnvRegex.test(set)) {\n var pid = process.pid;\n debugs[set] = function() {\n var msg = exports.format.apply(exports, arguments);\n console.error('%s %d: %s', set, pid, msg);\n };\n } else {\n debugs[set] = function() {};\n }\n }\n return debugs[set];\n};\n\n\n/**\n * Echos the value of a value. Trys to print the value out\n * in the best way possible given the different types.\n *\n * @param {Object} obj The object to print out.\n * @param {Object} opts Optional options object that alters the output.\n */\n/* legacy: obj, showHidden, depth, colors*/\nfunction inspect(obj, opts) {\n // default options\n var ctx = {\n seen: [],\n stylize: stylizeNoColor\n };\n // legacy...\n if (arguments.length >= 3) ctx.depth = arguments[2];\n if (arguments.length >= 4) ctx.colors = arguments[3];\n if (isBoolean(opts)) {\n // legacy...\n ctx.showHidden = opts;\n } else if (opts) {\n // got an \"options\" object\n exports._extend(ctx, opts);\n }\n // set default options\n if (isUndefined(ctx.showHidden)) ctx.showHidden = false;\n if (isUndefined(ctx.depth)) ctx.depth = 2;\n if (isUndefined(ctx.colors)) ctx.colors = false;\n if (isUndefined(ctx.customInspect)) ctx.customInspect = true;\n if (ctx.colors) ctx.stylize = stylizeWithColor;\n return formatValue(ctx, obj, ctx.depth);\n}\nexports.inspect = inspect;\n\n\n// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics\ninspect.colors = {\n 'bold' : [1, 22],\n 'italic' : [3, 23],\n 'underline' : [4, 24],\n 'inverse' : [7, 27],\n 'white' : [37, 39],\n 'grey' : [90, 39],\n 'black' : [30, 39],\n 'blue' : [34, 39],\n 'cyan' : [36, 39],\n 'green' : [32, 39],\n 'magenta' : [35, 39],\n 'red' : [31, 39],\n 'yellow' : [33, 39]\n};\n\n// Don't use 'blue' not visible on cmd.exe\ninspect.styles = {\n 'special': 'cyan',\n 'number': 'yellow',\n 'boolean': 'yellow',\n 'undefined': 'grey',\n 'null': 'bold',\n 'string': 'green',\n 'date': 'magenta',\n // \"name\": intentionally not styling\n 'regexp': 'red'\n};\n\n\nfunction stylizeWithColor(str, styleType) {\n var style = inspect.styles[styleType];\n\n if (style) {\n return '\\u001b[' + inspect.colors[style][0] + 'm' + str +\n '\\u001b[' + inspect.colors[style][1] + 'm';\n } else {\n return str;\n }\n}\n\n\nfunction stylizeNoColor(str, styleType) {\n return str;\n}\n\n\nfunction arrayToHash(array) {\n var hash = {};\n\n array.forEach(function(val, idx) {\n hash[val] = true;\n });\n\n return hash;\n}\n\n\nfunction formatValue(ctx, value, recurseTimes) {\n // Provide a hook for user-specified inspect functions.\n // Check that value is an object with an inspect function on it\n if (ctx.customInspect &&\n value &&\n isFunction(value.inspect) &&\n // Filter out the util module, it's inspect function is special\n value.inspect !== exports.inspect &&\n // Also filter out any prototype objects using the circular check.\n !(value.constructor && value.constructor.prototype === value)) {\n var ret = value.inspect(recurseTimes, ctx);\n if (!isString(ret)) {\n ret = formatValue(ctx, ret, recurseTimes);\n }\n return ret;\n }\n\n // Primitive types cannot have properties\n var primitive = formatPrimitive(ctx, value);\n if (primitive) {\n return primitive;\n }\n\n // Look up the keys of the object.\n var keys = Object.keys(value);\n var visibleKeys = arrayToHash(keys);\n\n if (ctx.showHidden) {\n keys = Object.getOwnPropertyNames(value);\n }\n\n // IE doesn't make error fields non-enumerable\n // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx\n if (isError(value)\n && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {\n return formatError(value);\n }\n\n // Some type of object without properties can be shortcutted.\n if (keys.length === 0) {\n if (isFunction(value)) {\n var name = value.name ? ': ' + value.name : '';\n return ctx.stylize('[Function' + name + ']', 'special');\n }\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n }\n if (isDate(value)) {\n return ctx.stylize(Date.prototype.toString.call(value), 'date');\n }\n if (isError(value)) {\n return formatError(value);\n }\n }\n\n var base = '', array = false, braces = ['{', '}'];\n\n // Make Array say that they are Array\n if (isArray(value)) {\n array = true;\n braces = ['[', ']'];\n }\n\n // Make functions say that they are functions\n if (isFunction(value)) {\n var n = value.name ? ': ' + value.name : '';\n base = ' [Function' + n + ']';\n }\n\n // Make RegExps say that they are RegExps\n if (isRegExp(value)) {\n base = ' ' + RegExp.prototype.toString.call(value);\n }\n\n // Make dates with properties first say the date\n if (isDate(value)) {\n base = ' ' + Date.prototype.toUTCString.call(value);\n }\n\n // Make error with message first say the error\n if (isError(value)) {\n base = ' ' + formatError(value);\n }\n\n if (keys.length === 0 && (!array || value.length == 0)) {\n return braces[0] + base + braces[1];\n }\n\n if (recurseTimes < 0) {\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n } else {\n return ctx.stylize('[Object]', 'special');\n }\n }\n\n ctx.seen.push(value);\n\n var output;\n if (array) {\n output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);\n } else {\n output = keys.map(function(key) {\n return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);\n });\n }\n\n ctx.seen.pop();\n\n return reduceToSingleString(output, base, braces);\n}\n\n\nfunction formatPrimitive(ctx, value) {\n if (isUndefined(value))\n return ctx.stylize('undefined', 'undefined');\n if (isString(value)) {\n var simple = '\\'' + JSON.stringify(value).replace(/^\"|\"$/g, '')\n .replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"') + '\\'';\n return ctx.stylize(simple, 'string');\n }\n if (isNumber(value))\n return ctx.stylize('' + value, 'number');\n if (isBoolean(value))\n return ctx.stylize('' + value, 'boolean');\n // For some reason typeof null is \"object\", so special case here.\n if (isNull(value))\n return ctx.stylize('null', 'null');\n}\n\n\nfunction formatError(value) {\n return '[' + Error.prototype.toString.call(value) + ']';\n}\n\n\nfunction formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n var output = [];\n for (var i = 0, l = value.length; i < l; ++i) {\n if (hasOwnProperty(value, String(i))) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n String(i), true));\n } else {\n output.push('');\n }\n }\n keys.forEach(function(key) {\n if (!key.match(/^\\d+$/)) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n key, true));\n }\n });\n return output;\n}\n\n\nfunction formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n var name, str, desc;\n desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };\n if (desc.get) {\n if (desc.set) {\n str = ctx.stylize('[Getter/Setter]', 'special');\n } else {\n str = ctx.stylize('[Getter]', 'special');\n }\n } else {\n if (desc.set) {\n str = ctx.stylize('[Setter]', 'special');\n }\n }\n if (!hasOwnProperty(visibleKeys, key)) {\n name = '[' + key + ']';\n }\n if (!str) {\n if (ctx.seen.indexOf(desc.value) < 0) {\n if (isNull(recurseTimes)) {\n str = formatValue(ctx, desc.value, null);\n } else {\n str = formatValue(ctx, desc.value, recurseTimes - 1);\n }\n if (str.indexOf('\\n') > -1) {\n if (array) {\n str = str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n').substr(2);\n } else {\n str = '\\n' + str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n');\n }\n }\n } else {\n str = ctx.stylize('[Circular]', 'special');\n }\n }\n if (isUndefined(name)) {\n if (array && key.match(/^\\d+$/)) {\n return str;\n }\n name = JSON.stringify('' + key);\n if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n name = name.substr(1, name.length - 2);\n name = ctx.stylize(name, 'name');\n } else {\n name = name.replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"')\n .replace(/(^\"|\"$)/g, \"'\");\n name = ctx.stylize(name, 'string');\n }\n }\n\n return name + ': ' + str;\n}\n\n\nfunction reduceToSingleString(output, base, braces) {\n var numLinesEst = 0;\n var length = output.reduce(function(prev, cur) {\n numLinesEst++;\n if (cur.indexOf('\\n') >= 0) numLinesEst++;\n return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, '').length + 1;\n }, 0);\n\n if (length > 60) {\n return braces[0] +\n (base === '' ? '' : base + '\\n ') +\n ' ' +\n output.join(',\\n ') +\n ' ' +\n braces[1];\n }\n\n return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];\n}\n\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\nexports.types = require('./support/types');\n\nfunction isArray(ar) {\n return Array.isArray(ar);\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return isObject(re) && objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\nexports.types.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return isObject(d) && objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\nexports.types.isDate = isDate;\n\nfunction isError(e) {\n return isObject(e) &&\n (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\nexports.types.isNativeError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = require('./support/isBuffer');\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n\n\nfunction pad(n) {\n return n < 10 ? '0' + n.toString(10) : n.toString(10);\n}\n\n\nvar months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',\n 'Oct', 'Nov', 'Dec'];\n\n// 26 Feb 16:19:34\nfunction timestamp() {\n var d = new Date();\n var time = [pad(d.getHours()),\n pad(d.getMinutes()),\n pad(d.getSeconds())].join(':');\n return [d.getDate(), months[d.getMonth()], time].join(' ');\n}\n\n\n// log is just a thin wrapper to console.log that prepends a timestamp\nexports.log = function() {\n console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));\n};\n\n\n/**\n * Inherit the prototype methods from one constructor into another.\n *\n * The Function.prototype.inherits from lang.js rewritten as a standalone\n * function (not on Function.prototype). NOTE: If this file is to be loaded\n * during bootstrapping this function needs to be rewritten using some native\n * functions as prototype setup using normal JavaScript does not work as\n * expected during bootstrapping (see mirror.js in r114903).\n *\n * @param {function} ctor Constructor function which needs to inherit the\n * prototype.\n * @param {function} superCtor Constructor function to inherit prototype from.\n */\nexports.inherits = require('inherits');\n\nexports._extend = function(origin, add) {\n // Don't do anything if add isn't an object\n if (!add || !isObject(add)) return origin;\n\n var keys = Object.keys(add);\n var i = keys.length;\n while (i--) {\n origin[keys[i]] = add[keys[i]];\n }\n return origin;\n};\n\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nvar kCustomPromisifiedSymbol = typeof Symbol !== 'undefined' ? Symbol('util.promisify.custom') : undefined;\n\nexports.promisify = function promisify(original) {\n if (typeof original !== 'function')\n throw new TypeError('The \"original\" argument must be of type Function');\n\n if (kCustomPromisifiedSymbol && original[kCustomPromisifiedSymbol]) {\n var fn = original[kCustomPromisifiedSymbol];\n if (typeof fn !== 'function') {\n throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');\n }\n Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return fn;\n }\n\n function fn() {\n var promiseResolve, promiseReject;\n var promise = new Promise(function (resolve, reject) {\n promiseResolve = resolve;\n promiseReject = reject;\n });\n\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n args.push(function (err, value) {\n if (err) {\n promiseReject(err);\n } else {\n promiseResolve(value);\n }\n });\n\n try {\n original.apply(this, args);\n } catch (err) {\n promiseReject(err);\n }\n\n return promise;\n }\n\n Object.setPrototypeOf(fn, Object.getPrototypeOf(original));\n\n if (kCustomPromisifiedSymbol) Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return Object.defineProperties(\n fn,\n getOwnPropertyDescriptors(original)\n );\n}\n\nexports.promisify.custom = kCustomPromisifiedSymbol\n\nfunction callbackifyOnRejected(reason, cb) {\n // `!reason` guard inspired by bluebird (Ref: https://goo.gl/t5IS6M).\n // Because `null` is a special error value in callbacks which means \"no error\n // occurred\", we error-wrap so the callback consumer can distinguish between\n // \"the promise rejected with null\" or \"the promise fulfilled with undefined\".\n if (!reason) {\n var newReason = new Error('Promise was rejected with a falsy value');\n newReason.reason = reason;\n reason = newReason;\n }\n return cb(reason);\n}\n\nfunction callbackify(original) {\n if (typeof original !== 'function') {\n throw new TypeError('The \"original\" argument must be of type Function');\n }\n\n // We DO NOT return the promise as it gives the user a false sense that\n // the promise is actually somehow related to the callback's execution\n // and that the callback throwing will reject the promise.\n function callbackified() {\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n\n var maybeCb = args.pop();\n if (typeof maybeCb !== 'function') {\n throw new TypeError('The last argument must be of type Function');\n }\n var self = this;\n var cb = function() {\n return maybeCb.apply(self, arguments);\n };\n // In true node style we process the callback on `nextTick` with all the\n // implications (stack, `uncaughtException`, `async_hooks`)\n original.apply(this, args)\n .then(function(ret) { process.nextTick(cb.bind(null, null, ret)) },\n function(rej) { process.nextTick(callbackifyOnRejected.bind(null, rej, cb)) });\n }\n\n Object.setPrototypeOf(callbackified, Object.getPrototypeOf(original));\n Object.defineProperties(callbackified,\n getOwnPropertyDescriptors(original));\n return callbackified;\n}\nexports.callbackify = callbackify;\n","'use strict';\n\nvar numberIsNaN = function (value) {\n\treturn value !== value;\n};\n\nmodule.exports = function is(a, b) {\n\tif (a === 0 && b === 0) {\n\t\treturn 1 / a === 1 / b;\n\t}\n\tif (a === b) {\n\t\treturn true;\n\t}\n\tif (numberIsNaN(a) && numberIsNaN(b)) {\n\t\treturn true;\n\t}\n\treturn false;\n};\n\n","'use strict';\n\nvar define = require('define-properties');\nvar callBind = require('call-bind');\n\nvar implementation = require('./implementation');\nvar getPolyfill = require('./polyfill');\nvar shim = require('./shim');\n\nvar polyfill = callBind(getPolyfill(), Object);\n\ndefine(polyfill, {\n\tgetPolyfill: getPolyfill,\n\timplementation: implementation,\n\tshim: shim\n});\n\nmodule.exports = polyfill;\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = function getPolyfill() {\n\treturn typeof Object.is === 'function' ? Object.is : implementation;\n};\n","'use strict';\n\nvar getPolyfill = require('./polyfill');\nvar define = require('define-properties');\n\nmodule.exports = function shimObjectIs() {\n\tvar polyfill = getPolyfill();\n\tdefine(Object, { is: polyfill }, {\n\t\tis: function testObjectIs() {\n\t\t\treturn Object.is !== polyfill;\n\t\t}\n\t});\n\treturn polyfill;\n};\n","'use strict';\n\nvar keysShim;\nif (!Object.keys) {\n\t// modified from https://github.com/es-shims/es5-shim\n\tvar has = Object.prototype.hasOwnProperty;\n\tvar toStr = Object.prototype.toString;\n\tvar isArgs = require('./isArguments'); // eslint-disable-line global-require\n\tvar isEnumerable = Object.prototype.propertyIsEnumerable;\n\tvar hasDontEnumBug = !isEnumerable.call({ toString: null }, 'toString');\n\tvar hasProtoEnumBug = isEnumerable.call(function () {}, 'prototype');\n\tvar dontEnums = [\n\t\t'toString',\n\t\t'toLocaleString',\n\t\t'valueOf',\n\t\t'hasOwnProperty',\n\t\t'isPrototypeOf',\n\t\t'propertyIsEnumerable',\n\t\t'constructor'\n\t];\n\tvar equalsConstructorPrototype = function (o) {\n\t\tvar ctor = o.constructor;\n\t\treturn ctor && ctor.prototype === o;\n\t};\n\tvar excludedKeys = {\n\t\t$applicationCache: true,\n\t\t$console: true,\n\t\t$external: true,\n\t\t$frame: true,\n\t\t$frameElement: true,\n\t\t$frames: true,\n\t\t$innerHeight: true,\n\t\t$innerWidth: true,\n\t\t$onmozfullscreenchange: true,\n\t\t$onmozfullscreenerror: true,\n\t\t$outerHeight: true,\n\t\t$outerWidth: true,\n\t\t$pageXOffset: true,\n\t\t$pageYOffset: true,\n\t\t$parent: true,\n\t\t$scrollLeft: true,\n\t\t$scrollTop: true,\n\t\t$scrollX: true,\n\t\t$scrollY: true,\n\t\t$self: true,\n\t\t$webkitIndexedDB: true,\n\t\t$webkitStorageInfo: true,\n\t\t$window: true\n\t};\n\tvar hasAutomationEqualityBug = (function () {\n\t\t/* global window */\n\t\tif (typeof window === 'undefined') { return false; }\n\t\tfor (var k in window) {\n\t\t\ttry {\n\t\t\t\tif (!excludedKeys['$' + k] && has.call(window, k) && window[k] !== null && typeof window[k] === 'object') {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tequalsConstructorPrototype(window[k]);\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}());\n\tvar equalsConstructorPrototypeIfNotBuggy = function (o) {\n\t\t/* global window */\n\t\tif (typeof window === 'undefined' || !hasAutomationEqualityBug) {\n\t\t\treturn equalsConstructorPrototype(o);\n\t\t}\n\t\ttry {\n\t\t\treturn equalsConstructorPrototype(o);\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t}\n\t};\n\n\tkeysShim = function keys(object) {\n\t\tvar isObject = object !== null && typeof object === 'object';\n\t\tvar isFunction = toStr.call(object) === '[object Function]';\n\t\tvar isArguments = isArgs(object);\n\t\tvar isString = isObject && toStr.call(object) === '[object String]';\n\t\tvar theKeys = [];\n\n\t\tif (!isObject && !isFunction && !isArguments) {\n\t\t\tthrow new TypeError('Object.keys called on a non-object');\n\t\t}\n\n\t\tvar skipProto = hasProtoEnumBug && isFunction;\n\t\tif (isString && object.length > 0 && !has.call(object, 0)) {\n\t\t\tfor (var i = 0; i < object.length; ++i) {\n\t\t\t\ttheKeys.push(String(i));\n\t\t\t}\n\t\t}\n\n\t\tif (isArguments && object.length > 0) {\n\t\t\tfor (var j = 0; j < object.length; ++j) {\n\t\t\t\ttheKeys.push(String(j));\n\t\t\t}\n\t\t} else {\n\t\t\tfor (var name in object) {\n\t\t\t\tif (!(skipProto && name === 'prototype') && has.call(object, name)) {\n\t\t\t\t\ttheKeys.push(String(name));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (hasDontEnumBug) {\n\t\t\tvar skipConstructor = equalsConstructorPrototypeIfNotBuggy(object);\n\n\t\t\tfor (var k = 0; k < dontEnums.length; ++k) {\n\t\t\t\tif (!(skipConstructor && dontEnums[k] === 'constructor') && has.call(object, dontEnums[k])) {\n\t\t\t\t\ttheKeys.push(dontEnums[k]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn theKeys;\n\t};\n}\nmodule.exports = keysShim;\n","'use strict';\n\nvar slice = Array.prototype.slice;\nvar isArgs = require('./isArguments');\n\nvar origKeys = Object.keys;\nvar keysShim = origKeys ? function keys(o) { return origKeys(o); } : require('./implementation');\n\nvar originalKeys = Object.keys;\n\nkeysShim.shim = function shimObjectKeys() {\n\tif (Object.keys) {\n\t\tvar keysWorksWithArguments = (function () {\n\t\t\t// Safari 5.0 bug\n\t\t\tvar args = Object.keys(arguments);\n\t\t\treturn args && args.length === arguments.length;\n\t\t}(1, 2));\n\t\tif (!keysWorksWithArguments) {\n\t\t\tObject.keys = function keys(object) { // eslint-disable-line func-name-matching\n\t\t\t\tif (isArgs(object)) {\n\t\t\t\t\treturn originalKeys(slice.call(object));\n\t\t\t\t}\n\t\t\t\treturn originalKeys(object);\n\t\t\t};\n\t\t}\n\t} else {\n\t\tObject.keys = keysShim;\n\t}\n\treturn Object.keys || keysShim;\n};\n\nmodule.exports = keysShim;\n","'use strict';\n\nvar toStr = Object.prototype.toString;\n\nmodule.exports = function isArguments(value) {\n\tvar str = toStr.call(value);\n\tvar isArgs = str === '[object Arguments]';\n\tif (!isArgs) {\n\t\tisArgs = str !== '[object Array]' &&\n\t\t\tvalue !== null &&\n\t\t\ttypeof value === 'object' &&\n\t\t\ttypeof value.length === 'number' &&\n\t\t\tvalue.length >= 0 &&\n\t\t\ttoStr.call(value.callee) === '[object Function]';\n\t}\n\treturn isArgs;\n};\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","const debug = require('../internal/debug')\nconst { MAX_LENGTH, MAX_SAFE_INTEGER } = require('../internal/constants')\nconst { re, t } = require('../internal/re')\n\nconst parseOptions = require('../internal/parse-options')\nconst { compareIdentifiers } = require('../internal/identifiers')\nclass SemVer {\n constructor (version, options) {\n options = parseOptions(options)\n\n if (version instanceof SemVer) {\n if (version.loose === !!options.loose &&\n version.includePrerelease === !!options.includePrerelease) {\n return version\n } else {\n version = version.version\n }\n } else if (typeof version !== 'string') {\n throw new TypeError(`Invalid Version: ${version}`)\n }\n\n if (version.length > MAX_LENGTH) {\n throw new TypeError(\n `version is longer than ${MAX_LENGTH} characters`\n )\n }\n\n debug('SemVer', version, options)\n this.options = options\n this.loose = !!options.loose\n // this isn't actually relevant for versions, but keep it so that we\n // don't run into trouble passing this.options around.\n this.includePrerelease = !!options.includePrerelease\n\n const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL])\n\n if (!m) {\n throw new TypeError(`Invalid Version: ${version}`)\n }\n\n this.raw = version\n\n // these are actually numbers\n this.major = +m[1]\n this.minor = +m[2]\n this.patch = +m[3]\n\n if (this.major > MAX_SAFE_INTEGER || this.major < 0) {\n throw new TypeError('Invalid major version')\n }\n\n if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {\n throw new TypeError('Invalid minor version')\n }\n\n if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {\n throw new TypeError('Invalid patch version')\n }\n\n // numberify any prerelease numeric ids\n if (!m[4]) {\n this.prerelease = []\n } else {\n this.prerelease = m[4].split('.').map((id) => {\n if (/^[0-9]+$/.test(id)) {\n const num = +id\n if (num >= 0 && num < MAX_SAFE_INTEGER) {\n return num\n }\n }\n return id\n })\n }\n\n this.build = m[5] ? m[5].split('.') : []\n this.format()\n }\n\n format () {\n this.version = `${this.major}.${this.minor}.${this.patch}`\n if (this.prerelease.length) {\n this.version += `-${this.prerelease.join('.')}`\n }\n return this.version\n }\n\n toString () {\n return this.version\n }\n\n compare (other) {\n debug('SemVer.compare', this.version, this.options, other)\n if (!(other instanceof SemVer)) {\n if (typeof other === 'string' && other === this.version) {\n return 0\n }\n other = new SemVer(other, this.options)\n }\n\n if (other.version === this.version) {\n return 0\n }\n\n return this.compareMain(other) || this.comparePre(other)\n }\n\n compareMain (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n return (\n compareIdentifiers(this.major, other.major) ||\n compareIdentifiers(this.minor, other.minor) ||\n compareIdentifiers(this.patch, other.patch)\n )\n }\n\n comparePre (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n // NOT having a prerelease is > having one\n if (this.prerelease.length && !other.prerelease.length) {\n return -1\n } else if (!this.prerelease.length && other.prerelease.length) {\n return 1\n } else if (!this.prerelease.length && !other.prerelease.length) {\n return 0\n }\n\n let i = 0\n do {\n const a = this.prerelease[i]\n const b = other.prerelease[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n compareBuild (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n let i = 0\n do {\n const a = this.build[i]\n const b = other.build[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n // preminor will bump the version up to the next minor release, and immediately\n // down to pre-release. premajor and prepatch work the same way.\n inc (release, identifier) {\n switch (release) {\n case 'premajor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor = 0\n this.major++\n this.inc('pre', identifier)\n break\n case 'preminor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor++\n this.inc('pre', identifier)\n break\n case 'prepatch':\n // If this is already a prerelease, it will bump to the next version\n // drop any prereleases that might already exist, since they are not\n // relevant at this point.\n this.prerelease.length = 0\n this.inc('patch', identifier)\n this.inc('pre', identifier)\n break\n // If the input is a non-prerelease version, this acts the same as\n // prepatch.\n case 'prerelease':\n if (this.prerelease.length === 0) {\n this.inc('patch', identifier)\n }\n this.inc('pre', identifier)\n break\n\n case 'major':\n // If this is a pre-major version, bump up to the same major version.\n // Otherwise increment major.\n // 1.0.0-5 bumps to 1.0.0\n // 1.1.0 bumps to 2.0.0\n if (\n this.minor !== 0 ||\n this.patch !== 0 ||\n this.prerelease.length === 0\n ) {\n this.major++\n }\n this.minor = 0\n this.patch = 0\n this.prerelease = []\n break\n case 'minor':\n // If this is a pre-minor version, bump up to the same minor version.\n // Otherwise increment minor.\n // 1.2.0-5 bumps to 1.2.0\n // 1.2.1 bumps to 1.3.0\n if (this.patch !== 0 || this.prerelease.length === 0) {\n this.minor++\n }\n this.patch = 0\n this.prerelease = []\n break\n case 'patch':\n // If this is not a pre-release version, it will increment the patch.\n // If it is a pre-release it will bump up to the same patch version.\n // 1.2.0-5 patches to 1.2.0\n // 1.2.0 patches to 1.2.1\n if (this.prerelease.length === 0) {\n this.patch++\n }\n this.prerelease = []\n break\n // This probably shouldn't be used publicly.\n // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.\n case 'pre':\n if (this.prerelease.length === 0) {\n this.prerelease = [0]\n } else {\n let i = this.prerelease.length\n while (--i >= 0) {\n if (typeof this.prerelease[i] === 'number') {\n this.prerelease[i]++\n i = -2\n }\n }\n if (i === -1) {\n // didn't increment anything\n this.prerelease.push(0)\n }\n }\n if (identifier) {\n // 1.2.0-beta.1 bumps to 1.2.0-beta.2,\n // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0\n if (this.prerelease[0] === identifier) {\n if (isNaN(this.prerelease[1])) {\n this.prerelease = [identifier, 0]\n }\n } else {\n this.prerelease = [identifier, 0]\n }\n }\n break\n\n default:\n throw new Error(`invalid increment argument: ${release}`)\n }\n this.format()\n this.raw = this.version\n return this\n }\n}\n\nmodule.exports = SemVer\n","const SemVer = require('../classes/semver')\nconst major = (a, loose) => new SemVer(a, loose).major\nmodule.exports = major\n","const {MAX_LENGTH} = require('../internal/constants')\nconst { re, t } = require('../internal/re')\nconst SemVer = require('../classes/semver')\n\nconst parseOptions = require('../internal/parse-options')\nconst parse = (version, options) => {\n options = parseOptions(options)\n\n if (version instanceof SemVer) {\n return version\n }\n\n if (typeof version !== 'string') {\n return null\n }\n\n if (version.length > MAX_LENGTH) {\n return null\n }\n\n const r = options.loose ? re[t.LOOSE] : re[t.FULL]\n if (!r.test(version)) {\n return null\n }\n\n try {\n return new SemVer(version, options)\n } catch (er) {\n return null\n }\n}\n\nmodule.exports = parse\n","const parse = require('./parse')\nconst valid = (version, options) => {\n const v = parse(version, options)\n return v ? v.version : null\n}\nmodule.exports = valid\n","// Note: this is the semver.org version of the spec that it implements\n// Not necessarily the package version of this code.\nconst SEMVER_SPEC_VERSION = '2.0.0'\n\nconst MAX_LENGTH = 256\nconst MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER ||\n /* istanbul ignore next */ 9007199254740991\n\n// Max safe segment length for coercion.\nconst MAX_SAFE_COMPONENT_LENGTH = 16\n\nmodule.exports = {\n SEMVER_SPEC_VERSION,\n MAX_LENGTH,\n MAX_SAFE_INTEGER,\n MAX_SAFE_COMPONENT_LENGTH\n}\n","const debug = (\n typeof process === 'object' &&\n process.env &&\n process.env.NODE_DEBUG &&\n /\\bsemver\\b/i.test(process.env.NODE_DEBUG)\n) ? (...args) => console.error('SEMVER', ...args)\n : () => {}\n\nmodule.exports = debug\n","const numeric = /^[0-9]+$/\nconst compareIdentifiers = (a, b) => {\n const anum = numeric.test(a)\n const bnum = numeric.test(b)\n\n if (anum && bnum) {\n a = +a\n b = +b\n }\n\n return a === b ? 0\n : (anum && !bnum) ? -1\n : (bnum && !anum) ? 1\n : a < b ? -1\n : 1\n}\n\nconst rcompareIdentifiers = (a, b) => compareIdentifiers(b, a)\n\nmodule.exports = {\n compareIdentifiers,\n rcompareIdentifiers\n}\n","// parse out just the options we care about so we always get a consistent\n// obj with keys in a consistent order.\nconst opts = ['includePrerelease', 'loose', 'rtl']\nconst parseOptions = options =>\n !options ? {}\n : typeof options !== 'object' ? { loose: true }\n : opts.filter(k => options[k]).reduce((options, k) => {\n options[k] = true\n return options\n }, {})\nmodule.exports = parseOptions\n","const { MAX_SAFE_COMPONENT_LENGTH } = require('./constants')\nconst debug = require('./debug')\nexports = module.exports = {}\n\n// The actual regexps go on exports.re\nconst re = exports.re = []\nconst src = exports.src = []\nconst t = exports.t = {}\nlet R = 0\n\nconst createToken = (name, value, isGlobal) => {\n const index = R++\n debug(index, value)\n t[name] = index\n src[index] = value\n re[index] = new RegExp(value, isGlobal ? 'g' : undefined)\n}\n\n// The following Regular Expressions can be used for tokenizing,\n// validating, and parsing SemVer version strings.\n\n// ## Numeric Identifier\n// A single `0`, or a non-zero digit followed by zero or more digits.\n\ncreateToken('NUMERICIDENTIFIER', '0|[1-9]\\\\d*')\ncreateToken('NUMERICIDENTIFIERLOOSE', '[0-9]+')\n\n// ## Non-numeric Identifier\n// Zero or more digits, followed by a letter or hyphen, and then zero or\n// more letters, digits, or hyphens.\n\ncreateToken('NONNUMERICIDENTIFIER', '\\\\d*[a-zA-Z-][a-zA-Z0-9-]*')\n\n// ## Main Version\n// Three dot-separated numeric identifiers.\n\ncreateToken('MAINVERSION', `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})`)\n\ncreateToken('MAINVERSIONLOOSE', `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})`)\n\n// ## Pre-release Version Identifier\n// A numeric identifier, or a non-numeric identifier.\n\ncreateToken('PRERELEASEIDENTIFIER', `(?:${src[t.NUMERICIDENTIFIER]\n}|${src[t.NONNUMERICIDENTIFIER]})`)\n\ncreateToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NUMERICIDENTIFIERLOOSE]\n}|${src[t.NONNUMERICIDENTIFIER]})`)\n\n// ## Pre-release Version\n// Hyphen, followed by one or more dot-separated pre-release version\n// identifiers.\n\ncreateToken('PRERELEASE', `(?:-(${src[t.PRERELEASEIDENTIFIER]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIER]})*))`)\n\ncreateToken('PRERELEASELOOSE', `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`)\n\n// ## Build Metadata Identifier\n// Any combination of digits, letters, or hyphens.\n\ncreateToken('BUILDIDENTIFIER', '[0-9A-Za-z-]+')\n\n// ## Build Metadata\n// Plus sign, followed by one or more period-separated build metadata\n// identifiers.\n\ncreateToken('BUILD', `(?:\\\\+(${src[t.BUILDIDENTIFIER]\n}(?:\\\\.${src[t.BUILDIDENTIFIER]})*))`)\n\n// ## Full Version String\n// A main version, followed optionally by a pre-release version and\n// build metadata.\n\n// Note that the only major, minor, patch, and pre-release sections of\n// the version string are capturing groups. The build metadata is not a\n// capturing group, because it should not ever be used in version\n// comparison.\n\ncreateToken('FULLPLAIN', `v?${src[t.MAINVERSION]\n}${src[t.PRERELEASE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('FULL', `^${src[t.FULLPLAIN]}$`)\n\n// like full, but allows v1.2.3 and =1.2.3, which people do sometimes.\n// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty\n// common in the npm registry.\ncreateToken('LOOSEPLAIN', `[v=\\\\s]*${src[t.MAINVERSIONLOOSE]\n}${src[t.PRERELEASELOOSE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('LOOSE', `^${src[t.LOOSEPLAIN]}$`)\n\ncreateToken('GTLT', '((?:<|>)?=?)')\n\n// Something like \"2.*\" or \"1.2.x\".\n// Note that \"x.x\" is a valid xRange identifer, meaning \"any version\"\n// Only the first item is strictly required.\ncreateToken('XRANGEIDENTIFIERLOOSE', `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\\\*`)\ncreateToken('XRANGEIDENTIFIER', `${src[t.NUMERICIDENTIFIER]}|x|X|\\\\*`)\n\ncreateToken('XRANGEPLAIN', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:${src[t.PRERELEASE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGEPLAINLOOSE', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:${src[t.PRERELEASELOOSE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAIN]}$`)\ncreateToken('XRANGELOOSE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Coercion.\n// Extract anything that could conceivably be a part of a valid semver\ncreateToken('COERCE', `${'(^|[^\\\\d])' +\n '(\\\\d{1,'}${MAX_SAFE_COMPONENT_LENGTH}})` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +\n `(?:$|[^\\\\d])`)\ncreateToken('COERCERTL', src[t.COERCE], true)\n\n// Tilde ranges.\n// Meaning is \"reasonably at or greater than\"\ncreateToken('LONETILDE', '(?:~>?)')\n\ncreateToken('TILDETRIM', `(\\\\s*)${src[t.LONETILDE]}\\\\s+`, true)\nexports.tildeTrimReplace = '$1~'\n\ncreateToken('TILDE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('TILDELOOSE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Caret ranges.\n// Meaning is \"at least and backwards compatible with\"\ncreateToken('LONECARET', '(?:\\\\^)')\n\ncreateToken('CARETTRIM', `(\\\\s*)${src[t.LONECARET]}\\\\s+`, true)\nexports.caretTrimReplace = '$1^'\n\ncreateToken('CARET', `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('CARETLOOSE', `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// A simple gt/lt/eq thing, or just \"\" to indicate \"any version\"\ncreateToken('COMPARATORLOOSE', `^${src[t.GTLT]}\\\\s*(${src[t.LOOSEPLAIN]})$|^$`)\ncreateToken('COMPARATOR', `^${src[t.GTLT]}\\\\s*(${src[t.FULLPLAIN]})$|^$`)\n\n// An expression to strip any whitespace between the gtlt and the thing\n// it modifies, so that `> 1.2.3` ==> `>1.2.3`\ncreateToken('COMPARATORTRIM', `(\\\\s*)${src[t.GTLT]\n}\\\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true)\nexports.comparatorTrimReplace = '$1$2$3'\n\n// Something like `1.2.3 - 1.2.4`\n// Note that these all use the loose form, because they'll be\n// checked against either the strict or loose comparator form\n// later.\ncreateToken('HYPHENRANGE', `^\\\\s*(${src[t.XRANGEPLAIN]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAIN]})` +\n `\\\\s*$`)\n\ncreateToken('HYPHENRANGELOOSE', `^\\\\s*(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s*$`)\n\n// Star ranges basically just allow anything at all.\ncreateToken('STAR', '(<|>)?=?\\\\s*\\\\*')\n// >=0.0.0 is like a star\ncreateToken('GTE0', '^\\\\s*>=\\\\s*0\\.0\\.0\\\\s*$')\ncreateToken('GTE0PRE', '^\\\\s*>=\\\\s*0\\.0\\.0-0\\\\s*$')\n","\"use strict\";\n\nvar stylesInDOM = [];\n\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n\n for (var i = 0; i < stylesInDOM.length; i++) {\n if (stylesInDOM[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n\n return result;\n}\n\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var indexByIdentifier = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3],\n supports: item[4],\n layer: item[5]\n };\n\n if (indexByIdentifier !== -1) {\n stylesInDOM[indexByIdentifier].references++;\n stylesInDOM[indexByIdentifier].updater(obj);\n } else {\n var updater = addElementStyle(obj, options);\n options.byIndex = i;\n stylesInDOM.splice(i, 0, {\n identifier: identifier,\n updater: updater,\n references: 1\n });\n }\n\n identifiers.push(identifier);\n }\n\n return identifiers;\n}\n\nfunction addElementStyle(obj, options) {\n var api = options.domAPI(options);\n api.update(obj);\n\n var updater = function updater(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {\n return;\n }\n\n api.update(obj = newObj);\n } else {\n api.remove();\n }\n };\n\n return updater;\n}\n\nmodule.exports = function (list, options) {\n options = options || {};\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDOM[index].references--;\n }\n\n var newLastIdentifiers = modulesToDom(newList, options);\n\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n\n var _index = getIndexByIdentifier(_identifier);\n\n if (stylesInDOM[_index].references === 0) {\n stylesInDOM[_index].updater();\n\n stylesInDOM.splice(_index, 1);\n }\n }\n\n lastIdentifiers = newLastIdentifiers;\n };\n};","\"use strict\";\n\nvar memo = {};\n/* istanbul ignore next */\n\nfunction getTarget(target) {\n if (typeof memo[target] === \"undefined\") {\n var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself\n\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n\n memo[target] = styleTarget;\n }\n\n return memo[target];\n}\n/* istanbul ignore next */\n\n\nfunction insertBySelector(insert, style) {\n var target = getTarget(insert);\n\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n\n target.appendChild(style);\n}\n\nmodule.exports = insertBySelector;","\"use strict\";\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var element = document.createElement(\"style\");\n options.setAttributes(element, options.attributes);\n options.insert(element, options.options);\n return element;\n}\n\nmodule.exports = insertStyleElement;","\"use strict\";\n\n/* istanbul ignore next */\nfunction setAttributesWithoutAttributes(styleElement) {\n var nonce = typeof __webpack_nonce__ !== \"undefined\" ? __webpack_nonce__ : null;\n\n if (nonce) {\n styleElement.setAttribute(\"nonce\", nonce);\n }\n}\n\nmodule.exports = setAttributesWithoutAttributes;","\"use strict\";\n\n/* istanbul ignore next */\nfunction apply(styleElement, options, obj) {\n var css = \"\";\n\n if (obj.supports) {\n css += \"@supports (\".concat(obj.supports, \") {\");\n }\n\n if (obj.media) {\n css += \"@media \".concat(obj.media, \" {\");\n }\n\n var needLayer = typeof obj.layer !== \"undefined\";\n\n if (needLayer) {\n css += \"@layer\".concat(obj.layer.length > 0 ? \" \".concat(obj.layer) : \"\", \" {\");\n }\n\n css += obj.css;\n\n if (needLayer) {\n css += \"}\";\n }\n\n if (obj.media) {\n css += \"}\";\n }\n\n if (obj.supports) {\n css += \"}\";\n }\n\n var sourceMap = obj.sourceMap;\n\n if (sourceMap && typeof btoa !== \"undefined\") {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n } // For old IE\n\n /* istanbul ignore if */\n\n\n options.styleTagTransform(css, styleElement, options.options);\n}\n\nfunction removeStyleElement(styleElement) {\n // istanbul ignore if\n if (styleElement.parentNode === null) {\n return false;\n }\n\n styleElement.parentNode.removeChild(styleElement);\n}\n/* istanbul ignore next */\n\n\nfunction domAPI(options) {\n var styleElement = options.insertStyleElement(options);\n return {\n update: function update(obj) {\n apply(styleElement, options, obj);\n },\n remove: function remove() {\n removeStyleElement(styleElement);\n }\n };\n}\n\nmodule.exports = domAPI;","\"use strict\";\n\n/* istanbul ignore next */\nfunction styleTagTransform(css, styleElement) {\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css;\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild);\n }\n\n styleElement.appendChild(document.createTextNode(css));\n }\n}\n\nmodule.exports = styleTagTransform;","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.16.1\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n\nvar timeoutDuration = function () {\n var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}();\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var window = element.ownerDocument.defaultView;\n var css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\n/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nfunction getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nfunction isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width']) + parseFloat(styles['border' + sideB + 'Width']);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0);\n}\n\nfunction getWindowSizes(document) {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {}\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n var width = sizes.width || element.clientWidth || result.width;\n var height = sizes.height || element.clientHeight || result.height;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop);\n var marginLeft = parseFloat(styles.marginLeft);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n var parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(popper.ownerDocument),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n var isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0;\n boundaries.top += isPaddingNumber ? padding : padding.top || 0;\n boundaries.right -= isPaddingNumber ? padding : padding.right || 0;\n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var window = element.ownerDocument.defaultView;\n var styles = window.getComputedStyle(element);\n var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.<br />\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicitly asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nfunction getRoundedOffsets(data, shouldRound) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n var round = Math.round,\n floor = Math.floor;\n\n var noRound = function noRound(v) {\n return v;\n };\n\n var referenceWidth = round(reference.width);\n var popperWidth = round(popper.width);\n\n var isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n var isVariation = data.placement.indexOf('-') !== -1;\n var sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor;\n var verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right)\n };\n}\n\nvar isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox);\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n // when offsetParent is <html> the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.<br />\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized]);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width']);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.<br />\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.<br />\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n var flippedVariationByRef = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n // flips variation if popper content overflows boundaries\n var flippedVariationByContent = !!options.flipVariationsByContent && (isVertical && variation === 'start' && overflowsRight || isVertical && variation === 'end' && overflowsLeft || !isVertical && variation === 'start' && overflowsBottom || !isVertical && variation === 'end' && overflowsTop);\n\n var flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.<br />\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.<br />\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.<br />\n * It will read the variation of the `placement` property.<br />\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.<br />\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.<br />\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.<br />\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.<br />\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".<br />\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.<br />\n * These can be overridden using the `options` argument of Popper.js.<br />\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.<br />\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n","function getInternetExplorerVersion() {\n var ua = window.navigator.userAgent;\n var msie = ua.indexOf('MSIE ');\n\n if (msie > 0) {\n // IE 10 or older => return version number\n return parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);\n }\n\n var trident = ua.indexOf('Trident/');\n\n if (trident > 0) {\n // IE 11 => return version number\n var rv = ua.indexOf('rv:');\n return parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);\n }\n\n var edge = ua.indexOf('Edge/');\n\n if (edge > 0) {\n // Edge (IE 12+) => return version number\n return parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);\n } // other browser\n\n\n return -1;\n}\n\n//\nvar isIE;\n\nfunction initCompat() {\n if (!initCompat.init) {\n initCompat.init = true;\n isIE = getInternetExplorerVersion() !== -1;\n }\n}\n\nvar script = {\n name: 'ResizeObserver',\n props: {\n emitOnMount: {\n type: Boolean,\n default: false\n },\n ignoreWidth: {\n type: Boolean,\n default: false\n },\n ignoreHeight: {\n type: Boolean,\n default: false\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n initCompat();\n this.$nextTick(function () {\n _this._w = _this.$el.offsetWidth;\n _this._h = _this.$el.offsetHeight;\n\n if (_this.emitOnMount) {\n _this.emitSize();\n }\n });\n var object = document.createElement('object');\n this._resizeObject = object;\n object.setAttribute('aria-hidden', 'true');\n object.setAttribute('tabindex', -1);\n object.onload = this.addResizeHandlers;\n object.type = 'text/html';\n\n if (isIE) {\n this.$el.appendChild(object);\n }\n\n object.data = 'about:blank';\n\n if (!isIE) {\n this.$el.appendChild(object);\n }\n },\n beforeDestroy: function beforeDestroy() {\n this.removeResizeHandlers();\n },\n methods: {\n compareAndNotify: function compareAndNotify() {\n if (!this.ignoreWidth && this._w !== this.$el.offsetWidth || !this.ignoreHeight && this._h !== this.$el.offsetHeight) {\n this._w = this.$el.offsetWidth;\n this._h = this.$el.offsetHeight;\n this.emitSize();\n }\n },\n emitSize: function emitSize() {\n this.$emit('notify', {\n width: this._w,\n height: this._h\n });\n },\n addResizeHandlers: function addResizeHandlers() {\n this._resizeObject.contentDocument.defaultView.addEventListener('resize', this.compareAndNotify);\n\n this.compareAndNotify();\n },\n removeResizeHandlers: function removeResizeHandlers() {\n if (this._resizeObject && this._resizeObject.onload) {\n if (!isIE && this._resizeObject.contentDocument) {\n this._resizeObject.contentDocument.defaultView.removeEventListener('resize', this.compareAndNotify);\n }\n\n this.$el.removeChild(this._resizeObject);\n this._resizeObject.onload = null;\n this._resizeObject = null;\n }\n }\n }\n};\n\nfunction normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier\n/* server only */\n, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\n if (typeof shadowMode !== 'boolean') {\n createInjectorSSR = createInjector;\n createInjector = shadowMode;\n shadowMode = false;\n } // Vue.extend constructor export interop.\n\n\n var options = typeof script === 'function' ? script.options : script; // render functions\n\n if (template && template.render) {\n options.render = template.render;\n options.staticRenderFns = template.staticRenderFns;\n options._compiled = true; // functional template\n\n if (isFunctionalTemplate) {\n options.functional = true;\n }\n } // scopedId\n\n\n if (scopeId) {\n options._scopeId = scopeId;\n }\n\n var hook;\n\n if (moduleIdentifier) {\n // server build\n hook = function hook(context) {\n // 2.3 injection\n context = context || // cached call\n this.$vnode && this.$vnode.ssrContext || // stateful\n this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext; // functional\n // 2.2 with runInNewContext: true\n\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__;\n } // inject component styles\n\n\n if (style) {\n style.call(this, createInjectorSSR(context));\n } // register component module identifier for async chunk inference\n\n\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier);\n }\n }; // used by ssr in case component is cached and beforeCreate\n // never gets called\n\n\n options._ssrRegister = hook;\n } else if (style) {\n hook = shadowMode ? function (context) {\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\n } : function (context) {\n style.call(this, createInjector(context));\n };\n }\n\n if (hook) {\n if (options.functional) {\n // register for functional component in vue file\n var originalRender = options.render;\n\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context);\n return originalRender(h, context);\n };\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate;\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\n }\n }\n\n return script;\n}\n\n/* script */\nvar __vue_script__ = script;\n/* template */\n\nvar __vue_render__ = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c(\"div\", {\n staticClass: \"resize-observer\",\n attrs: {\n tabindex: \"-1\"\n }\n });\n};\n\nvar __vue_staticRenderFns__ = [];\n__vue_render__._withStripped = true;\n/* style */\n\nvar __vue_inject_styles__ = undefined;\n/* scoped */\n\nvar __vue_scope_id__ = \"data-v-8859cc6c\";\n/* module identifier */\n\nvar __vue_module_identifier__ = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__ = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__ = /*#__PURE__*/normalizeComponent({\n render: __vue_render__,\n staticRenderFns: __vue_staticRenderFns__\n}, __vue_inject_styles__, __vue_script__, __vue_scope_id__, __vue_is_functional_template__, __vue_module_identifier__, false, undefined, undefined, undefined);\n\nfunction install(Vue) {\n // eslint-disable-next-line vue/component-definition-name-casing\n Vue.component('resize-observer', __vue_component__);\n Vue.component('ResizeObserver', __vue_component__);\n}\n\nvar plugin = {\n // eslint-disable-next-line no-undef\n version: \"1.0.1\",\n install: install\n};\n\nvar GlobalVue = null;\n\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue;\n}\n\nif (GlobalVue) {\n GlobalVue.use(plugin);\n}\n\nexport default plugin;\nexport { __vue_component__ as ResizeObserver, install };\n//# sourceMappingURL=vue-resize.esm.js.map\n","import _typeof from '@babel/runtime/helpers/typeof';\nimport _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _classCallCheck from '@babel/runtime/helpers/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/createClass';\nimport Popper from 'popper.js';\nimport isEqual from 'lodash/isEqual';\nimport { ResizeObserver } from 'vue-resize';\nimport merge from 'lodash/merge';\n\nvar SVGAnimatedString = function SVGAnimatedString() {};\n\nif (typeof window !== 'undefined') {\n SVGAnimatedString = window.SVGAnimatedString;\n}\n\nfunction convertToArray(value) {\n if (typeof value === 'string') {\n value = value.split(' ');\n }\n\n return value;\n}\n/**\n * Add classes to an element.\n * This method checks to ensure that the classes don't already exist before adding them.\n * It uses el.className rather than classList in order to be IE friendly.\n * @param {object} el - The element to add the classes to.\n * @param {classes} string - List of space separated classes to be added to the element.\n */\n\nfunction addClasses(el, classes) {\n var newClasses = convertToArray(classes);\n var classList;\n\n if (el.className instanceof SVGAnimatedString) {\n classList = convertToArray(el.className.baseVal);\n } else {\n classList = convertToArray(el.className);\n }\n\n newClasses.forEach(function (newClass) {\n if (classList.indexOf(newClass) === -1) {\n classList.push(newClass);\n }\n });\n\n if (el instanceof SVGElement) {\n el.setAttribute('class', classList.join(' '));\n } else {\n el.className = classList.join(' ');\n }\n}\n/**\n * Remove classes from an element.\n * It uses el.className rather than classList in order to be IE friendly.\n * @export\n * @param {any} el The element to remove the classes from.\n * @param {any} classes List of space separated classes to be removed from the element.\n */\n\nfunction removeClasses(el, classes) {\n var newClasses = convertToArray(classes);\n var classList;\n\n if (el.className instanceof SVGAnimatedString) {\n classList = convertToArray(el.className.baseVal);\n } else {\n classList = convertToArray(el.className);\n }\n\n newClasses.forEach(function (newClass) {\n var index = classList.indexOf(newClass);\n\n if (index !== -1) {\n classList.splice(index, 1);\n }\n });\n\n if (el instanceof SVGElement) {\n el.setAttribute('class', classList.join(' '));\n } else {\n el.className = classList.join(' ');\n }\n}\nvar supportsPassive = false;\n\nif (typeof window !== 'undefined') {\n supportsPassive = false;\n\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get: function get() {\n supportsPassive = true;\n }\n });\n window.addEventListener('test', null, opts);\n } catch (e) {}\n}\n\nfunction ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$2(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\nvar DEFAULT_OPTIONS = {\n container: false,\n delay: 0,\n html: false,\n placement: 'top',\n title: '',\n template: '<div class=\"tooltip\" role=\"tooltip\"><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>',\n trigger: 'hover focus',\n offset: 0\n};\nvar openTooltips = [];\n\nvar Tooltip = /*#__PURE__*/function () {\n /**\n * Create a new Tooltip.js instance\n * @class Tooltip\n * @param {HTMLElement} reference - The DOM node used as reference of the tooltip (it can be a jQuery element).\n * @param {Object} options\n * @param {String} options.placement=bottom\n * Placement of the popper accepted values: `top(-start, -end), right(-start, -end), bottom(-start, -end),\n * left(-start, -end)`\n * @param {HTMLElement|String|false} options.container=false - Append the tooltip to a specific element.\n * @param {Number|Object} options.delay=0\n * Delay showing and hiding the tooltip (ms) - does not apply to manual trigger type.\n * If a number is supplied, delay is applied to both hide/show.\n * Object structure is: `{ show: 500, hide: 100 }`\n * @param {Boolean} options.html=false - Insert HTML into the tooltip. If false, the content will inserted with `innerText`.\n * @param {String|PlacementFunction} options.placement='top' - One of the allowed placements, or a function returning one of them.\n * @param {String} [options.template='<div class=\"tooltip\" role=\"tooltip\"><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>']\n * Base HTML to used when creating the tooltip.\n * The tooltip's `title` will be injected into the `.tooltip-inner` or `.tooltip__inner`.\n * `.tooltip-arrow` or `.tooltip__arrow` will become the tooltip's arrow.\n * The outermost wrapper element should have the `.tooltip` class.\n * @param {String|HTMLElement|TitleFunction} options.title='' - Default title value if `title` attribute isn't present.\n * @param {String} [options.trigger='hover focus']\n * How tooltip is triggered - click, hover, focus, manual.\n * You may pass multiple triggers; separate them with a space. `manual` cannot be combined with any other trigger.\n * @param {HTMLElement} options.boundariesElement\n * The element used as boundaries for the tooltip. For more information refer to Popper.js'\n * [boundariesElement docs](https://popper.js.org/popper-documentation.html)\n * @param {Number|String} options.offset=0 - Offset of the tooltip relative to its reference. For more information refer to Popper.js'\n * [offset docs](https://popper.js.org/popper-documentation.html)\n * @param {Object} options.popperOptions={} - Popper options, will be passed directly to popper instance. For more information refer to Popper.js'\n * [options docs](https://popper.js.org/popper-documentation.html)\n * @param {string} [options.ariaId] Id used for accessibility\n * @return {Object} instance - The generated tooltip instance\n */\n function Tooltip(_reference, _options) {\n var _this = this;\n\n _classCallCheck(this, Tooltip);\n\n _defineProperty(this, \"_events\", []);\n\n _defineProperty(this, \"_setTooltipNodeEvent\", function (evt, reference, delay, options) {\n var relatedreference = evt.relatedreference || evt.toElement || evt.relatedTarget;\n\n var callback = function callback(evt2) {\n var relatedreference2 = evt2.relatedreference || evt2.toElement || evt2.relatedTarget; // Remove event listener after call\n\n _this._tooltipNode.removeEventListener(evt.type, callback); // If the new reference is not the reference element\n\n\n if (!reference.contains(relatedreference2)) {\n // Schedule to hide tooltip\n _this._scheduleHide(reference, options.delay, options, evt2);\n }\n };\n\n if (_this._tooltipNode.contains(relatedreference)) {\n // listen to mouseleave on the tooltip element to be able to hide the tooltip\n _this._tooltipNode.addEventListener(evt.type, callback);\n\n return true;\n }\n\n return false;\n });\n\n // apply user options over default ones\n _options = _objectSpread$2(_objectSpread$2({}, DEFAULT_OPTIONS), _options);\n _reference.jquery && (_reference = _reference[0]);\n this.show = this.show.bind(this);\n this.hide = this.hide.bind(this); // cache reference and options\n\n this.reference = _reference;\n this.options = _options; // set initial state\n\n this._isOpen = false;\n\n this._init();\n } //\n // Public methods\n //\n\n /**\n * Reveals an element's tooltip. This is considered a \"manual\" triggering of the tooltip.\n * Tooltips with zero-length titles are never displayed.\n * @method Tooltip#show\n * @memberof Tooltip\n */\n\n\n _createClass(Tooltip, [{\n key: \"show\",\n value: function show() {\n this._show(this.reference, this.options);\n }\n /**\n * Hides an element’s tooltip. This is considered a “manual” triggering of the tooltip.\n * @method Tooltip#hide\n * @memberof Tooltip\n */\n\n }, {\n key: \"hide\",\n value: function hide() {\n this._hide();\n }\n /**\n * Hides and destroys an element’s tooltip.\n * @method Tooltip#dispose\n * @memberof Tooltip\n */\n\n }, {\n key: \"dispose\",\n value: function dispose() {\n this._dispose();\n }\n /**\n * Toggles an element’s tooltip. This is considered a “manual” triggering of the tooltip.\n * @method Tooltip#toggle\n * @memberof Tooltip\n */\n\n }, {\n key: \"toggle\",\n value: function toggle() {\n if (this._isOpen) {\n return this.hide();\n } else {\n return this.show();\n }\n }\n }, {\n key: \"setClasses\",\n value: function setClasses(classes) {\n this._classes = classes;\n }\n }, {\n key: \"setContent\",\n value: function setContent(content) {\n this.options.title = content;\n\n if (this._tooltipNode) {\n this._setContent(content, this.options);\n }\n }\n }, {\n key: \"setOptions\",\n value: function setOptions(options) {\n var classesUpdated = false;\n var classes = options && options.classes || directive.options.defaultClass;\n\n if (!isEqual(this._classes, classes)) {\n this.setClasses(classes);\n classesUpdated = true;\n }\n\n options = getOptions(options);\n var needPopperUpdate = false;\n var needRestart = false;\n\n if (this.options.offset !== options.offset || this.options.placement !== options.placement) {\n needPopperUpdate = true;\n }\n\n if (this.options.template !== options.template || this.options.trigger !== options.trigger || this.options.container !== options.container || classesUpdated) {\n needRestart = true;\n }\n\n for (var key in options) {\n this.options[key] = options[key];\n }\n\n if (this._tooltipNode) {\n if (needRestart) {\n var isOpen = this._isOpen;\n this.dispose();\n\n this._init();\n\n if (isOpen) {\n this.show();\n }\n } else if (needPopperUpdate) {\n this.popperInstance.update();\n }\n }\n } //\n // Private methods\n //\n\n }, {\n key: \"_init\",\n value: function _init() {\n // get events list\n var events = typeof this.options.trigger === 'string' ? this.options.trigger.split(' ') : [];\n this._isDisposed = false;\n this._enableDocumentTouch = events.indexOf('manual') === -1;\n events = events.filter(function (trigger) {\n return ['click', 'hover', 'focus'].indexOf(trigger) !== -1;\n }); // set event listeners\n\n this._setEventListeners(this.reference, events, this.options); // title attribute\n\n\n this.$_originalTitle = this.reference.getAttribute('title');\n this.reference.removeAttribute('title');\n this.reference.setAttribute('data-original-title', this.$_originalTitle);\n }\n /**\n * Creates a new tooltip node\n * @memberof Tooltip\n * @private\n * @param {HTMLElement} reference\n * @param {String} template\n * @param {String|HTMLElement|TitleFunction} title\n * @param {Boolean} allowHtml\n * @return {HTMLelement} tooltipNode\n */\n\n }, {\n key: \"_create\",\n value: function _create(reference, template) {\n var _this2 = this;\n\n // create tooltip element\n var tooltipGenerator = window.document.createElement('div');\n tooltipGenerator.innerHTML = template.trim();\n var tooltipNode = tooltipGenerator.childNodes[0]; // add unique ID to our tooltip (needed for accessibility reasons)\n\n tooltipNode.id = this.options.ariaId || \"tooltip_\".concat(Math.random().toString(36).substr(2, 10)); // Initially hide the tooltip\n // The attribute will be switched in a next frame so\n // CSS transitions can play\n\n tooltipNode.setAttribute('aria-hidden', 'true');\n\n if (this.options.autoHide && this.options.trigger.indexOf('hover') !== -1) {\n tooltipNode.addEventListener('mouseenter', function (evt) {\n return _this2._scheduleHide(reference, _this2.options.delay, _this2.options, evt);\n });\n tooltipNode.addEventListener('click', function (evt) {\n return _this2._scheduleHide(reference, _this2.options.delay, _this2.options, evt);\n });\n } // return the generated tooltip node\n\n\n return tooltipNode;\n }\n }, {\n key: \"_setContent\",\n value: function _setContent(content, options) {\n var _this3 = this;\n\n this.asyncContent = false;\n\n this._applyContent(content, options).then(function () {\n if (!_this3.popperInstance) return;\n\n _this3.popperInstance.update();\n });\n }\n }, {\n key: \"_applyContent\",\n value: function _applyContent(title, options) {\n var _this4 = this;\n\n return new Promise(function (resolve, reject) {\n var allowHtml = options.html;\n var rootNode = _this4._tooltipNode;\n if (!rootNode) return;\n var titleNode = rootNode.querySelector(_this4.options.innerSelector);\n\n if (title.nodeType === 1) {\n // if title is a node, append it only if allowHtml is true\n if (allowHtml) {\n while (titleNode.firstChild) {\n titleNode.removeChild(titleNode.firstChild);\n }\n\n titleNode.appendChild(title);\n }\n } else if (typeof title === 'function') {\n // if title is a function, call it and set innerText or innerHtml depending by `allowHtml` value\n var result = title();\n\n if (result && typeof result.then === 'function') {\n _this4.asyncContent = true;\n options.loadingClass && addClasses(rootNode, options.loadingClass);\n\n if (options.loadingContent) {\n _this4._applyContent(options.loadingContent, options);\n }\n\n result.then(function (asyncResult) {\n options.loadingClass && removeClasses(rootNode, options.loadingClass);\n return _this4._applyContent(asyncResult, options);\n }).then(resolve).catch(reject);\n } else {\n _this4._applyContent(result, options).then(resolve).catch(reject);\n }\n\n return;\n } else {\n // if it's just a simple text, set innerText or innerHtml depending by `allowHtml` value\n allowHtml ? titleNode.innerHTML = title : titleNode.innerText = title;\n }\n\n resolve();\n });\n }\n }, {\n key: \"_show\",\n value: function _show(reference, options) {\n if (options && typeof options.container === 'string') {\n var container = document.querySelector(options.container);\n if (!container) return;\n }\n\n clearTimeout(this._disposeTimer);\n options = Object.assign({}, options);\n delete options.offset;\n var updateClasses = true;\n\n if (this._tooltipNode) {\n addClasses(this._tooltipNode, this._classes);\n updateClasses = false;\n }\n\n var result = this._ensureShown(reference, options);\n\n if (updateClasses && this._tooltipNode) {\n addClasses(this._tooltipNode, this._classes);\n }\n\n addClasses(reference, ['v-tooltip-open']);\n return result;\n }\n }, {\n key: \"_ensureShown\",\n value: function _ensureShown(reference, options) {\n var _this5 = this;\n\n // don't show if it's already visible\n if (this._isOpen) {\n return this;\n }\n\n this._isOpen = true;\n openTooltips.push(this); // if the tooltipNode already exists, just show it\n\n if (this._tooltipNode) {\n this._tooltipNode.style.display = '';\n\n this._tooltipNode.setAttribute('aria-hidden', 'false');\n\n this.popperInstance.enableEventListeners();\n this.popperInstance.update();\n\n if (this.asyncContent) {\n this._setContent(options.title, options);\n }\n\n return this;\n } // get title\n\n\n var title = reference.getAttribute('title') || options.title; // don't show tooltip if no title is defined\n\n if (!title) {\n return this;\n } // create tooltip node\n\n\n var tooltipNode = this._create(reference, options.template);\n\n this._tooltipNode = tooltipNode; // Add `aria-describedby` to our reference element for accessibility reasons\n\n reference.setAttribute('aria-describedby', tooltipNode.id); // append tooltip to container\n\n var container = this._findContainer(options.container, reference);\n\n this._append(tooltipNode, container);\n\n var popperOptions = _objectSpread$2(_objectSpread$2({}, options.popperOptions), {}, {\n placement: options.placement\n });\n\n popperOptions.modifiers = _objectSpread$2(_objectSpread$2({}, popperOptions.modifiers), {}, {\n arrow: {\n element: this.options.arrowSelector\n }\n });\n\n if (options.boundariesElement) {\n popperOptions.modifiers.preventOverflow = {\n boundariesElement: options.boundariesElement\n };\n }\n\n this.popperInstance = new Popper(reference, tooltipNode, popperOptions);\n\n this._setContent(title, options); // Fix position\n\n\n requestAnimationFrame(function () {\n if (!_this5._isDisposed && _this5.popperInstance) {\n _this5.popperInstance.update(); // Show the tooltip\n\n\n requestAnimationFrame(function () {\n if (!_this5._isDisposed) {\n _this5._isOpen && tooltipNode.setAttribute('aria-hidden', 'false');\n } else {\n _this5.dispose();\n }\n });\n } else {\n _this5.dispose();\n }\n });\n return this;\n }\n }, {\n key: \"_noLongerOpen\",\n value: function _noLongerOpen() {\n var index = openTooltips.indexOf(this);\n\n if (index !== -1) {\n openTooltips.splice(index, 1);\n }\n }\n }, {\n key: \"_hide\",\n value: function _hide()\n /* reference, options */\n {\n var _this6 = this;\n\n // don't hide if it's already hidden\n if (!this._isOpen) {\n return this;\n }\n\n this._isOpen = false;\n\n this._noLongerOpen(); // hide tooltipNode\n\n\n this._tooltipNode.style.display = 'none';\n\n this._tooltipNode.setAttribute('aria-hidden', 'true');\n\n if (this.popperInstance) {\n this.popperInstance.disableEventListeners();\n }\n\n clearTimeout(this._disposeTimer);\n var disposeTime = directive.options.disposeTimeout;\n\n if (disposeTime !== null) {\n this._disposeTimer = setTimeout(function () {\n if (_this6._tooltipNode) {\n _this6._tooltipNode.removeEventListener('mouseenter', _this6.hide);\n\n _this6._tooltipNode.removeEventListener('click', _this6.hide); // Don't remove popper instance, just the HTML element\n\n\n _this6._removeTooltipNode();\n }\n }, disposeTime);\n }\n\n removeClasses(this.reference, ['v-tooltip-open']);\n return this;\n }\n }, {\n key: \"_removeTooltipNode\",\n value: function _removeTooltipNode() {\n if (!this._tooltipNode) return;\n var parentNode = this._tooltipNode.parentNode;\n\n if (parentNode) {\n parentNode.removeChild(this._tooltipNode);\n this.reference.removeAttribute('aria-describedby');\n }\n\n this._tooltipNode = null;\n }\n }, {\n key: \"_dispose\",\n value: function _dispose() {\n var _this7 = this;\n\n this._isDisposed = true;\n this.reference.removeAttribute('data-original-title');\n\n if (this.$_originalTitle) {\n this.reference.setAttribute('title', this.$_originalTitle);\n } // remove event listeners first to prevent any unexpected behaviour\n\n\n this._events.forEach(function (_ref) {\n var func = _ref.func,\n event = _ref.event;\n\n _this7.reference.removeEventListener(event, func);\n });\n\n this._events = [];\n\n if (this._tooltipNode) {\n this._hide();\n\n this._tooltipNode.removeEventListener('mouseenter', this.hide);\n\n this._tooltipNode.removeEventListener('click', this.hide); // destroy instance\n\n\n this.popperInstance.destroy(); // destroy tooltipNode if removeOnDestroy is not set, as popperInstance.destroy() already removes the element\n\n if (!this.popperInstance.options.removeOnDestroy) {\n this._removeTooltipNode();\n }\n } else {\n this._noLongerOpen();\n }\n\n return this;\n }\n }, {\n key: \"_findContainer\",\n value: function _findContainer(container, reference) {\n // if container is a query, get the relative element\n if (typeof container === 'string') {\n container = window.document.querySelector(container);\n } else if (container === false) {\n // if container is `false`, set it to reference parent\n container = reference.parentNode;\n }\n\n return container;\n }\n /**\n * Append tooltip to container\n * @memberof Tooltip\n * @private\n * @param {HTMLElement} tooltip\n * @param {HTMLElement|String|false} container\n */\n\n }, {\n key: \"_append\",\n value: function _append(tooltipNode, container) {\n container.appendChild(tooltipNode);\n }\n }, {\n key: \"_setEventListeners\",\n value: function _setEventListeners(reference, events, options) {\n var _this8 = this;\n\n var directEvents = [];\n var oppositeEvents = [];\n events.forEach(function (event) {\n switch (event) {\n case 'hover':\n directEvents.push('mouseenter');\n oppositeEvents.push('mouseleave');\n if (_this8.options.hideOnTargetClick) oppositeEvents.push('click');\n break;\n\n case 'focus':\n directEvents.push('focus');\n oppositeEvents.push('blur');\n if (_this8.options.hideOnTargetClick) oppositeEvents.push('click');\n break;\n\n case 'click':\n directEvents.push('click');\n oppositeEvents.push('click');\n break;\n }\n }); // schedule show tooltip\n\n directEvents.forEach(function (event) {\n var func = function func(evt) {\n if (_this8._isOpen === true) {\n return;\n }\n\n evt.usedByTooltip = true;\n\n _this8._scheduleShow(reference, options.delay, options, evt);\n };\n\n _this8._events.push({\n event: event,\n func: func\n });\n\n reference.addEventListener(event, func);\n }); // schedule hide tooltip\n\n oppositeEvents.forEach(function (event) {\n var func = function func(evt) {\n if (evt.usedByTooltip === true) {\n return;\n }\n\n _this8._scheduleHide(reference, options.delay, options, evt);\n };\n\n _this8._events.push({\n event: event,\n func: func\n });\n\n reference.addEventListener(event, func);\n });\n }\n }, {\n key: \"_onDocumentTouch\",\n value: function _onDocumentTouch(event) {\n if (this._enableDocumentTouch) {\n this._scheduleHide(this.reference, this.options.delay, this.options, event);\n }\n }\n }, {\n key: \"_scheduleShow\",\n value: function _scheduleShow(reference, delay, options\n /*, evt */\n ) {\n var _this9 = this;\n\n // defaults to 0\n var computedDelay = delay && delay.show || delay || 0;\n clearTimeout(this._scheduleTimer);\n this._scheduleTimer = window.setTimeout(function () {\n return _this9._show(reference, options);\n }, computedDelay);\n }\n }, {\n key: \"_scheduleHide\",\n value: function _scheduleHide(reference, delay, options, evt) {\n var _this10 = this;\n\n // defaults to 0\n var computedDelay = delay && delay.hide || delay || 0;\n clearTimeout(this._scheduleTimer);\n this._scheduleTimer = window.setTimeout(function () {\n if (_this10._isOpen === false) {\n return;\n }\n\n if (!_this10._tooltipNode.ownerDocument.body.contains(_this10._tooltipNode)) {\n return;\n } // if we are hiding because of a mouseleave, we must check that the new\n // reference isn't the tooltip, because in this case we don't want to hide it\n\n\n if (evt.type === 'mouseleave') {\n var isSet = _this10._setTooltipNodeEvent(evt, reference, delay, options); // if we set the new event, don't hide the tooltip yet\n // the new event will take care to hide it if necessary\n\n\n if (isSet) {\n return;\n }\n }\n\n _this10._hide(reference, options);\n }, computedDelay);\n }\n }]);\n\n return Tooltip;\n}(); // Hide tooltips on touch devices\n\nif (typeof document !== 'undefined') {\n document.addEventListener('touchstart', function (event) {\n for (var i = 0; i < openTooltips.length; i++) {\n openTooltips[i]._onDocumentTouch(event);\n }\n }, supportsPassive ? {\n passive: true,\n capture: true\n } : true);\n}\n/**\n * Placement function, its context is the Tooltip instance.\n * @memberof Tooltip\n * @callback PlacementFunction\n * @param {HTMLElement} tooltip - tooltip DOM node.\n * @param {HTMLElement} reference - reference DOM node.\n * @return {String} placement - One of the allowed placement options.\n */\n\n/**\n * Title function, its context is the Tooltip instance.\n * @memberof Tooltip\n * @callback TitleFunction\n * @return {String} placement - The desired title.\n */\n\nfunction ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$1(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\nvar state = {\n enabled: true\n};\nvar positions = ['top', 'top-start', 'top-end', 'right', 'right-start', 'right-end', 'bottom', 'bottom-start', 'bottom-end', 'left', 'left-start', 'left-end'];\nvar defaultOptions = {\n // Default tooltip placement relative to target element\n defaultPlacement: 'top',\n // Default CSS classes applied to the tooltip element\n defaultClass: 'vue-tooltip-theme',\n // Default CSS classes applied to the target element of the tooltip\n defaultTargetClass: 'has-tooltip',\n // Is the content HTML by default?\n defaultHtml: true,\n // Default HTML template of the tooltip element\n // It must include `tooltip-arrow` & `tooltip-inner` CSS classes (can be configured, see below)\n // Change if the classes conflict with other libraries (for example bootstrap)\n defaultTemplate: '<div class=\"tooltip\" role=\"tooltip\"><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>',\n // Selector used to get the arrow element in the tooltip template\n defaultArrowSelector: '.tooltip-arrow, .tooltip__arrow',\n // Selector used to get the inner content element in the tooltip template\n defaultInnerSelector: '.tooltip-inner, .tooltip__inner',\n // Delay (ms)\n defaultDelay: 0,\n // Default events that trigger the tooltip\n defaultTrigger: 'hover focus',\n // Default position offset (px)\n defaultOffset: 0,\n // Default container where the tooltip will be appended\n defaultContainer: 'body',\n defaultBoundariesElement: undefined,\n defaultPopperOptions: {},\n // Class added when content is loading\n defaultLoadingClass: 'tooltip-loading',\n // Displayed when tooltip content is loading\n defaultLoadingContent: '...',\n // Hide on mouseover tooltip\n autoHide: true,\n // Close tooltip on click on tooltip target?\n defaultHideOnTargetClick: true,\n // Auto destroy tooltip DOM nodes (ms)\n disposeTimeout: 5000,\n // Options for popover\n popover: {\n defaultPlacement: 'bottom',\n // Use the `popoverClass` prop for theming\n defaultClass: 'vue-popover-theme',\n // Base class (change if conflicts with other libraries)\n defaultBaseClass: 'tooltip popover',\n // Wrapper class (contains arrow and inner)\n defaultWrapperClass: 'wrapper',\n // Inner content class\n defaultInnerClass: 'tooltip-inner popover-inner',\n // Arrow class\n defaultArrowClass: 'tooltip-arrow popover-arrow',\n // Class added when popover is open\n defaultOpenClass: 'open',\n defaultDelay: 0,\n defaultTrigger: 'click',\n defaultOffset: 0,\n defaultContainer: 'body',\n defaultBoundariesElement: undefined,\n defaultPopperOptions: {},\n // Hides if clicked outside of popover\n defaultAutoHide: true,\n // Update popper on content resize\n defaultHandleResize: true\n }\n};\nfunction getOptions(options) {\n var result = {\n placement: typeof options.placement !== 'undefined' ? options.placement : directive.options.defaultPlacement,\n delay: typeof options.delay !== 'undefined' ? options.delay : directive.options.defaultDelay,\n html: typeof options.html !== 'undefined' ? options.html : directive.options.defaultHtml,\n template: typeof options.template !== 'undefined' ? options.template : directive.options.defaultTemplate,\n arrowSelector: typeof options.arrowSelector !== 'undefined' ? options.arrowSelector : directive.options.defaultArrowSelector,\n innerSelector: typeof options.innerSelector !== 'undefined' ? options.innerSelector : directive.options.defaultInnerSelector,\n trigger: typeof options.trigger !== 'undefined' ? options.trigger : directive.options.defaultTrigger,\n offset: typeof options.offset !== 'undefined' ? options.offset : directive.options.defaultOffset,\n container: typeof options.container !== 'undefined' ? options.container : directive.options.defaultContainer,\n boundariesElement: typeof options.boundariesElement !== 'undefined' ? options.boundariesElement : directive.options.defaultBoundariesElement,\n autoHide: typeof options.autoHide !== 'undefined' ? options.autoHide : directive.options.autoHide,\n hideOnTargetClick: typeof options.hideOnTargetClick !== 'undefined' ? options.hideOnTargetClick : directive.options.defaultHideOnTargetClick,\n loadingClass: typeof options.loadingClass !== 'undefined' ? options.loadingClass : directive.options.defaultLoadingClass,\n loadingContent: typeof options.loadingContent !== 'undefined' ? options.loadingContent : directive.options.defaultLoadingContent,\n popperOptions: _objectSpread$1({}, typeof options.popperOptions !== 'undefined' ? options.popperOptions : directive.options.defaultPopperOptions)\n };\n\n if (result.offset) {\n var typeofOffset = _typeof(result.offset);\n\n var offset = result.offset; // One value -> switch\n\n if (typeofOffset === 'number' || typeofOffset === 'string' && offset.indexOf(',') === -1) {\n offset = \"0, \".concat(offset);\n }\n\n if (!result.popperOptions.modifiers) {\n result.popperOptions.modifiers = {};\n }\n\n result.popperOptions.modifiers.offset = {\n offset: offset\n };\n }\n\n if (result.trigger && result.trigger.indexOf('click') !== -1) {\n result.hideOnTargetClick = false;\n }\n\n return result;\n}\nfunction getPlacement(value, modifiers) {\n var placement = value.placement;\n\n for (var i = 0; i < positions.length; i++) {\n var pos = positions[i];\n\n if (modifiers[pos]) {\n placement = pos;\n }\n }\n\n return placement;\n}\nfunction getContent(value) {\n var type = _typeof(value);\n\n if (type === 'string') {\n return value;\n } else if (value && type === 'object') {\n return value.content;\n } else {\n return false;\n }\n}\nfunction createTooltip(el, value) {\n var modifiers = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var content = getContent(value);\n var classes = typeof value.classes !== 'undefined' ? value.classes : directive.options.defaultClass;\n\n var opts = _objectSpread$1({\n title: content\n }, getOptions(_objectSpread$1(_objectSpread$1({}, _typeof(value) === 'object' ? value : {}), {}, {\n placement: getPlacement(value, modifiers)\n })));\n\n var tooltip = el._tooltip = new Tooltip(el, opts);\n tooltip.setClasses(classes);\n tooltip._vueEl = el; // Class on target\n\n var targetClasses = typeof value.targetClasses !== 'undefined' ? value.targetClasses : directive.options.defaultTargetClass;\n el._tooltipTargetClasses = targetClasses;\n addClasses(el, targetClasses);\n return tooltip;\n}\nfunction destroyTooltip(el) {\n if (el._tooltip) {\n el._tooltip.dispose();\n\n delete el._tooltip;\n delete el._tooltipOldShow;\n }\n\n if (el._tooltipTargetClasses) {\n removeClasses(el, el._tooltipTargetClasses);\n delete el._tooltipTargetClasses;\n }\n}\nfunction bind(el, _ref) {\n var value = _ref.value;\n _ref.oldValue;\n var modifiers = _ref.modifiers;\n var content = getContent(value);\n\n if (!content || !state.enabled) {\n destroyTooltip(el);\n } else {\n var tooltip;\n\n if (el._tooltip) {\n tooltip = el._tooltip; // Content\n\n tooltip.setContent(content); // Options\n\n tooltip.setOptions(_objectSpread$1(_objectSpread$1({}, value), {}, {\n placement: getPlacement(value, modifiers)\n }));\n } else {\n tooltip = createTooltip(el, value, modifiers);\n } // Manual show\n\n\n if (typeof value.show !== 'undefined' && value.show !== el._tooltipOldShow) {\n el._tooltipOldShow = value.show;\n value.show ? tooltip.show() : tooltip.hide();\n }\n }\n}\nvar directive = {\n options: defaultOptions,\n bind: bind,\n update: bind,\n unbind: function unbind(el) {\n destroyTooltip(el);\n }\n};\n\nfunction addListeners(el) {\n el.addEventListener('click', onClick);\n el.addEventListener('touchstart', onTouchStart, supportsPassive ? {\n passive: true\n } : false);\n}\n\nfunction removeListeners(el) {\n el.removeEventListener('click', onClick);\n el.removeEventListener('touchstart', onTouchStart);\n el.removeEventListener('touchend', onTouchEnd);\n el.removeEventListener('touchcancel', onTouchCancel);\n}\n\nfunction onClick(event) {\n var el = event.currentTarget;\n event.closePopover = !el.$_vclosepopover_touch;\n event.closeAllPopover = el.$_closePopoverModifiers && !!el.$_closePopoverModifiers.all;\n}\n\nfunction onTouchStart(event) {\n if (event.changedTouches.length === 1) {\n var el = event.currentTarget;\n el.$_vclosepopover_touch = true;\n var touch = event.changedTouches[0];\n el.$_vclosepopover_touchPoint = touch;\n el.addEventListener('touchend', onTouchEnd);\n el.addEventListener('touchcancel', onTouchCancel);\n }\n}\n\nfunction onTouchEnd(event) {\n var el = event.currentTarget;\n el.$_vclosepopover_touch = false;\n\n if (event.changedTouches.length === 1) {\n var touch = event.changedTouches[0];\n var firstTouch = el.$_vclosepopover_touchPoint;\n event.closePopover = Math.abs(touch.screenY - firstTouch.screenY) < 20 && Math.abs(touch.screenX - firstTouch.screenX) < 20;\n event.closeAllPopover = el.$_closePopoverModifiers && !!el.$_closePopoverModifiers.all;\n }\n}\n\nfunction onTouchCancel(event) {\n var el = event.currentTarget;\n el.$_vclosepopover_touch = false;\n}\n\nvar vclosepopover = {\n bind: function bind(el, _ref) {\n var value = _ref.value,\n modifiers = _ref.modifiers;\n el.$_closePopoverModifiers = modifiers;\n\n if (typeof value === 'undefined' || value) {\n addListeners(el);\n }\n },\n update: function update(el, _ref2) {\n var value = _ref2.value,\n oldValue = _ref2.oldValue,\n modifiers = _ref2.modifiers;\n el.$_closePopoverModifiers = modifiers;\n\n if (value !== oldValue) {\n if (typeof value === 'undefined' || value) {\n addListeners(el);\n } else {\n removeListeners(el);\n }\n }\n },\n unbind: function unbind(el) {\n removeListeners(el);\n }\n};\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction getDefault(key) {\n var value = directive.options.popover[key];\n\n if (typeof value === 'undefined') {\n return directive.options[key];\n }\n\n return value;\n}\n\nvar isIOS = false;\n\nif (typeof window !== 'undefined' && typeof navigator !== 'undefined') {\n isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;\n}\n\nvar openPopovers = [];\n\nvar Element = function Element() {};\n\nif (typeof window !== 'undefined') {\n Element = window.Element;\n}\n\nvar script = {\n name: 'VPopover',\n components: {\n ResizeObserver: ResizeObserver\n },\n props: {\n open: {\n type: Boolean,\n default: false\n },\n disabled: {\n type: Boolean,\n default: false\n },\n placement: {\n type: String,\n default: function _default() {\n return getDefault('defaultPlacement');\n }\n },\n delay: {\n type: [String, Number, Object],\n default: function _default() {\n return getDefault('defaultDelay');\n }\n },\n offset: {\n type: [String, Number],\n default: function _default() {\n return getDefault('defaultOffset');\n }\n },\n trigger: {\n type: String,\n default: function _default() {\n return getDefault('defaultTrigger');\n }\n },\n container: {\n type: [String, Object, Element, Boolean],\n default: function _default() {\n return getDefault('defaultContainer');\n }\n },\n boundariesElement: {\n type: [String, Element],\n default: function _default() {\n return getDefault('defaultBoundariesElement');\n }\n },\n popperOptions: {\n type: Object,\n default: function _default() {\n return getDefault('defaultPopperOptions');\n }\n },\n popoverClass: {\n type: [String, Array],\n default: function _default() {\n return getDefault('defaultClass');\n }\n },\n popoverBaseClass: {\n type: [String, Array],\n default: function _default() {\n return directive.options.popover.defaultBaseClass;\n }\n },\n popoverInnerClass: {\n type: [String, Array],\n default: function _default() {\n return directive.options.popover.defaultInnerClass;\n }\n },\n popoverWrapperClass: {\n type: [String, Array],\n default: function _default() {\n return directive.options.popover.defaultWrapperClass;\n }\n },\n popoverArrowClass: {\n type: [String, Array],\n default: function _default() {\n return directive.options.popover.defaultArrowClass;\n }\n },\n autoHide: {\n type: Boolean,\n default: function _default() {\n return directive.options.popover.defaultAutoHide;\n }\n },\n handleResize: {\n type: Boolean,\n default: function _default() {\n return directive.options.popover.defaultHandleResize;\n }\n },\n openGroup: {\n type: String,\n default: null\n },\n openClass: {\n type: [String, Array],\n default: function _default() {\n return directive.options.popover.defaultOpenClass;\n }\n },\n ariaId: {\n default: null\n }\n },\n data: function data() {\n return {\n isOpen: false,\n id: Math.random().toString(36).substr(2, 10)\n };\n },\n computed: {\n cssClass: function cssClass() {\n return _defineProperty({}, this.openClass, this.isOpen);\n },\n popoverId: function popoverId() {\n return \"popover_\".concat(this.ariaId != null ? this.ariaId : this.id);\n }\n },\n watch: {\n open: function open(val) {\n if (val) {\n this.show();\n } else {\n this.hide();\n }\n },\n disabled: function disabled(val, oldVal) {\n if (val !== oldVal) {\n if (val) {\n this.hide();\n } else if (this.open) {\n this.show();\n }\n }\n },\n container: function container(val) {\n if (this.isOpen && this.popperInstance) {\n var popoverNode = this.$refs.popover;\n var reference = this.$refs.trigger;\n var container = this.$_findContainer(this.container, reference);\n\n if (!container) {\n console.warn('No container for popover', this);\n return;\n }\n\n container.appendChild(popoverNode);\n this.popperInstance.scheduleUpdate();\n }\n },\n trigger: function trigger(val) {\n this.$_removeEventListeners();\n this.$_addEventListeners();\n },\n placement: function placement(val) {\n var _this = this;\n\n this.$_updatePopper(function () {\n _this.popperInstance.options.placement = val;\n });\n },\n offset: '$_restartPopper',\n boundariesElement: '$_restartPopper',\n popperOptions: {\n handler: '$_restartPopper',\n deep: true\n }\n },\n created: function created() {\n this.$_isDisposed = false;\n this.$_mounted = false;\n this.$_events = [];\n this.$_preventOpen = false;\n },\n mounted: function mounted() {\n var popoverNode = this.$refs.popover;\n popoverNode.parentNode && popoverNode.parentNode.removeChild(popoverNode);\n this.$_init();\n\n if (this.open) {\n this.show();\n }\n },\n deactivated: function deactivated() {\n this.hide();\n },\n beforeDestroy: function beforeDestroy() {\n this.dispose();\n },\n methods: {\n show: function show() {\n var _this2 = this;\n\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n event = _ref2.event;\n _ref2.skipDelay;\n var _ref2$force = _ref2.force,\n force = _ref2$force === void 0 ? false : _ref2$force;\n\n if (force || !this.disabled) {\n this.$_scheduleShow(event);\n this.$emit('show');\n }\n\n this.$emit('update:open', true);\n this.$_beingShowed = true;\n requestAnimationFrame(function () {\n _this2.$_beingShowed = false;\n });\n },\n hide: function hide() {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n event = _ref3.event;\n _ref3.skipDelay;\n\n this.$_scheduleHide(event);\n this.$emit('hide');\n this.$emit('update:open', false);\n },\n dispose: function dispose() {\n this.$_isDisposed = true;\n this.$_removeEventListeners();\n this.hide({\n skipDelay: true\n });\n\n if (this.popperInstance) {\n this.popperInstance.destroy(); // destroy tooltipNode if removeOnDestroy is not set, as popperInstance.destroy() already removes the element\n\n if (!this.popperInstance.options.removeOnDestroy) {\n var popoverNode = this.$refs.popover;\n popoverNode.parentNode && popoverNode.parentNode.removeChild(popoverNode);\n }\n }\n\n this.$_mounted = false;\n this.popperInstance = null;\n this.isOpen = false;\n this.$emit('dispose');\n },\n $_init: function $_init() {\n if (this.trigger.indexOf('manual') === -1) {\n this.$_addEventListeners();\n }\n },\n $_show: function $_show() {\n var _this3 = this;\n\n var reference = this.$refs.trigger;\n var popoverNode = this.$refs.popover;\n clearTimeout(this.$_disposeTimer); // Already open\n\n if (this.isOpen) {\n return;\n } // Popper is already initialized\n\n\n if (this.popperInstance) {\n this.isOpen = true;\n this.popperInstance.enableEventListeners();\n this.popperInstance.scheduleUpdate();\n }\n\n if (!this.$_mounted) {\n var container = this.$_findContainer(this.container, reference);\n\n if (!container) {\n console.warn('No container for popover', this);\n return;\n }\n\n container.appendChild(popoverNode);\n this.$_mounted = true;\n this.isOpen = false;\n\n if (this.popperInstance) {\n requestAnimationFrame(function () {\n if (!_this3.hidden) {\n _this3.isOpen = true;\n }\n });\n }\n }\n\n if (!this.popperInstance) {\n var popperOptions = _objectSpread(_objectSpread({}, this.popperOptions), {}, {\n placement: this.placement\n });\n\n popperOptions.modifiers = _objectSpread(_objectSpread({}, popperOptions.modifiers), {}, {\n arrow: _objectSpread(_objectSpread({}, popperOptions.modifiers && popperOptions.modifiers.arrow), {}, {\n element: this.$refs.arrow\n })\n });\n\n if (this.offset) {\n var offset = this.$_getOffset();\n popperOptions.modifiers.offset = _objectSpread(_objectSpread({}, popperOptions.modifiers && popperOptions.modifiers.offset), {}, {\n offset: offset\n });\n }\n\n if (this.boundariesElement) {\n popperOptions.modifiers.preventOverflow = _objectSpread(_objectSpread({}, popperOptions.modifiers && popperOptions.modifiers.preventOverflow), {}, {\n boundariesElement: this.boundariesElement\n });\n }\n\n this.popperInstance = new Popper(reference, popoverNode, popperOptions); // Fix position\n\n requestAnimationFrame(function () {\n if (_this3.hidden) {\n _this3.hidden = false;\n\n _this3.$_hide();\n\n return;\n }\n\n if (!_this3.$_isDisposed && _this3.popperInstance) {\n _this3.popperInstance.scheduleUpdate(); // Show the tooltip\n\n\n requestAnimationFrame(function () {\n if (_this3.hidden) {\n _this3.hidden = false;\n\n _this3.$_hide();\n\n return;\n }\n\n if (!_this3.$_isDisposed) {\n _this3.isOpen = true;\n } else {\n _this3.dispose();\n }\n });\n } else {\n _this3.dispose();\n }\n });\n }\n\n var openGroup = this.openGroup;\n\n if (openGroup) {\n var popover;\n\n for (var i = 0; i < openPopovers.length; i++) {\n popover = openPopovers[i];\n\n if (popover.openGroup !== openGroup) {\n popover.hide();\n popover.$emit('close-group');\n }\n }\n }\n\n openPopovers.push(this);\n this.$emit('apply-show');\n },\n $_hide: function $_hide() {\n var _this4 = this;\n\n // Already hidden\n if (!this.isOpen) {\n return;\n }\n\n var index = openPopovers.indexOf(this);\n\n if (index !== -1) {\n openPopovers.splice(index, 1);\n }\n\n this.isOpen = false;\n\n if (this.popperInstance) {\n this.popperInstance.disableEventListeners();\n }\n\n clearTimeout(this.$_disposeTimer);\n var disposeTime = directive.options.popover.disposeTimeout || directive.options.disposeTimeout;\n\n if (disposeTime !== null) {\n this.$_disposeTimer = setTimeout(function () {\n var popoverNode = _this4.$refs.popover;\n\n if (popoverNode) {\n // Don't remove popper instance, just the HTML element\n popoverNode.parentNode && popoverNode.parentNode.removeChild(popoverNode);\n _this4.$_mounted = false;\n }\n }, disposeTime);\n }\n\n this.$emit('apply-hide');\n },\n $_findContainer: function $_findContainer(container, reference) {\n // if container is a query, get the relative element\n if (typeof container === 'string') {\n container = window.document.querySelector(container);\n } else if (container === false) {\n // if container is `false`, set it to reference parent\n container = reference.parentNode;\n }\n\n return container;\n },\n $_getOffset: function $_getOffset() {\n var typeofOffset = _typeof(this.offset);\n\n var offset = this.offset; // One value -> switch\n\n if (typeofOffset === 'number' || typeofOffset === 'string' && offset.indexOf(',') === -1) {\n offset = \"0, \".concat(offset);\n }\n\n return offset;\n },\n $_addEventListeners: function $_addEventListeners() {\n var _this5 = this;\n\n var reference = this.$refs.trigger;\n var directEvents = [];\n var oppositeEvents = [];\n var events = typeof this.trigger === 'string' ? this.trigger.split(' ').filter(function (trigger) {\n return ['click', 'hover', 'focus'].indexOf(trigger) !== -1;\n }) : [];\n events.forEach(function (event) {\n switch (event) {\n case 'hover':\n directEvents.push('mouseenter');\n oppositeEvents.push('mouseleave');\n break;\n\n case 'focus':\n directEvents.push('focus');\n oppositeEvents.push('blur');\n break;\n\n case 'click':\n directEvents.push('click');\n oppositeEvents.push('click');\n break;\n }\n }); // schedule show tooltip\n\n directEvents.forEach(function (event) {\n var func = function func(event) {\n if (_this5.isOpen) {\n return;\n }\n\n event.usedByTooltip = true;\n !_this5.$_preventOpen && _this5.show({\n event: event\n });\n _this5.hidden = false;\n };\n\n _this5.$_events.push({\n event: event,\n func: func\n });\n\n reference.addEventListener(event, func);\n }); // schedule hide tooltip\n\n oppositeEvents.forEach(function (event) {\n var func = function func(event) {\n if (event.usedByTooltip) {\n return;\n }\n\n _this5.hide({\n event: event\n });\n\n _this5.hidden = true;\n };\n\n _this5.$_events.push({\n event: event,\n func: func\n });\n\n reference.addEventListener(event, func);\n });\n },\n $_scheduleShow: function $_scheduleShow() {\n var skipDelay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n clearTimeout(this.$_scheduleTimer);\n\n if (skipDelay) {\n this.$_show();\n } else {\n // defaults to 0\n var computedDelay = parseInt(this.delay && this.delay.show || this.delay || 0);\n this.$_scheduleTimer = setTimeout(this.$_show.bind(this), computedDelay);\n }\n },\n $_scheduleHide: function $_scheduleHide() {\n var _this6 = this;\n\n var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var skipDelay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n clearTimeout(this.$_scheduleTimer);\n\n if (skipDelay) {\n this.$_hide();\n } else {\n // defaults to 0\n var computedDelay = parseInt(this.delay && this.delay.hide || this.delay || 0);\n this.$_scheduleTimer = setTimeout(function () {\n if (!_this6.isOpen) {\n return;\n } // if we are hiding because of a mouseleave, we must check that the new\n // reference isn't the tooltip, because in this case we don't want to hide it\n\n\n if (event && event.type === 'mouseleave') {\n var isSet = _this6.$_setTooltipNodeEvent(event); // if we set the new event, don't hide the tooltip yet\n // the new event will take care to hide it if necessary\n\n\n if (isSet) {\n return;\n }\n }\n\n _this6.$_hide();\n }, computedDelay);\n }\n },\n $_setTooltipNodeEvent: function $_setTooltipNodeEvent(event) {\n var _this7 = this;\n\n var reference = this.$refs.trigger;\n var popoverNode = this.$refs.popover;\n var relatedreference = event.relatedreference || event.toElement || event.relatedTarget;\n\n var callback = function callback(event2) {\n var relatedreference2 = event2.relatedreference || event2.toElement || event2.relatedTarget; // Remove event listener after call\n\n popoverNode.removeEventListener(event.type, callback); // If the new reference is not the reference element\n\n if (!reference.contains(relatedreference2)) {\n // Schedule to hide tooltip\n _this7.hide({\n event: event2\n });\n }\n };\n\n if (popoverNode.contains(relatedreference)) {\n // listen to mouseleave on the tooltip element to be able to hide the tooltip\n popoverNode.addEventListener(event.type, callback);\n return true;\n }\n\n return false;\n },\n $_removeEventListeners: function $_removeEventListeners() {\n var reference = this.$refs.trigger;\n this.$_events.forEach(function (_ref4) {\n var func = _ref4.func,\n event = _ref4.event;\n reference.removeEventListener(event, func);\n });\n this.$_events = [];\n },\n $_updatePopper: function $_updatePopper(cb) {\n if (this.popperInstance) {\n cb();\n if (this.isOpen) this.popperInstance.scheduleUpdate();\n }\n },\n $_restartPopper: function $_restartPopper() {\n if (this.popperInstance) {\n var isOpen = this.isOpen;\n this.dispose();\n this.$_isDisposed = false;\n this.$_init();\n\n if (isOpen) {\n this.show({\n skipDelay: true,\n force: true\n });\n }\n }\n },\n $_handleGlobalClose: function $_handleGlobalClose(event) {\n var _this8 = this;\n\n var touch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n if (this.$_beingShowed) return;\n this.hide({\n event: event\n });\n\n if (event.closePopover) {\n this.$emit('close-directive');\n } else {\n this.$emit('auto-hide');\n }\n\n if (touch) {\n this.$_preventOpen = true;\n setTimeout(function () {\n _this8.$_preventOpen = false;\n }, 300);\n }\n },\n $_handleResize: function $_handleResize() {\n if (this.isOpen && this.popperInstance) {\n this.popperInstance.scheduleUpdate();\n this.$emit('resize');\n }\n }\n }\n};\n\nif (typeof document !== 'undefined' && typeof window !== 'undefined') {\n if (isIOS) {\n document.addEventListener('touchend', handleGlobalTouchend, supportsPassive ? {\n passive: true,\n capture: true\n } : true);\n } else {\n window.addEventListener('click', handleGlobalClick, true);\n }\n}\n\nfunction handleGlobalClick(event) {\n handleGlobalClose(event);\n}\n\nfunction handleGlobalTouchend(event) {\n handleGlobalClose(event, true);\n}\n\nfunction handleGlobalClose(event) {\n var touch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var _loop = function _loop(i) {\n var popover = openPopovers[i];\n\n if (popover.$refs.popover) {\n var contains = popover.$refs.popover.contains(event.target);\n requestAnimationFrame(function () {\n if (event.closeAllPopover || event.closePopover && contains || popover.autoHide && !contains) {\n popover.$_handleGlobalClose(event, touch);\n }\n });\n }\n };\n\n // Delay so that close directive has time to set values\n for (var i = 0; i < openPopovers.length; i++) {\n _loop(i);\n }\n}\n\nfunction normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\r\n if (typeof shadowMode !== 'boolean') {\r\n createInjectorSSR = createInjector;\r\n createInjector = shadowMode;\r\n shadowMode = false;\r\n }\r\n // Vue.extend constructor export interop.\r\n const options = typeof script === 'function' ? script.options : script;\r\n // render functions\r\n if (template && template.render) {\r\n options.render = template.render;\r\n options.staticRenderFns = template.staticRenderFns;\r\n options._compiled = true;\r\n // functional template\r\n if (isFunctionalTemplate) {\r\n options.functional = true;\r\n }\r\n }\r\n // scopedId\r\n if (scopeId) {\r\n options._scopeId = scopeId;\r\n }\r\n let hook;\r\n if (moduleIdentifier) {\r\n // server build\r\n hook = function (context) {\r\n // 2.3 injection\r\n context =\r\n context || // cached call\r\n (this.$vnode && this.$vnode.ssrContext) || // stateful\r\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext); // functional\r\n // 2.2 with runInNewContext: true\r\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\r\n context = __VUE_SSR_CONTEXT__;\r\n }\r\n // inject component styles\r\n if (style) {\r\n style.call(this, createInjectorSSR(context));\r\n }\r\n // register component module identifier for async chunk inference\r\n if (context && context._registeredComponents) {\r\n context._registeredComponents.add(moduleIdentifier);\r\n }\r\n };\r\n // used by ssr in case component is cached and beforeCreate\r\n // never gets called\r\n options._ssrRegister = hook;\r\n }\r\n else if (style) {\r\n hook = shadowMode\r\n ? function (context) {\r\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\r\n }\r\n : function (context) {\r\n style.call(this, createInjector(context));\r\n };\r\n }\r\n if (hook) {\r\n if (options.functional) {\r\n // register for functional component in vue file\r\n const originalRender = options.render;\r\n options.render = function renderWithStyleInjection(h, context) {\r\n hook.call(context);\r\n return originalRender(h, context);\r\n };\r\n }\r\n else {\r\n // inject component registration as beforeCreate hook\r\n const existing = options.beforeCreate;\r\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\r\n }\r\n }\r\n return script;\r\n}\n\n/* script */\nvar __vue_script__ = script;\n/* template */\n\nvar __vue_render__ = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c(\"div\", {\n staticClass: \"v-popover\",\n class: _vm.cssClass\n }, [_c(\"div\", {\n ref: \"trigger\",\n staticClass: \"trigger\",\n staticStyle: {\n display: \"inline-block\"\n },\n attrs: {\n \"aria-describedby\": _vm.isOpen ? _vm.popoverId : undefined,\n tabindex: _vm.trigger.indexOf(\"focus\") !== -1 ? 0 : undefined\n }\n }, [_vm._t(\"default\")], 2), _vm._v(\" \"), _c(\"div\", {\n ref: \"popover\",\n class: [_vm.popoverBaseClass, _vm.popoverClass, _vm.cssClass],\n style: {\n visibility: _vm.isOpen ? \"visible\" : \"hidden\"\n },\n attrs: {\n id: _vm.popoverId,\n \"aria-hidden\": _vm.isOpen ? \"false\" : \"true\",\n tabindex: _vm.autoHide ? 0 : undefined\n },\n on: {\n keyup: function keyup($event) {\n if (!$event.type.indexOf(\"key\") && _vm._k($event.keyCode, \"esc\", 27, $event.key, [\"Esc\", \"Escape\"])) {\n return null;\n }\n\n _vm.autoHide && _vm.hide();\n }\n }\n }, [_c(\"div\", {\n class: _vm.popoverWrapperClass\n }, [_c(\"div\", {\n ref: \"inner\",\n class: _vm.popoverInnerClass,\n staticStyle: {\n position: \"relative\"\n }\n }, [_c(\"div\", [_vm._t(\"popover\", null, {\n isOpen: _vm.isOpen\n })], 2), _vm._v(\" \"), _vm.handleResize ? _c(\"ResizeObserver\", {\n on: {\n notify: _vm.$_handleResize\n }\n }) : _vm._e()], 1), _vm._v(\" \"), _c(\"div\", {\n ref: \"arrow\",\n class: _vm.popoverArrowClass\n })])])]);\n};\n\nvar __vue_staticRenderFns__ = [];\n__vue_render__._withStripped = true;\n/* style */\n\nvar __vue_inject_styles__ = undefined;\n/* scoped */\n\nvar __vue_scope_id__ = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__ = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__ = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__ = /*#__PURE__*/normalizeComponent({\n render: __vue_render__,\n staticRenderFns: __vue_staticRenderFns__\n}, __vue_inject_styles__, __vue_script__, __vue_scope_id__, __vue_is_functional_template__, __vue_module_identifier__, false, undefined, undefined, undefined);\n\nfunction styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nvar css_248z = \".resize-observer[data-v-8859cc6c]{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:transparent;pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer[data-v-8859cc6c] object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}\";\nstyleInject(css_248z);\n\nfunction install(Vue) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (install.installed) return;\n install.installed = true;\n var finalOptions = {};\n merge(finalOptions, defaultOptions, options);\n plugin.options = finalOptions;\n directive.options = finalOptions;\n Vue.directive('tooltip', directive);\n Vue.directive('close-popover', vclosepopover);\n Vue.component('VPopover', __vue_component__);\n}\nvar VTooltip = directive;\nvar VClosePopover = vclosepopover;\nvar VPopover = __vue_component__;\nvar plugin = {\n install: install,\n\n get enabled() {\n return state.enabled;\n },\n\n set enabled(value) {\n state.enabled = value;\n }\n\n}; // Auto-install\n\nvar GlobalVue = null;\n\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue;\n}\n\nif (GlobalVue) {\n GlobalVue.use(plugin);\n}\n\nexport default plugin;\nexport { VClosePopover, VPopover, VTooltip, createTooltip, destroyTooltip, install };\n","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","<template>\n <span :aria-hidden=\"!title\"\n :aria-label=\"title\"\n class=\"material-design-icon chevron-left-icon\"\n role=\"img\"\n v-bind=\"$attrs\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M15.41,16.58L10.83,12L15.41,7.41L14,6L8,12L14,18L15.41,16.58Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"ChevronLeftIcon\",\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./ChevronLeft.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ChevronLeft.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ChevronLeft.vue?vue&type=template&id=5de37570&\"\nimport script from \"./ChevronLeft.vue?vue&type=script&lang=js&\"\nexport * from \"./ChevronLeft.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',_vm._b({staticClass:\"material-design-icon chevron-left-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M15.41,16.58L10.83,12L15.41,7.41L14,6L8,12L14,18L15.41,16.58Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <span :aria-hidden=\"!title\"\n :aria-label=\"title\"\n class=\"material-design-icon chevron-right-icon\"\n role=\"img\"\n v-bind=\"$attrs\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"ChevronRightIcon\",\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./ChevronRight.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ChevronRight.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ChevronRight.vue?vue&type=template&id=fbe63c02&\"\nimport script from \"./ChevronRight.vue?vue&type=script&lang=js&\"\nexport * from \"./ChevronRight.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',_vm._b({staticClass:\"material-design-icon chevron-right-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <span :aria-hidden=\"!title\"\n :aria-label=\"title\"\n class=\"material-design-icon close-icon\"\n role=\"img\"\n v-bind=\"$attrs\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"CloseIcon\",\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Close.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Close.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Close.vue?vue&type=template&id=6c71068e&\"\nimport script from \"./Close.vue?vue&type=script&lang=js&\"\nexport * from \"./Close.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',_vm._b({staticClass:\"material-design-icon close-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <span :aria-hidden=\"!title\"\n :aria-label=\"title\"\n class=\"material-design-icon dots-horizontal-icon\"\n role=\"img\"\n v-bind=\"$attrs\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M16,12A2,2 0 0,1 18,10A2,2 0 0,1 20,12A2,2 0 0,1 18,14A2,2 0 0,1 16,12M10,12A2,2 0 0,1 12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12M4,12A2,2 0 0,1 6,10A2,2 0 0,1 8,12A2,2 0 0,1 6,14A2,2 0 0,1 4,12Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"DotsHorizontalIcon\",\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./DotsHorizontal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./DotsHorizontal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DotsHorizontal.vue?vue&type=template&id=ea59d84c&\"\nimport script from \"./DotsHorizontal.vue?vue&type=script&lang=js&\"\nexport * from \"./DotsHorizontal.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',_vm._b({staticClass:\"material-design-icon dots-horizontal-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M16,12A2,2 0 0,1 18,10A2,2 0 0,1 20,12A2,2 0 0,1 18,14A2,2 0 0,1 16,12M10,12A2,2 0 0,1 12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12M4,12A2,2 0 0,1 6,10A2,2 0 0,1 8,12A2,2 0 0,1 6,14A2,2 0 0,1 4,12Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <span :aria-hidden=\"!title\"\n :aria-label=\"title\"\n class=\"material-design-icon pause-icon\"\n role=\"img\"\n v-bind=\"$attrs\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M14,19H18V5H14M6,19H10V5H6V19Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"PauseIcon\",\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Pause.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Pause.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Pause.vue?vue&type=template&id=3335ab9e&\"\nimport script from \"./Pause.vue?vue&type=script&lang=js&\"\nexport * from \"./Pause.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',_vm._b({staticClass:\"material-design-icon pause-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M14,19H18V5H14M6,19H10V5H6V19Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <span :aria-hidden=\"!title\"\n :aria-label=\"title\"\n class=\"material-design-icon play-icon\"\n role=\"img\"\n v-bind=\"$attrs\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M8,5.14V19.14L19,12.14L8,5.14Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"PlayIcon\",\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Play.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Play.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Play.vue?vue&type=template&id=4d9eb9d0&\"\nimport script from \"./Play.vue?vue&type=script&lang=js&\"\nexport * from \"./Play.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',_vm._b({staticClass:\"material-design-icon play-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M8,5.14V19.14L19,12.14L8,5.14Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","/*!\n * Vue.js v2.6.14\n * (c) 2014-2021 Evan You\n * Released under the MIT License.\n */\n/* */\n\nvar emptyObject = Object.freeze({});\n\n// These helpers produce better VM code in JS engines due to their\n// explicitness and function inlining.\nfunction isUndef (v) {\n return v === undefined || v === null\n}\n\nfunction isDef (v) {\n return v !== undefined && v !== null\n}\n\nfunction isTrue (v) {\n return v === true\n}\n\nfunction isFalse (v) {\n return v === false\n}\n\n/**\n * Check if value is primitive.\n */\nfunction isPrimitive (value) {\n return (\n typeof value === 'string' ||\n typeof value === 'number' ||\n // $flow-disable-line\n typeof value === 'symbol' ||\n typeof value === 'boolean'\n )\n}\n\n/**\n * Quick object check - this is primarily used to tell\n * Objects from primitive values when we know the value\n * is a JSON-compliant type.\n */\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\n/**\n * Get the raw type string of a value, e.g., [object Object].\n */\nvar _toString = Object.prototype.toString;\n\nfunction toRawType (value) {\n return _toString.call(value).slice(8, -1)\n}\n\n/**\n * Strict object type check. Only returns true\n * for plain JavaScript objects.\n */\nfunction isPlainObject (obj) {\n return _toString.call(obj) === '[object Object]'\n}\n\nfunction isRegExp (v) {\n return _toString.call(v) === '[object RegExp]'\n}\n\n/**\n * Check if val is a valid array index.\n */\nfunction isValidArrayIndex (val) {\n var n = parseFloat(String(val));\n return n >= 0 && Math.floor(n) === n && isFinite(val)\n}\n\nfunction isPromise (val) {\n return (\n isDef(val) &&\n typeof val.then === 'function' &&\n typeof val.catch === 'function'\n )\n}\n\n/**\n * Convert a value to a string that is actually rendered.\n */\nfunction toString (val) {\n return val == null\n ? ''\n : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString)\n ? JSON.stringify(val, null, 2)\n : String(val)\n}\n\n/**\n * Convert an input value to a number for persistence.\n * If the conversion fails, return original string.\n */\nfunction toNumber (val) {\n var n = parseFloat(val);\n return isNaN(n) ? val : n\n}\n\n/**\n * Make a map and return a function for checking if a key\n * is in that map.\n */\nfunction makeMap (\n str,\n expectsLowerCase\n) {\n var map = Object.create(null);\n var list = str.split(',');\n for (var i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase\n ? function (val) { return map[val.toLowerCase()]; }\n : function (val) { return map[val]; }\n}\n\n/**\n * Check if a tag is a built-in tag.\n */\nvar isBuiltInTag = makeMap('slot,component', true);\n\n/**\n * Check if an attribute is a reserved attribute.\n */\nvar isReservedAttribute = makeMap('key,ref,slot,slot-scope,is');\n\n/**\n * Remove an item from an array.\n */\nfunction remove (arr, item) {\n if (arr.length) {\n var index = arr.indexOf(item);\n if (index > -1) {\n return arr.splice(index, 1)\n }\n }\n}\n\n/**\n * Check whether an object has the property.\n */\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn (obj, key) {\n return hasOwnProperty.call(obj, key)\n}\n\n/**\n * Create a cached version of a pure function.\n */\nfunction cached (fn) {\n var cache = Object.create(null);\n return (function cachedFn (str) {\n var hit = cache[str];\n return hit || (cache[str] = fn(str))\n })\n}\n\n/**\n * Camelize a hyphen-delimited string.\n */\nvar camelizeRE = /-(\\w)/g;\nvar camelize = cached(function (str) {\n return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; })\n});\n\n/**\n * Capitalize a string.\n */\nvar capitalize = cached(function (str) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n});\n\n/**\n * Hyphenate a camelCase string.\n */\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = cached(function (str) {\n return str.replace(hyphenateRE, '-$1').toLowerCase()\n});\n\n/**\n * Simple bind polyfill for environments that do not support it,\n * e.g., PhantomJS 1.x. Technically, we don't need this anymore\n * since native bind is now performant enough in most browsers.\n * But removing it would mean breaking code that was able to run in\n * PhantomJS 1.x, so this must be kept for backward compatibility.\n */\n\n/* istanbul ignore next */\nfunction polyfillBind (fn, ctx) {\n function boundFn (a) {\n var l = arguments.length;\n return l\n ? l > 1\n ? fn.apply(ctx, arguments)\n : fn.call(ctx, a)\n : fn.call(ctx)\n }\n\n boundFn._length = fn.length;\n return boundFn\n}\n\nfunction nativeBind (fn, ctx) {\n return fn.bind(ctx)\n}\n\nvar bind = Function.prototype.bind\n ? nativeBind\n : polyfillBind;\n\n/**\n * Convert an Array-like object to a real Array.\n */\nfunction toArray (list, start) {\n start = start || 0;\n var i = list.length - start;\n var ret = new Array(i);\n while (i--) {\n ret[i] = list[i + start];\n }\n return ret\n}\n\n/**\n * Mix properties into target object.\n */\nfunction extend (to, _from) {\n for (var key in _from) {\n to[key] = _from[key];\n }\n return to\n}\n\n/**\n * Merge an Array of Objects into a single Object.\n */\nfunction toObject (arr) {\n var res = {};\n for (var i = 0; i < arr.length; i++) {\n if (arr[i]) {\n extend(res, arr[i]);\n }\n }\n return res\n}\n\n/* eslint-disable no-unused-vars */\n\n/**\n * Perform no operation.\n * Stubbing args to make Flow happy without leaving useless transpiled code\n * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/).\n */\nfunction noop (a, b, c) {}\n\n/**\n * Always return false.\n */\nvar no = function (a, b, c) { return false; };\n\n/* eslint-enable no-unused-vars */\n\n/**\n * Return the same value.\n */\nvar identity = function (_) { return _; };\n\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n */\nfunction looseEqual (a, b) {\n if (a === b) { return true }\n var isObjectA = isObject(a);\n var isObjectB = isObject(b);\n if (isObjectA && isObjectB) {\n try {\n var isArrayA = Array.isArray(a);\n var isArrayB = Array.isArray(b);\n if (isArrayA && isArrayB) {\n return a.length === b.length && a.every(function (e, i) {\n return looseEqual(e, b[i])\n })\n } else if (a instanceof Date && b instanceof Date) {\n return a.getTime() === b.getTime()\n } else if (!isArrayA && !isArrayB) {\n var keysA = Object.keys(a);\n var keysB = Object.keys(b);\n return keysA.length === keysB.length && keysA.every(function (key) {\n return looseEqual(a[key], b[key])\n })\n } else {\n /* istanbul ignore next */\n return false\n }\n } catch (e) {\n /* istanbul ignore next */\n return false\n }\n } else if (!isObjectA && !isObjectB) {\n return String(a) === String(b)\n } else {\n return false\n }\n}\n\n/**\n * Return the first index at which a loosely equal value can be\n * found in the array (if value is a plain object, the array must\n * contain an object of the same shape), or -1 if it is not present.\n */\nfunction looseIndexOf (arr, val) {\n for (var i = 0; i < arr.length; i++) {\n if (looseEqual(arr[i], val)) { return i }\n }\n return -1\n}\n\n/**\n * Ensure a function is called only once.\n */\nfunction once (fn) {\n var called = false;\n return function () {\n if (!called) {\n called = true;\n fn.apply(this, arguments);\n }\n }\n}\n\nvar SSR_ATTR = 'data-server-rendered';\n\nvar ASSET_TYPES = [\n 'component',\n 'directive',\n 'filter'\n];\n\nvar LIFECYCLE_HOOKS = [\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeUpdate',\n 'updated',\n 'beforeDestroy',\n 'destroyed',\n 'activated',\n 'deactivated',\n 'errorCaptured',\n 'serverPrefetch'\n];\n\n/* */\n\n\n\nvar config = ({\n /**\n * Option merge strategies (used in core/util/options)\n */\n // $flow-disable-line\n optionMergeStrategies: Object.create(null),\n\n /**\n * Whether to suppress warnings.\n */\n silent: false,\n\n /**\n * Show production mode tip message on boot?\n */\n productionTip: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to enable devtools\n */\n devtools: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to record perf\n */\n performance: false,\n\n /**\n * Error handler for watcher errors\n */\n errorHandler: null,\n\n /**\n * Warn handler for watcher warns\n */\n warnHandler: null,\n\n /**\n * Ignore certain custom elements\n */\n ignoredElements: [],\n\n /**\n * Custom user key aliases for v-on\n */\n // $flow-disable-line\n keyCodes: Object.create(null),\n\n /**\n * Check if a tag is reserved so that it cannot be registered as a\n * component. This is platform-dependent and may be overwritten.\n */\n isReservedTag: no,\n\n /**\n * Check if an attribute is reserved so that it cannot be used as a component\n * prop. This is platform-dependent and may be overwritten.\n */\n isReservedAttr: no,\n\n /**\n * Check if a tag is an unknown element.\n * Platform-dependent.\n */\n isUnknownElement: no,\n\n /**\n * Get the namespace of an element\n */\n getTagNamespace: noop,\n\n /**\n * Parse the real tag name for the specific platform.\n */\n parsePlatformTagName: identity,\n\n /**\n * Check if an attribute must be bound using property, e.g. value\n * Platform-dependent.\n */\n mustUseProp: no,\n\n /**\n * Perform updates asynchronously. Intended to be used by Vue Test Utils\n * This will significantly reduce performance if set to false.\n */\n async: true,\n\n /**\n * Exposed for legacy reasons\n */\n _lifecycleHooks: LIFECYCLE_HOOKS\n});\n\n/* */\n\n/**\n * unicode letters used for parsing html tags, component names and property paths.\n * using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname\n * skipping \\u10000-\\uEFFFF due to it freezing up PhantomJS\n */\nvar unicodeRegExp = /a-zA-Z\\u00B7\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u203F-\\u2040\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD/;\n\n/**\n * Check if a string starts with $ or _\n */\nfunction isReserved (str) {\n var c = (str + '').charCodeAt(0);\n return c === 0x24 || c === 0x5F\n}\n\n/**\n * Define a property.\n */\nfunction def (obj, key, val, enumerable) {\n Object.defineProperty(obj, key, {\n value: val,\n enumerable: !!enumerable,\n writable: true,\n configurable: true\n });\n}\n\n/**\n * Parse simple path.\n */\nvar bailRE = new RegExp((\"[^\" + (unicodeRegExp.source) + \".$_\\\\d]\"));\nfunction parsePath (path) {\n if (bailRE.test(path)) {\n return\n }\n var segments = path.split('.');\n return function (obj) {\n for (var i = 0; i < segments.length; i++) {\n if (!obj) { return }\n obj = obj[segments[i]];\n }\n return obj\n }\n}\n\n/* */\n\n// can we use __proto__?\nvar hasProto = '__proto__' in {};\n\n// Browser environment sniffing\nvar inBrowser = typeof window !== 'undefined';\nvar inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;\nvar weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();\nvar UA = inBrowser && window.navigator.userAgent.toLowerCase();\nvar isIE = UA && /msie|trident/.test(UA);\nvar isIE9 = UA && UA.indexOf('msie 9.0') > 0;\nvar isEdge = UA && UA.indexOf('edge/') > 0;\nvar isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android');\nvar isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios');\nvar isChrome = UA && /chrome\\/\\d+/.test(UA) && !isEdge;\nvar isPhantomJS = UA && /phantomjs/.test(UA);\nvar isFF = UA && UA.match(/firefox\\/(\\d+)/);\n\n// Firefox has a \"watch\" function on Object.prototype...\nvar nativeWatch = ({}).watch;\n\nvar supportsPassive = false;\nif (inBrowser) {\n try {\n var opts = {};\n Object.defineProperty(opts, 'passive', ({\n get: function get () {\n /* istanbul ignore next */\n supportsPassive = true;\n }\n })); // https://github.com/facebook/flow/issues/285\n window.addEventListener('test-passive', null, opts);\n } catch (e) {}\n}\n\n// this needs to be lazy-evaled because vue may be required before\n// vue-server-renderer can set VUE_ENV\nvar _isServer;\nvar isServerRendering = function () {\n if (_isServer === undefined) {\n /* istanbul ignore if */\n if (!inBrowser && !inWeex && typeof global !== 'undefined') {\n // detect presence of vue-server-renderer and avoid\n // Webpack shimming the process\n _isServer = global['process'] && global['process'].env.VUE_ENV === 'server';\n } else {\n _isServer = false;\n }\n }\n return _isServer\n};\n\n// detect devtools\nvar devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\n/* istanbul ignore next */\nfunction isNative (Ctor) {\n return typeof Ctor === 'function' && /native code/.test(Ctor.toString())\n}\n\nvar hasSymbol =\n typeof Symbol !== 'undefined' && isNative(Symbol) &&\n typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys);\n\nvar _Set;\n/* istanbul ignore if */ // $flow-disable-line\nif (typeof Set !== 'undefined' && isNative(Set)) {\n // use native Set when available.\n _Set = Set;\n} else {\n // a non-standard Set polyfill that only works with primitive keys.\n _Set = /*@__PURE__*/(function () {\n function Set () {\n this.set = Object.create(null);\n }\n Set.prototype.has = function has (key) {\n return this.set[key] === true\n };\n Set.prototype.add = function add (key) {\n this.set[key] = true;\n };\n Set.prototype.clear = function clear () {\n this.set = Object.create(null);\n };\n\n return Set;\n }());\n}\n\n/* */\n\nvar warn = noop;\nvar tip = noop;\nvar generateComponentTrace = (noop); // work around flow check\nvar formatComponentName = (noop);\n\nif (process.env.NODE_ENV !== 'production') {\n var hasConsole = typeof console !== 'undefined';\n var classifyRE = /(?:^|[-_])(\\w)/g;\n var classify = function (str) { return str\n .replace(classifyRE, function (c) { return c.toUpperCase(); })\n .replace(/[-_]/g, ''); };\n\n warn = function (msg, vm) {\n var trace = vm ? generateComponentTrace(vm) : '';\n\n if (config.warnHandler) {\n config.warnHandler.call(null, msg, vm, trace);\n } else if (hasConsole && (!config.silent)) {\n console.error((\"[Vue warn]: \" + msg + trace));\n }\n };\n\n tip = function (msg, vm) {\n if (hasConsole && (!config.silent)) {\n console.warn(\"[Vue tip]: \" + msg + (\n vm ? generateComponentTrace(vm) : ''\n ));\n }\n };\n\n formatComponentName = function (vm, includeFile) {\n if (vm.$root === vm) {\n return '<Root>'\n }\n var options = typeof vm === 'function' && vm.cid != null\n ? vm.options\n : vm._isVue\n ? vm.$options || vm.constructor.options\n : vm;\n var name = options.name || options._componentTag;\n var file = options.__file;\n if (!name && file) {\n var match = file.match(/([^/\\\\]+)\\.vue$/);\n name = match && match[1];\n }\n\n return (\n (name ? (\"<\" + (classify(name)) + \">\") : \"<Anonymous>\") +\n (file && includeFile !== false ? (\" at \" + file) : '')\n )\n };\n\n var repeat = function (str, n) {\n var res = '';\n while (n) {\n if (n % 2 === 1) { res += str; }\n if (n > 1) { str += str; }\n n >>= 1;\n }\n return res\n };\n\n generateComponentTrace = function (vm) {\n if (vm._isVue && vm.$parent) {\n var tree = [];\n var currentRecursiveSequence = 0;\n while (vm) {\n if (tree.length > 0) {\n var last = tree[tree.length - 1];\n if (last.constructor === vm.constructor) {\n currentRecursiveSequence++;\n vm = vm.$parent;\n continue\n } else if (currentRecursiveSequence > 0) {\n tree[tree.length - 1] = [last, currentRecursiveSequence];\n currentRecursiveSequence = 0;\n }\n }\n tree.push(vm);\n vm = vm.$parent;\n }\n return '\\n\\nfound in\\n\\n' + tree\n .map(function (vm, i) { return (\"\" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm)\n ? ((formatComponentName(vm[0])) + \"... (\" + (vm[1]) + \" recursive calls)\")\n : formatComponentName(vm))); })\n .join('\\n')\n } else {\n return (\"\\n\\n(found in \" + (formatComponentName(vm)) + \")\")\n }\n };\n}\n\n/* */\n\nvar uid = 0;\n\n/**\n * A dep is an observable that can have multiple\n * directives subscribing to it.\n */\nvar Dep = function Dep () {\n this.id = uid++;\n this.subs = [];\n};\n\nDep.prototype.addSub = function addSub (sub) {\n this.subs.push(sub);\n};\n\nDep.prototype.removeSub = function removeSub (sub) {\n remove(this.subs, sub);\n};\n\nDep.prototype.depend = function depend () {\n if (Dep.target) {\n Dep.target.addDep(this);\n }\n};\n\nDep.prototype.notify = function notify () {\n // stabilize the subscriber list first\n var subs = this.subs.slice();\n if (process.env.NODE_ENV !== 'production' && !config.async) {\n // subs aren't sorted in scheduler if not running async\n // we need to sort them now to make sure they fire in correct\n // order\n subs.sort(function (a, b) { return a.id - b.id; });\n }\n for (var i = 0, l = subs.length; i < l; i++) {\n subs[i].update();\n }\n};\n\n// The current target watcher being evaluated.\n// This is globally unique because only one watcher\n// can be evaluated at a time.\nDep.target = null;\nvar targetStack = [];\n\nfunction pushTarget (target) {\n targetStack.push(target);\n Dep.target = target;\n}\n\nfunction popTarget () {\n targetStack.pop();\n Dep.target = targetStack[targetStack.length - 1];\n}\n\n/* */\n\nvar VNode = function VNode (\n tag,\n data,\n children,\n text,\n elm,\n context,\n componentOptions,\n asyncFactory\n) {\n this.tag = tag;\n this.data = data;\n this.children = children;\n this.text = text;\n this.elm = elm;\n this.ns = undefined;\n this.context = context;\n this.fnContext = undefined;\n this.fnOptions = undefined;\n this.fnScopeId = undefined;\n this.key = data && data.key;\n this.componentOptions = componentOptions;\n this.componentInstance = undefined;\n this.parent = undefined;\n this.raw = false;\n this.isStatic = false;\n this.isRootInsert = true;\n this.isComment = false;\n this.isCloned = false;\n this.isOnce = false;\n this.asyncFactory = asyncFactory;\n this.asyncMeta = undefined;\n this.isAsyncPlaceholder = false;\n};\n\nvar prototypeAccessors = { child: { configurable: true } };\n\n// DEPRECATED: alias for componentInstance for backwards compat.\n/* istanbul ignore next */\nprototypeAccessors.child.get = function () {\n return this.componentInstance\n};\n\nObject.defineProperties( VNode.prototype, prototypeAccessors );\n\nvar createEmptyVNode = function (text) {\n if ( text === void 0 ) text = '';\n\n var node = new VNode();\n node.text = text;\n node.isComment = true;\n return node\n};\n\nfunction createTextVNode (val) {\n return new VNode(undefined, undefined, undefined, String(val))\n}\n\n// optimized shallow clone\n// used for static nodes and slot nodes because they may be reused across\n// multiple renders, cloning them avoids errors when DOM manipulations rely\n// on their elm reference.\nfunction cloneVNode (vnode) {\n var cloned = new VNode(\n vnode.tag,\n vnode.data,\n // #7975\n // clone children array to avoid mutating original in case of cloning\n // a child.\n vnode.children && vnode.children.slice(),\n vnode.text,\n vnode.elm,\n vnode.context,\n vnode.componentOptions,\n vnode.asyncFactory\n );\n cloned.ns = vnode.ns;\n cloned.isStatic = vnode.isStatic;\n cloned.key = vnode.key;\n cloned.isComment = vnode.isComment;\n cloned.fnContext = vnode.fnContext;\n cloned.fnOptions = vnode.fnOptions;\n cloned.fnScopeId = vnode.fnScopeId;\n cloned.asyncMeta = vnode.asyncMeta;\n cloned.isCloned = true;\n return cloned\n}\n\n/*\n * not type checking this file because flow doesn't play well with\n * dynamically accessing methods on Array prototype\n */\n\nvar arrayProto = Array.prototype;\nvar arrayMethods = Object.create(arrayProto);\n\nvar methodsToPatch = [\n 'push',\n 'pop',\n 'shift',\n 'unshift',\n 'splice',\n 'sort',\n 'reverse'\n];\n\n/**\n * Intercept mutating methods and emit events\n */\nmethodsToPatch.forEach(function (method) {\n // cache original method\n var original = arrayProto[method];\n def(arrayMethods, method, function mutator () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var result = original.apply(this, args);\n var ob = this.__ob__;\n var inserted;\n switch (method) {\n case 'push':\n case 'unshift':\n inserted = args;\n break\n case 'splice':\n inserted = args.slice(2);\n break\n }\n if (inserted) { ob.observeArray(inserted); }\n // notify change\n ob.dep.notify();\n return result\n });\n});\n\n/* */\n\nvar arrayKeys = Object.getOwnPropertyNames(arrayMethods);\n\n/**\n * In some cases we may want to disable observation inside a component's\n * update computation.\n */\nvar shouldObserve = true;\n\nfunction toggleObserving (value) {\n shouldObserve = value;\n}\n\n/**\n * Observer class that is attached to each observed\n * object. Once attached, the observer converts the target\n * object's property keys into getter/setters that\n * collect dependencies and dispatch updates.\n */\nvar Observer = function Observer (value) {\n this.value = value;\n this.dep = new Dep();\n this.vmCount = 0;\n def(value, '__ob__', this);\n if (Array.isArray(value)) {\n if (hasProto) {\n protoAugment(value, arrayMethods);\n } else {\n copyAugment(value, arrayMethods, arrayKeys);\n }\n this.observeArray(value);\n } else {\n this.walk(value);\n }\n};\n\n/**\n * Walk through all properties and convert them into\n * getter/setters. This method should only be called when\n * value type is Object.\n */\nObserver.prototype.walk = function walk (obj) {\n var keys = Object.keys(obj);\n for (var i = 0; i < keys.length; i++) {\n defineReactive$$1(obj, keys[i]);\n }\n};\n\n/**\n * Observe a list of Array items.\n */\nObserver.prototype.observeArray = function observeArray (items) {\n for (var i = 0, l = items.length; i < l; i++) {\n observe(items[i]);\n }\n};\n\n// helpers\n\n/**\n * Augment a target Object or Array by intercepting\n * the prototype chain using __proto__\n */\nfunction protoAugment (target, src) {\n /* eslint-disable no-proto */\n target.__proto__ = src;\n /* eslint-enable no-proto */\n}\n\n/**\n * Augment a target Object or Array by defining\n * hidden properties.\n */\n/* istanbul ignore next */\nfunction copyAugment (target, src, keys) {\n for (var i = 0, l = keys.length; i < l; i++) {\n var key = keys[i];\n def(target, key, src[key]);\n }\n}\n\n/**\n * Attempt to create an observer instance for a value,\n * returns the new observer if successfully observed,\n * or the existing observer if the value already has one.\n */\nfunction observe (value, asRootData) {\n if (!isObject(value) || value instanceof VNode) {\n return\n }\n var ob;\n if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {\n ob = value.__ob__;\n } else if (\n shouldObserve &&\n !isServerRendering() &&\n (Array.isArray(value) || isPlainObject(value)) &&\n Object.isExtensible(value) &&\n !value._isVue\n ) {\n ob = new Observer(value);\n }\n if (asRootData && ob) {\n ob.vmCount++;\n }\n return ob\n}\n\n/**\n * Define a reactive property on an Object.\n */\nfunction defineReactive$$1 (\n obj,\n key,\n val,\n customSetter,\n shallow\n) {\n var dep = new Dep();\n\n var property = Object.getOwnPropertyDescriptor(obj, key);\n if (property && property.configurable === false) {\n return\n }\n\n // cater for pre-defined getter/setters\n var getter = property && property.get;\n var setter = property && property.set;\n if ((!getter || setter) && arguments.length === 2) {\n val = obj[key];\n }\n\n var childOb = !shallow && observe(val);\n Object.defineProperty(obj, key, {\n enumerable: true,\n configurable: true,\n get: function reactiveGetter () {\n var value = getter ? getter.call(obj) : val;\n if (Dep.target) {\n dep.depend();\n if (childOb) {\n childOb.dep.depend();\n if (Array.isArray(value)) {\n dependArray(value);\n }\n }\n }\n return value\n },\n set: function reactiveSetter (newVal) {\n var value = getter ? getter.call(obj) : val;\n /* eslint-disable no-self-compare */\n if (newVal === value || (newVal !== newVal && value !== value)) {\n return\n }\n /* eslint-enable no-self-compare */\n if (process.env.NODE_ENV !== 'production' && customSetter) {\n customSetter();\n }\n // #7981: for accessor properties without setter\n if (getter && !setter) { return }\n if (setter) {\n setter.call(obj, newVal);\n } else {\n val = newVal;\n }\n childOb = !shallow && observe(newVal);\n dep.notify();\n }\n });\n}\n\n/**\n * Set a property on an object. Adds the new property and\n * triggers change notification if the property doesn't\n * already exist.\n */\nfunction set (target, key, val) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot set reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.length = Math.max(target.length, key);\n target.splice(key, 1, val);\n return val\n }\n if (key in target && !(key in Object.prototype)) {\n target[key] = val;\n return val\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid adding reactive properties to a Vue instance or its root $data ' +\n 'at runtime - declare it upfront in the data option.'\n );\n return val\n }\n if (!ob) {\n target[key] = val;\n return val\n }\n defineReactive$$1(ob.value, key, val);\n ob.dep.notify();\n return val\n}\n\n/**\n * Delete a property and trigger change if necessary.\n */\nfunction del (target, key) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot delete reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.splice(key, 1);\n return\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid deleting properties on a Vue instance or its root $data ' +\n '- just set it to null.'\n );\n return\n }\n if (!hasOwn(target, key)) {\n return\n }\n delete target[key];\n if (!ob) {\n return\n }\n ob.dep.notify();\n}\n\n/**\n * Collect dependencies on array elements when the array is touched, since\n * we cannot intercept array element access like property getters.\n */\nfunction dependArray (value) {\n for (var e = (void 0), i = 0, l = value.length; i < l; i++) {\n e = value[i];\n e && e.__ob__ && e.__ob__.dep.depend();\n if (Array.isArray(e)) {\n dependArray(e);\n }\n }\n}\n\n/* */\n\n/**\n * Option overwriting strategies are functions that handle\n * how to merge a parent option value and a child option\n * value into the final value.\n */\nvar strats = config.optionMergeStrategies;\n\n/**\n * Options with restrictions\n */\nif (process.env.NODE_ENV !== 'production') {\n strats.el = strats.propsData = function (parent, child, vm, key) {\n if (!vm) {\n warn(\n \"option \\\"\" + key + \"\\\" can only be used during instance \" +\n 'creation with the `new` keyword.'\n );\n }\n return defaultStrat(parent, child)\n };\n}\n\n/**\n * Helper that recursively merges two data objects together.\n */\nfunction mergeData (to, from) {\n if (!from) { return to }\n var key, toVal, fromVal;\n\n var keys = hasSymbol\n ? Reflect.ownKeys(from)\n : Object.keys(from);\n\n for (var i = 0; i < keys.length; i++) {\n key = keys[i];\n // in case the object is already observed...\n if (key === '__ob__') { continue }\n toVal = to[key];\n fromVal = from[key];\n if (!hasOwn(to, key)) {\n set(to, key, fromVal);\n } else if (\n toVal !== fromVal &&\n isPlainObject(toVal) &&\n isPlainObject(fromVal)\n ) {\n mergeData(toVal, fromVal);\n }\n }\n return to\n}\n\n/**\n * Data\n */\nfunction mergeDataOrFn (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n // in a Vue.extend merge, both should be functions\n if (!childVal) {\n return parentVal\n }\n if (!parentVal) {\n return childVal\n }\n // when parentVal & childVal are both present,\n // we need to return a function that returns the\n // merged result of both functions... no need to\n // check if parentVal is a function here because\n // it has to be a function to pass previous merges.\n return function mergedDataFn () {\n return mergeData(\n typeof childVal === 'function' ? childVal.call(this, this) : childVal,\n typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal\n )\n }\n } else {\n return function mergedInstanceDataFn () {\n // instance merge\n var instanceData = typeof childVal === 'function'\n ? childVal.call(vm, vm)\n : childVal;\n var defaultData = typeof parentVal === 'function'\n ? parentVal.call(vm, vm)\n : parentVal;\n if (instanceData) {\n return mergeData(instanceData, defaultData)\n } else {\n return defaultData\n }\n }\n }\n}\n\nstrats.data = function (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n if (childVal && typeof childVal !== 'function') {\n process.env.NODE_ENV !== 'production' && warn(\n 'The \"data\" option should be a function ' +\n 'that returns a per-instance value in component ' +\n 'definitions.',\n vm\n );\n\n return parentVal\n }\n return mergeDataOrFn(parentVal, childVal)\n }\n\n return mergeDataOrFn(parentVal, childVal, vm)\n};\n\n/**\n * Hooks and props are merged as arrays.\n */\nfunction mergeHook (\n parentVal,\n childVal\n) {\n var res = childVal\n ? parentVal\n ? parentVal.concat(childVal)\n : Array.isArray(childVal)\n ? childVal\n : [childVal]\n : parentVal;\n return res\n ? dedupeHooks(res)\n : res\n}\n\nfunction dedupeHooks (hooks) {\n var res = [];\n for (var i = 0; i < hooks.length; i++) {\n if (res.indexOf(hooks[i]) === -1) {\n res.push(hooks[i]);\n }\n }\n return res\n}\n\nLIFECYCLE_HOOKS.forEach(function (hook) {\n strats[hook] = mergeHook;\n});\n\n/**\n * Assets\n *\n * When a vm is present (instance creation), we need to do\n * a three-way merge between constructor options, instance\n * options and parent options.\n */\nfunction mergeAssets (\n parentVal,\n childVal,\n vm,\n key\n) {\n var res = Object.create(parentVal || null);\n if (childVal) {\n process.env.NODE_ENV !== 'production' && assertObjectType(key, childVal, vm);\n return extend(res, childVal)\n } else {\n return res\n }\n}\n\nASSET_TYPES.forEach(function (type) {\n strats[type + 's'] = mergeAssets;\n});\n\n/**\n * Watchers.\n *\n * Watchers hashes should not overwrite one\n * another, so we merge them as arrays.\n */\nstrats.watch = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n // work around Firefox's Object.prototype.watch...\n if (parentVal === nativeWatch) { parentVal = undefined; }\n if (childVal === nativeWatch) { childVal = undefined; }\n /* istanbul ignore if */\n if (!childVal) { return Object.create(parentVal || null) }\n if (process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = {};\n extend(ret, parentVal);\n for (var key$1 in childVal) {\n var parent = ret[key$1];\n var child = childVal[key$1];\n if (parent && !Array.isArray(parent)) {\n parent = [parent];\n }\n ret[key$1] = parent\n ? parent.concat(child)\n : Array.isArray(child) ? child : [child];\n }\n return ret\n};\n\n/**\n * Other object hashes.\n */\nstrats.props =\nstrats.methods =\nstrats.inject =\nstrats.computed = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n if (childVal && process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = Object.create(null);\n extend(ret, parentVal);\n if (childVal) { extend(ret, childVal); }\n return ret\n};\nstrats.provide = mergeDataOrFn;\n\n/**\n * Default strategy.\n */\nvar defaultStrat = function (parentVal, childVal) {\n return childVal === undefined\n ? parentVal\n : childVal\n};\n\n/**\n * Validate component names\n */\nfunction checkComponents (options) {\n for (var key in options.components) {\n validateComponentName(key);\n }\n}\n\nfunction validateComponentName (name) {\n if (!new RegExp((\"^[a-zA-Z][\\\\-\\\\.0-9_\" + (unicodeRegExp.source) + \"]*$\")).test(name)) {\n warn(\n 'Invalid component name: \"' + name + '\". Component names ' +\n 'should conform to valid custom element name in html5 specification.'\n );\n }\n if (isBuiltInTag(name) || config.isReservedTag(name)) {\n warn(\n 'Do not use built-in or reserved HTML elements as component ' +\n 'id: ' + name\n );\n }\n}\n\n/**\n * Ensure all props option syntax are normalized into the\n * Object-based format.\n */\nfunction normalizeProps (options, vm) {\n var props = options.props;\n if (!props) { return }\n var res = {};\n var i, val, name;\n if (Array.isArray(props)) {\n i = props.length;\n while (i--) {\n val = props[i];\n if (typeof val === 'string') {\n name = camelize(val);\n res[name] = { type: null };\n } else if (process.env.NODE_ENV !== 'production') {\n warn('props must be strings when using array syntax.');\n }\n }\n } else if (isPlainObject(props)) {\n for (var key in props) {\n val = props[key];\n name = camelize(key);\n res[name] = isPlainObject(val)\n ? val\n : { type: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"props\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(props)) + \".\",\n vm\n );\n }\n options.props = res;\n}\n\n/**\n * Normalize all injections into Object-based format\n */\nfunction normalizeInject (options, vm) {\n var inject = options.inject;\n if (!inject) { return }\n var normalized = options.inject = {};\n if (Array.isArray(inject)) {\n for (var i = 0; i < inject.length; i++) {\n normalized[inject[i]] = { from: inject[i] };\n }\n } else if (isPlainObject(inject)) {\n for (var key in inject) {\n var val = inject[key];\n normalized[key] = isPlainObject(val)\n ? extend({ from: key }, val)\n : { from: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"inject\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(inject)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Normalize raw function directives into object format.\n */\nfunction normalizeDirectives (options) {\n var dirs = options.directives;\n if (dirs) {\n for (var key in dirs) {\n var def$$1 = dirs[key];\n if (typeof def$$1 === 'function') {\n dirs[key] = { bind: def$$1, update: def$$1 };\n }\n }\n }\n}\n\nfunction assertObjectType (name, value, vm) {\n if (!isPlainObject(value)) {\n warn(\n \"Invalid value for option \\\"\" + name + \"\\\": expected an Object, \" +\n \"but got \" + (toRawType(value)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Merge two option objects into a new one.\n * Core utility used in both instantiation and inheritance.\n */\nfunction mergeOptions (\n parent,\n child,\n vm\n) {\n if (process.env.NODE_ENV !== 'production') {\n checkComponents(child);\n }\n\n if (typeof child === 'function') {\n child = child.options;\n }\n\n normalizeProps(child, vm);\n normalizeInject(child, vm);\n normalizeDirectives(child);\n\n // Apply extends and mixins on the child options,\n // but only if it is a raw options object that isn't\n // the result of another mergeOptions call.\n // Only merged options has the _base property.\n if (!child._base) {\n if (child.extends) {\n parent = mergeOptions(parent, child.extends, vm);\n }\n if (child.mixins) {\n for (var i = 0, l = child.mixins.length; i < l; i++) {\n parent = mergeOptions(parent, child.mixins[i], vm);\n }\n }\n }\n\n var options = {};\n var key;\n for (key in parent) {\n mergeField(key);\n }\n for (key in child) {\n if (!hasOwn(parent, key)) {\n mergeField(key);\n }\n }\n function mergeField (key) {\n var strat = strats[key] || defaultStrat;\n options[key] = strat(parent[key], child[key], vm, key);\n }\n return options\n}\n\n/**\n * Resolve an asset.\n * This function is used because child instances need access\n * to assets defined in its ancestor chain.\n */\nfunction resolveAsset (\n options,\n type,\n id,\n warnMissing\n) {\n /* istanbul ignore if */\n if (typeof id !== 'string') {\n return\n }\n var assets = options[type];\n // check local registration variations first\n if (hasOwn(assets, id)) { return assets[id] }\n var camelizedId = camelize(id);\n if (hasOwn(assets, camelizedId)) { return assets[camelizedId] }\n var PascalCaseId = capitalize(camelizedId);\n if (hasOwn(assets, PascalCaseId)) { return assets[PascalCaseId] }\n // fallback to prototype chain\n var res = assets[id] || assets[camelizedId] || assets[PascalCaseId];\n if (process.env.NODE_ENV !== 'production' && warnMissing && !res) {\n warn(\n 'Failed to resolve ' + type.slice(0, -1) + ': ' + id,\n options\n );\n }\n return res\n}\n\n/* */\n\n\n\nfunction validateProp (\n key,\n propOptions,\n propsData,\n vm\n) {\n var prop = propOptions[key];\n var absent = !hasOwn(propsData, key);\n var value = propsData[key];\n // boolean casting\n var booleanIndex = getTypeIndex(Boolean, prop.type);\n if (booleanIndex > -1) {\n if (absent && !hasOwn(prop, 'default')) {\n value = false;\n } else if (value === '' || value === hyphenate(key)) {\n // only cast empty string / same name to boolean if\n // boolean has higher priority\n var stringIndex = getTypeIndex(String, prop.type);\n if (stringIndex < 0 || booleanIndex < stringIndex) {\n value = true;\n }\n }\n }\n // check default value\n if (value === undefined) {\n value = getPropDefaultValue(vm, prop, key);\n // since the default value is a fresh copy,\n // make sure to observe it.\n var prevShouldObserve = shouldObserve;\n toggleObserving(true);\n observe(value);\n toggleObserving(prevShouldObserve);\n }\n if (\n process.env.NODE_ENV !== 'production' &&\n // skip validation for weex recycle-list child component props\n !(false)\n ) {\n assertProp(prop, key, value, vm, absent);\n }\n return value\n}\n\n/**\n * Get the default value of a prop.\n */\nfunction getPropDefaultValue (vm, prop, key) {\n // no default, return undefined\n if (!hasOwn(prop, 'default')) {\n return undefined\n }\n var def = prop.default;\n // warn against non-factory defaults for Object & Array\n if (process.env.NODE_ENV !== 'production' && isObject(def)) {\n warn(\n 'Invalid default value for prop \"' + key + '\": ' +\n 'Props with type Object/Array must use a factory function ' +\n 'to return the default value.',\n vm\n );\n }\n // the raw prop value was also undefined from previous render,\n // return previous default value to avoid unnecessary watcher trigger\n if (vm && vm.$options.propsData &&\n vm.$options.propsData[key] === undefined &&\n vm._props[key] !== undefined\n ) {\n return vm._props[key]\n }\n // call factory function for non-Function types\n // a value is Function if its prototype is function even across different execution context\n return typeof def === 'function' && getType(prop.type) !== 'Function'\n ? def.call(vm)\n : def\n}\n\n/**\n * Assert whether a prop is valid.\n */\nfunction assertProp (\n prop,\n name,\n value,\n vm,\n absent\n) {\n if (prop.required && absent) {\n warn(\n 'Missing required prop: \"' + name + '\"',\n vm\n );\n return\n }\n if (value == null && !prop.required) {\n return\n }\n var type = prop.type;\n var valid = !type || type === true;\n var expectedTypes = [];\n if (type) {\n if (!Array.isArray(type)) {\n type = [type];\n }\n for (var i = 0; i < type.length && !valid; i++) {\n var assertedType = assertType(value, type[i], vm);\n expectedTypes.push(assertedType.expectedType || '');\n valid = assertedType.valid;\n }\n }\n\n var haveExpectedTypes = expectedTypes.some(function (t) { return t; });\n if (!valid && haveExpectedTypes) {\n warn(\n getInvalidTypeMessage(name, value, expectedTypes),\n vm\n );\n return\n }\n var validator = prop.validator;\n if (validator) {\n if (!validator(value)) {\n warn(\n 'Invalid prop: custom validator check failed for prop \"' + name + '\".',\n vm\n );\n }\n }\n}\n\nvar simpleCheckRE = /^(String|Number|Boolean|Function|Symbol|BigInt)$/;\n\nfunction assertType (value, type, vm) {\n var valid;\n var expectedType = getType(type);\n if (simpleCheckRE.test(expectedType)) {\n var t = typeof value;\n valid = t === expectedType.toLowerCase();\n // for primitive wrapper objects\n if (!valid && t === 'object') {\n valid = value instanceof type;\n }\n } else if (expectedType === 'Object') {\n valid = isPlainObject(value);\n } else if (expectedType === 'Array') {\n valid = Array.isArray(value);\n } else {\n try {\n valid = value instanceof type;\n } catch (e) {\n warn('Invalid prop type: \"' + String(type) + '\" is not a constructor', vm);\n valid = false;\n }\n }\n return {\n valid: valid,\n expectedType: expectedType\n }\n}\n\nvar functionTypeCheckRE = /^\\s*function (\\w+)/;\n\n/**\n * Use function string name to check built-in types,\n * because a simple equality check will fail when running\n * across different vms / iframes.\n */\nfunction getType (fn) {\n var match = fn && fn.toString().match(functionTypeCheckRE);\n return match ? match[1] : ''\n}\n\nfunction isSameType (a, b) {\n return getType(a) === getType(b)\n}\n\nfunction getTypeIndex (type, expectedTypes) {\n if (!Array.isArray(expectedTypes)) {\n return isSameType(expectedTypes, type) ? 0 : -1\n }\n for (var i = 0, len = expectedTypes.length; i < len; i++) {\n if (isSameType(expectedTypes[i], type)) {\n return i\n }\n }\n return -1\n}\n\nfunction getInvalidTypeMessage (name, value, expectedTypes) {\n var message = \"Invalid prop: type check failed for prop \\\"\" + name + \"\\\".\" +\n \" Expected \" + (expectedTypes.map(capitalize).join(', '));\n var expectedType = expectedTypes[0];\n var receivedType = toRawType(value);\n // check if we need to specify expected value\n if (\n expectedTypes.length === 1 &&\n isExplicable(expectedType) &&\n isExplicable(typeof value) &&\n !isBoolean(expectedType, receivedType)\n ) {\n message += \" with value \" + (styleValue(value, expectedType));\n }\n message += \", got \" + receivedType + \" \";\n // check if we need to specify received value\n if (isExplicable(receivedType)) {\n message += \"with value \" + (styleValue(value, receivedType)) + \".\";\n }\n return message\n}\n\nfunction styleValue (value, type) {\n if (type === 'String') {\n return (\"\\\"\" + value + \"\\\"\")\n } else if (type === 'Number') {\n return (\"\" + (Number(value)))\n } else {\n return (\"\" + value)\n }\n}\n\nvar EXPLICABLE_TYPES = ['string', 'number', 'boolean'];\nfunction isExplicable (value) {\n return EXPLICABLE_TYPES.some(function (elem) { return value.toLowerCase() === elem; })\n}\n\nfunction isBoolean () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return args.some(function (elem) { return elem.toLowerCase() === 'boolean'; })\n}\n\n/* */\n\nfunction handleError (err, vm, info) {\n // Deactivate deps tracking while processing error handler to avoid possible infinite rendering.\n // See: https://github.com/vuejs/vuex/issues/1505\n pushTarget();\n try {\n if (vm) {\n var cur = vm;\n while ((cur = cur.$parent)) {\n var hooks = cur.$options.errorCaptured;\n if (hooks) {\n for (var i = 0; i < hooks.length; i++) {\n try {\n var capture = hooks[i].call(cur, err, vm, info) === false;\n if (capture) { return }\n } catch (e) {\n globalHandleError(e, cur, 'errorCaptured hook');\n }\n }\n }\n }\n }\n globalHandleError(err, vm, info);\n } finally {\n popTarget();\n }\n}\n\nfunction invokeWithErrorHandling (\n handler,\n context,\n args,\n vm,\n info\n) {\n var res;\n try {\n res = args ? handler.apply(context, args) : handler.call(context);\n if (res && !res._isVue && isPromise(res) && !res._handled) {\n res.catch(function (e) { return handleError(e, vm, info + \" (Promise/async)\"); });\n // issue #9511\n // avoid catch triggering multiple times when nested calls\n res._handled = true;\n }\n } catch (e) {\n handleError(e, vm, info);\n }\n return res\n}\n\nfunction globalHandleError (err, vm, info) {\n if (config.errorHandler) {\n try {\n return config.errorHandler.call(null, err, vm, info)\n } catch (e) {\n // if the user intentionally throws the original error in the handler,\n // do not log it twice\n if (e !== err) {\n logError(e, null, 'config.errorHandler');\n }\n }\n }\n logError(err, vm, info);\n}\n\nfunction logError (err, vm, info) {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Error in \" + info + \": \\\"\" + (err.toString()) + \"\\\"\"), vm);\n }\n /* istanbul ignore else */\n if ((inBrowser || inWeex) && typeof console !== 'undefined') {\n console.error(err);\n } else {\n throw err\n }\n}\n\n/* */\n\nvar isUsingMicroTask = false;\n\nvar callbacks = [];\nvar pending = false;\n\nfunction flushCallbacks () {\n pending = false;\n var copies = callbacks.slice(0);\n callbacks.length = 0;\n for (var i = 0; i < copies.length; i++) {\n copies[i]();\n }\n}\n\n// Here we have async deferring wrappers using microtasks.\n// In 2.5 we used (macro) tasks (in combination with microtasks).\n// However, it has subtle problems when state is changed right before repaint\n// (e.g. #6813, out-in transitions).\n// Also, using (macro) tasks in event handler would cause some weird behaviors\n// that cannot be circumvented (e.g. #7109, #7153, #7546, #7834, #8109).\n// So we now use microtasks everywhere, again.\n// A major drawback of this tradeoff is that there are some scenarios\n// where microtasks have too high a priority and fire in between supposedly\n// sequential events (e.g. #4521, #6690, which have workarounds)\n// or even between bubbling of the same event (#6566).\nvar timerFunc;\n\n// The nextTick behavior leverages the microtask queue, which can be accessed\n// via either native Promise.then or MutationObserver.\n// MutationObserver has wider support, however it is seriously bugged in\n// UIWebView in iOS >= 9.3.3 when triggered in touch event handlers. It\n// completely stops working after triggering a few times... so, if native\n// Promise is available, we will use it:\n/* istanbul ignore next, $flow-disable-line */\nif (typeof Promise !== 'undefined' && isNative(Promise)) {\n var p = Promise.resolve();\n timerFunc = function () {\n p.then(flushCallbacks);\n // In problematic UIWebViews, Promise.then doesn't completely break, but\n // it can get stuck in a weird state where callbacks are pushed into the\n // microtask queue but the queue isn't being flushed, until the browser\n // needs to do some other work, e.g. handle a timer. Therefore we can\n // \"force\" the microtask queue to be flushed by adding an empty timer.\n if (isIOS) { setTimeout(noop); }\n };\n isUsingMicroTask = true;\n} else if (!isIE && typeof MutationObserver !== 'undefined' && (\n isNative(MutationObserver) ||\n // PhantomJS and iOS 7.x\n MutationObserver.toString() === '[object MutationObserverConstructor]'\n)) {\n // Use MutationObserver where native Promise is not available,\n // e.g. PhantomJS, iOS7, Android 4.4\n // (#6466 MutationObserver is unreliable in IE11)\n var counter = 1;\n var observer = new MutationObserver(flushCallbacks);\n var textNode = document.createTextNode(String(counter));\n observer.observe(textNode, {\n characterData: true\n });\n timerFunc = function () {\n counter = (counter + 1) % 2;\n textNode.data = String(counter);\n };\n isUsingMicroTask = true;\n} else if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) {\n // Fallback to setImmediate.\n // Technically it leverages the (macro) task queue,\n // but it is still a better choice than setTimeout.\n timerFunc = function () {\n setImmediate(flushCallbacks);\n };\n} else {\n // Fallback to setTimeout.\n timerFunc = function () {\n setTimeout(flushCallbacks, 0);\n };\n}\n\nfunction nextTick (cb, ctx) {\n var _resolve;\n callbacks.push(function () {\n if (cb) {\n try {\n cb.call(ctx);\n } catch (e) {\n handleError(e, ctx, 'nextTick');\n }\n } else if (_resolve) {\n _resolve(ctx);\n }\n });\n if (!pending) {\n pending = true;\n timerFunc();\n }\n // $flow-disable-line\n if (!cb && typeof Promise !== 'undefined') {\n return new Promise(function (resolve) {\n _resolve = resolve;\n })\n }\n}\n\n/* */\n\n/* not type checking this file because flow doesn't play well with Proxy */\n\nvar initProxy;\n\nif (process.env.NODE_ENV !== 'production') {\n var allowedGlobals = makeMap(\n 'Infinity,undefined,NaN,isFinite,isNaN,' +\n 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' +\n 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,' +\n 'require' // for Webpack/Browserify\n );\n\n var warnNonPresent = function (target, key) {\n warn(\n \"Property or method \\\"\" + key + \"\\\" is not defined on the instance but \" +\n 'referenced during render. Make sure that this property is reactive, ' +\n 'either in the data option, or for class-based components, by ' +\n 'initializing the property. ' +\n 'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.',\n target\n );\n };\n\n var warnReservedPrefix = function (target, key) {\n warn(\n \"Property \\\"\" + key + \"\\\" must be accessed with \\\"$data.\" + key + \"\\\" because \" +\n 'properties starting with \"$\" or \"_\" are not proxied in the Vue instance to ' +\n 'prevent conflicts with Vue internals. ' +\n 'See: https://vuejs.org/v2/api/#data',\n target\n );\n };\n\n var hasProxy =\n typeof Proxy !== 'undefined' && isNative(Proxy);\n\n if (hasProxy) {\n var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact');\n config.keyCodes = new Proxy(config.keyCodes, {\n set: function set (target, key, value) {\n if (isBuiltInModifier(key)) {\n warn((\"Avoid overwriting built-in modifier in config.keyCodes: .\" + key));\n return false\n } else {\n target[key] = value;\n return true\n }\n }\n });\n }\n\n var hasHandler = {\n has: function has (target, key) {\n var has = key in target;\n var isAllowed = allowedGlobals(key) ||\n (typeof key === 'string' && key.charAt(0) === '_' && !(key in target.$data));\n if (!has && !isAllowed) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return has || !isAllowed\n }\n };\n\n var getHandler = {\n get: function get (target, key) {\n if (typeof key === 'string' && !(key in target)) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return target[key]\n }\n };\n\n initProxy = function initProxy (vm) {\n if (hasProxy) {\n // determine which proxy handler to use\n var options = vm.$options;\n var handlers = options.render && options.render._withStripped\n ? getHandler\n : hasHandler;\n vm._renderProxy = new Proxy(vm, handlers);\n } else {\n vm._renderProxy = vm;\n }\n };\n}\n\n/* */\n\nvar seenObjects = new _Set();\n\n/**\n * Recursively traverse an object to evoke all converted\n * getters, so that every nested property inside the object\n * is collected as a \"deep\" dependency.\n */\nfunction traverse (val) {\n _traverse(val, seenObjects);\n seenObjects.clear();\n}\n\nfunction _traverse (val, seen) {\n var i, keys;\n var isA = Array.isArray(val);\n if ((!isA && !isObject(val)) || Object.isFrozen(val) || val instanceof VNode) {\n return\n }\n if (val.__ob__) {\n var depId = val.__ob__.dep.id;\n if (seen.has(depId)) {\n return\n }\n seen.add(depId);\n }\n if (isA) {\n i = val.length;\n while (i--) { _traverse(val[i], seen); }\n } else {\n keys = Object.keys(val);\n i = keys.length;\n while (i--) { _traverse(val[keys[i]], seen); }\n }\n}\n\nvar mark;\nvar measure;\n\nif (process.env.NODE_ENV !== 'production') {\n var perf = inBrowser && window.performance;\n /* istanbul ignore if */\n if (\n perf &&\n perf.mark &&\n perf.measure &&\n perf.clearMarks &&\n perf.clearMeasures\n ) {\n mark = function (tag) { return perf.mark(tag); };\n measure = function (name, startTag, endTag) {\n perf.measure(name, startTag, endTag);\n perf.clearMarks(startTag);\n perf.clearMarks(endTag);\n // perf.clearMeasures(name)\n };\n }\n}\n\n/* */\n\nvar normalizeEvent = cached(function (name) {\n var passive = name.charAt(0) === '&';\n name = passive ? name.slice(1) : name;\n var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first\n name = once$$1 ? name.slice(1) : name;\n var capture = name.charAt(0) === '!';\n name = capture ? name.slice(1) : name;\n return {\n name: name,\n once: once$$1,\n capture: capture,\n passive: passive\n }\n});\n\nfunction createFnInvoker (fns, vm) {\n function invoker () {\n var arguments$1 = arguments;\n\n var fns = invoker.fns;\n if (Array.isArray(fns)) {\n var cloned = fns.slice();\n for (var i = 0; i < cloned.length; i++) {\n invokeWithErrorHandling(cloned[i], null, arguments$1, vm, \"v-on handler\");\n }\n } else {\n // return handler return value for single handlers\n return invokeWithErrorHandling(fns, null, arguments, vm, \"v-on handler\")\n }\n }\n invoker.fns = fns;\n return invoker\n}\n\nfunction updateListeners (\n on,\n oldOn,\n add,\n remove$$1,\n createOnceHandler,\n vm\n) {\n var name, def$$1, cur, old, event;\n for (name in on) {\n def$$1 = cur = on[name];\n old = oldOn[name];\n event = normalizeEvent(name);\n if (isUndef(cur)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Invalid handler for event \\\"\" + (event.name) + \"\\\": got \" + String(cur),\n vm\n );\n } else if (isUndef(old)) {\n if (isUndef(cur.fns)) {\n cur = on[name] = createFnInvoker(cur, vm);\n }\n if (isTrue(event.once)) {\n cur = on[name] = createOnceHandler(event.name, cur, event.capture);\n }\n add(event.name, cur, event.capture, event.passive, event.params);\n } else if (cur !== old) {\n old.fns = cur;\n on[name] = old;\n }\n }\n for (name in oldOn) {\n if (isUndef(on[name])) {\n event = normalizeEvent(name);\n remove$$1(event.name, oldOn[name], event.capture);\n }\n }\n}\n\n/* */\n\nfunction mergeVNodeHook (def, hookKey, hook) {\n if (def instanceof VNode) {\n def = def.data.hook || (def.data.hook = {});\n }\n var invoker;\n var oldHook = def[hookKey];\n\n function wrappedHook () {\n hook.apply(this, arguments);\n // important: remove merged hook to ensure it's called only once\n // and prevent memory leak\n remove(invoker.fns, wrappedHook);\n }\n\n if (isUndef(oldHook)) {\n // no existing hook\n invoker = createFnInvoker([wrappedHook]);\n } else {\n /* istanbul ignore if */\n if (isDef(oldHook.fns) && isTrue(oldHook.merged)) {\n // already a merged invoker\n invoker = oldHook;\n invoker.fns.push(wrappedHook);\n } else {\n // existing plain hook\n invoker = createFnInvoker([oldHook, wrappedHook]);\n }\n }\n\n invoker.merged = true;\n def[hookKey] = invoker;\n}\n\n/* */\n\nfunction extractPropsFromVNodeData (\n data,\n Ctor,\n tag\n) {\n // we are only extracting raw values here.\n // validation and default values are handled in the child\n // component itself.\n var propOptions = Ctor.options.props;\n if (isUndef(propOptions)) {\n return\n }\n var res = {};\n var attrs = data.attrs;\n var props = data.props;\n if (isDef(attrs) || isDef(props)) {\n for (var key in propOptions) {\n var altKey = hyphenate(key);\n if (process.env.NODE_ENV !== 'production') {\n var keyInLowerCase = key.toLowerCase();\n if (\n key !== keyInLowerCase &&\n attrs && hasOwn(attrs, keyInLowerCase)\n ) {\n tip(\n \"Prop \\\"\" + keyInLowerCase + \"\\\" is passed to component \" +\n (formatComponentName(tag || Ctor)) + \", but the declared prop name is\" +\n \" \\\"\" + key + \"\\\". \" +\n \"Note that HTML attributes are case-insensitive and camelCased \" +\n \"props need to use their kebab-case equivalents when using in-DOM \" +\n \"templates. You should probably use \\\"\" + altKey + \"\\\" instead of \\\"\" + key + \"\\\".\"\n );\n }\n }\n checkProp(res, props, key, altKey, true) ||\n checkProp(res, attrs, key, altKey, false);\n }\n }\n return res\n}\n\nfunction checkProp (\n res,\n hash,\n key,\n altKey,\n preserve\n) {\n if (isDef(hash)) {\n if (hasOwn(hash, key)) {\n res[key] = hash[key];\n if (!preserve) {\n delete hash[key];\n }\n return true\n } else if (hasOwn(hash, altKey)) {\n res[key] = hash[altKey];\n if (!preserve) {\n delete hash[altKey];\n }\n return true\n }\n }\n return false\n}\n\n/* */\n\n// The template compiler attempts to minimize the need for normalization by\n// statically analyzing the template at compile time.\n//\n// For plain HTML markup, normalization can be completely skipped because the\n// generated render function is guaranteed to return Array<VNode>. There are\n// two cases where extra normalization is needed:\n\n// 1. When the children contains components - because a functional component\n// may return an Array instead of a single root. In this case, just a simple\n// normalization is needed - if any child is an Array, we flatten the whole\n// thing with Array.prototype.concat. It is guaranteed to be only 1-level deep\n// because functional components already normalize their own children.\nfunction simpleNormalizeChildren (children) {\n for (var i = 0; i < children.length; i++) {\n if (Array.isArray(children[i])) {\n return Array.prototype.concat.apply([], children)\n }\n }\n return children\n}\n\n// 2. When the children contains constructs that always generated nested Arrays,\n// e.g. <template>, <slot>, v-for, or when the children is provided by user\n// with hand-written render functions / JSX. In such cases a full normalization\n// is needed to cater to all possible types of children values.\nfunction normalizeChildren (children) {\n return isPrimitive(children)\n ? [createTextVNode(children)]\n : Array.isArray(children)\n ? normalizeArrayChildren(children)\n : undefined\n}\n\nfunction isTextNode (node) {\n return isDef(node) && isDef(node.text) && isFalse(node.isComment)\n}\n\nfunction normalizeArrayChildren (children, nestedIndex) {\n var res = [];\n var i, c, lastIndex, last;\n for (i = 0; i < children.length; i++) {\n c = children[i];\n if (isUndef(c) || typeof c === 'boolean') { continue }\n lastIndex = res.length - 1;\n last = res[lastIndex];\n // nested\n if (Array.isArray(c)) {\n if (c.length > 0) {\n c = normalizeArrayChildren(c, ((nestedIndex || '') + \"_\" + i));\n // merge adjacent text nodes\n if (isTextNode(c[0]) && isTextNode(last)) {\n res[lastIndex] = createTextVNode(last.text + (c[0]).text);\n c.shift();\n }\n res.push.apply(res, c);\n }\n } else if (isPrimitive(c)) {\n if (isTextNode(last)) {\n // merge adjacent text nodes\n // this is necessary for SSR hydration because text nodes are\n // essentially merged when rendered to HTML strings\n res[lastIndex] = createTextVNode(last.text + c);\n } else if (c !== '') {\n // convert primitive to vnode\n res.push(createTextVNode(c));\n }\n } else {\n if (isTextNode(c) && isTextNode(last)) {\n // merge adjacent text nodes\n res[lastIndex] = createTextVNode(last.text + c.text);\n } else {\n // default key for nested array children (likely generated by v-for)\n if (isTrue(children._isVList) &&\n isDef(c.tag) &&\n isUndef(c.key) &&\n isDef(nestedIndex)) {\n c.key = \"__vlist\" + nestedIndex + \"_\" + i + \"__\";\n }\n res.push(c);\n }\n }\n }\n return res\n}\n\n/* */\n\nfunction initProvide (vm) {\n var provide = vm.$options.provide;\n if (provide) {\n vm._provided = typeof provide === 'function'\n ? provide.call(vm)\n : provide;\n }\n}\n\nfunction initInjections (vm) {\n var result = resolveInject(vm.$options.inject, vm);\n if (result) {\n toggleObserving(false);\n Object.keys(result).forEach(function (key) {\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n defineReactive$$1(vm, key, result[key], function () {\n warn(\n \"Avoid mutating an injected value directly since the changes will be \" +\n \"overwritten whenever the provided component re-renders. \" +\n \"injection being mutated: \\\"\" + key + \"\\\"\",\n vm\n );\n });\n } else {\n defineReactive$$1(vm, key, result[key]);\n }\n });\n toggleObserving(true);\n }\n}\n\nfunction resolveInject (inject, vm) {\n if (inject) {\n // inject is :any because flow is not smart enough to figure out cached\n var result = Object.create(null);\n var keys = hasSymbol\n ? Reflect.ownKeys(inject)\n : Object.keys(inject);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n // #6574 in case the inject object is observed...\n if (key === '__ob__') { continue }\n var provideKey = inject[key].from;\n var source = vm;\n while (source) {\n if (source._provided && hasOwn(source._provided, provideKey)) {\n result[key] = source._provided[provideKey];\n break\n }\n source = source.$parent;\n }\n if (!source) {\n if ('default' in inject[key]) {\n var provideDefault = inject[key].default;\n result[key] = typeof provideDefault === 'function'\n ? provideDefault.call(vm)\n : provideDefault;\n } else if (process.env.NODE_ENV !== 'production') {\n warn((\"Injection \\\"\" + key + \"\\\" not found\"), vm);\n }\n }\n }\n return result\n }\n}\n\n/* */\n\n\n\n/**\n * Runtime helper for resolving raw children VNodes into a slot object.\n */\nfunction resolveSlots (\n children,\n context\n) {\n if (!children || !children.length) {\n return {}\n }\n var slots = {};\n for (var i = 0, l = children.length; i < l; i++) {\n var child = children[i];\n var data = child.data;\n // remove slot attribute if the node is resolved as a Vue slot node\n if (data && data.attrs && data.attrs.slot) {\n delete data.attrs.slot;\n }\n // named slots should only be respected if the vnode was rendered in the\n // same context.\n if ((child.context === context || child.fnContext === context) &&\n data && data.slot != null\n ) {\n var name = data.slot;\n var slot = (slots[name] || (slots[name] = []));\n if (child.tag === 'template') {\n slot.push.apply(slot, child.children || []);\n } else {\n slot.push(child);\n }\n } else {\n (slots.default || (slots.default = [])).push(child);\n }\n }\n // ignore slots that contains only whitespace\n for (var name$1 in slots) {\n if (slots[name$1].every(isWhitespace)) {\n delete slots[name$1];\n }\n }\n return slots\n}\n\nfunction isWhitespace (node) {\n return (node.isComment && !node.asyncFactory) || node.text === ' '\n}\n\n/* */\n\nfunction isAsyncPlaceholder (node) {\n return node.isComment && node.asyncFactory\n}\n\n/* */\n\nfunction normalizeScopedSlots (\n slots,\n normalSlots,\n prevSlots\n) {\n var res;\n var hasNormalSlots = Object.keys(normalSlots).length > 0;\n var isStable = slots ? !!slots.$stable : !hasNormalSlots;\n var key = slots && slots.$key;\n if (!slots) {\n res = {};\n } else if (slots._normalized) {\n // fast path 1: child component re-render only, parent did not change\n return slots._normalized\n } else if (\n isStable &&\n prevSlots &&\n prevSlots !== emptyObject &&\n key === prevSlots.$key &&\n !hasNormalSlots &&\n !prevSlots.$hasNormal\n ) {\n // fast path 2: stable scoped slots w/ no normal slots to proxy,\n // only need to normalize once\n return prevSlots\n } else {\n res = {};\n for (var key$1 in slots) {\n if (slots[key$1] && key$1[0] !== '$') {\n res[key$1] = normalizeScopedSlot(normalSlots, key$1, slots[key$1]);\n }\n }\n }\n // expose normal slots on scopedSlots\n for (var key$2 in normalSlots) {\n if (!(key$2 in res)) {\n res[key$2] = proxyNormalSlot(normalSlots, key$2);\n }\n }\n // avoriaz seems to mock a non-extensible $scopedSlots object\n // and when that is passed down this would cause an error\n if (slots && Object.isExtensible(slots)) {\n (slots)._normalized = res;\n }\n def(res, '$stable', isStable);\n def(res, '$key', key);\n def(res, '$hasNormal', hasNormalSlots);\n return res\n}\n\nfunction normalizeScopedSlot(normalSlots, key, fn) {\n var normalized = function () {\n var res = arguments.length ? fn.apply(null, arguments) : fn({});\n res = res && typeof res === 'object' && !Array.isArray(res)\n ? [res] // single vnode\n : normalizeChildren(res);\n var vnode = res && res[0];\n return res && (\n !vnode ||\n (res.length === 1 && vnode.isComment && !isAsyncPlaceholder(vnode)) // #9658, #10391\n ) ? undefined\n : res\n };\n // this is a slot using the new v-slot syntax without scope. although it is\n // compiled as a scoped slot, render fn users would expect it to be present\n // on this.$slots because the usage is semantically a normal slot.\n if (fn.proxy) {\n Object.defineProperty(normalSlots, key, {\n get: normalized,\n enumerable: true,\n configurable: true\n });\n }\n return normalized\n}\n\nfunction proxyNormalSlot(slots, key) {\n return function () { return slots[key]; }\n}\n\n/* */\n\n/**\n * Runtime helper for rendering v-for lists.\n */\nfunction renderList (\n val,\n render\n) {\n var ret, i, l, keys, key;\n if (Array.isArray(val) || typeof val === 'string') {\n ret = new Array(val.length);\n for (i = 0, l = val.length; i < l; i++) {\n ret[i] = render(val[i], i);\n }\n } else if (typeof val === 'number') {\n ret = new Array(val);\n for (i = 0; i < val; i++) {\n ret[i] = render(i + 1, i);\n }\n } else if (isObject(val)) {\n if (hasSymbol && val[Symbol.iterator]) {\n ret = [];\n var iterator = val[Symbol.iterator]();\n var result = iterator.next();\n while (!result.done) {\n ret.push(render(result.value, ret.length));\n result = iterator.next();\n }\n } else {\n keys = Object.keys(val);\n ret = new Array(keys.length);\n for (i = 0, l = keys.length; i < l; i++) {\n key = keys[i];\n ret[i] = render(val[key], key, i);\n }\n }\n }\n if (!isDef(ret)) {\n ret = [];\n }\n (ret)._isVList = true;\n return ret\n}\n\n/* */\n\n/**\n * Runtime helper for rendering <slot>\n */\nfunction renderSlot (\n name,\n fallbackRender,\n props,\n bindObject\n) {\n var scopedSlotFn = this.$scopedSlots[name];\n var nodes;\n if (scopedSlotFn) {\n // scoped slot\n props = props || {};\n if (bindObject) {\n if (process.env.NODE_ENV !== 'production' && !isObject(bindObject)) {\n warn('slot v-bind without argument expects an Object', this);\n }\n props = extend(extend({}, bindObject), props);\n }\n nodes =\n scopedSlotFn(props) ||\n (typeof fallbackRender === 'function' ? fallbackRender() : fallbackRender);\n } else {\n nodes =\n this.$slots[name] ||\n (typeof fallbackRender === 'function' ? fallbackRender() : fallbackRender);\n }\n\n var target = props && props.slot;\n if (target) {\n return this.$createElement('template', { slot: target }, nodes)\n } else {\n return nodes\n }\n}\n\n/* */\n\n/**\n * Runtime helper for resolving filters\n */\nfunction resolveFilter (id) {\n return resolveAsset(this.$options, 'filters', id, true) || identity\n}\n\n/* */\n\nfunction isKeyNotMatch (expect, actual) {\n if (Array.isArray(expect)) {\n return expect.indexOf(actual) === -1\n } else {\n return expect !== actual\n }\n}\n\n/**\n * Runtime helper for checking keyCodes from config.\n * exposed as Vue.prototype._k\n * passing in eventKeyName as last argument separately for backwards compat\n */\nfunction checkKeyCodes (\n eventKeyCode,\n key,\n builtInKeyCode,\n eventKeyName,\n builtInKeyName\n) {\n var mappedKeyCode = config.keyCodes[key] || builtInKeyCode;\n if (builtInKeyName && eventKeyName && !config.keyCodes[key]) {\n return isKeyNotMatch(builtInKeyName, eventKeyName)\n } else if (mappedKeyCode) {\n return isKeyNotMatch(mappedKeyCode, eventKeyCode)\n } else if (eventKeyName) {\n return hyphenate(eventKeyName) !== key\n }\n return eventKeyCode === undefined\n}\n\n/* */\n\n/**\n * Runtime helper for merging v-bind=\"object\" into a VNode's data.\n */\nfunction bindObjectProps (\n data,\n tag,\n value,\n asProp,\n isSync\n) {\n if (value) {\n if (!isObject(value)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'v-bind without argument expects an Object or Array value',\n this\n );\n } else {\n if (Array.isArray(value)) {\n value = toObject(value);\n }\n var hash;\n var loop = function ( key ) {\n if (\n key === 'class' ||\n key === 'style' ||\n isReservedAttribute(key)\n ) {\n hash = data;\n } else {\n var type = data.attrs && data.attrs.type;\n hash = asProp || config.mustUseProp(tag, type, key)\n ? data.domProps || (data.domProps = {})\n : data.attrs || (data.attrs = {});\n }\n var camelizedKey = camelize(key);\n var hyphenatedKey = hyphenate(key);\n if (!(camelizedKey in hash) && !(hyphenatedKey in hash)) {\n hash[key] = value[key];\n\n if (isSync) {\n var on = data.on || (data.on = {});\n on[(\"update:\" + key)] = function ($event) {\n value[key] = $event;\n };\n }\n }\n };\n\n for (var key in value) loop( key );\n }\n }\n return data\n}\n\n/* */\n\n/**\n * Runtime helper for rendering static trees.\n */\nfunction renderStatic (\n index,\n isInFor\n) {\n var cached = this._staticTrees || (this._staticTrees = []);\n var tree = cached[index];\n // if has already-rendered static tree and not inside v-for,\n // we can reuse the same tree.\n if (tree && !isInFor) {\n return tree\n }\n // otherwise, render a fresh tree.\n tree = cached[index] = this.$options.staticRenderFns[index].call(\n this._renderProxy,\n null,\n this // for render fns generated for functional component templates\n );\n markStatic(tree, (\"__static__\" + index), false);\n return tree\n}\n\n/**\n * Runtime helper for v-once.\n * Effectively it means marking the node as static with a unique key.\n */\nfunction markOnce (\n tree,\n index,\n key\n) {\n markStatic(tree, (\"__once__\" + index + (key ? (\"_\" + key) : \"\")), true);\n return tree\n}\n\nfunction markStatic (\n tree,\n key,\n isOnce\n) {\n if (Array.isArray(tree)) {\n for (var i = 0; i < tree.length; i++) {\n if (tree[i] && typeof tree[i] !== 'string') {\n markStaticNode(tree[i], (key + \"_\" + i), isOnce);\n }\n }\n } else {\n markStaticNode(tree, key, isOnce);\n }\n}\n\nfunction markStaticNode (node, key, isOnce) {\n node.isStatic = true;\n node.key = key;\n node.isOnce = isOnce;\n}\n\n/* */\n\nfunction bindObjectListeners (data, value) {\n if (value) {\n if (!isPlainObject(value)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'v-on without argument expects an Object value',\n this\n );\n } else {\n var on = data.on = data.on ? extend({}, data.on) : {};\n for (var key in value) {\n var existing = on[key];\n var ours = value[key];\n on[key] = existing ? [].concat(existing, ours) : ours;\n }\n }\n }\n return data\n}\n\n/* */\n\nfunction resolveScopedSlots (\n fns, // see flow/vnode\n res,\n // the following are added in 2.6\n hasDynamicKeys,\n contentHashKey\n) {\n res = res || { $stable: !hasDynamicKeys };\n for (var i = 0; i < fns.length; i++) {\n var slot = fns[i];\n if (Array.isArray(slot)) {\n resolveScopedSlots(slot, res, hasDynamicKeys);\n } else if (slot) {\n // marker for reverse proxying v-slot without scope on this.$slots\n if (slot.proxy) {\n slot.fn.proxy = true;\n }\n res[slot.key] = slot.fn;\n }\n }\n if (contentHashKey) {\n (res).$key = contentHashKey;\n }\n return res\n}\n\n/* */\n\nfunction bindDynamicKeys (baseObj, values) {\n for (var i = 0; i < values.length; i += 2) {\n var key = values[i];\n if (typeof key === 'string' && key) {\n baseObj[values[i]] = values[i + 1];\n } else if (process.env.NODE_ENV !== 'production' && key !== '' && key !== null) {\n // null is a special value for explicitly removing a binding\n warn(\n (\"Invalid value for dynamic directive argument (expected string or null): \" + key),\n this\n );\n }\n }\n return baseObj\n}\n\n// helper to dynamically append modifier runtime markers to event names.\n// ensure only append when value is already string, otherwise it will be cast\n// to string and cause the type check to miss.\nfunction prependModifier (value, symbol) {\n return typeof value === 'string' ? symbol + value : value\n}\n\n/* */\n\nfunction installRenderHelpers (target) {\n target._o = markOnce;\n target._n = toNumber;\n target._s = toString;\n target._l = renderList;\n target._t = renderSlot;\n target._q = looseEqual;\n target._i = looseIndexOf;\n target._m = renderStatic;\n target._f = resolveFilter;\n target._k = checkKeyCodes;\n target._b = bindObjectProps;\n target._v = createTextVNode;\n target._e = createEmptyVNode;\n target._u = resolveScopedSlots;\n target._g = bindObjectListeners;\n target._d = bindDynamicKeys;\n target._p = prependModifier;\n}\n\n/* */\n\nfunction FunctionalRenderContext (\n data,\n props,\n children,\n parent,\n Ctor\n) {\n var this$1 = this;\n\n var options = Ctor.options;\n // ensure the createElement function in functional components\n // gets a unique context - this is necessary for correct named slot check\n var contextVm;\n if (hasOwn(parent, '_uid')) {\n contextVm = Object.create(parent);\n // $flow-disable-line\n contextVm._original = parent;\n } else {\n // the context vm passed in is a functional context as well.\n // in this case we want to make sure we are able to get a hold to the\n // real context instance.\n contextVm = parent;\n // $flow-disable-line\n parent = parent._original;\n }\n var isCompiled = isTrue(options._compiled);\n var needNormalization = !isCompiled;\n\n this.data = data;\n this.props = props;\n this.children = children;\n this.parent = parent;\n this.listeners = data.on || emptyObject;\n this.injections = resolveInject(options.inject, parent);\n this.slots = function () {\n if (!this$1.$slots) {\n normalizeScopedSlots(\n data.scopedSlots,\n this$1.$slots = resolveSlots(children, parent)\n );\n }\n return this$1.$slots\n };\n\n Object.defineProperty(this, 'scopedSlots', ({\n enumerable: true,\n get: function get () {\n return normalizeScopedSlots(data.scopedSlots, this.slots())\n }\n }));\n\n // support for compiled functional template\n if (isCompiled) {\n // exposing $options for renderStatic()\n this.$options = options;\n // pre-resolve slots for renderSlot()\n this.$slots = this.slots();\n this.$scopedSlots = normalizeScopedSlots(data.scopedSlots, this.$slots);\n }\n\n if (options._scopeId) {\n this._c = function (a, b, c, d) {\n var vnode = createElement(contextVm, a, b, c, d, needNormalization);\n if (vnode && !Array.isArray(vnode)) {\n vnode.fnScopeId = options._scopeId;\n vnode.fnContext = parent;\n }\n return vnode\n };\n } else {\n this._c = function (a, b, c, d) { return createElement(contextVm, a, b, c, d, needNormalization); };\n }\n}\n\ninstallRenderHelpers(FunctionalRenderContext.prototype);\n\nfunction createFunctionalComponent (\n Ctor,\n propsData,\n data,\n contextVm,\n children\n) {\n var options = Ctor.options;\n var props = {};\n var propOptions = options.props;\n if (isDef(propOptions)) {\n for (var key in propOptions) {\n props[key] = validateProp(key, propOptions, propsData || emptyObject);\n }\n } else {\n if (isDef(data.attrs)) { mergeProps(props, data.attrs); }\n if (isDef(data.props)) { mergeProps(props, data.props); }\n }\n\n var renderContext = new FunctionalRenderContext(\n data,\n props,\n children,\n contextVm,\n Ctor\n );\n\n var vnode = options.render.call(null, renderContext._c, renderContext);\n\n if (vnode instanceof VNode) {\n return cloneAndMarkFunctionalResult(vnode, data, renderContext.parent, options, renderContext)\n } else if (Array.isArray(vnode)) {\n var vnodes = normalizeChildren(vnode) || [];\n var res = new Array(vnodes.length);\n for (var i = 0; i < vnodes.length; i++) {\n res[i] = cloneAndMarkFunctionalResult(vnodes[i], data, renderContext.parent, options, renderContext);\n }\n return res\n }\n}\n\nfunction cloneAndMarkFunctionalResult (vnode, data, contextVm, options, renderContext) {\n // #7817 clone node before setting fnContext, otherwise if the node is reused\n // (e.g. it was from a cached normal slot) the fnContext causes named slots\n // that should not be matched to match.\n var clone = cloneVNode(vnode);\n clone.fnContext = contextVm;\n clone.fnOptions = options;\n if (process.env.NODE_ENV !== 'production') {\n (clone.devtoolsMeta = clone.devtoolsMeta || {}).renderContext = renderContext;\n }\n if (data.slot) {\n (clone.data || (clone.data = {})).slot = data.slot;\n }\n return clone\n}\n\nfunction mergeProps (to, from) {\n for (var key in from) {\n to[camelize(key)] = from[key];\n }\n}\n\n/* */\n\n/* */\n\n/* */\n\n/* */\n\n// inline hooks to be invoked on component VNodes during patch\nvar componentVNodeHooks = {\n init: function init (vnode, hydrating) {\n if (\n vnode.componentInstance &&\n !vnode.componentInstance._isDestroyed &&\n vnode.data.keepAlive\n ) {\n // kept-alive components, treat as a patch\n var mountedNode = vnode; // work around flow\n componentVNodeHooks.prepatch(mountedNode, mountedNode);\n } else {\n var child = vnode.componentInstance = createComponentInstanceForVnode(\n vnode,\n activeInstance\n );\n child.$mount(hydrating ? vnode.elm : undefined, hydrating);\n }\n },\n\n prepatch: function prepatch (oldVnode, vnode) {\n var options = vnode.componentOptions;\n var child = vnode.componentInstance = oldVnode.componentInstance;\n updateChildComponent(\n child,\n options.propsData, // updated props\n options.listeners, // updated listeners\n vnode, // new parent vnode\n options.children // new children\n );\n },\n\n insert: function insert (vnode) {\n var context = vnode.context;\n var componentInstance = vnode.componentInstance;\n if (!componentInstance._isMounted) {\n componentInstance._isMounted = true;\n callHook(componentInstance, 'mounted');\n }\n if (vnode.data.keepAlive) {\n if (context._isMounted) {\n // vue-router#1212\n // During updates, a kept-alive component's child components may\n // change, so directly walking the tree here may call activated hooks\n // on incorrect children. Instead we push them into a queue which will\n // be processed after the whole patch process ended.\n queueActivatedComponent(componentInstance);\n } else {\n activateChildComponent(componentInstance, true /* direct */);\n }\n }\n },\n\n destroy: function destroy (vnode) {\n var componentInstance = vnode.componentInstance;\n if (!componentInstance._isDestroyed) {\n if (!vnode.data.keepAlive) {\n componentInstance.$destroy();\n } else {\n deactivateChildComponent(componentInstance, true /* direct */);\n }\n }\n }\n};\n\nvar hooksToMerge = Object.keys(componentVNodeHooks);\n\nfunction createComponent (\n Ctor,\n data,\n context,\n children,\n tag\n) {\n if (isUndef(Ctor)) {\n return\n }\n\n var baseCtor = context.$options._base;\n\n // plain options object: turn it into a constructor\n if (isObject(Ctor)) {\n Ctor = baseCtor.extend(Ctor);\n }\n\n // if at this stage it's not a constructor or an async component factory,\n // reject.\n if (typeof Ctor !== 'function') {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Invalid Component definition: \" + (String(Ctor))), context);\n }\n return\n }\n\n // async component\n var asyncFactory;\n if (isUndef(Ctor.cid)) {\n asyncFactory = Ctor;\n Ctor = resolveAsyncComponent(asyncFactory, baseCtor);\n if (Ctor === undefined) {\n // return a placeholder node for async component, which is rendered\n // as a comment node but preserves all the raw information for the node.\n // the information will be used for async server-rendering and hydration.\n return createAsyncPlaceholder(\n asyncFactory,\n data,\n context,\n children,\n tag\n )\n }\n }\n\n data = data || {};\n\n // resolve constructor options in case global mixins are applied after\n // component constructor creation\n resolveConstructorOptions(Ctor);\n\n // transform component v-model data into props & events\n if (isDef(data.model)) {\n transformModel(Ctor.options, data);\n }\n\n // extract props\n var propsData = extractPropsFromVNodeData(data, Ctor, tag);\n\n // functional component\n if (isTrue(Ctor.options.functional)) {\n return createFunctionalComponent(Ctor, propsData, data, context, children)\n }\n\n // extract listeners, since these needs to be treated as\n // child component listeners instead of DOM listeners\n var listeners = data.on;\n // replace with listeners with .native modifier\n // so it gets processed during parent component patch.\n data.on = data.nativeOn;\n\n if (isTrue(Ctor.options.abstract)) {\n // abstract components do not keep anything\n // other than props & listeners & slot\n\n // work around flow\n var slot = data.slot;\n data = {};\n if (slot) {\n data.slot = slot;\n }\n }\n\n // install component management hooks onto the placeholder node\n installComponentHooks(data);\n\n // return a placeholder vnode\n var name = Ctor.options.name || tag;\n var vnode = new VNode(\n (\"vue-component-\" + (Ctor.cid) + (name ? (\"-\" + name) : '')),\n data, undefined, undefined, undefined, context,\n { Ctor: Ctor, propsData: propsData, listeners: listeners, tag: tag, children: children },\n asyncFactory\n );\n\n return vnode\n}\n\nfunction createComponentInstanceForVnode (\n // we know it's MountedComponentVNode but flow doesn't\n vnode,\n // activeInstance in lifecycle state\n parent\n) {\n var options = {\n _isComponent: true,\n _parentVnode: vnode,\n parent: parent\n };\n // check inline-template render functions\n var inlineTemplate = vnode.data.inlineTemplate;\n if (isDef(inlineTemplate)) {\n options.render = inlineTemplate.render;\n options.staticRenderFns = inlineTemplate.staticRenderFns;\n }\n return new vnode.componentOptions.Ctor(options)\n}\n\nfunction installComponentHooks (data) {\n var hooks = data.hook || (data.hook = {});\n for (var i = 0; i < hooksToMerge.length; i++) {\n var key = hooksToMerge[i];\n var existing = hooks[key];\n var toMerge = componentVNodeHooks[key];\n if (existing !== toMerge && !(existing && existing._merged)) {\n hooks[key] = existing ? mergeHook$1(toMerge, existing) : toMerge;\n }\n }\n}\n\nfunction mergeHook$1 (f1, f2) {\n var merged = function (a, b) {\n // flow complains about extra args which is why we use any\n f1(a, b);\n f2(a, b);\n };\n merged._merged = true;\n return merged\n}\n\n// transform component v-model info (value and callback) into\n// prop and event handler respectively.\nfunction transformModel (options, data) {\n var prop = (options.model && options.model.prop) || 'value';\n var event = (options.model && options.model.event) || 'input'\n ;(data.attrs || (data.attrs = {}))[prop] = data.model.value;\n var on = data.on || (data.on = {});\n var existing = on[event];\n var callback = data.model.callback;\n if (isDef(existing)) {\n if (\n Array.isArray(existing)\n ? existing.indexOf(callback) === -1\n : existing !== callback\n ) {\n on[event] = [callback].concat(existing);\n }\n } else {\n on[event] = callback;\n }\n}\n\n/* */\n\nvar SIMPLE_NORMALIZE = 1;\nvar ALWAYS_NORMALIZE = 2;\n\n// wrapper function for providing a more flexible interface\n// without getting yelled at by flow\nfunction createElement (\n context,\n tag,\n data,\n children,\n normalizationType,\n alwaysNormalize\n) {\n if (Array.isArray(data) || isPrimitive(data)) {\n normalizationType = children;\n children = data;\n data = undefined;\n }\n if (isTrue(alwaysNormalize)) {\n normalizationType = ALWAYS_NORMALIZE;\n }\n return _createElement(context, tag, data, children, normalizationType)\n}\n\nfunction _createElement (\n context,\n tag,\n data,\n children,\n normalizationType\n) {\n if (isDef(data) && isDef((data).__ob__)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Avoid using observed data object as vnode data: \" + (JSON.stringify(data)) + \"\\n\" +\n 'Always create fresh vnode data objects in each render!',\n context\n );\n return createEmptyVNode()\n }\n // object syntax in v-bind\n if (isDef(data) && isDef(data.is)) {\n tag = data.is;\n }\n if (!tag) {\n // in case of component :is set to falsy value\n return createEmptyVNode()\n }\n // warn against non-primitive key\n if (process.env.NODE_ENV !== 'production' &&\n isDef(data) && isDef(data.key) && !isPrimitive(data.key)\n ) {\n {\n warn(\n 'Avoid using non-primitive value as key, ' +\n 'use string/number value instead.',\n context\n );\n }\n }\n // support single function children as default scoped slot\n if (Array.isArray(children) &&\n typeof children[0] === 'function'\n ) {\n data = data || {};\n data.scopedSlots = { default: children[0] };\n children.length = 0;\n }\n if (normalizationType === ALWAYS_NORMALIZE) {\n children = normalizeChildren(children);\n } else if (normalizationType === SIMPLE_NORMALIZE) {\n children = simpleNormalizeChildren(children);\n }\n var vnode, ns;\n if (typeof tag === 'string') {\n var Ctor;\n ns = (context.$vnode && context.$vnode.ns) || config.getTagNamespace(tag);\n if (config.isReservedTag(tag)) {\n // platform built-in elements\n if (process.env.NODE_ENV !== 'production' && isDef(data) && isDef(data.nativeOn) && data.tag !== 'component') {\n warn(\n (\"The .native modifier for v-on is only valid on components but it was used on <\" + tag + \">.\"),\n context\n );\n }\n vnode = new VNode(\n config.parsePlatformTagName(tag), data, children,\n undefined, undefined, context\n );\n } else if ((!data || !data.pre) && isDef(Ctor = resolveAsset(context.$options, 'components', tag))) {\n // component\n vnode = createComponent(Ctor, data, context, children, tag);\n } else {\n // unknown or unlisted namespaced elements\n // check at runtime because it may get assigned a namespace when its\n // parent normalizes children\n vnode = new VNode(\n tag, data, children,\n undefined, undefined, context\n );\n }\n } else {\n // direct component options / constructor\n vnode = createComponent(tag, data, context, children);\n }\n if (Array.isArray(vnode)) {\n return vnode\n } else if (isDef(vnode)) {\n if (isDef(ns)) { applyNS(vnode, ns); }\n if (isDef(data)) { registerDeepBindings(data); }\n return vnode\n } else {\n return createEmptyVNode()\n }\n}\n\nfunction applyNS (vnode, ns, force) {\n vnode.ns = ns;\n if (vnode.tag === 'foreignObject') {\n // use default namespace inside foreignObject\n ns = undefined;\n force = true;\n }\n if (isDef(vnode.children)) {\n for (var i = 0, l = vnode.children.length; i < l; i++) {\n var child = vnode.children[i];\n if (isDef(child.tag) && (\n isUndef(child.ns) || (isTrue(force) && child.tag !== 'svg'))) {\n applyNS(child, ns, force);\n }\n }\n }\n}\n\n// ref #5318\n// necessary to ensure parent re-render when deep bindings like :style and\n// :class are used on slot nodes\nfunction registerDeepBindings (data) {\n if (isObject(data.style)) {\n traverse(data.style);\n }\n if (isObject(data.class)) {\n traverse(data.class);\n }\n}\n\n/* */\n\nfunction initRender (vm) {\n vm._vnode = null; // the root of the child tree\n vm._staticTrees = null; // v-once cached trees\n var options = vm.$options;\n var parentVnode = vm.$vnode = options._parentVnode; // the placeholder node in parent tree\n var renderContext = parentVnode && parentVnode.context;\n vm.$slots = resolveSlots(options._renderChildren, renderContext);\n vm.$scopedSlots = emptyObject;\n // bind the createElement fn to this instance\n // so that we get proper render context inside it.\n // args order: tag, data, children, normalizationType, alwaysNormalize\n // internal version is used by render functions compiled from templates\n vm._c = function (a, b, c, d) { return createElement(vm, a, b, c, d, false); };\n // normalization is always applied for the public version, used in\n // user-written render functions.\n vm.$createElement = function (a, b, c, d) { return createElement(vm, a, b, c, d, true); };\n\n // $attrs & $listeners are exposed for easier HOC creation.\n // they need to be reactive so that HOCs using them are always updated\n var parentData = parentVnode && parentVnode.data;\n\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n defineReactive$$1(vm, '$attrs', parentData && parentData.attrs || emptyObject, function () {\n !isUpdatingChildComponent && warn(\"$attrs is readonly.\", vm);\n }, true);\n defineReactive$$1(vm, '$listeners', options._parentListeners || emptyObject, function () {\n !isUpdatingChildComponent && warn(\"$listeners is readonly.\", vm);\n }, true);\n } else {\n defineReactive$$1(vm, '$attrs', parentData && parentData.attrs || emptyObject, null, true);\n defineReactive$$1(vm, '$listeners', options._parentListeners || emptyObject, null, true);\n }\n}\n\nvar currentRenderingInstance = null;\n\nfunction renderMixin (Vue) {\n // install runtime convenience helpers\n installRenderHelpers(Vue.prototype);\n\n Vue.prototype.$nextTick = function (fn) {\n return nextTick(fn, this)\n };\n\n Vue.prototype._render = function () {\n var vm = this;\n var ref = vm.$options;\n var render = ref.render;\n var _parentVnode = ref._parentVnode;\n\n if (_parentVnode) {\n vm.$scopedSlots = normalizeScopedSlots(\n _parentVnode.data.scopedSlots,\n vm.$slots,\n vm.$scopedSlots\n );\n }\n\n // set parent vnode. this allows render functions to have access\n // to the data on the placeholder node.\n vm.$vnode = _parentVnode;\n // render self\n var vnode;\n try {\n // There's no need to maintain a stack because all render fns are called\n // separately from one another. Nested component's render fns are called\n // when parent component is patched.\n currentRenderingInstance = vm;\n vnode = render.call(vm._renderProxy, vm.$createElement);\n } catch (e) {\n handleError(e, vm, \"render\");\n // return error render result,\n // or previous vnode to prevent render error causing blank component\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production' && vm.$options.renderError) {\n try {\n vnode = vm.$options.renderError.call(vm._renderProxy, vm.$createElement, e);\n } catch (e) {\n handleError(e, vm, \"renderError\");\n vnode = vm._vnode;\n }\n } else {\n vnode = vm._vnode;\n }\n } finally {\n currentRenderingInstance = null;\n }\n // if the returned array contains only a single node, allow it\n if (Array.isArray(vnode) && vnode.length === 1) {\n vnode = vnode[0];\n }\n // return empty vnode in case the render function errored out\n if (!(vnode instanceof VNode)) {\n if (process.env.NODE_ENV !== 'production' && Array.isArray(vnode)) {\n warn(\n 'Multiple root nodes returned from render function. Render function ' +\n 'should return a single root node.',\n vm\n );\n }\n vnode = createEmptyVNode();\n }\n // set parent\n vnode.parent = _parentVnode;\n return vnode\n };\n}\n\n/* */\n\nfunction ensureCtor (comp, base) {\n if (\n comp.__esModule ||\n (hasSymbol && comp[Symbol.toStringTag] === 'Module')\n ) {\n comp = comp.default;\n }\n return isObject(comp)\n ? base.extend(comp)\n : comp\n}\n\nfunction createAsyncPlaceholder (\n factory,\n data,\n context,\n children,\n tag\n) {\n var node = createEmptyVNode();\n node.asyncFactory = factory;\n node.asyncMeta = { data: data, context: context, children: children, tag: tag };\n return node\n}\n\nfunction resolveAsyncComponent (\n factory,\n baseCtor\n) {\n if (isTrue(factory.error) && isDef(factory.errorComp)) {\n return factory.errorComp\n }\n\n if (isDef(factory.resolved)) {\n return factory.resolved\n }\n\n var owner = currentRenderingInstance;\n if (owner && isDef(factory.owners) && factory.owners.indexOf(owner) === -1) {\n // already pending\n factory.owners.push(owner);\n }\n\n if (isTrue(factory.loading) && isDef(factory.loadingComp)) {\n return factory.loadingComp\n }\n\n if (owner && !isDef(factory.owners)) {\n var owners = factory.owners = [owner];\n var sync = true;\n var timerLoading = null;\n var timerTimeout = null\n\n ;(owner).$on('hook:destroyed', function () { return remove(owners, owner); });\n\n var forceRender = function (renderCompleted) {\n for (var i = 0, l = owners.length; i < l; i++) {\n (owners[i]).$forceUpdate();\n }\n\n if (renderCompleted) {\n owners.length = 0;\n if (timerLoading !== null) {\n clearTimeout(timerLoading);\n timerLoading = null;\n }\n if (timerTimeout !== null) {\n clearTimeout(timerTimeout);\n timerTimeout = null;\n }\n }\n };\n\n var resolve = once(function (res) {\n // cache resolved\n factory.resolved = ensureCtor(res, baseCtor);\n // invoke callbacks only if this is not a synchronous resolve\n // (async resolves are shimmed as synchronous during SSR)\n if (!sync) {\n forceRender(true);\n } else {\n owners.length = 0;\n }\n });\n\n var reject = once(function (reason) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Failed to resolve async component: \" + (String(factory)) +\n (reason ? (\"\\nReason: \" + reason) : '')\n );\n if (isDef(factory.errorComp)) {\n factory.error = true;\n forceRender(true);\n }\n });\n\n var res = factory(resolve, reject);\n\n if (isObject(res)) {\n if (isPromise(res)) {\n // () => Promise\n if (isUndef(factory.resolved)) {\n res.then(resolve, reject);\n }\n } else if (isPromise(res.component)) {\n res.component.then(resolve, reject);\n\n if (isDef(res.error)) {\n factory.errorComp = ensureCtor(res.error, baseCtor);\n }\n\n if (isDef(res.loading)) {\n factory.loadingComp = ensureCtor(res.loading, baseCtor);\n if (res.delay === 0) {\n factory.loading = true;\n } else {\n timerLoading = setTimeout(function () {\n timerLoading = null;\n if (isUndef(factory.resolved) && isUndef(factory.error)) {\n factory.loading = true;\n forceRender(false);\n }\n }, res.delay || 200);\n }\n }\n\n if (isDef(res.timeout)) {\n timerTimeout = setTimeout(function () {\n timerTimeout = null;\n if (isUndef(factory.resolved)) {\n reject(\n process.env.NODE_ENV !== 'production'\n ? (\"timeout (\" + (res.timeout) + \"ms)\")\n : null\n );\n }\n }, res.timeout);\n }\n }\n }\n\n sync = false;\n // return in case resolved synchronously\n return factory.loading\n ? factory.loadingComp\n : factory.resolved\n }\n}\n\n/* */\n\nfunction getFirstComponentChild (children) {\n if (Array.isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n var c = children[i];\n if (isDef(c) && (isDef(c.componentOptions) || isAsyncPlaceholder(c))) {\n return c\n }\n }\n }\n}\n\n/* */\n\n/* */\n\nfunction initEvents (vm) {\n vm._events = Object.create(null);\n vm._hasHookEvent = false;\n // init parent attached events\n var listeners = vm.$options._parentListeners;\n if (listeners) {\n updateComponentListeners(vm, listeners);\n }\n}\n\nvar target;\n\nfunction add (event, fn) {\n target.$on(event, fn);\n}\n\nfunction remove$1 (event, fn) {\n target.$off(event, fn);\n}\n\nfunction createOnceHandler (event, fn) {\n var _target = target;\n return function onceHandler () {\n var res = fn.apply(null, arguments);\n if (res !== null) {\n _target.$off(event, onceHandler);\n }\n }\n}\n\nfunction updateComponentListeners (\n vm,\n listeners,\n oldListeners\n) {\n target = vm;\n updateListeners(listeners, oldListeners || {}, add, remove$1, createOnceHandler, vm);\n target = undefined;\n}\n\nfunction eventsMixin (Vue) {\n var hookRE = /^hook:/;\n Vue.prototype.$on = function (event, fn) {\n var vm = this;\n if (Array.isArray(event)) {\n for (var i = 0, l = event.length; i < l; i++) {\n vm.$on(event[i], fn);\n }\n } else {\n (vm._events[event] || (vm._events[event] = [])).push(fn);\n // optimize hook:event cost by using a boolean flag marked at registration\n // instead of a hash lookup\n if (hookRE.test(event)) {\n vm._hasHookEvent = true;\n }\n }\n return vm\n };\n\n Vue.prototype.$once = function (event, fn) {\n var vm = this;\n function on () {\n vm.$off(event, on);\n fn.apply(vm, arguments);\n }\n on.fn = fn;\n vm.$on(event, on);\n return vm\n };\n\n Vue.prototype.$off = function (event, fn) {\n var vm = this;\n // all\n if (!arguments.length) {\n vm._events = Object.create(null);\n return vm\n }\n // array of events\n if (Array.isArray(event)) {\n for (var i$1 = 0, l = event.length; i$1 < l; i$1++) {\n vm.$off(event[i$1], fn);\n }\n return vm\n }\n // specific event\n var cbs = vm._events[event];\n if (!cbs) {\n return vm\n }\n if (!fn) {\n vm._events[event] = null;\n return vm\n }\n // specific handler\n var cb;\n var i = cbs.length;\n while (i--) {\n cb = cbs[i];\n if (cb === fn || cb.fn === fn) {\n cbs.splice(i, 1);\n break\n }\n }\n return vm\n };\n\n Vue.prototype.$emit = function (event) {\n var vm = this;\n if (process.env.NODE_ENV !== 'production') {\n var lowerCaseEvent = event.toLowerCase();\n if (lowerCaseEvent !== event && vm._events[lowerCaseEvent]) {\n tip(\n \"Event \\\"\" + lowerCaseEvent + \"\\\" is emitted in component \" +\n (formatComponentName(vm)) + \" but the handler is registered for \\\"\" + event + \"\\\". \" +\n \"Note that HTML attributes are case-insensitive and you cannot use \" +\n \"v-on to listen to camelCase events when using in-DOM templates. \" +\n \"You should probably use \\\"\" + (hyphenate(event)) + \"\\\" instead of \\\"\" + event + \"\\\".\"\n );\n }\n }\n var cbs = vm._events[event];\n if (cbs) {\n cbs = cbs.length > 1 ? toArray(cbs) : cbs;\n var args = toArray(arguments, 1);\n var info = \"event handler for \\\"\" + event + \"\\\"\";\n for (var i = 0, l = cbs.length; i < l; i++) {\n invokeWithErrorHandling(cbs[i], vm, args, vm, info);\n }\n }\n return vm\n };\n}\n\n/* */\n\nvar activeInstance = null;\nvar isUpdatingChildComponent = false;\n\nfunction setActiveInstance(vm) {\n var prevActiveInstance = activeInstance;\n activeInstance = vm;\n return function () {\n activeInstance = prevActiveInstance;\n }\n}\n\nfunction initLifecycle (vm) {\n var options = vm.$options;\n\n // locate first non-abstract parent\n var parent = options.parent;\n if (parent && !options.abstract) {\n while (parent.$options.abstract && parent.$parent) {\n parent = parent.$parent;\n }\n parent.$children.push(vm);\n }\n\n vm.$parent = parent;\n vm.$root = parent ? parent.$root : vm;\n\n vm.$children = [];\n vm.$refs = {};\n\n vm._watcher = null;\n vm._inactive = null;\n vm._directInactive = false;\n vm._isMounted = false;\n vm._isDestroyed = false;\n vm._isBeingDestroyed = false;\n}\n\nfunction lifecycleMixin (Vue) {\n Vue.prototype._update = function (vnode, hydrating) {\n var vm = this;\n var prevEl = vm.$el;\n var prevVnode = vm._vnode;\n var restoreActiveInstance = setActiveInstance(vm);\n vm._vnode = vnode;\n // Vue.prototype.__patch__ is injected in entry points\n // based on the rendering backend used.\n if (!prevVnode) {\n // initial render\n vm.$el = vm.__patch__(vm.$el, vnode, hydrating, false /* removeOnly */);\n } else {\n // updates\n vm.$el = vm.__patch__(prevVnode, vnode);\n }\n restoreActiveInstance();\n // update __vue__ reference\n if (prevEl) {\n prevEl.__vue__ = null;\n }\n if (vm.$el) {\n vm.$el.__vue__ = vm;\n }\n // if parent is an HOC, update its $el as well\n if (vm.$vnode && vm.$parent && vm.$vnode === vm.$parent._vnode) {\n vm.$parent.$el = vm.$el;\n }\n // updated hook is called by the scheduler to ensure that children are\n // updated in a parent's updated hook.\n };\n\n Vue.prototype.$forceUpdate = function () {\n var vm = this;\n if (vm._watcher) {\n vm._watcher.update();\n }\n };\n\n Vue.prototype.$destroy = function () {\n var vm = this;\n if (vm._isBeingDestroyed) {\n return\n }\n callHook(vm, 'beforeDestroy');\n vm._isBeingDestroyed = true;\n // remove self from parent\n var parent = vm.$parent;\n if (parent && !parent._isBeingDestroyed && !vm.$options.abstract) {\n remove(parent.$children, vm);\n }\n // teardown watchers\n if (vm._watcher) {\n vm._watcher.teardown();\n }\n var i = vm._watchers.length;\n while (i--) {\n vm._watchers[i].teardown();\n }\n // remove reference from data ob\n // frozen object may not have observer.\n if (vm._data.__ob__) {\n vm._data.__ob__.vmCount--;\n }\n // call the last hook...\n vm._isDestroyed = true;\n // invoke destroy hooks on current rendered tree\n vm.__patch__(vm._vnode, null);\n // fire destroyed hook\n callHook(vm, 'destroyed');\n // turn off all instance listeners.\n vm.$off();\n // remove __vue__ reference\n if (vm.$el) {\n vm.$el.__vue__ = null;\n }\n // release circular reference (#6759)\n if (vm.$vnode) {\n vm.$vnode.parent = null;\n }\n };\n}\n\nfunction mountComponent (\n vm,\n el,\n hydrating\n) {\n vm.$el = el;\n if (!vm.$options.render) {\n vm.$options.render = createEmptyVNode;\n if (process.env.NODE_ENV !== 'production') {\n /* istanbul ignore if */\n if ((vm.$options.template && vm.$options.template.charAt(0) !== '#') ||\n vm.$options.el || el) {\n warn(\n 'You are using the runtime-only build of Vue where the template ' +\n 'compiler is not available. Either pre-compile the templates into ' +\n 'render functions, or use the compiler-included build.',\n vm\n );\n } else {\n warn(\n 'Failed to mount component: template or render function not defined.',\n vm\n );\n }\n }\n }\n callHook(vm, 'beforeMount');\n\n var updateComponent;\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n updateComponent = function () {\n var name = vm._name;\n var id = vm._uid;\n var startTag = \"vue-perf-start:\" + id;\n var endTag = \"vue-perf-end:\" + id;\n\n mark(startTag);\n var vnode = vm._render();\n mark(endTag);\n measure((\"vue \" + name + \" render\"), startTag, endTag);\n\n mark(startTag);\n vm._update(vnode, hydrating);\n mark(endTag);\n measure((\"vue \" + name + \" patch\"), startTag, endTag);\n };\n } else {\n updateComponent = function () {\n vm._update(vm._render(), hydrating);\n };\n }\n\n // we set this to vm._watcher inside the watcher's constructor\n // since the watcher's initial patch may call $forceUpdate (e.g. inside child\n // component's mounted hook), which relies on vm._watcher being already defined\n new Watcher(vm, updateComponent, noop, {\n before: function before () {\n if (vm._isMounted && !vm._isDestroyed) {\n callHook(vm, 'beforeUpdate');\n }\n }\n }, true /* isRenderWatcher */);\n hydrating = false;\n\n // manually mounted instance, call mounted on self\n // mounted is called for render-created child components in its inserted hook\n if (vm.$vnode == null) {\n vm._isMounted = true;\n callHook(vm, 'mounted');\n }\n return vm\n}\n\nfunction updateChildComponent (\n vm,\n propsData,\n listeners,\n parentVnode,\n renderChildren\n) {\n if (process.env.NODE_ENV !== 'production') {\n isUpdatingChildComponent = true;\n }\n\n // determine whether component has slot children\n // we need to do this before overwriting $options._renderChildren.\n\n // check if there are dynamic scopedSlots (hand-written or compiled but with\n // dynamic slot names). Static scoped slots compiled from template has the\n // \"$stable\" marker.\n var newScopedSlots = parentVnode.data.scopedSlots;\n var oldScopedSlots = vm.$scopedSlots;\n var hasDynamicScopedSlot = !!(\n (newScopedSlots && !newScopedSlots.$stable) ||\n (oldScopedSlots !== emptyObject && !oldScopedSlots.$stable) ||\n (newScopedSlots && vm.$scopedSlots.$key !== newScopedSlots.$key) ||\n (!newScopedSlots && vm.$scopedSlots.$key)\n );\n\n // Any static slot children from the parent may have changed during parent's\n // update. Dynamic scoped slots may also have changed. In such cases, a forced\n // update is necessary to ensure correctness.\n var needsForceUpdate = !!(\n renderChildren || // has new static slots\n vm.$options._renderChildren || // has old static slots\n hasDynamicScopedSlot\n );\n\n vm.$options._parentVnode = parentVnode;\n vm.$vnode = parentVnode; // update vm's placeholder node without re-render\n\n if (vm._vnode) { // update child tree's parent\n vm._vnode.parent = parentVnode;\n }\n vm.$options._renderChildren = renderChildren;\n\n // update $attrs and $listeners hash\n // these are also reactive so they may trigger child update if the child\n // used them during render\n vm.$attrs = parentVnode.data.attrs || emptyObject;\n vm.$listeners = listeners || emptyObject;\n\n // update props\n if (propsData && vm.$options.props) {\n toggleObserving(false);\n var props = vm._props;\n var propKeys = vm.$options._propKeys || [];\n for (var i = 0; i < propKeys.length; i++) {\n var key = propKeys[i];\n var propOptions = vm.$options.props; // wtf flow?\n props[key] = validateProp(key, propOptions, propsData, vm);\n }\n toggleObserving(true);\n // keep a copy of raw propsData\n vm.$options.propsData = propsData;\n }\n\n // update listeners\n listeners = listeners || emptyObject;\n var oldListeners = vm.$options._parentListeners;\n vm.$options._parentListeners = listeners;\n updateComponentListeners(vm, listeners, oldListeners);\n\n // resolve slots + force update if has children\n if (needsForceUpdate) {\n vm.$slots = resolveSlots(renderChildren, parentVnode.context);\n vm.$forceUpdate();\n }\n\n if (process.env.NODE_ENV !== 'production') {\n isUpdatingChildComponent = false;\n }\n}\n\nfunction isInInactiveTree (vm) {\n while (vm && (vm = vm.$parent)) {\n if (vm._inactive) { return true }\n }\n return false\n}\n\nfunction activateChildComponent (vm, direct) {\n if (direct) {\n vm._directInactive = false;\n if (isInInactiveTree(vm)) {\n return\n }\n } else if (vm._directInactive) {\n return\n }\n if (vm._inactive || vm._inactive === null) {\n vm._inactive = false;\n for (var i = 0; i < vm.$children.length; i++) {\n activateChildComponent(vm.$children[i]);\n }\n callHook(vm, 'activated');\n }\n}\n\nfunction deactivateChildComponent (vm, direct) {\n if (direct) {\n vm._directInactive = true;\n if (isInInactiveTree(vm)) {\n return\n }\n }\n if (!vm._inactive) {\n vm._inactive = true;\n for (var i = 0; i < vm.$children.length; i++) {\n deactivateChildComponent(vm.$children[i]);\n }\n callHook(vm, 'deactivated');\n }\n}\n\nfunction callHook (vm, hook) {\n // #7573 disable dep collection when invoking lifecycle hooks\n pushTarget();\n var handlers = vm.$options[hook];\n var info = hook + \" hook\";\n if (handlers) {\n for (var i = 0, j = handlers.length; i < j; i++) {\n invokeWithErrorHandling(handlers[i], vm, null, vm, info);\n }\n }\n if (vm._hasHookEvent) {\n vm.$emit('hook:' + hook);\n }\n popTarget();\n}\n\n/* */\n\nvar MAX_UPDATE_COUNT = 100;\n\nvar queue = [];\nvar activatedChildren = [];\nvar has = {};\nvar circular = {};\nvar waiting = false;\nvar flushing = false;\nvar index = 0;\n\n/**\n * Reset the scheduler's state.\n */\nfunction resetSchedulerState () {\n index = queue.length = activatedChildren.length = 0;\n has = {};\n if (process.env.NODE_ENV !== 'production') {\n circular = {};\n }\n waiting = flushing = false;\n}\n\n// Async edge case #6566 requires saving the timestamp when event listeners are\n// attached. However, calling performance.now() has a perf overhead especially\n// if the page has thousands of event listeners. Instead, we take a timestamp\n// every time the scheduler flushes and use that for all event listeners\n// attached during that flush.\nvar currentFlushTimestamp = 0;\n\n// Async edge case fix requires storing an event listener's attach timestamp.\nvar getNow = Date.now;\n\n// Determine what event timestamp the browser is using. Annoyingly, the\n// timestamp can either be hi-res (relative to page load) or low-res\n// (relative to UNIX epoch), so in order to compare time we have to use the\n// same timestamp type when saving the flush timestamp.\n// All IE versions use low-res event timestamps, and have problematic clock\n// implementations (#9632)\nif (inBrowser && !isIE) {\n var performance = window.performance;\n if (\n performance &&\n typeof performance.now === 'function' &&\n getNow() > document.createEvent('Event').timeStamp\n ) {\n // if the event timestamp, although evaluated AFTER the Date.now(), is\n // smaller than it, it means the event is using a hi-res timestamp,\n // and we need to use the hi-res version for event listener timestamps as\n // well.\n getNow = function () { return performance.now(); };\n }\n}\n\n/**\n * Flush both queues and run the watchers.\n */\nfunction flushSchedulerQueue () {\n currentFlushTimestamp = getNow();\n flushing = true;\n var watcher, id;\n\n // Sort queue before flush.\n // This ensures that:\n // 1. Components are updated from parent to child. (because parent is always\n // created before the child)\n // 2. A component's user watchers are run before its render watcher (because\n // user watchers are created before the render watcher)\n // 3. If a component is destroyed during a parent component's watcher run,\n // its watchers can be skipped.\n queue.sort(function (a, b) { return a.id - b.id; });\n\n // do not cache length because more watchers might be pushed\n // as we run existing watchers\n for (index = 0; index < queue.length; index++) {\n watcher = queue[index];\n if (watcher.before) {\n watcher.before();\n }\n id = watcher.id;\n has[id] = null;\n watcher.run();\n // in dev build, check and stop circular updates.\n if (process.env.NODE_ENV !== 'production' && has[id] != null) {\n circular[id] = (circular[id] || 0) + 1;\n if (circular[id] > MAX_UPDATE_COUNT) {\n warn(\n 'You may have an infinite update loop ' + (\n watcher.user\n ? (\"in watcher with expression \\\"\" + (watcher.expression) + \"\\\"\")\n : \"in a component render function.\"\n ),\n watcher.vm\n );\n break\n }\n }\n }\n\n // keep copies of post queues before resetting state\n var activatedQueue = activatedChildren.slice();\n var updatedQueue = queue.slice();\n\n resetSchedulerState();\n\n // call component updated and activated hooks\n callActivatedHooks(activatedQueue);\n callUpdatedHooks(updatedQueue);\n\n // devtool hook\n /* istanbul ignore if */\n if (devtools && config.devtools) {\n devtools.emit('flush');\n }\n}\n\nfunction callUpdatedHooks (queue) {\n var i = queue.length;\n while (i--) {\n var watcher = queue[i];\n var vm = watcher.vm;\n if (vm._watcher === watcher && vm._isMounted && !vm._isDestroyed) {\n callHook(vm, 'updated');\n }\n }\n}\n\n/**\n * Queue a kept-alive component that was activated during patch.\n * The queue will be processed after the entire tree has been patched.\n */\nfunction queueActivatedComponent (vm) {\n // setting _inactive to false here so that a render function can\n // rely on checking whether it's in an inactive tree (e.g. router-view)\n vm._inactive = false;\n activatedChildren.push(vm);\n}\n\nfunction callActivatedHooks (queue) {\n for (var i = 0; i < queue.length; i++) {\n queue[i]._inactive = true;\n activateChildComponent(queue[i], true /* true */);\n }\n}\n\n/**\n * Push a watcher into the watcher queue.\n * Jobs with duplicate IDs will be skipped unless it's\n * pushed when the queue is being flushed.\n */\nfunction queueWatcher (watcher) {\n var id = watcher.id;\n if (has[id] == null) {\n has[id] = true;\n if (!flushing) {\n queue.push(watcher);\n } else {\n // if already flushing, splice the watcher based on its id\n // if already past its id, it will be run next immediately.\n var i = queue.length - 1;\n while (i > index && queue[i].id > watcher.id) {\n i--;\n }\n queue.splice(i + 1, 0, watcher);\n }\n // queue the flush\n if (!waiting) {\n waiting = true;\n\n if (process.env.NODE_ENV !== 'production' && !config.async) {\n flushSchedulerQueue();\n return\n }\n nextTick(flushSchedulerQueue);\n }\n }\n}\n\n/* */\n\n\n\nvar uid$2 = 0;\n\n/**\n * A watcher parses an expression, collects dependencies,\n * and fires callback when the expression value changes.\n * This is used for both the $watch() api and directives.\n */\nvar Watcher = function Watcher (\n vm,\n expOrFn,\n cb,\n options,\n isRenderWatcher\n) {\n this.vm = vm;\n if (isRenderWatcher) {\n vm._watcher = this;\n }\n vm._watchers.push(this);\n // options\n if (options) {\n this.deep = !!options.deep;\n this.user = !!options.user;\n this.lazy = !!options.lazy;\n this.sync = !!options.sync;\n this.before = options.before;\n } else {\n this.deep = this.user = this.lazy = this.sync = false;\n }\n this.cb = cb;\n this.id = ++uid$2; // uid for batching\n this.active = true;\n this.dirty = this.lazy; // for lazy watchers\n this.deps = [];\n this.newDeps = [];\n this.depIds = new _Set();\n this.newDepIds = new _Set();\n this.expression = process.env.NODE_ENV !== 'production'\n ? expOrFn.toString()\n : '';\n // parse expression for getter\n if (typeof expOrFn === 'function') {\n this.getter = expOrFn;\n } else {\n this.getter = parsePath(expOrFn);\n if (!this.getter) {\n this.getter = noop;\n process.env.NODE_ENV !== 'production' && warn(\n \"Failed watching path: \\\"\" + expOrFn + \"\\\" \" +\n 'Watcher only accepts simple dot-delimited paths. ' +\n 'For full control, use a function instead.',\n vm\n );\n }\n }\n this.value = this.lazy\n ? undefined\n : this.get();\n};\n\n/**\n * Evaluate the getter, and re-collect dependencies.\n */\nWatcher.prototype.get = function get () {\n pushTarget(this);\n var value;\n var vm = this.vm;\n try {\n value = this.getter.call(vm, vm);\n } catch (e) {\n if (this.user) {\n handleError(e, vm, (\"getter for watcher \\\"\" + (this.expression) + \"\\\"\"));\n } else {\n throw e\n }\n } finally {\n // \"touch\" every property so they are all tracked as\n // dependencies for deep watching\n if (this.deep) {\n traverse(value);\n }\n popTarget();\n this.cleanupDeps();\n }\n return value\n};\n\n/**\n * Add a dependency to this directive.\n */\nWatcher.prototype.addDep = function addDep (dep) {\n var id = dep.id;\n if (!this.newDepIds.has(id)) {\n this.newDepIds.add(id);\n this.newDeps.push(dep);\n if (!this.depIds.has(id)) {\n dep.addSub(this);\n }\n }\n};\n\n/**\n * Clean up for dependency collection.\n */\nWatcher.prototype.cleanupDeps = function cleanupDeps () {\n var i = this.deps.length;\n while (i--) {\n var dep = this.deps[i];\n if (!this.newDepIds.has(dep.id)) {\n dep.removeSub(this);\n }\n }\n var tmp = this.depIds;\n this.depIds = this.newDepIds;\n this.newDepIds = tmp;\n this.newDepIds.clear();\n tmp = this.deps;\n this.deps = this.newDeps;\n this.newDeps = tmp;\n this.newDeps.length = 0;\n};\n\n/**\n * Subscriber interface.\n * Will be called when a dependency changes.\n */\nWatcher.prototype.update = function update () {\n /* istanbul ignore else */\n if (this.lazy) {\n this.dirty = true;\n } else if (this.sync) {\n this.run();\n } else {\n queueWatcher(this);\n }\n};\n\n/**\n * Scheduler job interface.\n * Will be called by the scheduler.\n */\nWatcher.prototype.run = function run () {\n if (this.active) {\n var value = this.get();\n if (\n value !== this.value ||\n // Deep watchers and watchers on Object/Arrays should fire even\n // when the value is the same, because the value may\n // have mutated.\n isObject(value) ||\n this.deep\n ) {\n // set new value\n var oldValue = this.value;\n this.value = value;\n if (this.user) {\n var info = \"callback for watcher \\\"\" + (this.expression) + \"\\\"\";\n invokeWithErrorHandling(this.cb, this.vm, [value, oldValue], this.vm, info);\n } else {\n this.cb.call(this.vm, value, oldValue);\n }\n }\n }\n};\n\n/**\n * Evaluate the value of the watcher.\n * This only gets called for lazy watchers.\n */\nWatcher.prototype.evaluate = function evaluate () {\n this.value = this.get();\n this.dirty = false;\n};\n\n/**\n * Depend on all deps collected by this watcher.\n */\nWatcher.prototype.depend = function depend () {\n var i = this.deps.length;\n while (i--) {\n this.deps[i].depend();\n }\n};\n\n/**\n * Remove self from all dependencies' subscriber list.\n */\nWatcher.prototype.teardown = function teardown () {\n if (this.active) {\n // remove self from vm's watcher list\n // this is a somewhat expensive operation so we skip it\n // if the vm is being destroyed.\n if (!this.vm._isBeingDestroyed) {\n remove(this.vm._watchers, this);\n }\n var i = this.deps.length;\n while (i--) {\n this.deps[i].removeSub(this);\n }\n this.active = false;\n }\n};\n\n/* */\n\nvar sharedPropertyDefinition = {\n enumerable: true,\n configurable: true,\n get: noop,\n set: noop\n};\n\nfunction proxy (target, sourceKey, key) {\n sharedPropertyDefinition.get = function proxyGetter () {\n return this[sourceKey][key]\n };\n sharedPropertyDefinition.set = function proxySetter (val) {\n this[sourceKey][key] = val;\n };\n Object.defineProperty(target, key, sharedPropertyDefinition);\n}\n\nfunction initState (vm) {\n vm._watchers = [];\n var opts = vm.$options;\n if (opts.props) { initProps(vm, opts.props); }\n if (opts.methods) { initMethods(vm, opts.methods); }\n if (opts.data) {\n initData(vm);\n } else {\n observe(vm._data = {}, true /* asRootData */);\n }\n if (opts.computed) { initComputed(vm, opts.computed); }\n if (opts.watch && opts.watch !== nativeWatch) {\n initWatch(vm, opts.watch);\n }\n}\n\nfunction initProps (vm, propsOptions) {\n var propsData = vm.$options.propsData || {};\n var props = vm._props = {};\n // cache prop keys so that future props updates can iterate using Array\n // instead of dynamic object key enumeration.\n var keys = vm.$options._propKeys = [];\n var isRoot = !vm.$parent;\n // root instance props should be converted\n if (!isRoot) {\n toggleObserving(false);\n }\n var loop = function ( key ) {\n keys.push(key);\n var value = validateProp(key, propsOptions, propsData, vm);\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n var hyphenatedKey = hyphenate(key);\n if (isReservedAttribute(hyphenatedKey) ||\n config.isReservedAttr(hyphenatedKey)) {\n warn(\n (\"\\\"\" + hyphenatedKey + \"\\\" is a reserved attribute and cannot be used as component prop.\"),\n vm\n );\n }\n defineReactive$$1(props, key, value, function () {\n if (!isRoot && !isUpdatingChildComponent) {\n warn(\n \"Avoid mutating a prop directly since the value will be \" +\n \"overwritten whenever the parent component re-renders. \" +\n \"Instead, use a data or computed property based on the prop's \" +\n \"value. Prop being mutated: \\\"\" + key + \"\\\"\",\n vm\n );\n }\n });\n } else {\n defineReactive$$1(props, key, value);\n }\n // static props are already proxied on the component's prototype\n // during Vue.extend(). We only need to proxy props defined at\n // instantiation here.\n if (!(key in vm)) {\n proxy(vm, \"_props\", key);\n }\n };\n\n for (var key in propsOptions) loop( key );\n toggleObserving(true);\n}\n\nfunction initData (vm) {\n var data = vm.$options.data;\n data = vm._data = typeof data === 'function'\n ? getData(data, vm)\n : data || {};\n if (!isPlainObject(data)) {\n data = {};\n process.env.NODE_ENV !== 'production' && warn(\n 'data functions should return an object:\\n' +\n 'https://vuejs.org/v2/guide/components.html#data-Must-Be-a-Function',\n vm\n );\n }\n // proxy data on instance\n var keys = Object.keys(data);\n var props = vm.$options.props;\n var methods = vm.$options.methods;\n var i = keys.length;\n while (i--) {\n var key = keys[i];\n if (process.env.NODE_ENV !== 'production') {\n if (methods && hasOwn(methods, key)) {\n warn(\n (\"Method \\\"\" + key + \"\\\" has already been defined as a data property.\"),\n vm\n );\n }\n }\n if (props && hasOwn(props, key)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"The data property \\\"\" + key + \"\\\" is already declared as a prop. \" +\n \"Use prop default value instead.\",\n vm\n );\n } else if (!isReserved(key)) {\n proxy(vm, \"_data\", key);\n }\n }\n // observe data\n observe(data, true /* asRootData */);\n}\n\nfunction getData (data, vm) {\n // #7573 disable dep collection when invoking data getters\n pushTarget();\n try {\n return data.call(vm, vm)\n } catch (e) {\n handleError(e, vm, \"data()\");\n return {}\n } finally {\n popTarget();\n }\n}\n\nvar computedWatcherOptions = { lazy: true };\n\nfunction initComputed (vm, computed) {\n // $flow-disable-line\n var watchers = vm._computedWatchers = Object.create(null);\n // computed properties are just getters during SSR\n var isSSR = isServerRendering();\n\n for (var key in computed) {\n var userDef = computed[key];\n var getter = typeof userDef === 'function' ? userDef : userDef.get;\n if (process.env.NODE_ENV !== 'production' && getter == null) {\n warn(\n (\"Getter is missing for computed property \\\"\" + key + \"\\\".\"),\n vm\n );\n }\n\n if (!isSSR) {\n // create internal watcher for the computed property.\n watchers[key] = new Watcher(\n vm,\n getter || noop,\n noop,\n computedWatcherOptions\n );\n }\n\n // component-defined computed properties are already defined on the\n // component prototype. We only need to define computed properties defined\n // at instantiation here.\n if (!(key in vm)) {\n defineComputed(vm, key, userDef);\n } else if (process.env.NODE_ENV !== 'production') {\n if (key in vm.$data) {\n warn((\"The computed property \\\"\" + key + \"\\\" is already defined in data.\"), vm);\n } else if (vm.$options.props && key in vm.$options.props) {\n warn((\"The computed property \\\"\" + key + \"\\\" is already defined as a prop.\"), vm);\n } else if (vm.$options.methods && key in vm.$options.methods) {\n warn((\"The computed property \\\"\" + key + \"\\\" is already defined as a method.\"), vm);\n }\n }\n }\n}\n\nfunction defineComputed (\n target,\n key,\n userDef\n) {\n var shouldCache = !isServerRendering();\n if (typeof userDef === 'function') {\n sharedPropertyDefinition.get = shouldCache\n ? createComputedGetter(key)\n : createGetterInvoker(userDef);\n sharedPropertyDefinition.set = noop;\n } else {\n sharedPropertyDefinition.get = userDef.get\n ? shouldCache && userDef.cache !== false\n ? createComputedGetter(key)\n : createGetterInvoker(userDef.get)\n : noop;\n sharedPropertyDefinition.set = userDef.set || noop;\n }\n if (process.env.NODE_ENV !== 'production' &&\n sharedPropertyDefinition.set === noop) {\n sharedPropertyDefinition.set = function () {\n warn(\n (\"Computed property \\\"\" + key + \"\\\" was assigned to but it has no setter.\"),\n this\n );\n };\n }\n Object.defineProperty(target, key, sharedPropertyDefinition);\n}\n\nfunction createComputedGetter (key) {\n return function computedGetter () {\n var watcher = this._computedWatchers && this._computedWatchers[key];\n if (watcher) {\n if (watcher.dirty) {\n watcher.evaluate();\n }\n if (Dep.target) {\n watcher.depend();\n }\n return watcher.value\n }\n }\n}\n\nfunction createGetterInvoker(fn) {\n return function computedGetter () {\n return fn.call(this, this)\n }\n}\n\nfunction initMethods (vm, methods) {\n var props = vm.$options.props;\n for (var key in methods) {\n if (process.env.NODE_ENV !== 'production') {\n if (typeof methods[key] !== 'function') {\n warn(\n \"Method \\\"\" + key + \"\\\" has type \\\"\" + (typeof methods[key]) + \"\\\" in the component definition. \" +\n \"Did you reference the function correctly?\",\n vm\n );\n }\n if (props && hasOwn(props, key)) {\n warn(\n (\"Method \\\"\" + key + \"\\\" has already been defined as a prop.\"),\n vm\n );\n }\n if ((key in vm) && isReserved(key)) {\n warn(\n \"Method \\\"\" + key + \"\\\" conflicts with an existing Vue instance method. \" +\n \"Avoid defining component methods that start with _ or $.\"\n );\n }\n }\n vm[key] = typeof methods[key] !== 'function' ? noop : bind(methods[key], vm);\n }\n}\n\nfunction initWatch (vm, watch) {\n for (var key in watch) {\n var handler = watch[key];\n if (Array.isArray(handler)) {\n for (var i = 0; i < handler.length; i++) {\n createWatcher(vm, key, handler[i]);\n }\n } else {\n createWatcher(vm, key, handler);\n }\n }\n}\n\nfunction createWatcher (\n vm,\n expOrFn,\n handler,\n options\n) {\n if (isPlainObject(handler)) {\n options = handler;\n handler = handler.handler;\n }\n if (typeof handler === 'string') {\n handler = vm[handler];\n }\n return vm.$watch(expOrFn, handler, options)\n}\n\nfunction stateMixin (Vue) {\n // flow somehow has problems with directly declared definition object\n // when using Object.defineProperty, so we have to procedurally build up\n // the object here.\n var dataDef = {};\n dataDef.get = function () { return this._data };\n var propsDef = {};\n propsDef.get = function () { return this._props };\n if (process.env.NODE_ENV !== 'production') {\n dataDef.set = function () {\n warn(\n 'Avoid replacing instance root $data. ' +\n 'Use nested data properties instead.',\n this\n );\n };\n propsDef.set = function () {\n warn(\"$props is readonly.\", this);\n };\n }\n Object.defineProperty(Vue.prototype, '$data', dataDef);\n Object.defineProperty(Vue.prototype, '$props', propsDef);\n\n Vue.prototype.$set = set;\n Vue.prototype.$delete = del;\n\n Vue.prototype.$watch = function (\n expOrFn,\n cb,\n options\n ) {\n var vm = this;\n if (isPlainObject(cb)) {\n return createWatcher(vm, expOrFn, cb, options)\n }\n options = options || {};\n options.user = true;\n var watcher = new Watcher(vm, expOrFn, cb, options);\n if (options.immediate) {\n var info = \"callback for immediate watcher \\\"\" + (watcher.expression) + \"\\\"\";\n pushTarget();\n invokeWithErrorHandling(cb, vm, [watcher.value], vm, info);\n popTarget();\n }\n return function unwatchFn () {\n watcher.teardown();\n }\n };\n}\n\n/* */\n\nvar uid$3 = 0;\n\nfunction initMixin (Vue) {\n Vue.prototype._init = function (options) {\n var vm = this;\n // a uid\n vm._uid = uid$3++;\n\n var startTag, endTag;\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n startTag = \"vue-perf-start:\" + (vm._uid);\n endTag = \"vue-perf-end:\" + (vm._uid);\n mark(startTag);\n }\n\n // a flag to avoid this being observed\n vm._isVue = true;\n // merge options\n if (options && options._isComponent) {\n // optimize internal component instantiation\n // since dynamic options merging is pretty slow, and none of the\n // internal component options needs special treatment.\n initInternalComponent(vm, options);\n } else {\n vm.$options = mergeOptions(\n resolveConstructorOptions(vm.constructor),\n options || {},\n vm\n );\n }\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n initProxy(vm);\n } else {\n vm._renderProxy = vm;\n }\n // expose real self\n vm._self = vm;\n initLifecycle(vm);\n initEvents(vm);\n initRender(vm);\n callHook(vm, 'beforeCreate');\n initInjections(vm); // resolve injections before data/props\n initState(vm);\n initProvide(vm); // resolve provide after data/props\n callHook(vm, 'created');\n\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n vm._name = formatComponentName(vm, false);\n mark(endTag);\n measure((\"vue \" + (vm._name) + \" init\"), startTag, endTag);\n }\n\n if (vm.$options.el) {\n vm.$mount(vm.$options.el);\n }\n };\n}\n\nfunction initInternalComponent (vm, options) {\n var opts = vm.$options = Object.create(vm.constructor.options);\n // doing this because it's faster than dynamic enumeration.\n var parentVnode = options._parentVnode;\n opts.parent = options.parent;\n opts._parentVnode = parentVnode;\n\n var vnodeComponentOptions = parentVnode.componentOptions;\n opts.propsData = vnodeComponentOptions.propsData;\n opts._parentListeners = vnodeComponentOptions.listeners;\n opts._renderChildren = vnodeComponentOptions.children;\n opts._componentTag = vnodeComponentOptions.tag;\n\n if (options.render) {\n opts.render = options.render;\n opts.staticRenderFns = options.staticRenderFns;\n }\n}\n\nfunction resolveConstructorOptions (Ctor) {\n var options = Ctor.options;\n if (Ctor.super) {\n var superOptions = resolveConstructorOptions(Ctor.super);\n var cachedSuperOptions = Ctor.superOptions;\n if (superOptions !== cachedSuperOptions) {\n // super option changed,\n // need to resolve new options.\n Ctor.superOptions = superOptions;\n // check if there are any late-modified/attached options (#4976)\n var modifiedOptions = resolveModifiedOptions(Ctor);\n // update base extend options\n if (modifiedOptions) {\n extend(Ctor.extendOptions, modifiedOptions);\n }\n options = Ctor.options = mergeOptions(superOptions, Ctor.extendOptions);\n if (options.name) {\n options.components[options.name] = Ctor;\n }\n }\n }\n return options\n}\n\nfunction resolveModifiedOptions (Ctor) {\n var modified;\n var latest = Ctor.options;\n var sealed = Ctor.sealedOptions;\n for (var key in latest) {\n if (latest[key] !== sealed[key]) {\n if (!modified) { modified = {}; }\n modified[key] = latest[key];\n }\n }\n return modified\n}\n\nfunction Vue (options) {\n if (process.env.NODE_ENV !== 'production' &&\n !(this instanceof Vue)\n ) {\n warn('Vue is a constructor and should be called with the `new` keyword');\n }\n this._init(options);\n}\n\ninitMixin(Vue);\nstateMixin(Vue);\neventsMixin(Vue);\nlifecycleMixin(Vue);\nrenderMixin(Vue);\n\n/* */\n\nfunction initUse (Vue) {\n Vue.use = function (plugin) {\n var installedPlugins = (this._installedPlugins || (this._installedPlugins = []));\n if (installedPlugins.indexOf(plugin) > -1) {\n return this\n }\n\n // additional parameters\n var args = toArray(arguments, 1);\n args.unshift(this);\n if (typeof plugin.install === 'function') {\n plugin.install.apply(plugin, args);\n } else if (typeof plugin === 'function') {\n plugin.apply(null, args);\n }\n installedPlugins.push(plugin);\n return this\n };\n}\n\n/* */\n\nfunction initMixin$1 (Vue) {\n Vue.mixin = function (mixin) {\n this.options = mergeOptions(this.options, mixin);\n return this\n };\n}\n\n/* */\n\nfunction initExtend (Vue) {\n /**\n * Each instance constructor, including Vue, has a unique\n * cid. This enables us to create wrapped \"child\n * constructors\" for prototypal inheritance and cache them.\n */\n Vue.cid = 0;\n var cid = 1;\n\n /**\n * Class inheritance\n */\n Vue.extend = function (extendOptions) {\n extendOptions = extendOptions || {};\n var Super = this;\n var SuperId = Super.cid;\n var cachedCtors = extendOptions._Ctor || (extendOptions._Ctor = {});\n if (cachedCtors[SuperId]) {\n return cachedCtors[SuperId]\n }\n\n var name = extendOptions.name || Super.options.name;\n if (process.env.NODE_ENV !== 'production' && name) {\n validateComponentName(name);\n }\n\n var Sub = function VueComponent (options) {\n this._init(options);\n };\n Sub.prototype = Object.create(Super.prototype);\n Sub.prototype.constructor = Sub;\n Sub.cid = cid++;\n Sub.options = mergeOptions(\n Super.options,\n extendOptions\n );\n Sub['super'] = Super;\n\n // For props and computed properties, we define the proxy getters on\n // the Vue instances at extension time, on the extended prototype. This\n // avoids Object.defineProperty calls for each instance created.\n if (Sub.options.props) {\n initProps$1(Sub);\n }\n if (Sub.options.computed) {\n initComputed$1(Sub);\n }\n\n // allow further extension/mixin/plugin usage\n Sub.extend = Super.extend;\n Sub.mixin = Super.mixin;\n Sub.use = Super.use;\n\n // create asset registers, so extended classes\n // can have their private assets too.\n ASSET_TYPES.forEach(function (type) {\n Sub[type] = Super[type];\n });\n // enable recursive self-lookup\n if (name) {\n Sub.options.components[name] = Sub;\n }\n\n // keep a reference to the super options at extension time.\n // later at instantiation we can check if Super's options have\n // been updated.\n Sub.superOptions = Super.options;\n Sub.extendOptions = extendOptions;\n Sub.sealedOptions = extend({}, Sub.options);\n\n // cache constructor\n cachedCtors[SuperId] = Sub;\n return Sub\n };\n}\n\nfunction initProps$1 (Comp) {\n var props = Comp.options.props;\n for (var key in props) {\n proxy(Comp.prototype, \"_props\", key);\n }\n}\n\nfunction initComputed$1 (Comp) {\n var computed = Comp.options.computed;\n for (var key in computed) {\n defineComputed(Comp.prototype, key, computed[key]);\n }\n}\n\n/* */\n\nfunction initAssetRegisters (Vue) {\n /**\n * Create asset registration methods.\n */\n ASSET_TYPES.forEach(function (type) {\n Vue[type] = function (\n id,\n definition\n ) {\n if (!definition) {\n return this.options[type + 's'][id]\n } else {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && type === 'component') {\n validateComponentName(id);\n }\n if (type === 'component' && isPlainObject(definition)) {\n definition.name = definition.name || id;\n definition = this.options._base.extend(definition);\n }\n if (type === 'directive' && typeof definition === 'function') {\n definition = { bind: definition, update: definition };\n }\n this.options[type + 's'][id] = definition;\n return definition\n }\n };\n });\n}\n\n/* */\n\n\n\n\n\nfunction getComponentName (opts) {\n return opts && (opts.Ctor.options.name || opts.tag)\n}\n\nfunction matches (pattern, name) {\n if (Array.isArray(pattern)) {\n return pattern.indexOf(name) > -1\n } else if (typeof pattern === 'string') {\n return pattern.split(',').indexOf(name) > -1\n } else if (isRegExp(pattern)) {\n return pattern.test(name)\n }\n /* istanbul ignore next */\n return false\n}\n\nfunction pruneCache (keepAliveInstance, filter) {\n var cache = keepAliveInstance.cache;\n var keys = keepAliveInstance.keys;\n var _vnode = keepAliveInstance._vnode;\n for (var key in cache) {\n var entry = cache[key];\n if (entry) {\n var name = entry.name;\n if (name && !filter(name)) {\n pruneCacheEntry(cache, key, keys, _vnode);\n }\n }\n }\n}\n\nfunction pruneCacheEntry (\n cache,\n key,\n keys,\n current\n) {\n var entry = cache[key];\n if (entry && (!current || entry.tag !== current.tag)) {\n entry.componentInstance.$destroy();\n }\n cache[key] = null;\n remove(keys, key);\n}\n\nvar patternTypes = [String, RegExp, Array];\n\nvar KeepAlive = {\n name: 'keep-alive',\n abstract: true,\n\n props: {\n include: patternTypes,\n exclude: patternTypes,\n max: [String, Number]\n },\n\n methods: {\n cacheVNode: function cacheVNode() {\n var ref = this;\n var cache = ref.cache;\n var keys = ref.keys;\n var vnodeToCache = ref.vnodeToCache;\n var keyToCache = ref.keyToCache;\n if (vnodeToCache) {\n var tag = vnodeToCache.tag;\n var componentInstance = vnodeToCache.componentInstance;\n var componentOptions = vnodeToCache.componentOptions;\n cache[keyToCache] = {\n name: getComponentName(componentOptions),\n tag: tag,\n componentInstance: componentInstance,\n };\n keys.push(keyToCache);\n // prune oldest entry\n if (this.max && keys.length > parseInt(this.max)) {\n pruneCacheEntry(cache, keys[0], keys, this._vnode);\n }\n this.vnodeToCache = null;\n }\n }\n },\n\n created: function created () {\n this.cache = Object.create(null);\n this.keys = [];\n },\n\n destroyed: function destroyed () {\n for (var key in this.cache) {\n pruneCacheEntry(this.cache, key, this.keys);\n }\n },\n\n mounted: function mounted () {\n var this$1 = this;\n\n this.cacheVNode();\n this.$watch('include', function (val) {\n pruneCache(this$1, function (name) { return matches(val, name); });\n });\n this.$watch('exclude', function (val) {\n pruneCache(this$1, function (name) { return !matches(val, name); });\n });\n },\n\n updated: function updated () {\n this.cacheVNode();\n },\n\n render: function render () {\n var slot = this.$slots.default;\n var vnode = getFirstComponentChild(slot);\n var componentOptions = vnode && vnode.componentOptions;\n if (componentOptions) {\n // check pattern\n var name = getComponentName(componentOptions);\n var ref = this;\n var include = ref.include;\n var exclude = ref.exclude;\n if (\n // not included\n (include && (!name || !matches(include, name))) ||\n // excluded\n (exclude && name && matches(exclude, name))\n ) {\n return vnode\n }\n\n var ref$1 = this;\n var cache = ref$1.cache;\n var keys = ref$1.keys;\n var key = vnode.key == null\n // same constructor may get registered as different local components\n // so cid alone is not enough (#3269)\n ? componentOptions.Ctor.cid + (componentOptions.tag ? (\"::\" + (componentOptions.tag)) : '')\n : vnode.key;\n if (cache[key]) {\n vnode.componentInstance = cache[key].componentInstance;\n // make current key freshest\n remove(keys, key);\n keys.push(key);\n } else {\n // delay setting the cache until update\n this.vnodeToCache = vnode;\n this.keyToCache = key;\n }\n\n vnode.data.keepAlive = true;\n }\n return vnode || (slot && slot[0])\n }\n};\n\nvar builtInComponents = {\n KeepAlive: KeepAlive\n};\n\n/* */\n\nfunction initGlobalAPI (Vue) {\n // config\n var configDef = {};\n configDef.get = function () { return config; };\n if (process.env.NODE_ENV !== 'production') {\n configDef.set = function () {\n warn(\n 'Do not replace the Vue.config object, set individual fields instead.'\n );\n };\n }\n Object.defineProperty(Vue, 'config', configDef);\n\n // exposed util methods.\n // NOTE: these are not considered part of the public API - avoid relying on\n // them unless you are aware of the risk.\n Vue.util = {\n warn: warn,\n extend: extend,\n mergeOptions: mergeOptions,\n defineReactive: defineReactive$$1\n };\n\n Vue.set = set;\n Vue.delete = del;\n Vue.nextTick = nextTick;\n\n // 2.6 explicit observable API\n Vue.observable = function (obj) {\n observe(obj);\n return obj\n };\n\n Vue.options = Object.create(null);\n ASSET_TYPES.forEach(function (type) {\n Vue.options[type + 's'] = Object.create(null);\n });\n\n // this is used to identify the \"base\" constructor to extend all plain-object\n // components with in Weex's multi-instance scenarios.\n Vue.options._base = Vue;\n\n extend(Vue.options.components, builtInComponents);\n\n initUse(Vue);\n initMixin$1(Vue);\n initExtend(Vue);\n initAssetRegisters(Vue);\n}\n\ninitGlobalAPI(Vue);\n\nObject.defineProperty(Vue.prototype, '$isServer', {\n get: isServerRendering\n});\n\nObject.defineProperty(Vue.prototype, '$ssrContext', {\n get: function get () {\n /* istanbul ignore next */\n return this.$vnode && this.$vnode.ssrContext\n }\n});\n\n// expose FunctionalRenderContext for ssr runtime helper installation\nObject.defineProperty(Vue, 'FunctionalRenderContext', {\n value: FunctionalRenderContext\n});\n\nVue.version = '2.6.14';\n\n/* */\n\n// these are reserved for web because they are directly compiled away\n// during template compilation\nvar isReservedAttr = makeMap('style,class');\n\n// attributes that should be using props for binding\nvar acceptValue = makeMap('input,textarea,option,select,progress');\nvar mustUseProp = function (tag, type, attr) {\n return (\n (attr === 'value' && acceptValue(tag)) && type !== 'button' ||\n (attr === 'selected' && tag === 'option') ||\n (attr === 'checked' && tag === 'input') ||\n (attr === 'muted' && tag === 'video')\n )\n};\n\nvar isEnumeratedAttr = makeMap('contenteditable,draggable,spellcheck');\n\nvar isValidContentEditableValue = makeMap('events,caret,typing,plaintext-only');\n\nvar convertEnumeratedValue = function (key, value) {\n return isFalsyAttrValue(value) || value === 'false'\n ? 'false'\n // allow arbitrary string value for contenteditable\n : key === 'contenteditable' && isValidContentEditableValue(value)\n ? value\n : 'true'\n};\n\nvar isBooleanAttr = makeMap(\n 'allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,' +\n 'default,defaultchecked,defaultmuted,defaultselected,defer,disabled,' +\n 'enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,' +\n 'muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,' +\n 'required,reversed,scoped,seamless,selected,sortable,' +\n 'truespeed,typemustmatch,visible'\n);\n\nvar xlinkNS = 'http://www.w3.org/1999/xlink';\n\nvar isXlink = function (name) {\n return name.charAt(5) === ':' && name.slice(0, 5) === 'xlink'\n};\n\nvar getXlinkProp = function (name) {\n return isXlink(name) ? name.slice(6, name.length) : ''\n};\n\nvar isFalsyAttrValue = function (val) {\n return val == null || val === false\n};\n\n/* */\n\nfunction genClassForVnode (vnode) {\n var data = vnode.data;\n var parentNode = vnode;\n var childNode = vnode;\n while (isDef(childNode.componentInstance)) {\n childNode = childNode.componentInstance._vnode;\n if (childNode && childNode.data) {\n data = mergeClassData(childNode.data, data);\n }\n }\n while (isDef(parentNode = parentNode.parent)) {\n if (parentNode && parentNode.data) {\n data = mergeClassData(data, parentNode.data);\n }\n }\n return renderClass(data.staticClass, data.class)\n}\n\nfunction mergeClassData (child, parent) {\n return {\n staticClass: concat(child.staticClass, parent.staticClass),\n class: isDef(child.class)\n ? [child.class, parent.class]\n : parent.class\n }\n}\n\nfunction renderClass (\n staticClass,\n dynamicClass\n) {\n if (isDef(staticClass) || isDef(dynamicClass)) {\n return concat(staticClass, stringifyClass(dynamicClass))\n }\n /* istanbul ignore next */\n return ''\n}\n\nfunction concat (a, b) {\n return a ? b ? (a + ' ' + b) : a : (b || '')\n}\n\nfunction stringifyClass (value) {\n if (Array.isArray(value)) {\n return stringifyArray(value)\n }\n if (isObject(value)) {\n return stringifyObject(value)\n }\n if (typeof value === 'string') {\n return value\n }\n /* istanbul ignore next */\n return ''\n}\n\nfunction stringifyArray (value) {\n var res = '';\n var stringified;\n for (var i = 0, l = value.length; i < l; i++) {\n if (isDef(stringified = stringifyClass(value[i])) && stringified !== '') {\n if (res) { res += ' '; }\n res += stringified;\n }\n }\n return res\n}\n\nfunction stringifyObject (value) {\n var res = '';\n for (var key in value) {\n if (value[key]) {\n if (res) { res += ' '; }\n res += key;\n }\n }\n return res\n}\n\n/* */\n\nvar namespaceMap = {\n svg: 'http://www.w3.org/2000/svg',\n math: 'http://www.w3.org/1998/Math/MathML'\n};\n\nvar isHTMLTag = makeMap(\n 'html,body,base,head,link,meta,style,title,' +\n 'address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,' +\n 'div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,' +\n 'a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,' +\n 's,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,' +\n 'embed,object,param,source,canvas,script,noscript,del,ins,' +\n 'caption,col,colgroup,table,thead,tbody,td,th,tr,' +\n 'button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,' +\n 'output,progress,select,textarea,' +\n 'details,dialog,menu,menuitem,summary,' +\n 'content,element,shadow,template,blockquote,iframe,tfoot'\n);\n\n// this map is intentionally selective, only covering SVG elements that may\n// contain child elements.\nvar isSVG = makeMap(\n 'svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,' +\n 'foreignobject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,' +\n 'polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view',\n true\n);\n\nvar isReservedTag = function (tag) {\n return isHTMLTag(tag) || isSVG(tag)\n};\n\nfunction getTagNamespace (tag) {\n if (isSVG(tag)) {\n return 'svg'\n }\n // basic support for MathML\n // note it doesn't support other MathML elements being component roots\n if (tag === 'math') {\n return 'math'\n }\n}\n\nvar unknownElementCache = Object.create(null);\nfunction isUnknownElement (tag) {\n /* istanbul ignore if */\n if (!inBrowser) {\n return true\n }\n if (isReservedTag(tag)) {\n return false\n }\n tag = tag.toLowerCase();\n /* istanbul ignore if */\n if (unknownElementCache[tag] != null) {\n return unknownElementCache[tag]\n }\n var el = document.createElement(tag);\n if (tag.indexOf('-') > -1) {\n // http://stackoverflow.com/a/28210364/1070244\n return (unknownElementCache[tag] = (\n el.constructor === window.HTMLUnknownElement ||\n el.constructor === window.HTMLElement\n ))\n } else {\n return (unknownElementCache[tag] = /HTMLUnknownElement/.test(el.toString()))\n }\n}\n\nvar isTextInputType = makeMap('text,number,password,search,email,tel,url');\n\n/* */\n\n/**\n * Query an element selector if it's not an element already.\n */\nfunction query (el) {\n if (typeof el === 'string') {\n var selected = document.querySelector(el);\n if (!selected) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Cannot find element: ' + el\n );\n return document.createElement('div')\n }\n return selected\n } else {\n return el\n }\n}\n\n/* */\n\nfunction createElement$1 (tagName, vnode) {\n var elm = document.createElement(tagName);\n if (tagName !== 'select') {\n return elm\n }\n // false or null will remove the attribute but undefined will not\n if (vnode.data && vnode.data.attrs && vnode.data.attrs.multiple !== undefined) {\n elm.setAttribute('multiple', 'multiple');\n }\n return elm\n}\n\nfunction createElementNS (namespace, tagName) {\n return document.createElementNS(namespaceMap[namespace], tagName)\n}\n\nfunction createTextNode (text) {\n return document.createTextNode(text)\n}\n\nfunction createComment (text) {\n return document.createComment(text)\n}\n\nfunction insertBefore (parentNode, newNode, referenceNode) {\n parentNode.insertBefore(newNode, referenceNode);\n}\n\nfunction removeChild (node, child) {\n node.removeChild(child);\n}\n\nfunction appendChild (node, child) {\n node.appendChild(child);\n}\n\nfunction parentNode (node) {\n return node.parentNode\n}\n\nfunction nextSibling (node) {\n return node.nextSibling\n}\n\nfunction tagName (node) {\n return node.tagName\n}\n\nfunction setTextContent (node, text) {\n node.textContent = text;\n}\n\nfunction setStyleScope (node, scopeId) {\n node.setAttribute(scopeId, '');\n}\n\nvar nodeOps = /*#__PURE__*/Object.freeze({\n createElement: createElement$1,\n createElementNS: createElementNS,\n createTextNode: createTextNode,\n createComment: createComment,\n insertBefore: insertBefore,\n removeChild: removeChild,\n appendChild: appendChild,\n parentNode: parentNode,\n nextSibling: nextSibling,\n tagName: tagName,\n setTextContent: setTextContent,\n setStyleScope: setStyleScope\n});\n\n/* */\n\nvar ref = {\n create: function create (_, vnode) {\n registerRef(vnode);\n },\n update: function update (oldVnode, vnode) {\n if (oldVnode.data.ref !== vnode.data.ref) {\n registerRef(oldVnode, true);\n registerRef(vnode);\n }\n },\n destroy: function destroy (vnode) {\n registerRef(vnode, true);\n }\n};\n\nfunction registerRef (vnode, isRemoval) {\n var key = vnode.data.ref;\n if (!isDef(key)) { return }\n\n var vm = vnode.context;\n var ref = vnode.componentInstance || vnode.elm;\n var refs = vm.$refs;\n if (isRemoval) {\n if (Array.isArray(refs[key])) {\n remove(refs[key], ref);\n } else if (refs[key] === ref) {\n refs[key] = undefined;\n }\n } else {\n if (vnode.data.refInFor) {\n if (!Array.isArray(refs[key])) {\n refs[key] = [ref];\n } else if (refs[key].indexOf(ref) < 0) {\n // $flow-disable-line\n refs[key].push(ref);\n }\n } else {\n refs[key] = ref;\n }\n }\n}\n\n/**\n * Virtual DOM patching algorithm based on Snabbdom by\n * Simon Friis Vindum (@paldepind)\n * Licensed under the MIT License\n * https://github.com/paldepind/snabbdom/blob/master/LICENSE\n *\n * modified by Evan You (@yyx990803)\n *\n * Not type-checking this because this file is perf-critical and the cost\n * of making flow understand it is not worth it.\n */\n\nvar emptyNode = new VNode('', {}, []);\n\nvar hooks = ['create', 'activate', 'update', 'remove', 'destroy'];\n\nfunction sameVnode (a, b) {\n return (\n a.key === b.key &&\n a.asyncFactory === b.asyncFactory && (\n (\n a.tag === b.tag &&\n a.isComment === b.isComment &&\n isDef(a.data) === isDef(b.data) &&\n sameInputType(a, b)\n ) || (\n isTrue(a.isAsyncPlaceholder) &&\n isUndef(b.asyncFactory.error)\n )\n )\n )\n}\n\nfunction sameInputType (a, b) {\n if (a.tag !== 'input') { return true }\n var i;\n var typeA = isDef(i = a.data) && isDef(i = i.attrs) && i.type;\n var typeB = isDef(i = b.data) && isDef(i = i.attrs) && i.type;\n return typeA === typeB || isTextInputType(typeA) && isTextInputType(typeB)\n}\n\nfunction createKeyToOldIdx (children, beginIdx, endIdx) {\n var i, key;\n var map = {};\n for (i = beginIdx; i <= endIdx; ++i) {\n key = children[i].key;\n if (isDef(key)) { map[key] = i; }\n }\n return map\n}\n\nfunction createPatchFunction (backend) {\n var i, j;\n var cbs = {};\n\n var modules = backend.modules;\n var nodeOps = backend.nodeOps;\n\n for (i = 0; i < hooks.length; ++i) {\n cbs[hooks[i]] = [];\n for (j = 0; j < modules.length; ++j) {\n if (isDef(modules[j][hooks[i]])) {\n cbs[hooks[i]].push(modules[j][hooks[i]]);\n }\n }\n }\n\n function emptyNodeAt (elm) {\n return new VNode(nodeOps.tagName(elm).toLowerCase(), {}, [], undefined, elm)\n }\n\n function createRmCb (childElm, listeners) {\n function remove$$1 () {\n if (--remove$$1.listeners === 0) {\n removeNode(childElm);\n }\n }\n remove$$1.listeners = listeners;\n return remove$$1\n }\n\n function removeNode (el) {\n var parent = nodeOps.parentNode(el);\n // element may have already been removed due to v-html / v-text\n if (isDef(parent)) {\n nodeOps.removeChild(parent, el);\n }\n }\n\n function isUnknownElement$$1 (vnode, inVPre) {\n return (\n !inVPre &&\n !vnode.ns &&\n !(\n config.ignoredElements.length &&\n config.ignoredElements.some(function (ignore) {\n return isRegExp(ignore)\n ? ignore.test(vnode.tag)\n : ignore === vnode.tag\n })\n ) &&\n config.isUnknownElement(vnode.tag)\n )\n }\n\n var creatingElmInVPre = 0;\n\n function createElm (\n vnode,\n insertedVnodeQueue,\n parentElm,\n refElm,\n nested,\n ownerArray,\n index\n ) {\n if (isDef(vnode.elm) && isDef(ownerArray)) {\n // This vnode was used in a previous render!\n // now it's used as a new node, overwriting its elm would cause\n // potential patch errors down the road when it's used as an insertion\n // reference node. Instead, we clone the node on-demand before creating\n // associated DOM element for it.\n vnode = ownerArray[index] = cloneVNode(vnode);\n }\n\n vnode.isRootInsert = !nested; // for transition enter check\n if (createComponent(vnode, insertedVnodeQueue, parentElm, refElm)) {\n return\n }\n\n var data = vnode.data;\n var children = vnode.children;\n var tag = vnode.tag;\n if (isDef(tag)) {\n if (process.env.NODE_ENV !== 'production') {\n if (data && data.pre) {\n creatingElmInVPre++;\n }\n if (isUnknownElement$$1(vnode, creatingElmInVPre)) {\n warn(\n 'Unknown custom element: <' + tag + '> - did you ' +\n 'register the component correctly? For recursive components, ' +\n 'make sure to provide the \"name\" option.',\n vnode.context\n );\n }\n }\n\n vnode.elm = vnode.ns\n ? nodeOps.createElementNS(vnode.ns, tag)\n : nodeOps.createElement(tag, vnode);\n setScope(vnode);\n\n /* istanbul ignore if */\n {\n createChildren(vnode, children, insertedVnodeQueue);\n if (isDef(data)) {\n invokeCreateHooks(vnode, insertedVnodeQueue);\n }\n insert(parentElm, vnode.elm, refElm);\n }\n\n if (process.env.NODE_ENV !== 'production' && data && data.pre) {\n creatingElmInVPre--;\n }\n } else if (isTrue(vnode.isComment)) {\n vnode.elm = nodeOps.createComment(vnode.text);\n insert(parentElm, vnode.elm, refElm);\n } else {\n vnode.elm = nodeOps.createTextNode(vnode.text);\n insert(parentElm, vnode.elm, refElm);\n }\n }\n\n function createComponent (vnode, insertedVnodeQueue, parentElm, refElm) {\n var i = vnode.data;\n if (isDef(i)) {\n var isReactivated = isDef(vnode.componentInstance) && i.keepAlive;\n if (isDef(i = i.hook) && isDef(i = i.init)) {\n i(vnode, false /* hydrating */);\n }\n // after calling the init hook, if the vnode is a child component\n // it should've created a child instance and mounted it. the child\n // component also has set the placeholder vnode's elm.\n // in that case we can just return the element and be done.\n if (isDef(vnode.componentInstance)) {\n initComponent(vnode, insertedVnodeQueue);\n insert(parentElm, vnode.elm, refElm);\n if (isTrue(isReactivated)) {\n reactivateComponent(vnode, insertedVnodeQueue, parentElm, refElm);\n }\n return true\n }\n }\n }\n\n function initComponent (vnode, insertedVnodeQueue) {\n if (isDef(vnode.data.pendingInsert)) {\n insertedVnodeQueue.push.apply(insertedVnodeQueue, vnode.data.pendingInsert);\n vnode.data.pendingInsert = null;\n }\n vnode.elm = vnode.componentInstance.$el;\n if (isPatchable(vnode)) {\n invokeCreateHooks(vnode, insertedVnodeQueue);\n setScope(vnode);\n } else {\n // empty component root.\n // skip all element-related modules except for ref (#3455)\n registerRef(vnode);\n // make sure to invoke the insert hook\n insertedVnodeQueue.push(vnode);\n }\n }\n\n function reactivateComponent (vnode, insertedVnodeQueue, parentElm, refElm) {\n var i;\n // hack for #4339: a reactivated component with inner transition\n // does not trigger because the inner node's created hooks are not called\n // again. It's not ideal to involve module-specific logic in here but\n // there doesn't seem to be a better way to do it.\n var innerNode = vnode;\n while (innerNode.componentInstance) {\n innerNode = innerNode.componentInstance._vnode;\n if (isDef(i = innerNode.data) && isDef(i = i.transition)) {\n for (i = 0; i < cbs.activate.length; ++i) {\n cbs.activate[i](emptyNode, innerNode);\n }\n insertedVnodeQueue.push(innerNode);\n break\n }\n }\n // unlike a newly created component,\n // a reactivated keep-alive component doesn't insert itself\n insert(parentElm, vnode.elm, refElm);\n }\n\n function insert (parent, elm, ref$$1) {\n if (isDef(parent)) {\n if (isDef(ref$$1)) {\n if (nodeOps.parentNode(ref$$1) === parent) {\n nodeOps.insertBefore(parent, elm, ref$$1);\n }\n } else {\n nodeOps.appendChild(parent, elm);\n }\n }\n }\n\n function createChildren (vnode, children, insertedVnodeQueue) {\n if (Array.isArray(children)) {\n if (process.env.NODE_ENV !== 'production') {\n checkDuplicateKeys(children);\n }\n for (var i = 0; i < children.length; ++i) {\n createElm(children[i], insertedVnodeQueue, vnode.elm, null, true, children, i);\n }\n } else if (isPrimitive(vnode.text)) {\n nodeOps.appendChild(vnode.elm, nodeOps.createTextNode(String(vnode.text)));\n }\n }\n\n function isPatchable (vnode) {\n while (vnode.componentInstance) {\n vnode = vnode.componentInstance._vnode;\n }\n return isDef(vnode.tag)\n }\n\n function invokeCreateHooks (vnode, insertedVnodeQueue) {\n for (var i$1 = 0; i$1 < cbs.create.length; ++i$1) {\n cbs.create[i$1](emptyNode, vnode);\n }\n i = vnode.data.hook; // Reuse variable\n if (isDef(i)) {\n if (isDef(i.create)) { i.create(emptyNode, vnode); }\n if (isDef(i.insert)) { insertedVnodeQueue.push(vnode); }\n }\n }\n\n // set scope id attribute for scoped CSS.\n // this is implemented as a special case to avoid the overhead\n // of going through the normal attribute patching process.\n function setScope (vnode) {\n var i;\n if (isDef(i = vnode.fnScopeId)) {\n nodeOps.setStyleScope(vnode.elm, i);\n } else {\n var ancestor = vnode;\n while (ancestor) {\n if (isDef(i = ancestor.context) && isDef(i = i.$options._scopeId)) {\n nodeOps.setStyleScope(vnode.elm, i);\n }\n ancestor = ancestor.parent;\n }\n }\n // for slot content they should also get the scopeId from the host instance.\n if (isDef(i = activeInstance) &&\n i !== vnode.context &&\n i !== vnode.fnContext &&\n isDef(i = i.$options._scopeId)\n ) {\n nodeOps.setStyleScope(vnode.elm, i);\n }\n }\n\n function addVnodes (parentElm, refElm, vnodes, startIdx, endIdx, insertedVnodeQueue) {\n for (; startIdx <= endIdx; ++startIdx) {\n createElm(vnodes[startIdx], insertedVnodeQueue, parentElm, refElm, false, vnodes, startIdx);\n }\n }\n\n function invokeDestroyHook (vnode) {\n var i, j;\n var data = vnode.data;\n if (isDef(data)) {\n if (isDef(i = data.hook) && isDef(i = i.destroy)) { i(vnode); }\n for (i = 0; i < cbs.destroy.length; ++i) { cbs.destroy[i](vnode); }\n }\n if (isDef(i = vnode.children)) {\n for (j = 0; j < vnode.children.length; ++j) {\n invokeDestroyHook(vnode.children[j]);\n }\n }\n }\n\n function removeVnodes (vnodes, startIdx, endIdx) {\n for (; startIdx <= endIdx; ++startIdx) {\n var ch = vnodes[startIdx];\n if (isDef(ch)) {\n if (isDef(ch.tag)) {\n removeAndInvokeRemoveHook(ch);\n invokeDestroyHook(ch);\n } else { // Text node\n removeNode(ch.elm);\n }\n }\n }\n }\n\n function removeAndInvokeRemoveHook (vnode, rm) {\n if (isDef(rm) || isDef(vnode.data)) {\n var i;\n var listeners = cbs.remove.length + 1;\n if (isDef(rm)) {\n // we have a recursively passed down rm callback\n // increase the listeners count\n rm.listeners += listeners;\n } else {\n // directly removing\n rm = createRmCb(vnode.elm, listeners);\n }\n // recursively invoke hooks on child component root node\n if (isDef(i = vnode.componentInstance) && isDef(i = i._vnode) && isDef(i.data)) {\n removeAndInvokeRemoveHook(i, rm);\n }\n for (i = 0; i < cbs.remove.length; ++i) {\n cbs.remove[i](vnode, rm);\n }\n if (isDef(i = vnode.data.hook) && isDef(i = i.remove)) {\n i(vnode, rm);\n } else {\n rm();\n }\n } else {\n removeNode(vnode.elm);\n }\n }\n\n function updateChildren (parentElm, oldCh, newCh, insertedVnodeQueue, removeOnly) {\n var oldStartIdx = 0;\n var newStartIdx = 0;\n var oldEndIdx = oldCh.length - 1;\n var oldStartVnode = oldCh[0];\n var oldEndVnode = oldCh[oldEndIdx];\n var newEndIdx = newCh.length - 1;\n var newStartVnode = newCh[0];\n var newEndVnode = newCh[newEndIdx];\n var oldKeyToIdx, idxInOld, vnodeToMove, refElm;\n\n // removeOnly is a special flag used only by <transition-group>\n // to ensure removed elements stay in correct relative positions\n // during leaving transitions\n var canMove = !removeOnly;\n\n if (process.env.NODE_ENV !== 'production') {\n checkDuplicateKeys(newCh);\n }\n\n while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) {\n if (isUndef(oldStartVnode)) {\n oldStartVnode = oldCh[++oldStartIdx]; // Vnode has been moved left\n } else if (isUndef(oldEndVnode)) {\n oldEndVnode = oldCh[--oldEndIdx];\n } else if (sameVnode(oldStartVnode, newStartVnode)) {\n patchVnode(oldStartVnode, newStartVnode, insertedVnodeQueue, newCh, newStartIdx);\n oldStartVnode = oldCh[++oldStartIdx];\n newStartVnode = newCh[++newStartIdx];\n } else if (sameVnode(oldEndVnode, newEndVnode)) {\n patchVnode(oldEndVnode, newEndVnode, insertedVnodeQueue, newCh, newEndIdx);\n oldEndVnode = oldCh[--oldEndIdx];\n newEndVnode = newCh[--newEndIdx];\n } else if (sameVnode(oldStartVnode, newEndVnode)) { // Vnode moved right\n patchVnode(oldStartVnode, newEndVnode, insertedVnodeQueue, newCh, newEndIdx);\n canMove && nodeOps.insertBefore(parentElm, oldStartVnode.elm, nodeOps.nextSibling(oldEndVnode.elm));\n oldStartVnode = oldCh[++oldStartIdx];\n newEndVnode = newCh[--newEndIdx];\n } else if (sameVnode(oldEndVnode, newStartVnode)) { // Vnode moved left\n patchVnode(oldEndVnode, newStartVnode, insertedVnodeQueue, newCh, newStartIdx);\n canMove && nodeOps.insertBefore(parentElm, oldEndVnode.elm, oldStartVnode.elm);\n oldEndVnode = oldCh[--oldEndIdx];\n newStartVnode = newCh[++newStartIdx];\n } else {\n if (isUndef(oldKeyToIdx)) { oldKeyToIdx = createKeyToOldIdx(oldCh, oldStartIdx, oldEndIdx); }\n idxInOld = isDef(newStartVnode.key)\n ? oldKeyToIdx[newStartVnode.key]\n : findIdxInOld(newStartVnode, oldCh, oldStartIdx, oldEndIdx);\n if (isUndef(idxInOld)) { // New element\n createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm, false, newCh, newStartIdx);\n } else {\n vnodeToMove = oldCh[idxInOld];\n if (sameVnode(vnodeToMove, newStartVnode)) {\n patchVnode(vnodeToMove, newStartVnode, insertedVnodeQueue, newCh, newStartIdx);\n oldCh[idxInOld] = undefined;\n canMove && nodeOps.insertBefore(parentElm, vnodeToMove.elm, oldStartVnode.elm);\n } else {\n // same key but different element. treat as new element\n createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm, false, newCh, newStartIdx);\n }\n }\n newStartVnode = newCh[++newStartIdx];\n }\n }\n if (oldStartIdx > oldEndIdx) {\n refElm = isUndef(newCh[newEndIdx + 1]) ? null : newCh[newEndIdx + 1].elm;\n addVnodes(parentElm, refElm, newCh, newStartIdx, newEndIdx, insertedVnodeQueue);\n } else if (newStartIdx > newEndIdx) {\n removeVnodes(oldCh, oldStartIdx, oldEndIdx);\n }\n }\n\n function checkDuplicateKeys (children) {\n var seenKeys = {};\n for (var i = 0; i < children.length; i++) {\n var vnode = children[i];\n var key = vnode.key;\n if (isDef(key)) {\n if (seenKeys[key]) {\n warn(\n (\"Duplicate keys detected: '\" + key + \"'. This may cause an update error.\"),\n vnode.context\n );\n } else {\n seenKeys[key] = true;\n }\n }\n }\n }\n\n function findIdxInOld (node, oldCh, start, end) {\n for (var i = start; i < end; i++) {\n var c = oldCh[i];\n if (isDef(c) && sameVnode(node, c)) { return i }\n }\n }\n\n function patchVnode (\n oldVnode,\n vnode,\n insertedVnodeQueue,\n ownerArray,\n index,\n removeOnly\n ) {\n if (oldVnode === vnode) {\n return\n }\n\n if (isDef(vnode.elm) && isDef(ownerArray)) {\n // clone reused vnode\n vnode = ownerArray[index] = cloneVNode(vnode);\n }\n\n var elm = vnode.elm = oldVnode.elm;\n\n if (isTrue(oldVnode.isAsyncPlaceholder)) {\n if (isDef(vnode.asyncFactory.resolved)) {\n hydrate(oldVnode.elm, vnode, insertedVnodeQueue);\n } else {\n vnode.isAsyncPlaceholder = true;\n }\n return\n }\n\n // reuse element for static trees.\n // note we only do this if the vnode is cloned -\n // if the new node is not cloned it means the render functions have been\n // reset by the hot-reload-api and we need to do a proper re-render.\n if (isTrue(vnode.isStatic) &&\n isTrue(oldVnode.isStatic) &&\n vnode.key === oldVnode.key &&\n (isTrue(vnode.isCloned) || isTrue(vnode.isOnce))\n ) {\n vnode.componentInstance = oldVnode.componentInstance;\n return\n }\n\n var i;\n var data = vnode.data;\n if (isDef(data) && isDef(i = data.hook) && isDef(i = i.prepatch)) {\n i(oldVnode, vnode);\n }\n\n var oldCh = oldVnode.children;\n var ch = vnode.children;\n if (isDef(data) && isPatchable(vnode)) {\n for (i = 0; i < cbs.update.length; ++i) { cbs.update[i](oldVnode, vnode); }\n if (isDef(i = data.hook) && isDef(i = i.update)) { i(oldVnode, vnode); }\n }\n if (isUndef(vnode.text)) {\n if (isDef(oldCh) && isDef(ch)) {\n if (oldCh !== ch) { updateChildren(elm, oldCh, ch, insertedVnodeQueue, removeOnly); }\n } else if (isDef(ch)) {\n if (process.env.NODE_ENV !== 'production') {\n checkDuplicateKeys(ch);\n }\n if (isDef(oldVnode.text)) { nodeOps.setTextContent(elm, ''); }\n addVnodes(elm, null, ch, 0, ch.length - 1, insertedVnodeQueue);\n } else if (isDef(oldCh)) {\n removeVnodes(oldCh, 0, oldCh.length - 1);\n } else if (isDef(oldVnode.text)) {\n nodeOps.setTextContent(elm, '');\n }\n } else if (oldVnode.text !== vnode.text) {\n nodeOps.setTextContent(elm, vnode.text);\n }\n if (isDef(data)) {\n if (isDef(i = data.hook) && isDef(i = i.postpatch)) { i(oldVnode, vnode); }\n }\n }\n\n function invokeInsertHook (vnode, queue, initial) {\n // delay insert hooks for component root nodes, invoke them after the\n // element is really inserted\n if (isTrue(initial) && isDef(vnode.parent)) {\n vnode.parent.data.pendingInsert = queue;\n } else {\n for (var i = 0; i < queue.length; ++i) {\n queue[i].data.hook.insert(queue[i]);\n }\n }\n }\n\n var hydrationBailed = false;\n // list of modules that can skip create hook during hydration because they\n // are already rendered on the client or has no need for initialization\n // Note: style is excluded because it relies on initial clone for future\n // deep updates (#7063).\n var isRenderedModule = makeMap('attrs,class,staticClass,staticStyle,key');\n\n // Note: this is a browser-only function so we can assume elms are DOM nodes.\n function hydrate (elm, vnode, insertedVnodeQueue, inVPre) {\n var i;\n var tag = vnode.tag;\n var data = vnode.data;\n var children = vnode.children;\n inVPre = inVPre || (data && data.pre);\n vnode.elm = elm;\n\n if (isTrue(vnode.isComment) && isDef(vnode.asyncFactory)) {\n vnode.isAsyncPlaceholder = true;\n return true\n }\n // assert node match\n if (process.env.NODE_ENV !== 'production') {\n if (!assertNodeMatch(elm, vnode, inVPre)) {\n return false\n }\n }\n if (isDef(data)) {\n if (isDef(i = data.hook) && isDef(i = i.init)) { i(vnode, true /* hydrating */); }\n if (isDef(i = vnode.componentInstance)) {\n // child component. it should have hydrated its own tree.\n initComponent(vnode, insertedVnodeQueue);\n return true\n }\n }\n if (isDef(tag)) {\n if (isDef(children)) {\n // empty element, allow client to pick up and populate children\n if (!elm.hasChildNodes()) {\n createChildren(vnode, children, insertedVnodeQueue);\n } else {\n // v-html and domProps: innerHTML\n if (isDef(i = data) && isDef(i = i.domProps) && isDef(i = i.innerHTML)) {\n if (i !== elm.innerHTML) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' &&\n typeof console !== 'undefined' &&\n !hydrationBailed\n ) {\n hydrationBailed = true;\n console.warn('Parent: ', elm);\n console.warn('server innerHTML: ', i);\n console.warn('client innerHTML: ', elm.innerHTML);\n }\n return false\n }\n } else {\n // iterate and compare children lists\n var childrenMatch = true;\n var childNode = elm.firstChild;\n for (var i$1 = 0; i$1 < children.length; i$1++) {\n if (!childNode || !hydrate(childNode, children[i$1], insertedVnodeQueue, inVPre)) {\n childrenMatch = false;\n break\n }\n childNode = childNode.nextSibling;\n }\n // if childNode is not null, it means the actual childNodes list is\n // longer than the virtual children list.\n if (!childrenMatch || childNode) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' &&\n typeof console !== 'undefined' &&\n !hydrationBailed\n ) {\n hydrationBailed = true;\n console.warn('Parent: ', elm);\n console.warn('Mismatching childNodes vs. VNodes: ', elm.childNodes, children);\n }\n return false\n }\n }\n }\n }\n if (isDef(data)) {\n var fullInvoke = false;\n for (var key in data) {\n if (!isRenderedModule(key)) {\n fullInvoke = true;\n invokeCreateHooks(vnode, insertedVnodeQueue);\n break\n }\n }\n if (!fullInvoke && data['class']) {\n // ensure collecting deps for deep class bindings for future updates\n traverse(data['class']);\n }\n }\n } else if (elm.data !== vnode.text) {\n elm.data = vnode.text;\n }\n return true\n }\n\n function assertNodeMatch (node, vnode, inVPre) {\n if (isDef(vnode.tag)) {\n return vnode.tag.indexOf('vue-component') === 0 || (\n !isUnknownElement$$1(vnode, inVPre) &&\n vnode.tag.toLowerCase() === (node.tagName && node.tagName.toLowerCase())\n )\n } else {\n return node.nodeType === (vnode.isComment ? 8 : 3)\n }\n }\n\n return function patch (oldVnode, vnode, hydrating, removeOnly) {\n if (isUndef(vnode)) {\n if (isDef(oldVnode)) { invokeDestroyHook(oldVnode); }\n return\n }\n\n var isInitialPatch = false;\n var insertedVnodeQueue = [];\n\n if (isUndef(oldVnode)) {\n // empty mount (likely as component), create new root element\n isInitialPatch = true;\n createElm(vnode, insertedVnodeQueue);\n } else {\n var isRealElement = isDef(oldVnode.nodeType);\n if (!isRealElement && sameVnode(oldVnode, vnode)) {\n // patch existing root node\n patchVnode(oldVnode, vnode, insertedVnodeQueue, null, null, removeOnly);\n } else {\n if (isRealElement) {\n // mounting to a real element\n // check if this is server-rendered content and if we can perform\n // a successful hydration.\n if (oldVnode.nodeType === 1 && oldVnode.hasAttribute(SSR_ATTR)) {\n oldVnode.removeAttribute(SSR_ATTR);\n hydrating = true;\n }\n if (isTrue(hydrating)) {\n if (hydrate(oldVnode, vnode, insertedVnodeQueue)) {\n invokeInsertHook(vnode, insertedVnodeQueue, true);\n return oldVnode\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n 'The client-side rendered virtual DOM tree is not matching ' +\n 'server-rendered content. This is likely caused by incorrect ' +\n 'HTML markup, for example nesting block-level elements inside ' +\n '<p>, or missing <tbody>. Bailing hydration and performing ' +\n 'full client-side render.'\n );\n }\n }\n // either not server-rendered, or hydration failed.\n // create an empty node and replace it\n oldVnode = emptyNodeAt(oldVnode);\n }\n\n // replacing existing element\n var oldElm = oldVnode.elm;\n var parentElm = nodeOps.parentNode(oldElm);\n\n // create new node\n createElm(\n vnode,\n insertedVnodeQueue,\n // extremely rare edge case: do not insert if old element is in a\n // leaving transition. Only happens when combining transition +\n // keep-alive + HOCs. (#4590)\n oldElm._leaveCb ? null : parentElm,\n nodeOps.nextSibling(oldElm)\n );\n\n // update parent placeholder node element, recursively\n if (isDef(vnode.parent)) {\n var ancestor = vnode.parent;\n var patchable = isPatchable(vnode);\n while (ancestor) {\n for (var i = 0; i < cbs.destroy.length; ++i) {\n cbs.destroy[i](ancestor);\n }\n ancestor.elm = vnode.elm;\n if (patchable) {\n for (var i$1 = 0; i$1 < cbs.create.length; ++i$1) {\n cbs.create[i$1](emptyNode, ancestor);\n }\n // #6513\n // invoke insert hooks that may have been merged by create hooks.\n // e.g. for directives that uses the \"inserted\" hook.\n var insert = ancestor.data.hook.insert;\n if (insert.merged) {\n // start at index 1 to avoid re-invoking component mounted hook\n for (var i$2 = 1; i$2 < insert.fns.length; i$2++) {\n insert.fns[i$2]();\n }\n }\n } else {\n registerRef(ancestor);\n }\n ancestor = ancestor.parent;\n }\n }\n\n // destroy old node\n if (isDef(parentElm)) {\n removeVnodes([oldVnode], 0, 0);\n } else if (isDef(oldVnode.tag)) {\n invokeDestroyHook(oldVnode);\n }\n }\n }\n\n invokeInsertHook(vnode, insertedVnodeQueue, isInitialPatch);\n return vnode.elm\n }\n}\n\n/* */\n\nvar directives = {\n create: updateDirectives,\n update: updateDirectives,\n destroy: function unbindDirectives (vnode) {\n updateDirectives(vnode, emptyNode);\n }\n};\n\nfunction updateDirectives (oldVnode, vnode) {\n if (oldVnode.data.directives || vnode.data.directives) {\n _update(oldVnode, vnode);\n }\n}\n\nfunction _update (oldVnode, vnode) {\n var isCreate = oldVnode === emptyNode;\n var isDestroy = vnode === emptyNode;\n var oldDirs = normalizeDirectives$1(oldVnode.data.directives, oldVnode.context);\n var newDirs = normalizeDirectives$1(vnode.data.directives, vnode.context);\n\n var dirsWithInsert = [];\n var dirsWithPostpatch = [];\n\n var key, oldDir, dir;\n for (key in newDirs) {\n oldDir = oldDirs[key];\n dir = newDirs[key];\n if (!oldDir) {\n // new directive, bind\n callHook$1(dir, 'bind', vnode, oldVnode);\n if (dir.def && dir.def.inserted) {\n dirsWithInsert.push(dir);\n }\n } else {\n // existing directive, update\n dir.oldValue = oldDir.value;\n dir.oldArg = oldDir.arg;\n callHook$1(dir, 'update', vnode, oldVnode);\n if (dir.def && dir.def.componentUpdated) {\n dirsWithPostpatch.push(dir);\n }\n }\n }\n\n if (dirsWithInsert.length) {\n var callInsert = function () {\n for (var i = 0; i < dirsWithInsert.length; i++) {\n callHook$1(dirsWithInsert[i], 'inserted', vnode, oldVnode);\n }\n };\n if (isCreate) {\n mergeVNodeHook(vnode, 'insert', callInsert);\n } else {\n callInsert();\n }\n }\n\n if (dirsWithPostpatch.length) {\n mergeVNodeHook(vnode, 'postpatch', function () {\n for (var i = 0; i < dirsWithPostpatch.length; i++) {\n callHook$1(dirsWithPostpatch[i], 'componentUpdated', vnode, oldVnode);\n }\n });\n }\n\n if (!isCreate) {\n for (key in oldDirs) {\n if (!newDirs[key]) {\n // no longer present, unbind\n callHook$1(oldDirs[key], 'unbind', oldVnode, oldVnode, isDestroy);\n }\n }\n }\n}\n\nvar emptyModifiers = Object.create(null);\n\nfunction normalizeDirectives$1 (\n dirs,\n vm\n) {\n var res = Object.create(null);\n if (!dirs) {\n // $flow-disable-line\n return res\n }\n var i, dir;\n for (i = 0; i < dirs.length; i++) {\n dir = dirs[i];\n if (!dir.modifiers) {\n // $flow-disable-line\n dir.modifiers = emptyModifiers;\n }\n res[getRawDirName(dir)] = dir;\n dir.def = resolveAsset(vm.$options, 'directives', dir.name, true);\n }\n // $flow-disable-line\n return res\n}\n\nfunction getRawDirName (dir) {\n return dir.rawName || ((dir.name) + \".\" + (Object.keys(dir.modifiers || {}).join('.')))\n}\n\nfunction callHook$1 (dir, hook, vnode, oldVnode, isDestroy) {\n var fn = dir.def && dir.def[hook];\n if (fn) {\n try {\n fn(vnode.elm, dir, vnode, oldVnode, isDestroy);\n } catch (e) {\n handleError(e, vnode.context, (\"directive \" + (dir.name) + \" \" + hook + \" hook\"));\n }\n }\n}\n\nvar baseModules = [\n ref,\n directives\n];\n\n/* */\n\nfunction updateAttrs (oldVnode, vnode) {\n var opts = vnode.componentOptions;\n if (isDef(opts) && opts.Ctor.options.inheritAttrs === false) {\n return\n }\n if (isUndef(oldVnode.data.attrs) && isUndef(vnode.data.attrs)) {\n return\n }\n var key, cur, old;\n var elm = vnode.elm;\n var oldAttrs = oldVnode.data.attrs || {};\n var attrs = vnode.data.attrs || {};\n // clone observed objects, as the user probably wants to mutate it\n if (isDef(attrs.__ob__)) {\n attrs = vnode.data.attrs = extend({}, attrs);\n }\n\n for (key in attrs) {\n cur = attrs[key];\n old = oldAttrs[key];\n if (old !== cur) {\n setAttr(elm, key, cur, vnode.data.pre);\n }\n }\n // #4391: in IE9, setting type can reset value for input[type=radio]\n // #6666: IE/Edge forces progress value down to 1 before setting a max\n /* istanbul ignore if */\n if ((isIE || isEdge) && attrs.value !== oldAttrs.value) {\n setAttr(elm, 'value', attrs.value);\n }\n for (key in oldAttrs) {\n if (isUndef(attrs[key])) {\n if (isXlink(key)) {\n elm.removeAttributeNS(xlinkNS, getXlinkProp(key));\n } else if (!isEnumeratedAttr(key)) {\n elm.removeAttribute(key);\n }\n }\n }\n}\n\nfunction setAttr (el, key, value, isInPre) {\n if (isInPre || el.tagName.indexOf('-') > -1) {\n baseSetAttr(el, key, value);\n } else if (isBooleanAttr(key)) {\n // set attribute for blank value\n // e.g. <option disabled>Select one</option>\n if (isFalsyAttrValue(value)) {\n el.removeAttribute(key);\n } else {\n // technically allowfullscreen is a boolean attribute for <iframe>,\n // but Flash expects a value of \"true\" when used on <embed> tag\n value = key === 'allowfullscreen' && el.tagName === 'EMBED'\n ? 'true'\n : key;\n el.setAttribute(key, value);\n }\n } else if (isEnumeratedAttr(key)) {\n el.setAttribute(key, convertEnumeratedValue(key, value));\n } else if (isXlink(key)) {\n if (isFalsyAttrValue(value)) {\n el.removeAttributeNS(xlinkNS, getXlinkProp(key));\n } else {\n el.setAttributeNS(xlinkNS, key, value);\n }\n } else {\n baseSetAttr(el, key, value);\n }\n}\n\nfunction baseSetAttr (el, key, value) {\n if (isFalsyAttrValue(value)) {\n el.removeAttribute(key);\n } else {\n // #7138: IE10 & 11 fires input event when setting placeholder on\n // <textarea>... block the first input event and remove the blocker\n // immediately.\n /* istanbul ignore if */\n if (\n isIE && !isIE9 &&\n el.tagName === 'TEXTAREA' &&\n key === 'placeholder' && value !== '' && !el.__ieph\n ) {\n var blocker = function (e) {\n e.stopImmediatePropagation();\n el.removeEventListener('input', blocker);\n };\n el.addEventListener('input', blocker);\n // $flow-disable-line\n el.__ieph = true; /* IE placeholder patched */\n }\n el.setAttribute(key, value);\n }\n}\n\nvar attrs = {\n create: updateAttrs,\n update: updateAttrs\n};\n\n/* */\n\nfunction updateClass (oldVnode, vnode) {\n var el = vnode.elm;\n var data = vnode.data;\n var oldData = oldVnode.data;\n if (\n isUndef(data.staticClass) &&\n isUndef(data.class) && (\n isUndef(oldData) || (\n isUndef(oldData.staticClass) &&\n isUndef(oldData.class)\n )\n )\n ) {\n return\n }\n\n var cls = genClassForVnode(vnode);\n\n // handle transition classes\n var transitionClass = el._transitionClasses;\n if (isDef(transitionClass)) {\n cls = concat(cls, stringifyClass(transitionClass));\n }\n\n // set the class\n if (cls !== el._prevClass) {\n el.setAttribute('class', cls);\n el._prevClass = cls;\n }\n}\n\nvar klass = {\n create: updateClass,\n update: updateClass\n};\n\n/* */\n\n/* */\n\n/* */\n\n/* */\n\n// in some cases, the event used has to be determined at runtime\n// so we used some reserved tokens during compile.\nvar RANGE_TOKEN = '__r';\nvar CHECKBOX_RADIO_TOKEN = '__c';\n\n/* */\n\n// normalize v-model event tokens that can only be determined at runtime.\n// it's important to place the event as the first in the array because\n// the whole point is ensuring the v-model callback gets called before\n// user-attached handlers.\nfunction normalizeEvents (on) {\n /* istanbul ignore if */\n if (isDef(on[RANGE_TOKEN])) {\n // IE input[type=range] only supports `change` event\n var event = isIE ? 'change' : 'input';\n on[event] = [].concat(on[RANGE_TOKEN], on[event] || []);\n delete on[RANGE_TOKEN];\n }\n // This was originally intended to fix #4521 but no longer necessary\n // after 2.5. Keeping it for backwards compat with generated code from < 2.4\n /* istanbul ignore if */\n if (isDef(on[CHECKBOX_RADIO_TOKEN])) {\n on.change = [].concat(on[CHECKBOX_RADIO_TOKEN], on.change || []);\n delete on[CHECKBOX_RADIO_TOKEN];\n }\n}\n\nvar target$1;\n\nfunction createOnceHandler$1 (event, handler, capture) {\n var _target = target$1; // save current target element in closure\n return function onceHandler () {\n var res = handler.apply(null, arguments);\n if (res !== null) {\n remove$2(event, onceHandler, capture, _target);\n }\n }\n}\n\n// #9446: Firefox <= 53 (in particular, ESR 52) has incorrect Event.timeStamp\n// implementation and does not fire microtasks in between event propagation, so\n// safe to exclude.\nvar useMicrotaskFix = isUsingMicroTask && !(isFF && Number(isFF[1]) <= 53);\n\nfunction add$1 (\n name,\n handler,\n capture,\n passive\n) {\n // async edge case #6566: inner click event triggers patch, event handler\n // attached to outer element during patch, and triggered again. This\n // happens because browsers fire microtask ticks between event propagation.\n // the solution is simple: we save the timestamp when a handler is attached,\n // and the handler would only fire if the event passed to it was fired\n // AFTER it was attached.\n if (useMicrotaskFix) {\n var attachedTimestamp = currentFlushTimestamp;\n var original = handler;\n handler = original._wrapper = function (e) {\n if (\n // no bubbling, should always fire.\n // this is just a safety net in case event.timeStamp is unreliable in\n // certain weird environments...\n e.target === e.currentTarget ||\n // event is fired after handler attachment\n e.timeStamp >= attachedTimestamp ||\n // bail for environments that have buggy event.timeStamp implementations\n // #9462 iOS 9 bug: event.timeStamp is 0 after history.pushState\n // #9681 QtWebEngine event.timeStamp is negative value\n e.timeStamp <= 0 ||\n // #9448 bail if event is fired in another document in a multi-page\n // electron/nw.js app, since event.timeStamp will be using a different\n // starting reference\n e.target.ownerDocument !== document\n ) {\n return original.apply(this, arguments)\n }\n };\n }\n target$1.addEventListener(\n name,\n handler,\n supportsPassive\n ? { capture: capture, passive: passive }\n : capture\n );\n}\n\nfunction remove$2 (\n name,\n handler,\n capture,\n _target\n) {\n (_target || target$1).removeEventListener(\n name,\n handler._wrapper || handler,\n capture\n );\n}\n\nfunction updateDOMListeners (oldVnode, vnode) {\n if (isUndef(oldVnode.data.on) && isUndef(vnode.data.on)) {\n return\n }\n var on = vnode.data.on || {};\n var oldOn = oldVnode.data.on || {};\n target$1 = vnode.elm;\n normalizeEvents(on);\n updateListeners(on, oldOn, add$1, remove$2, createOnceHandler$1, vnode.context);\n target$1 = undefined;\n}\n\nvar events = {\n create: updateDOMListeners,\n update: updateDOMListeners\n};\n\n/* */\n\nvar svgContainer;\n\nfunction updateDOMProps (oldVnode, vnode) {\n if (isUndef(oldVnode.data.domProps) && isUndef(vnode.data.domProps)) {\n return\n }\n var key, cur;\n var elm = vnode.elm;\n var oldProps = oldVnode.data.domProps || {};\n var props = vnode.data.domProps || {};\n // clone observed objects, as the user probably wants to mutate it\n if (isDef(props.__ob__)) {\n props = vnode.data.domProps = extend({}, props);\n }\n\n for (key in oldProps) {\n if (!(key in props)) {\n elm[key] = '';\n }\n }\n\n for (key in props) {\n cur = props[key];\n // ignore children if the node has textContent or innerHTML,\n // as these will throw away existing DOM nodes and cause removal errors\n // on subsequent patches (#3360)\n if (key === 'textContent' || key === 'innerHTML') {\n if (vnode.children) { vnode.children.length = 0; }\n if (cur === oldProps[key]) { continue }\n // #6601 work around Chrome version <= 55 bug where single textNode\n // replaced by innerHTML/textContent retains its parentNode property\n if (elm.childNodes.length === 1) {\n elm.removeChild(elm.childNodes[0]);\n }\n }\n\n if (key === 'value' && elm.tagName !== 'PROGRESS') {\n // store value as _value as well since\n // non-string values will be stringified\n elm._value = cur;\n // avoid resetting cursor position when value is the same\n var strCur = isUndef(cur) ? '' : String(cur);\n if (shouldUpdateValue(elm, strCur)) {\n elm.value = strCur;\n }\n } else if (key === 'innerHTML' && isSVG(elm.tagName) && isUndef(elm.innerHTML)) {\n // IE doesn't support innerHTML for SVG elements\n svgContainer = svgContainer || document.createElement('div');\n svgContainer.innerHTML = \"<svg>\" + cur + \"</svg>\";\n var svg = svgContainer.firstChild;\n while (elm.firstChild) {\n elm.removeChild(elm.firstChild);\n }\n while (svg.firstChild) {\n elm.appendChild(svg.firstChild);\n }\n } else if (\n // skip the update if old and new VDOM state is the same.\n // `value` is handled separately because the DOM value may be temporarily\n // out of sync with VDOM state due to focus, composition and modifiers.\n // This #4521 by skipping the unnecessary `checked` update.\n cur !== oldProps[key]\n ) {\n // some property updates can throw\n // e.g. `value` on <progress> w/ non-finite value\n try {\n elm[key] = cur;\n } catch (e) {}\n }\n }\n}\n\n// check platforms/web/util/attrs.js acceptValue\n\n\nfunction shouldUpdateValue (elm, checkVal) {\n return (!elm.composing && (\n elm.tagName === 'OPTION' ||\n isNotInFocusAndDirty(elm, checkVal) ||\n isDirtyWithModifiers(elm, checkVal)\n ))\n}\n\nfunction isNotInFocusAndDirty (elm, checkVal) {\n // return true when textbox (.number and .trim) loses focus and its value is\n // not equal to the updated value\n var notInFocus = true;\n // #6157\n // work around IE bug when accessing document.activeElement in an iframe\n try { notInFocus = document.activeElement !== elm; } catch (e) {}\n return notInFocus && elm.value !== checkVal\n}\n\nfunction isDirtyWithModifiers (elm, newVal) {\n var value = elm.value;\n var modifiers = elm._vModifiers; // injected by v-model runtime\n if (isDef(modifiers)) {\n if (modifiers.number) {\n return toNumber(value) !== toNumber(newVal)\n }\n if (modifiers.trim) {\n return value.trim() !== newVal.trim()\n }\n }\n return value !== newVal\n}\n\nvar domProps = {\n create: updateDOMProps,\n update: updateDOMProps\n};\n\n/* */\n\nvar parseStyleText = cached(function (cssText) {\n var res = {};\n var listDelimiter = /;(?![^(]*\\))/g;\n var propertyDelimiter = /:(.+)/;\n cssText.split(listDelimiter).forEach(function (item) {\n if (item) {\n var tmp = item.split(propertyDelimiter);\n tmp.length > 1 && (res[tmp[0].trim()] = tmp[1].trim());\n }\n });\n return res\n});\n\n// merge static and dynamic style data on the same vnode\nfunction normalizeStyleData (data) {\n var style = normalizeStyleBinding(data.style);\n // static style is pre-processed into an object during compilation\n // and is always a fresh object, so it's safe to merge into it\n return data.staticStyle\n ? extend(data.staticStyle, style)\n : style\n}\n\n// normalize possible array / string values into Object\nfunction normalizeStyleBinding (bindingStyle) {\n if (Array.isArray(bindingStyle)) {\n return toObject(bindingStyle)\n }\n if (typeof bindingStyle === 'string') {\n return parseStyleText(bindingStyle)\n }\n return bindingStyle\n}\n\n/**\n * parent component style should be after child's\n * so that parent component's style could override it\n */\nfunction getStyle (vnode, checkChild) {\n var res = {};\n var styleData;\n\n if (checkChild) {\n var childNode = vnode;\n while (childNode.componentInstance) {\n childNode = childNode.componentInstance._vnode;\n if (\n childNode && childNode.data &&\n (styleData = normalizeStyleData(childNode.data))\n ) {\n extend(res, styleData);\n }\n }\n }\n\n if ((styleData = normalizeStyleData(vnode.data))) {\n extend(res, styleData);\n }\n\n var parentNode = vnode;\n while ((parentNode = parentNode.parent)) {\n if (parentNode.data && (styleData = normalizeStyleData(parentNode.data))) {\n extend(res, styleData);\n }\n }\n return res\n}\n\n/* */\n\nvar cssVarRE = /^--/;\nvar importantRE = /\\s*!important$/;\nvar setProp = function (el, name, val) {\n /* istanbul ignore if */\n if (cssVarRE.test(name)) {\n el.style.setProperty(name, val);\n } else if (importantRE.test(val)) {\n el.style.setProperty(hyphenate(name), val.replace(importantRE, ''), 'important');\n } else {\n var normalizedName = normalize(name);\n if (Array.isArray(val)) {\n // Support values array created by autoprefixer, e.g.\n // {display: [\"-webkit-box\", \"-ms-flexbox\", \"flex\"]}\n // Set them one by one, and the browser will only set those it can recognize\n for (var i = 0, len = val.length; i < len; i++) {\n el.style[normalizedName] = val[i];\n }\n } else {\n el.style[normalizedName] = val;\n }\n }\n};\n\nvar vendorNames = ['Webkit', 'Moz', 'ms'];\n\nvar emptyStyle;\nvar normalize = cached(function (prop) {\n emptyStyle = emptyStyle || document.createElement('div').style;\n prop = camelize(prop);\n if (prop !== 'filter' && (prop in emptyStyle)) {\n return prop\n }\n var capName = prop.charAt(0).toUpperCase() + prop.slice(1);\n for (var i = 0; i < vendorNames.length; i++) {\n var name = vendorNames[i] + capName;\n if (name in emptyStyle) {\n return name\n }\n }\n});\n\nfunction updateStyle (oldVnode, vnode) {\n var data = vnode.data;\n var oldData = oldVnode.data;\n\n if (isUndef(data.staticStyle) && isUndef(data.style) &&\n isUndef(oldData.staticStyle) && isUndef(oldData.style)\n ) {\n return\n }\n\n var cur, name;\n var el = vnode.elm;\n var oldStaticStyle = oldData.staticStyle;\n var oldStyleBinding = oldData.normalizedStyle || oldData.style || {};\n\n // if static style exists, stylebinding already merged into it when doing normalizeStyleData\n var oldStyle = oldStaticStyle || oldStyleBinding;\n\n var style = normalizeStyleBinding(vnode.data.style) || {};\n\n // store normalized style under a different key for next diff\n // make sure to clone it if it's reactive, since the user likely wants\n // to mutate it.\n vnode.data.normalizedStyle = isDef(style.__ob__)\n ? extend({}, style)\n : style;\n\n var newStyle = getStyle(vnode, true);\n\n for (name in oldStyle) {\n if (isUndef(newStyle[name])) {\n setProp(el, name, '');\n }\n }\n for (name in newStyle) {\n cur = newStyle[name];\n if (cur !== oldStyle[name]) {\n // ie9 setting to null has no effect, must use empty string\n setProp(el, name, cur == null ? '' : cur);\n }\n }\n}\n\nvar style = {\n create: updateStyle,\n update: updateStyle\n};\n\n/* */\n\nvar whitespaceRE = /\\s+/;\n\n/**\n * Add class with compatibility for SVG since classList is not supported on\n * SVG elements in IE\n */\nfunction addClass (el, cls) {\n /* istanbul ignore if */\n if (!cls || !(cls = cls.trim())) {\n return\n }\n\n /* istanbul ignore else */\n if (el.classList) {\n if (cls.indexOf(' ') > -1) {\n cls.split(whitespaceRE).forEach(function (c) { return el.classList.add(c); });\n } else {\n el.classList.add(cls);\n }\n } else {\n var cur = \" \" + (el.getAttribute('class') || '') + \" \";\n if (cur.indexOf(' ' + cls + ' ') < 0) {\n el.setAttribute('class', (cur + cls).trim());\n }\n }\n}\n\n/**\n * Remove class with compatibility for SVG since classList is not supported on\n * SVG elements in IE\n */\nfunction removeClass (el, cls) {\n /* istanbul ignore if */\n if (!cls || !(cls = cls.trim())) {\n return\n }\n\n /* istanbul ignore else */\n if (el.classList) {\n if (cls.indexOf(' ') > -1) {\n cls.split(whitespaceRE).forEach(function (c) { return el.classList.remove(c); });\n } else {\n el.classList.remove(cls);\n }\n if (!el.classList.length) {\n el.removeAttribute('class');\n }\n } else {\n var cur = \" \" + (el.getAttribute('class') || '') + \" \";\n var tar = ' ' + cls + ' ';\n while (cur.indexOf(tar) >= 0) {\n cur = cur.replace(tar, ' ');\n }\n cur = cur.trim();\n if (cur) {\n el.setAttribute('class', cur);\n } else {\n el.removeAttribute('class');\n }\n }\n}\n\n/* */\n\nfunction resolveTransition (def$$1) {\n if (!def$$1) {\n return\n }\n /* istanbul ignore else */\n if (typeof def$$1 === 'object') {\n var res = {};\n if (def$$1.css !== false) {\n extend(res, autoCssTransition(def$$1.name || 'v'));\n }\n extend(res, def$$1);\n return res\n } else if (typeof def$$1 === 'string') {\n return autoCssTransition(def$$1)\n }\n}\n\nvar autoCssTransition = cached(function (name) {\n return {\n enterClass: (name + \"-enter\"),\n enterToClass: (name + \"-enter-to\"),\n enterActiveClass: (name + \"-enter-active\"),\n leaveClass: (name + \"-leave\"),\n leaveToClass: (name + \"-leave-to\"),\n leaveActiveClass: (name + \"-leave-active\")\n }\n});\n\nvar hasTransition = inBrowser && !isIE9;\nvar TRANSITION = 'transition';\nvar ANIMATION = 'animation';\n\n// Transition property/event sniffing\nvar transitionProp = 'transition';\nvar transitionEndEvent = 'transitionend';\nvar animationProp = 'animation';\nvar animationEndEvent = 'animationend';\nif (hasTransition) {\n /* istanbul ignore if */\n if (window.ontransitionend === undefined &&\n window.onwebkittransitionend !== undefined\n ) {\n transitionProp = 'WebkitTransition';\n transitionEndEvent = 'webkitTransitionEnd';\n }\n if (window.onanimationend === undefined &&\n window.onwebkitanimationend !== undefined\n ) {\n animationProp = 'WebkitAnimation';\n animationEndEvent = 'webkitAnimationEnd';\n }\n}\n\n// binding to window is necessary to make hot reload work in IE in strict mode\nvar raf = inBrowser\n ? window.requestAnimationFrame\n ? window.requestAnimationFrame.bind(window)\n : setTimeout\n : /* istanbul ignore next */ function (fn) { return fn(); };\n\nfunction nextFrame (fn) {\n raf(function () {\n raf(fn);\n });\n}\n\nfunction addTransitionClass (el, cls) {\n var transitionClasses = el._transitionClasses || (el._transitionClasses = []);\n if (transitionClasses.indexOf(cls) < 0) {\n transitionClasses.push(cls);\n addClass(el, cls);\n }\n}\n\nfunction removeTransitionClass (el, cls) {\n if (el._transitionClasses) {\n remove(el._transitionClasses, cls);\n }\n removeClass(el, cls);\n}\n\nfunction whenTransitionEnds (\n el,\n expectedType,\n cb\n) {\n var ref = getTransitionInfo(el, expectedType);\n var type = ref.type;\n var timeout = ref.timeout;\n var propCount = ref.propCount;\n if (!type) { return cb() }\n var event = type === TRANSITION ? transitionEndEvent : animationEndEvent;\n var ended = 0;\n var end = function () {\n el.removeEventListener(event, onEnd);\n cb();\n };\n var onEnd = function (e) {\n if (e.target === el) {\n if (++ended >= propCount) {\n end();\n }\n }\n };\n setTimeout(function () {\n if (ended < propCount) {\n end();\n }\n }, timeout + 1);\n el.addEventListener(event, onEnd);\n}\n\nvar transformRE = /\\b(transform|all)(,|$)/;\n\nfunction getTransitionInfo (el, expectedType) {\n var styles = window.getComputedStyle(el);\n // JSDOM may return undefined for transition properties\n var transitionDelays = (styles[transitionProp + 'Delay'] || '').split(', ');\n var transitionDurations = (styles[transitionProp + 'Duration'] || '').split(', ');\n var transitionTimeout = getTimeout(transitionDelays, transitionDurations);\n var animationDelays = (styles[animationProp + 'Delay'] || '').split(', ');\n var animationDurations = (styles[animationProp + 'Duration'] || '').split(', ');\n var animationTimeout = getTimeout(animationDelays, animationDurations);\n\n var type;\n var timeout = 0;\n var propCount = 0;\n /* istanbul ignore if */\n if (expectedType === TRANSITION) {\n if (transitionTimeout > 0) {\n type = TRANSITION;\n timeout = transitionTimeout;\n propCount = transitionDurations.length;\n }\n } else if (expectedType === ANIMATION) {\n if (animationTimeout > 0) {\n type = ANIMATION;\n timeout = animationTimeout;\n propCount = animationDurations.length;\n }\n } else {\n timeout = Math.max(transitionTimeout, animationTimeout);\n type = timeout > 0\n ? transitionTimeout > animationTimeout\n ? TRANSITION\n : ANIMATION\n : null;\n propCount = type\n ? type === TRANSITION\n ? transitionDurations.length\n : animationDurations.length\n : 0;\n }\n var hasTransform =\n type === TRANSITION &&\n transformRE.test(styles[transitionProp + 'Property']);\n return {\n type: type,\n timeout: timeout,\n propCount: propCount,\n hasTransform: hasTransform\n }\n}\n\nfunction getTimeout (delays, durations) {\n /* istanbul ignore next */\n while (delays.length < durations.length) {\n delays = delays.concat(delays);\n }\n\n return Math.max.apply(null, durations.map(function (d, i) {\n return toMs(d) + toMs(delays[i])\n }))\n}\n\n// Old versions of Chromium (below 61.0.3163.100) formats floating pointer numbers\n// in a locale-dependent way, using a comma instead of a dot.\n// If comma is not replaced with a dot, the input will be rounded down (i.e. acting\n// as a floor function) causing unexpected behaviors\nfunction toMs (s) {\n return Number(s.slice(0, -1).replace(',', '.')) * 1000\n}\n\n/* */\n\nfunction enter (vnode, toggleDisplay) {\n var el = vnode.elm;\n\n // call leave callback now\n if (isDef(el._leaveCb)) {\n el._leaveCb.cancelled = true;\n el._leaveCb();\n }\n\n var data = resolveTransition(vnode.data.transition);\n if (isUndef(data)) {\n return\n }\n\n /* istanbul ignore if */\n if (isDef(el._enterCb) || el.nodeType !== 1) {\n return\n }\n\n var css = data.css;\n var type = data.type;\n var enterClass = data.enterClass;\n var enterToClass = data.enterToClass;\n var enterActiveClass = data.enterActiveClass;\n var appearClass = data.appearClass;\n var appearToClass = data.appearToClass;\n var appearActiveClass = data.appearActiveClass;\n var beforeEnter = data.beforeEnter;\n var enter = data.enter;\n var afterEnter = data.afterEnter;\n var enterCancelled = data.enterCancelled;\n var beforeAppear = data.beforeAppear;\n var appear = data.appear;\n var afterAppear = data.afterAppear;\n var appearCancelled = data.appearCancelled;\n var duration = data.duration;\n\n // activeInstance will always be the <transition> component managing this\n // transition. One edge case to check is when the <transition> is placed\n // as the root node of a child component. In that case we need to check\n // <transition>'s parent for appear check.\n var context = activeInstance;\n var transitionNode = activeInstance.$vnode;\n while (transitionNode && transitionNode.parent) {\n context = transitionNode.context;\n transitionNode = transitionNode.parent;\n }\n\n var isAppear = !context._isMounted || !vnode.isRootInsert;\n\n if (isAppear && !appear && appear !== '') {\n return\n }\n\n var startClass = isAppear && appearClass\n ? appearClass\n : enterClass;\n var activeClass = isAppear && appearActiveClass\n ? appearActiveClass\n : enterActiveClass;\n var toClass = isAppear && appearToClass\n ? appearToClass\n : enterToClass;\n\n var beforeEnterHook = isAppear\n ? (beforeAppear || beforeEnter)\n : beforeEnter;\n var enterHook = isAppear\n ? (typeof appear === 'function' ? appear : enter)\n : enter;\n var afterEnterHook = isAppear\n ? (afterAppear || afterEnter)\n : afterEnter;\n var enterCancelledHook = isAppear\n ? (appearCancelled || enterCancelled)\n : enterCancelled;\n\n var explicitEnterDuration = toNumber(\n isObject(duration)\n ? duration.enter\n : duration\n );\n\n if (process.env.NODE_ENV !== 'production' && explicitEnterDuration != null) {\n checkDuration(explicitEnterDuration, 'enter', vnode);\n }\n\n var expectsCSS = css !== false && !isIE9;\n var userWantsControl = getHookArgumentsLength(enterHook);\n\n var cb = el._enterCb = once(function () {\n if (expectsCSS) {\n removeTransitionClass(el, toClass);\n removeTransitionClass(el, activeClass);\n }\n if (cb.cancelled) {\n if (expectsCSS) {\n removeTransitionClass(el, startClass);\n }\n enterCancelledHook && enterCancelledHook(el);\n } else {\n afterEnterHook && afterEnterHook(el);\n }\n el._enterCb = null;\n });\n\n if (!vnode.data.show) {\n // remove pending leave element on enter by injecting an insert hook\n mergeVNodeHook(vnode, 'insert', function () {\n var parent = el.parentNode;\n var pendingNode = parent && parent._pending && parent._pending[vnode.key];\n if (pendingNode &&\n pendingNode.tag === vnode.tag &&\n pendingNode.elm._leaveCb\n ) {\n pendingNode.elm._leaveCb();\n }\n enterHook && enterHook(el, cb);\n });\n }\n\n // start enter transition\n beforeEnterHook && beforeEnterHook(el);\n if (expectsCSS) {\n addTransitionClass(el, startClass);\n addTransitionClass(el, activeClass);\n nextFrame(function () {\n removeTransitionClass(el, startClass);\n if (!cb.cancelled) {\n addTransitionClass(el, toClass);\n if (!userWantsControl) {\n if (isValidDuration(explicitEnterDuration)) {\n setTimeout(cb, explicitEnterDuration);\n } else {\n whenTransitionEnds(el, type, cb);\n }\n }\n }\n });\n }\n\n if (vnode.data.show) {\n toggleDisplay && toggleDisplay();\n enterHook && enterHook(el, cb);\n }\n\n if (!expectsCSS && !userWantsControl) {\n cb();\n }\n}\n\nfunction leave (vnode, rm) {\n var el = vnode.elm;\n\n // call enter callback now\n if (isDef(el._enterCb)) {\n el._enterCb.cancelled = true;\n el._enterCb();\n }\n\n var data = resolveTransition(vnode.data.transition);\n if (isUndef(data) || el.nodeType !== 1) {\n return rm()\n }\n\n /* istanbul ignore if */\n if (isDef(el._leaveCb)) {\n return\n }\n\n var css = data.css;\n var type = data.type;\n var leaveClass = data.leaveClass;\n var leaveToClass = data.leaveToClass;\n var leaveActiveClass = data.leaveActiveClass;\n var beforeLeave = data.beforeLeave;\n var leave = data.leave;\n var afterLeave = data.afterLeave;\n var leaveCancelled = data.leaveCancelled;\n var delayLeave = data.delayLeave;\n var duration = data.duration;\n\n var expectsCSS = css !== false && !isIE9;\n var userWantsControl = getHookArgumentsLength(leave);\n\n var explicitLeaveDuration = toNumber(\n isObject(duration)\n ? duration.leave\n : duration\n );\n\n if (process.env.NODE_ENV !== 'production' && isDef(explicitLeaveDuration)) {\n checkDuration(explicitLeaveDuration, 'leave', vnode);\n }\n\n var cb = el._leaveCb = once(function () {\n if (el.parentNode && el.parentNode._pending) {\n el.parentNode._pending[vnode.key] = null;\n }\n if (expectsCSS) {\n removeTransitionClass(el, leaveToClass);\n removeTransitionClass(el, leaveActiveClass);\n }\n if (cb.cancelled) {\n if (expectsCSS) {\n removeTransitionClass(el, leaveClass);\n }\n leaveCancelled && leaveCancelled(el);\n } else {\n rm();\n afterLeave && afterLeave(el);\n }\n el._leaveCb = null;\n });\n\n if (delayLeave) {\n delayLeave(performLeave);\n } else {\n performLeave();\n }\n\n function performLeave () {\n // the delayed leave may have already been cancelled\n if (cb.cancelled) {\n return\n }\n // record leaving element\n if (!vnode.data.show && el.parentNode) {\n (el.parentNode._pending || (el.parentNode._pending = {}))[(vnode.key)] = vnode;\n }\n beforeLeave && beforeLeave(el);\n if (expectsCSS) {\n addTransitionClass(el, leaveClass);\n addTransitionClass(el, leaveActiveClass);\n nextFrame(function () {\n removeTransitionClass(el, leaveClass);\n if (!cb.cancelled) {\n addTransitionClass(el, leaveToClass);\n if (!userWantsControl) {\n if (isValidDuration(explicitLeaveDuration)) {\n setTimeout(cb, explicitLeaveDuration);\n } else {\n whenTransitionEnds(el, type, cb);\n }\n }\n }\n });\n }\n leave && leave(el, cb);\n if (!expectsCSS && !userWantsControl) {\n cb();\n }\n }\n}\n\n// only used in dev mode\nfunction checkDuration (val, name, vnode) {\n if (typeof val !== 'number') {\n warn(\n \"<transition> explicit \" + name + \" duration is not a valid number - \" +\n \"got \" + (JSON.stringify(val)) + \".\",\n vnode.context\n );\n } else if (isNaN(val)) {\n warn(\n \"<transition> explicit \" + name + \" duration is NaN - \" +\n 'the duration expression might be incorrect.',\n vnode.context\n );\n }\n}\n\nfunction isValidDuration (val) {\n return typeof val === 'number' && !isNaN(val)\n}\n\n/**\n * Normalize a transition hook's argument length. The hook may be:\n * - a merged hook (invoker) with the original in .fns\n * - a wrapped component method (check ._length)\n * - a plain function (.length)\n */\nfunction getHookArgumentsLength (fn) {\n if (isUndef(fn)) {\n return false\n }\n var invokerFns = fn.fns;\n if (isDef(invokerFns)) {\n // invoker\n return getHookArgumentsLength(\n Array.isArray(invokerFns)\n ? invokerFns[0]\n : invokerFns\n )\n } else {\n return (fn._length || fn.length) > 1\n }\n}\n\nfunction _enter (_, vnode) {\n if (vnode.data.show !== true) {\n enter(vnode);\n }\n}\n\nvar transition = inBrowser ? {\n create: _enter,\n activate: _enter,\n remove: function remove$$1 (vnode, rm) {\n /* istanbul ignore else */\n if (vnode.data.show !== true) {\n leave(vnode, rm);\n } else {\n rm();\n }\n }\n} : {};\n\nvar platformModules = [\n attrs,\n klass,\n events,\n domProps,\n style,\n transition\n];\n\n/* */\n\n// the directive module should be applied last, after all\n// built-in modules have been applied.\nvar modules = platformModules.concat(baseModules);\n\nvar patch = createPatchFunction({ nodeOps: nodeOps, modules: modules });\n\n/**\n * Not type checking this file because flow doesn't like attaching\n * properties to Elements.\n */\n\n/* istanbul ignore if */\nif (isIE9) {\n // http://www.matts411.com/post/internet-explorer-9-oninput/\n document.addEventListener('selectionchange', function () {\n var el = document.activeElement;\n if (el && el.vmodel) {\n trigger(el, 'input');\n }\n });\n}\n\nvar directive = {\n inserted: function inserted (el, binding, vnode, oldVnode) {\n if (vnode.tag === 'select') {\n // #6903\n if (oldVnode.elm && !oldVnode.elm._vOptions) {\n mergeVNodeHook(vnode, 'postpatch', function () {\n directive.componentUpdated(el, binding, vnode);\n });\n } else {\n setSelected(el, binding, vnode.context);\n }\n el._vOptions = [].map.call(el.options, getValue);\n } else if (vnode.tag === 'textarea' || isTextInputType(el.type)) {\n el._vModifiers = binding.modifiers;\n if (!binding.modifiers.lazy) {\n el.addEventListener('compositionstart', onCompositionStart);\n el.addEventListener('compositionend', onCompositionEnd);\n // Safari < 10.2 & UIWebView doesn't fire compositionend when\n // switching focus before confirming composition choice\n // this also fixes the issue where some browsers e.g. iOS Chrome\n // fires \"change\" instead of \"input\" on autocomplete.\n el.addEventListener('change', onCompositionEnd);\n /* istanbul ignore if */\n if (isIE9) {\n el.vmodel = true;\n }\n }\n }\n },\n\n componentUpdated: function componentUpdated (el, binding, vnode) {\n if (vnode.tag === 'select') {\n setSelected(el, binding, vnode.context);\n // in case the options rendered by v-for have changed,\n // it's possible that the value is out-of-sync with the rendered options.\n // detect such cases and filter out values that no longer has a matching\n // option in the DOM.\n var prevOptions = el._vOptions;\n var curOptions = el._vOptions = [].map.call(el.options, getValue);\n if (curOptions.some(function (o, i) { return !looseEqual(o, prevOptions[i]); })) {\n // trigger change event if\n // no matching option found for at least one value\n var needReset = el.multiple\n ? binding.value.some(function (v) { return hasNoMatchingOption(v, curOptions); })\n : binding.value !== binding.oldValue && hasNoMatchingOption(binding.value, curOptions);\n if (needReset) {\n trigger(el, 'change');\n }\n }\n }\n }\n};\n\nfunction setSelected (el, binding, vm) {\n actuallySetSelected(el, binding, vm);\n /* istanbul ignore if */\n if (isIE || isEdge) {\n setTimeout(function () {\n actuallySetSelected(el, binding, vm);\n }, 0);\n }\n}\n\nfunction actuallySetSelected (el, binding, vm) {\n var value = binding.value;\n var isMultiple = el.multiple;\n if (isMultiple && !Array.isArray(value)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"<select multiple v-model=\\\"\" + (binding.expression) + \"\\\"> \" +\n \"expects an Array value for its binding, but got \" + (Object.prototype.toString.call(value).slice(8, -1)),\n vm\n );\n return\n }\n var selected, option;\n for (var i = 0, l = el.options.length; i < l; i++) {\n option = el.options[i];\n if (isMultiple) {\n selected = looseIndexOf(value, getValue(option)) > -1;\n if (option.selected !== selected) {\n option.selected = selected;\n }\n } else {\n if (looseEqual(getValue(option), value)) {\n if (el.selectedIndex !== i) {\n el.selectedIndex = i;\n }\n return\n }\n }\n }\n if (!isMultiple) {\n el.selectedIndex = -1;\n }\n}\n\nfunction hasNoMatchingOption (value, options) {\n return options.every(function (o) { return !looseEqual(o, value); })\n}\n\nfunction getValue (option) {\n return '_value' in option\n ? option._value\n : option.value\n}\n\nfunction onCompositionStart (e) {\n e.target.composing = true;\n}\n\nfunction onCompositionEnd (e) {\n // prevent triggering an input event for no reason\n if (!e.target.composing) { return }\n e.target.composing = false;\n trigger(e.target, 'input');\n}\n\nfunction trigger (el, type) {\n var e = document.createEvent('HTMLEvents');\n e.initEvent(type, true, true);\n el.dispatchEvent(e);\n}\n\n/* */\n\n// recursively search for possible transition defined inside the component root\nfunction locateNode (vnode) {\n return vnode.componentInstance && (!vnode.data || !vnode.data.transition)\n ? locateNode(vnode.componentInstance._vnode)\n : vnode\n}\n\nvar show = {\n bind: function bind (el, ref, vnode) {\n var value = ref.value;\n\n vnode = locateNode(vnode);\n var transition$$1 = vnode.data && vnode.data.transition;\n var originalDisplay = el.__vOriginalDisplay =\n el.style.display === 'none' ? '' : el.style.display;\n if (value && transition$$1) {\n vnode.data.show = true;\n enter(vnode, function () {\n el.style.display = originalDisplay;\n });\n } else {\n el.style.display = value ? originalDisplay : 'none';\n }\n },\n\n update: function update (el, ref, vnode) {\n var value = ref.value;\n var oldValue = ref.oldValue;\n\n /* istanbul ignore if */\n if (!value === !oldValue) { return }\n vnode = locateNode(vnode);\n var transition$$1 = vnode.data && vnode.data.transition;\n if (transition$$1) {\n vnode.data.show = true;\n if (value) {\n enter(vnode, function () {\n el.style.display = el.__vOriginalDisplay;\n });\n } else {\n leave(vnode, function () {\n el.style.display = 'none';\n });\n }\n } else {\n el.style.display = value ? el.__vOriginalDisplay : 'none';\n }\n },\n\n unbind: function unbind (\n el,\n binding,\n vnode,\n oldVnode,\n isDestroy\n ) {\n if (!isDestroy) {\n el.style.display = el.__vOriginalDisplay;\n }\n }\n};\n\nvar platformDirectives = {\n model: directive,\n show: show\n};\n\n/* */\n\nvar transitionProps = {\n name: String,\n appear: Boolean,\n css: Boolean,\n mode: String,\n type: String,\n enterClass: String,\n leaveClass: String,\n enterToClass: String,\n leaveToClass: String,\n enterActiveClass: String,\n leaveActiveClass: String,\n appearClass: String,\n appearActiveClass: String,\n appearToClass: String,\n duration: [Number, String, Object]\n};\n\n// in case the child is also an abstract component, e.g. <keep-alive>\n// we want to recursively retrieve the real component to be rendered\nfunction getRealChild (vnode) {\n var compOptions = vnode && vnode.componentOptions;\n if (compOptions && compOptions.Ctor.options.abstract) {\n return getRealChild(getFirstComponentChild(compOptions.children))\n } else {\n return vnode\n }\n}\n\nfunction extractTransitionData (comp) {\n var data = {};\n var options = comp.$options;\n // props\n for (var key in options.propsData) {\n data[key] = comp[key];\n }\n // events.\n // extract listeners and pass them directly to the transition methods\n var listeners = options._parentListeners;\n for (var key$1 in listeners) {\n data[camelize(key$1)] = listeners[key$1];\n }\n return data\n}\n\nfunction placeholder (h, rawChild) {\n if (/\\d-keep-alive$/.test(rawChild.tag)) {\n return h('keep-alive', {\n props: rawChild.componentOptions.propsData\n })\n }\n}\n\nfunction hasParentTransition (vnode) {\n while ((vnode = vnode.parent)) {\n if (vnode.data.transition) {\n return true\n }\n }\n}\n\nfunction isSameChild (child, oldChild) {\n return oldChild.key === child.key && oldChild.tag === child.tag\n}\n\nvar isNotTextNode = function (c) { return c.tag || isAsyncPlaceholder(c); };\n\nvar isVShowDirective = function (d) { return d.name === 'show'; };\n\nvar Transition = {\n name: 'transition',\n props: transitionProps,\n abstract: true,\n\n render: function render (h) {\n var this$1 = this;\n\n var children = this.$slots.default;\n if (!children) {\n return\n }\n\n // filter out text nodes (possible whitespaces)\n children = children.filter(isNotTextNode);\n /* istanbul ignore if */\n if (!children.length) {\n return\n }\n\n // warn multiple elements\n if (process.env.NODE_ENV !== 'production' && children.length > 1) {\n warn(\n '<transition> can only be used on a single element. Use ' +\n '<transition-group> for lists.',\n this.$parent\n );\n }\n\n var mode = this.mode;\n\n // warn invalid mode\n if (process.env.NODE_ENV !== 'production' &&\n mode && mode !== 'in-out' && mode !== 'out-in'\n ) {\n warn(\n 'invalid <transition> mode: ' + mode,\n this.$parent\n );\n }\n\n var rawChild = children[0];\n\n // if this is a component root node and the component's\n // parent container node also has transition, skip.\n if (hasParentTransition(this.$vnode)) {\n return rawChild\n }\n\n // apply transition data to child\n // use getRealChild() to ignore abstract components e.g. keep-alive\n var child = getRealChild(rawChild);\n /* istanbul ignore if */\n if (!child) {\n return rawChild\n }\n\n if (this._leaving) {\n return placeholder(h, rawChild)\n }\n\n // ensure a key that is unique to the vnode type and to this transition\n // component instance. This key will be used to remove pending leaving nodes\n // during entering.\n var id = \"__transition-\" + (this._uid) + \"-\";\n child.key = child.key == null\n ? child.isComment\n ? id + 'comment'\n : id + child.tag\n : isPrimitive(child.key)\n ? (String(child.key).indexOf(id) === 0 ? child.key : id + child.key)\n : child.key;\n\n var data = (child.data || (child.data = {})).transition = extractTransitionData(this);\n var oldRawChild = this._vnode;\n var oldChild = getRealChild(oldRawChild);\n\n // mark v-show\n // so that the transition module can hand over the control to the directive\n if (child.data.directives && child.data.directives.some(isVShowDirective)) {\n child.data.show = true;\n }\n\n if (\n oldChild &&\n oldChild.data &&\n !isSameChild(child, oldChild) &&\n !isAsyncPlaceholder(oldChild) &&\n // #6687 component root is a comment node\n !(oldChild.componentInstance && oldChild.componentInstance._vnode.isComment)\n ) {\n // replace old child transition data with fresh one\n // important for dynamic transitions!\n var oldData = oldChild.data.transition = extend({}, data);\n // handle transition mode\n if (mode === 'out-in') {\n // return placeholder node and queue update when leave finishes\n this._leaving = true;\n mergeVNodeHook(oldData, 'afterLeave', function () {\n this$1._leaving = false;\n this$1.$forceUpdate();\n });\n return placeholder(h, rawChild)\n } else if (mode === 'in-out') {\n if (isAsyncPlaceholder(child)) {\n return oldRawChild\n }\n var delayedLeave;\n var performLeave = function () { delayedLeave(); };\n mergeVNodeHook(data, 'afterEnter', performLeave);\n mergeVNodeHook(data, 'enterCancelled', performLeave);\n mergeVNodeHook(oldData, 'delayLeave', function (leave) { delayedLeave = leave; });\n }\n }\n\n return rawChild\n }\n};\n\n/* */\n\nvar props = extend({\n tag: String,\n moveClass: String\n}, transitionProps);\n\ndelete props.mode;\n\nvar TransitionGroup = {\n props: props,\n\n beforeMount: function beforeMount () {\n var this$1 = this;\n\n var update = this._update;\n this._update = function (vnode, hydrating) {\n var restoreActiveInstance = setActiveInstance(this$1);\n // force removing pass\n this$1.__patch__(\n this$1._vnode,\n this$1.kept,\n false, // hydrating\n true // removeOnly (!important, avoids unnecessary moves)\n );\n this$1._vnode = this$1.kept;\n restoreActiveInstance();\n update.call(this$1, vnode, hydrating);\n };\n },\n\n render: function render (h) {\n var tag = this.tag || this.$vnode.data.tag || 'span';\n var map = Object.create(null);\n var prevChildren = this.prevChildren = this.children;\n var rawChildren = this.$slots.default || [];\n var children = this.children = [];\n var transitionData = extractTransitionData(this);\n\n for (var i = 0; i < rawChildren.length; i++) {\n var c = rawChildren[i];\n if (c.tag) {\n if (c.key != null && String(c.key).indexOf('__vlist') !== 0) {\n children.push(c);\n map[c.key] = c\n ;(c.data || (c.data = {})).transition = transitionData;\n } else if (process.env.NODE_ENV !== 'production') {\n var opts = c.componentOptions;\n var name = opts ? (opts.Ctor.options.name || opts.tag || '') : c.tag;\n warn((\"<transition-group> children must be keyed: <\" + name + \">\"));\n }\n }\n }\n\n if (prevChildren) {\n var kept = [];\n var removed = [];\n for (var i$1 = 0; i$1 < prevChildren.length; i$1++) {\n var c$1 = prevChildren[i$1];\n c$1.data.transition = transitionData;\n c$1.data.pos = c$1.elm.getBoundingClientRect();\n if (map[c$1.key]) {\n kept.push(c$1);\n } else {\n removed.push(c$1);\n }\n }\n this.kept = h(tag, null, kept);\n this.removed = removed;\n }\n\n return h(tag, null, children)\n },\n\n updated: function updated () {\n var children = this.prevChildren;\n var moveClass = this.moveClass || ((this.name || 'v') + '-move');\n if (!children.length || !this.hasMove(children[0].elm, moveClass)) {\n return\n }\n\n // we divide the work into three loops to avoid mixing DOM reads and writes\n // in each iteration - which helps prevent layout thrashing.\n children.forEach(callPendingCbs);\n children.forEach(recordPosition);\n children.forEach(applyTranslation);\n\n // force reflow to put everything in position\n // assign to this to avoid being removed in tree-shaking\n // $flow-disable-line\n this._reflow = document.body.offsetHeight;\n\n children.forEach(function (c) {\n if (c.data.moved) {\n var el = c.elm;\n var s = el.style;\n addTransitionClass(el, moveClass);\n s.transform = s.WebkitTransform = s.transitionDuration = '';\n el.addEventListener(transitionEndEvent, el._moveCb = function cb (e) {\n if (e && e.target !== el) {\n return\n }\n if (!e || /transform$/.test(e.propertyName)) {\n el.removeEventListener(transitionEndEvent, cb);\n el._moveCb = null;\n removeTransitionClass(el, moveClass);\n }\n });\n }\n });\n },\n\n methods: {\n hasMove: function hasMove (el, moveClass) {\n /* istanbul ignore if */\n if (!hasTransition) {\n return false\n }\n /* istanbul ignore if */\n if (this._hasMove) {\n return this._hasMove\n }\n // Detect whether an element with the move class applied has\n // CSS transitions. Since the element may be inside an entering\n // transition at this very moment, we make a clone of it and remove\n // all other transition classes applied to ensure only the move class\n // is applied.\n var clone = el.cloneNode();\n if (el._transitionClasses) {\n el._transitionClasses.forEach(function (cls) { removeClass(clone, cls); });\n }\n addClass(clone, moveClass);\n clone.style.display = 'none';\n this.$el.appendChild(clone);\n var info = getTransitionInfo(clone);\n this.$el.removeChild(clone);\n return (this._hasMove = info.hasTransform)\n }\n }\n};\n\nfunction callPendingCbs (c) {\n /* istanbul ignore if */\n if (c.elm._moveCb) {\n c.elm._moveCb();\n }\n /* istanbul ignore if */\n if (c.elm._enterCb) {\n c.elm._enterCb();\n }\n}\n\nfunction recordPosition (c) {\n c.data.newPos = c.elm.getBoundingClientRect();\n}\n\nfunction applyTranslation (c) {\n var oldPos = c.data.pos;\n var newPos = c.data.newPos;\n var dx = oldPos.left - newPos.left;\n var dy = oldPos.top - newPos.top;\n if (dx || dy) {\n c.data.moved = true;\n var s = c.elm.style;\n s.transform = s.WebkitTransform = \"translate(\" + dx + \"px,\" + dy + \"px)\";\n s.transitionDuration = '0s';\n }\n}\n\nvar platformComponents = {\n Transition: Transition,\n TransitionGroup: TransitionGroup\n};\n\n/* */\n\n// install platform specific utils\nVue.config.mustUseProp = mustUseProp;\nVue.config.isReservedTag = isReservedTag;\nVue.config.isReservedAttr = isReservedAttr;\nVue.config.getTagNamespace = getTagNamespace;\nVue.config.isUnknownElement = isUnknownElement;\n\n// install platform runtime directives & components\nextend(Vue.options.directives, platformDirectives);\nextend(Vue.options.components, platformComponents);\n\n// install platform patch function\nVue.prototype.__patch__ = inBrowser ? patch : noop;\n\n// public mount method\nVue.prototype.$mount = function (\n el,\n hydrating\n) {\n el = el && inBrowser ? query(el) : undefined;\n return mountComponent(this, el, hydrating)\n};\n\n// devtools global hook\n/* istanbul ignore next */\nif (inBrowser) {\n setTimeout(function () {\n if (config.devtools) {\n if (devtools) {\n devtools.emit('init', Vue);\n } else if (\n process.env.NODE_ENV !== 'production' &&\n process.env.NODE_ENV !== 'test'\n ) {\n console[console.info ? 'info' : 'log'](\n 'Download the Vue Devtools extension for a better development experience:\\n' +\n 'https://github.com/vuejs/vue-devtools'\n );\n }\n }\n if (process.env.NODE_ENV !== 'production' &&\n process.env.NODE_ENV !== 'test' &&\n config.productionTip !== false &&\n typeof console !== 'undefined'\n ) {\n console[console.info ? 'info' : 'log'](\n \"You are running Vue in development mode.\\n\" +\n \"Make sure to turn on production mode when deploying for production.\\n\" +\n \"See more tips at https://vuejs.org/guide/deployment.html\"\n );\n }\n }, 0);\n}\n\n/* */\n\nexport default Vue;\n","'use strict';\n\nvar forEach = require('foreach');\nvar availableTypedArrays = require('available-typed-arrays');\nvar callBound = require('call-bind/callBound');\n\nvar $toString = callBound('Object.prototype.toString');\nvar hasToStringTag = require('has-tostringtag/shams')();\n\nvar g = typeof globalThis === 'undefined' ? global : globalThis;\nvar typedArrays = availableTypedArrays();\n\nvar $slice = callBound('String.prototype.slice');\nvar toStrTags = {};\nvar gOPD = require('es-abstract/helpers/getOwnPropertyDescriptor');\nvar getPrototypeOf = Object.getPrototypeOf; // require('getprototypeof');\nif (hasToStringTag && gOPD && getPrototypeOf) {\n\tforEach(typedArrays, function (typedArray) {\n\t\tif (typeof g[typedArray] === 'function') {\n\t\t\tvar arr = new g[typedArray]();\n\t\t\tif (Symbol.toStringTag in arr) {\n\t\t\t\tvar proto = getPrototypeOf(arr);\n\t\t\t\tvar descriptor = gOPD(proto, Symbol.toStringTag);\n\t\t\t\tif (!descriptor) {\n\t\t\t\t\tvar superProto = getPrototypeOf(proto);\n\t\t\t\t\tdescriptor = gOPD(superProto, Symbol.toStringTag);\n\t\t\t\t}\n\t\t\t\ttoStrTags[typedArray] = descriptor.get;\n\t\t\t}\n\t\t}\n\t});\n}\n\nvar tryTypedArrays = function tryAllTypedArrays(value) {\n\tvar foundName = false;\n\tforEach(toStrTags, function (getter, typedArray) {\n\t\tif (!foundName) {\n\t\t\ttry {\n\t\t\t\tvar name = getter.call(value);\n\t\t\t\tif (name === typedArray) {\n\t\t\t\t\tfoundName = name;\n\t\t\t\t}\n\t\t\t} catch (e) {}\n\t\t}\n\t});\n\treturn foundName;\n};\n\nvar isTypedArray = require('is-typed-array');\n\nmodule.exports = function whichTypedArray(value) {\n\tif (!isTypedArray(value)) { return false; }\n\tif (!hasToStringTag || !(Symbol.toStringTag in value)) { return $slice($toString(value), 8, -1); }\n\treturn tryTypedArrays(value);\n};\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/apps/firstrunwizard/js/\";","<!--\n - @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n -\n - @author Julius Härtl <jus@bitgrid.net>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<div class=\"video-wrapper\">\n\t\t<video ref=\"video\"\n\t\t\tplaysinline\n\t\t\tautoplay\n\t\t\tmuted>\n\t\t\t<source :src=\"videoWebm\" type=\"video/webm\">\n\t\t\t<source :src=\"videoMp4\" type=\"video/mp4\">\n\t\t\t{{ videoFallbackText }}\n\t\t</video>\n\t</div>\n</template>\n\n<script>\nimport { generateFilePath } from '@nextcloud/router'\n\nexport default {\n\tname: 'IntroVideo',\n\tdata() {\n\t\treturn {\n\t\t\tvideoMp4: generateFilePath('firstrunwizard', 'img', 'Nextcloud.mp4'),\n\t\t\tvideoWebm: generateFilePath('firstrunwizard', 'img', 'Nextcloud.webm'),\n\t\t}\n\t},\n\tcomputed: {\n\t\tvideoFallbackText() {\n\t\t\treturn t('firstrunwizard', 'Welcome to {cloudName}!', { cloudName: window.OC.theme.name })\n\t\t},\n\t},\n}\n</script>\n\n<style scoped lang=\"scss\">\n\tvideo {\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tobject-fit: cover;\n\t}\n\n\t.video-wrapper {\n\t\tbackground-color: var(--color-primary);\n\t}\n</style>\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IntroVideo.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IntroVideo.vue?vue&type=script&lang=js&\"","\n import API from \"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IntroVideo.vue?vue&type=style&index=0&id=70de3a6e&scoped=true&lang=scss&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IntroVideo.vue?vue&type=style&index=0&id=70de3a6e&scoped=true&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./IntroVideo.vue?vue&type=template&id=70de3a6e&scoped=true&\"\nimport script from \"./IntroVideo.vue?vue&type=script&lang=js&\"\nexport * from \"./IntroVideo.vue?vue&type=script&lang=js&\"\nimport style0 from \"./IntroVideo.vue?vue&type=style&index=0&id=70de3a6e&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"70de3a6e\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"video-wrapper\"},[_c('video',{ref:\"video\",attrs:{\"playsinline\":\"\",\"autoplay\":\"\",\"muted\":\"\"},domProps:{\"muted\":true}},[_c('source',{attrs:{\"src\":_vm.videoWebm,\"type\":\"video/webm\"}}),_vm._v(\" \"),_c('source',{attrs:{\"src\":_vm.videoMp4,\"type\":\"video/mp4\"}}),_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.videoFallbackText)+\"\\n\\t\")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<Modal\n\t\tv-if=\"showModal && slideList.length > 0\"\n\t\tid=\"firstrunwizard\"\n\t\tsize=\"large\"\n\t\t:has-previous=\"hasPrevious\"\n\t\t:has-next=\"hasNext\"\n\t\t:clear-view-delay=\"-1 /* disable fade-out because of accessibility reasons */\"\n\t\tname=\"modal\"\n\t\t@previous=\"previous\"\n\t\t@next=\"next\"\n\t\t@close=\"close\">\n\t\t<div v-if=\"currentSlide !== 0 || !withIntro\" class=\"modal-header\">\n\t\t\t<div class=\"firstrunwizard-header\">\n\t\t\t\t<div class=\"logo\">\n\t\t\t\t\t<p class=\"hidden-visually\">\n\t\t\t\t\t\t{{ oc_defaults.name }}\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<!-- eslint-disable-next-line vue/no-v-html -->\n\t\t\t\t<h2 v-html=\"oc_defaults.slogan\" />\n\t\t\t\t<p />\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"modal-body\">\n\t\t\t<slot v-if=\"slideList.length > 0\" name=\"body\">\n\t\t\t\t<transition :name=\"fadeDirection\" mode=\"out-in\">\n\t\t\t\t\t<!-- eslint-disable-next-line vue/no-v-html -->\n\t\t\t\t\t<div v-if=\"slideList[currentSlide].type === 'inline'\" :key=\"currentSlide\" v-html=\"slideList[currentSlide].content\" />\n\t\t\t\t\t<div :is=\"slideList[currentSlide]\" v-else @finished=\"currentSlide++\" />\n\t\t\t\t</transition>\n\t\t\t</slot>\n\t\t</div>\n\t\t<div class=\"modal-footer\">\n\t\t\t<button v-if=\"isLast\" class=\"primary modal-default-button\" @click=\"close\">\n\t\t\t\t{{ startButtonText }}\n\t\t\t</button>\n\t\t</div>\n\t</Modal>\n</template>\n<style lang=\"scss\">\n\t/* Page styling needs to be unscoped, since we load it separately from the server */\n\t#firstrunwizard {\n\n\t\t.page {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: row;\n\t\t\tflex-wrap: wrap;\n\t\t\tmargin: auto;\n\n\t\t\th3 {\n\t\t\t\tmargin: 10px 0 10px;\n\t\t\t\tline-height: 120%;\n\t\t\t\tpadding: 0;\n\t\t\t}\n\t\t\t.image {\n\t\t\t\tpadding: 20px;\n\t\t\t\tmax-width: calc(50% - 40px);\n\t\t\t\tflex-grow: 1;\n\t\t\t\timg {\n\t\t\t\t\twidth: 100%;\n\t\t\t\t}\n\t\t\t}\n\t\t\t.content {\n\t\t\t\tpadding: 20px;\n\t\t\t\twidth: 100%;\n\t\t\t}\n\t\t\tp {\n\t\t\t\tmargin-bottom: 20px;\n\t\t\t}\n\t\t\t.description-block:first-child {\n\t\t\t\tmargin-bottom: 20px;\n\t\t\t}\n\t\t\t.description {\n\t\t\t\tmargin: 20px;\n\t\t\t\twidth: auto;\n\t\t\t\tflex-grow: 1;\n\t\t\t\tmax-width: calc(50% - 40px);\n\t\t\t}\n\t\t\tul {\n\t\t\t\tmargin: 10px;\n\t\t\t\tli {\n\t\t\t\t\tmargin-left: 20px;\n\t\t\t\t\tmargin-bottom: 10px;\n\t\t\t\t\tlist-style: circle outside;\n\t\t\t\t}\n\t\t\t}\n\t\t\ta:not(.button) {\n\t\t\t\t&:hover,\n\t\t\t\t&:focus {\n\t\t\t\t\ttext-decoration: underline;\n\t\t\t\t}\n\t\t\t}\n\t\t\t.button {\n\t\t\t\tdisplay: inline-block;\n\n\t\t\t\timg {\n\t\t\t\t\twidth: 16px;\n\t\t\t\t\theight: 16px;\n\t\t\t\t\topacity: .5;\n\t\t\t\t\tmargin-top: -3px;\n\t\t\t\t\tvertical-align: middle;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t.content-clients {\n\t\t\twidth: 100%;\n\t\t\ttext-align: center;\n\t\t\ta {\n\t\t\t\ttext-decoration: none;\n\t\t\t\tdisplay: inline-block;\n\t\t\t}\n\t\t\t.clientslinks .appsmall {\n\t\t\t\theight: 32px;\n\t\t\t\twidth: 32px;\n\t\t\t\tposition: relative;\n\t\t\t\topacity: .5;\n\t\t\t\tvertical-align: middle;\n\t\t\t}\n\t\t\t.clientslinks .button {\n\t\t\t\tdisplay: inline-block;\n\t\t\t\tpadding: 8px;\n\t\t\t\tfont-weight: normal;\n\t\t\t\tfont-size: 14px;\n\t\t\t}\n\t\t}\n\t\t.content-final {\n\t\t\th3 {\n\t\t\t\tbackground-position: 0;\n\t\t\t\tbackground-size: 16px 16px;\n\t\t\t\tpadding-left: 26px;\n\t\t\t\topacity: .7;\n\t\t\t}\n\t\t}\n\t\tp a {\n\t\t\tfont-weight: bold;\n\t\t\tcolor: var(--color-primary);\n\t\t\t&:hover,\n\t\t\t&:focus {\n\t\t\t\tcolor: var(color-text-light);\n\t\t\t}\n\t\t}\n\n\t\t.footnote {\n\t\t\tmargin-top: 40px;\n\t\t}\n\n\t\t// primary on next button\n\t\t.modal-wrapper {\n\t\t\t.icon-next {\n\t\t\t\tbackground-color: var(--color-primary);\n\t\t\t\tcolor: var(--color-primary-text);\n\t\t\t\tbox-shadow: 0 2px 8px rgba(0, 0, 0, .33);\n\t\t\t\tleft: 22px;\n\t\t\t}\n\n\t\t\t.icon-previous {\n\t\t\t\tbackground-color: var(--color-primary-light);\n\t\t\t\tcolor: var(--color-primary-light-text);\n\t\t\t\tbox-shadow: 0 2px 8px rgba(0, 0, 0, .33);\n\t\t\t\tleft: 22px;\n\t\t\t}\n\t\t}\n\t}\n\n\t.clientslinks {\n\t\tmargin-top: 20px;\n\t\tmargin-bottom: 20px;\n\t}\n\n\t#wizard-values {\n\t\tlist-style-type: none;\n\t\tdisplay: flex;\n\t\tflex-wrap: wrap;\n\t\tmargin: 0;\n\t\tli {\n\t\t\tdisplay: block;\n\t\t\tmin-width: 250px;\n\t\t\twidth: 33%;\n\t\t\tflex-grow: 1;\n\t\t\tmargin: 20px 0 20px 0;\n\t\t\tspan {\n\t\t\t\topacity: .7;\n\t\t\t\tdisplay: block;\n\t\t\t\theight: 50px;\n\t\t\t\twidth: 50px;\n\t\t\t\tbackground-size: 40px;\n\t\t\t\tmargin: auto;\n\t\t\t}\n\t\t\th3 {\n\t\t\t\tmargin: 10px 0 10px 0;\n\t\t\t\tfont-size: 130%;\n\t\t\t\ttext-align: center;\n\t\t\t}\n\t\t}\n\t}\n\n\t.details-link {\n\t\ttext-align: center;\n\t}\n\n\t@media only screen and (max-width: 680px) {\n\t\t#firstrunwizard {\n\t\t\t.firstrunwizard-header div.logo {\n\t\t\t\tbackground-size: 120px;\n\t\t\t}\n\t\t\th2 {\n\t\t\t\tfont-size: 20px;\n\t\t\t}\n\t\t\t.page > div {\n\t\t\t\tmax-width: 100% !important;\n\t\t\t\twidth: 100%;\n\t\t\t}\n\t\t\t.page {\n\t\t\t\t#wizard-values li {\n\t\t\t\t\tmin-width: 100%;\n\t\t\t\t\toverflow: hidden;\n\t\t\t\t\tdisplay: flex;\n\t\t\t\t\tspan {\n\t\t\t\t\t\twidth: 44px !important;\n\t\t\t\t\t\tpadding-right: 20px;\n\t\t\t\t\t\tflex-grow: 0;\n\t\t\t\t\t}\n\t\t\t\t\th3 {\n\t\t\t\t\t\tfont-size: 12px;\n\t\t\t\t\t\ttext-align: left;\n\t\t\t\t\t\tflex-grow: 1;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t&.content-final {\n\t\t\t\t\tpadding-bottom: 50px;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t// fix button position on mobile (so that they don't overlap with text)\n\t\t.modal-mask .modal-wrapper .next, .prev {\n\t\t\ttop: 220px;\n\t\t\talign-items: start !important;\n\t\t}\n\t}\n</style>\n\n<style lang=\"scss\" scoped>\n\t.modal-mask {\n\t\tbackground-color: rgba(0, 0, 0, 0.7);\n\n\t\t&::v-deep .modal-wrapper {\n\t\t\tposition: relative;\n\t\t}\n\n\t\t&::v-deep .modal-container {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\tposition: relative;\n\t\t}\n\n\t\t.modal-body {\n\t\t\tflex-grow: 1;\n\t\t\tdisplay: flex;\n\t\t\toverflow-x: hidden;\n\t\t\toverflow-y: auto;\n\n\t\t\t& > div {\n\t\t\t\tdisplay: flex;\n\t\t\t\tflex-grow: 1;\n\t\t\t\talign-items: center;\n\t\t\t\tjustify-content: center;\n\t\t\t}\n\t\t}\n\t}\n\n\t.modal-header {\n\t\tflex-shrink: 0;\n\n\t\t.firstrunwizard-header {\n\t\t\tpadding: 20px 12px;\n\t\t\tbackground: var(--color-primary) var(--image-login-background) no-repeat 50% 50%;\n\t\t\tbackground-size: cover;\n\t\t\tcolor: var(--color-primary-text);\n\t\t\ttext-align: center;\n\t\t\t.logo {\n\t\t\t\tbackground: var(--image-logo) no-repeat center;\n\t\t\t\tbackground-size: contain;\n\t\t\t\twidth: 175px;\n\t\t\t\theight: 100px;\n\t\t\t\tmax-height: 20vh;\n\t\t\t\tmargin: 0 auto;\n\t\t\t}\n\t\t\th2 {\n\t\t\t\tfont-size: 20px;\n\t\t\t\tmargin-top: 7px;\n\t\t\t\tline-height: 150%;\n\t\t\t\tcolor: var(--color-primary-text);\n\t\t\t\tfont-weight: 300;\n\t\t\t\tpadding: 0 0 10px;\n\t\t\t}\n\t\t}\n\t}\n\n\t.modal-default-button {\n\t\talign-self: flex-end;\n\t}\n\n\t.modal-footer {\n\t\toverflow: hidden;\n\t\tposition: absolute;\n\t\tdisplay: flex;\n\t\tbottom: 0;\n\t\tright: 0;\n\t}\n\n\t.modal-footer button {\n\t\tmargin: 10px;\n\t}\n\n\t/* Transitions */\n\t.next-enter-active, .next-leave-active,\n\t.previous-enter-active, .previous-leave-active {\n\t\ttransition: transform .1s, opacity .25s;\n\t}\n\n\t.next-enter {\n\t\ttransform: translateX(50%);\n\t\topacity: 0;\n\t}\n\n\t.next-leave-to {\n\t\ttransform: translateX(-50%);\n\t\topacity: 0;\n\t}\n\n\t.previous-enter {\n\t\ttransform: translateX(-50%);\n\t\topacity: 0;\n\t}\n\n\t.previous-leave-to {\n\t\ttransform: translateX(50%);\n\t\topacity: 0;\n\t}\n</style>\n<script>\nimport Modal from '@nextcloud/vue/dist/Components/Modal'\nimport axios from '@nextcloud/axios'\nimport { generateUrl } from '@nextcloud/router'\nimport IntroVideo from './components/IntroVideo'\n\nexport default {\n\tname: 'App',\n\tcomponents: {\n\t\tModal,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tshowModal: false,\n\t\t\twithIntro: true,\n\t\t\tslides: [],\n\t\t\tcurrentSlide: 0,\n\t\t\tfadeDirection: 'next',\n\t\t\tslidesLoaded: false,\n\t\t}\n\t},\n\tcomputed: {\n\t\tslideList() {\n\t\t\tif (this.withIntro) {\n\t\t\t\treturn this.slides\n\t\t\t}\n\t\t\tconst slides = this.slides\n\t\t\treturn slides.slice(1)\n\t\t},\n\t\thasNext() {\n\t\t\treturn this.currentSlide < this.slideList.length - 1\n\t\t},\n\t\thasPrevious() {\n\t\t\treturn this.currentSlide > 0\n\t\t},\n\t\tisLast() {\n\t\t\treturn this.currentSlide === this.slideList.length - 1\n\t\t},\n\t\tisFirst() {\n\t\t\treturn this.currentSlide === 0\n\t\t},\n\t\tstartButtonText() {\n\t\t\treturn t('firstrunwizard', 'Start using {cloudName}', { cloudName: window.OC.theme.name })\n\t\t},\n\t},\n\tasync created() {\n\t\tthis.slides = [IntroVideo]\n\t\twindow.addEventListener('resize', this.onResize)\n\t},\n\tbeforeDestroy() {\n\t\twindow.removeEventListener('resize', this.onResize)\n\t},\n\tmethods: {\n\t\tasync loadStaticSlides() {\n\t\t\tif (this.slidesLoaded) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tconst response = await axios.get(generateUrl('/apps/firstrunwizard/wizard'))\n\t\t\t\tthis.slides.push(...response.data.slides)\n\t\t\t\tthis.withIntro = response.data.hasVideo\n\t\t\t\tthis.slidesLoaded = true\n\t\t\t} catch (e) {\n\t\t\t\tconsole.error('Failed to load slides')\n\t\t\t}\n\t\t},\n\t\tasync open(withIntro = true) {\n\t\t\tawait this.loadStaticSlides()\n\t\t\tthis.withIntro = this.withIntro & withIntro\n\t\t\tthis.showModal = true\n\t\t\tthis.currentSlide = 0\n\t\t},\n\t\tclose() {\n\t\t\tthis.showModal = false\n\t\t\taxios.delete(generateUrl('/apps/firstrunwizard/wizard'))\n\t\t},\n\t\tnext() {\n\t\t\tthis.fadeDirection = 'next'\n\t\t\tif (this.isLast) {\n\t\t\t\tthis.close()\n\t\t\t\treturn\n\t\t\t}\n\t\t\tthis.currentSlide += 1\n\t\t},\n\t\tprevious() {\n\t\t\tthis.fadeDirection = 'previous'\n\t\t\tif (this.isFirst) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tthis.currentSlide -= 1\n\t\t},\n\t},\n}\n</script>\n","import mod from \"-!../node_modules/babel-loader/lib/index.js!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/babel-loader/lib/index.js!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","\n import API from \"!../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../node_modules/css-loader/dist/cjs.js!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/sass-loader/dist/cjs.js!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=scss&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../node_modules/css-loader/dist/cjs.js!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/sass-loader/dist/cjs.js!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","\n import API from \"!../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../node_modules/css-loader/dist/cjs.js!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/sass-loader/dist/cjs.js!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=1&id=e75b1dfa&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../node_modules/css-loader/dist/cjs.js!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/sass-loader/dist/cjs.js!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=1&id=e75b1dfa&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=e75b1dfa&scoped=true&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=scss&\"\nimport style1 from \"./App.vue?vue&type=style&index=1&id=e75b1dfa&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"e75b1dfa\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.showModal && _vm.slideList.length > 0)?_c('Modal',{attrs:{\"id\":\"firstrunwizard\",\"size\":\"large\",\"has-previous\":_vm.hasPrevious,\"has-next\":_vm.hasNext,\"clear-view-delay\":-1 /* disable fade-out because of accessibility reasons */,\"name\":\"modal\"},on:{\"previous\":_vm.previous,\"next\":_vm.next,\"close\":_vm.close}},[(_vm.currentSlide !== 0 || !_vm.withIntro)?_c('div',{staticClass:\"modal-header\"},[_c('div',{staticClass:\"firstrunwizard-header\"},[_c('div',{staticClass:\"logo\"},[_c('p',{staticClass:\"hidden-visually\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.oc_defaults.name)+\"\\n\\t\\t\\t\\t\")])]),_vm._v(\" \"),_c('h2',{domProps:{\"innerHTML\":_vm._s(_vm.oc_defaults.slogan)}}),_vm._v(\" \"),_c('p')])]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"modal-body\"},[(_vm.slideList.length > 0)?_vm._t(\"body\",function(){return [_c('transition',{attrs:{\"name\":_vm.fadeDirection,\"mode\":\"out-in\"}},[(_vm.slideList[_vm.currentSlide].type === 'inline')?_c('div',{key:_vm.currentSlide,domProps:{\"innerHTML\":_vm._s(_vm.slideList[_vm.currentSlide].content)}}):_c(_vm.slideList[_vm.currentSlide],{tag:\"div\",on:{\"finished\":function($event){_vm.currentSlide++}}})],1)]}):_vm._e()],2),_vm._v(\" \"),_c('div',{staticClass:\"modal-footer\"},[(_vm.isLast)?_c('button',{staticClass:\"primary modal-default-button\",on:{\"click\":_vm.close}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.startButtonText)+\"\\n\\t\\t\")]):_vm._e()])]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Vue from 'vue'\nimport { generateFilePath } from '@nextcloud/router'\nimport { translate, translatePlural } from '@nextcloud/l10n'\n\nimport App from './App.vue'\n// eslint-disable-next-line\n__webpack_public_path__ = generateFilePath('firstrunwizard', '', 'js/');\n\nVue.prototype.t = translate\nVue.prototype.n = translatePlural\n// eslint-disable-next-line\nVue.prototype.oc_defaults = window.oc_defaults\n\nconst el = document.createElement('div')\nel.id = 'firstrunwizard'\ndocument.querySelector('body').appendChild(el)\n\nconst View = Vue.extend(App)\nconst vm = new View().$mount(el)\n\nwindow.OCA.FirstRunWizard = {\n\topen: vm.open,\n}\n"],"sourceRoot":""} \ No newline at end of file
+{"version":3,"sources":["webpack:///firstrunwizard/node_modules/@nextcloud/auth/dist/index.js","webpack:///firstrunwizard/node_modules/@nextcloud/auth/dist/requesttoken.js","webpack:///firstrunwizard/node_modules/@nextcloud/auth/dist/user.js","webpack:///firstrunwizard/node_modules/@nextcloud/axios/dist/index.js","webpack:///firstrunwizard/node_modules/@nextcloud/event-bus/dist/ProxyBus.js","webpack:///firstrunwizard/node_modules/@nextcloud/event-bus/dist/SimpleBus.js","webpack:///firstrunwizard/node_modules/@nextcloud/event-bus/dist/index.js","webpack:///firstrunwizard/node_modules/@nextcloud/l10n/dist/gettext.js","webpack:///firstrunwizard/node_modules/@nextcloud/l10n/dist/index.js","webpack:///firstrunwizard/node_modules/@nextcloud/router/dist/index.js","webpack:///firstrunwizard/node_modules/@nextcloud/vue/dist/Components/Modal.js","webpack:///firstrunwizard/node_modules/available-typed-arrays/index.js","webpack:///firstrunwizard/node_modules/axios/index.js","webpack:///firstrunwizard/node_modules/axios/lib/adapters/xhr.js","webpack:///firstrunwizard/node_modules/axios/lib/axios.js","webpack:///firstrunwizard/node_modules/axios/lib/cancel/Cancel.js","webpack:///firstrunwizard/node_modules/axios/lib/cancel/CancelToken.js","webpack:///firstrunwizard/node_modules/axios/lib/cancel/isCancel.js","webpack:///firstrunwizard/node_modules/axios/lib/core/Axios.js","webpack:///firstrunwizard/node_modules/axios/lib/core/InterceptorManager.js","webpack:///firstrunwizard/node_modules/axios/lib/core/buildFullPath.js","webpack:///firstrunwizard/node_modules/axios/lib/core/createError.js","webpack:///firstrunwizard/node_modules/axios/lib/core/dispatchRequest.js","webpack:///firstrunwizard/node_modules/axios/lib/core/enhanceError.js","webpack:///firstrunwizard/node_modules/axios/lib/core/mergeConfig.js","webpack:///firstrunwizard/node_modules/axios/lib/core/settle.js","webpack:///firstrunwizard/node_modules/axios/lib/core/transformData.js","webpack:///firstrunwizard/node_modules/axios/lib/defaults.js","webpack:///firstrunwizard/node_modules/axios/lib/env/data.js","webpack:///firstrunwizard/node_modules/axios/lib/helpers/bind.js","webpack:///firstrunwizard/node_modules/axios/lib/helpers/buildURL.js","webpack:///firstrunwizard/node_modules/axios/lib/helpers/combineURLs.js","webpack:///firstrunwizard/node_modules/axios/lib/helpers/cookies.js","webpack:///firstrunwizard/node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack:///firstrunwizard/node_modules/axios/lib/helpers/isAxiosError.js","webpack:///firstrunwizard/node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack:///firstrunwizard/node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack:///firstrunwizard/node_modules/axios/lib/helpers/parseHeaders.js","webpack:///firstrunwizard/node_modules/axios/lib/helpers/spread.js","webpack:///firstrunwizard/node_modules/axios/lib/helpers/validator.js","webpack:///firstrunwizard/node_modules/axios/lib/utils.js","webpack:///firstrunwizard/node_modules/call-bind/callBound.js","webpack:///firstrunwizard/node_modules/call-bind/index.js","webpack:///firstrunwizard/node_modules/console-browserify/index.js","webpack:///firstrunwizard/node_modules/core-js/internals/a-function.js","webpack:///firstrunwizard/node_modules/core-js/internals/a-possible-prototype.js","webpack:///firstrunwizard/node_modules/core-js/internals/add-to-unscopables.js","webpack:///firstrunwizard/node_modules/core-js/internals/advance-string-index.js","webpack:///firstrunwizard/node_modules/core-js/internals/an-instance.js","webpack:///firstrunwizard/node_modules/core-js/internals/an-object.js","webpack:///firstrunwizard/node_modules/core-js/internals/array-for-each.js","webpack:///firstrunwizard/node_modules/core-js/internals/array-includes.js","webpack:///firstrunwizard/node_modules/core-js/internals/array-iteration.js","webpack:///firstrunwizard/node_modules/core-js/internals/array-method-has-species-support.js","webpack:///firstrunwizard/node_modules/core-js/internals/array-method-is-strict.js","webpack:///firstrunwizard/node_modules/core-js/internals/array-method-uses-to-length.js","webpack:///firstrunwizard/node_modules/core-js/internals/array-species-create.js","webpack:///firstrunwizard/node_modules/core-js/internals/call-with-safe-iteration-closing.js","webpack:///firstrunwizard/node_modules/core-js/internals/check-correctness-of-iteration.js","webpack:///firstrunwizard/node_modules/core-js/internals/classof-raw.js","webpack:///firstrunwizard/node_modules/core-js/internals/classof.js","webpack:///firstrunwizard/node_modules/core-js/internals/collection-strong.js","webpack:///firstrunwizard/node_modules/core-js/internals/collection.js","webpack:///firstrunwizard/node_modules/core-js/internals/copy-constructor-properties.js","webpack:///firstrunwizard/node_modules/core-js/internals/correct-prototype-getter.js","webpack:///firstrunwizard/node_modules/core-js/internals/create-iterator-constructor.js","webpack:///firstrunwizard/node_modules/core-js/internals/create-non-enumerable-property.js","webpack:///firstrunwizard/node_modules/core-js/internals/create-property-descriptor.js","webpack:///firstrunwizard/node_modules/core-js/internals/create-property.js","webpack:///firstrunwizard/node_modules/core-js/internals/define-iterator.js","webpack:///firstrunwizard/node_modules/core-js/internals/descriptors.js","webpack:///firstrunwizard/node_modules/core-js/internals/document-create-element.js","webpack:///firstrunwizard/node_modules/core-js/internals/dom-iterables.js","webpack:///firstrunwizard/node_modules/core-js/internals/engine-user-agent.js","webpack:///firstrunwizard/node_modules/core-js/internals/engine-v8-version.js","webpack:///firstrunwizard/node_modules/core-js/internals/enum-bug-keys.js","webpack:///firstrunwizard/node_modules/core-js/internals/export.js","webpack:///firstrunwizard/node_modules/core-js/internals/fails.js","webpack:///firstrunwizard/node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","webpack:///firstrunwizard/node_modules/core-js/internals/freezing.js","webpack:///firstrunwizard/node_modules/core-js/internals/function-bind-context.js","webpack:///firstrunwizard/node_modules/core-js/internals/get-built-in.js","webpack:///firstrunwizard/node_modules/core-js/internals/get-iterator-method.js","webpack:///firstrunwizard/node_modules/core-js/internals/global.js","webpack:///firstrunwizard/node_modules/core-js/internals/has.js","webpack:///firstrunwizard/node_modules/core-js/internals/hidden-keys.js","webpack:///firstrunwizard/node_modules/core-js/internals/html.js","webpack:///firstrunwizard/node_modules/core-js/internals/ie8-dom-define.js","webpack:///firstrunwizard/node_modules/core-js/internals/indexed-object.js","webpack:///firstrunwizard/node_modules/core-js/internals/inherit-if-required.js","webpack:///firstrunwizard/node_modules/core-js/internals/inspect-source.js","webpack:///firstrunwizard/node_modules/core-js/internals/internal-metadata.js","webpack:///firstrunwizard/node_modules/core-js/internals/internal-state.js","webpack:///firstrunwizard/node_modules/core-js/internals/is-array-iterator-method.js","webpack:///firstrunwizard/node_modules/core-js/internals/is-array.js","webpack:///firstrunwizard/node_modules/core-js/internals/is-forced.js","webpack:///firstrunwizard/node_modules/core-js/internals/is-object.js","webpack:///firstrunwizard/node_modules/core-js/internals/is-pure.js","webpack:///firstrunwizard/node_modules/core-js/internals/iterate.js","webpack:///firstrunwizard/node_modules/core-js/internals/iterators-core.js","webpack:///firstrunwizard/node_modules/core-js/internals/iterators.js","webpack:///firstrunwizard/node_modules/core-js/internals/native-symbol.js","webpack:///firstrunwizard/node_modules/core-js/internals/native-weak-map.js","webpack:///firstrunwizard/node_modules/core-js/internals/object-assign.js","webpack:///firstrunwizard/node_modules/core-js/internals/object-create.js","webpack:///firstrunwizard/node_modules/core-js/internals/object-define-properties.js","webpack:///firstrunwizard/node_modules/core-js/internals/object-define-property.js","webpack:///firstrunwizard/node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///firstrunwizard/node_modules/core-js/internals/object-get-own-property-names.js","webpack:///firstrunwizard/node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///firstrunwizard/node_modules/core-js/internals/object-get-prototype-of.js","webpack:///firstrunwizard/node_modules/core-js/internals/object-keys-internal.js","webpack:///firstrunwizard/node_modules/core-js/internals/object-keys.js","webpack:///firstrunwizard/node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///firstrunwizard/node_modules/core-js/internals/object-set-prototype-of.js","webpack:///firstrunwizard/node_modules/core-js/internals/object-to-string.js","webpack:///firstrunwizard/node_modules/core-js/internals/own-keys.js","webpack:///firstrunwizard/node_modules/core-js/internals/path.js","webpack:///firstrunwizard/node_modules/core-js/internals/redefine-all.js","webpack:///firstrunwizard/node_modules/core-js/internals/redefine.js","webpack:///firstrunwizard/node_modules/core-js/internals/regexp-exec-abstract.js","webpack:///firstrunwizard/node_modules/core-js/internals/regexp-exec.js","webpack:///firstrunwizard/node_modules/core-js/internals/regexp-flags.js","webpack:///firstrunwizard/node_modules/core-js/internals/regexp-sticky-helpers.js","webpack:///firstrunwizard/node_modules/core-js/internals/require-object-coercible.js","webpack:///firstrunwizard/node_modules/core-js/internals/set-global.js","webpack:///firstrunwizard/node_modules/core-js/internals/set-species.js","webpack:///firstrunwizard/node_modules/core-js/internals/set-to-string-tag.js","webpack:///firstrunwizard/node_modules/core-js/internals/shared-key.js","webpack:///firstrunwizard/node_modules/core-js/internals/shared-store.js","webpack:///firstrunwizard/node_modules/core-js/internals/shared.js","webpack:///firstrunwizard/node_modules/core-js/internals/string-multibyte.js","webpack:///firstrunwizard/node_modules/core-js/internals/to-absolute-index.js","webpack:///firstrunwizard/node_modules/core-js/internals/to-indexed-object.js","webpack:///firstrunwizard/node_modules/core-js/internals/to-integer.js","webpack:///firstrunwizard/node_modules/core-js/internals/to-length.js","webpack:///firstrunwizard/node_modules/core-js/internals/to-object.js","webpack:///firstrunwizard/node_modules/core-js/internals/to-primitive.js","webpack:///firstrunwizard/node_modules/core-js/internals/to-string-tag-support.js","webpack:///firstrunwizard/node_modules/core-js/internals/uid.js","webpack:///firstrunwizard/node_modules/core-js/internals/use-symbol-as-uid.js","webpack:///firstrunwizard/node_modules/core-js/internals/well-known-symbol.js","webpack:///firstrunwizard/node_modules/core-js/modules/es.array.concat.js","webpack:///firstrunwizard/node_modules/core-js/modules/es.array.filter.js","webpack:///firstrunwizard/node_modules/core-js/modules/es.array.for-each.js","webpack:///firstrunwizard/node_modules/core-js/modules/es.array.index-of.js","webpack:///firstrunwizard/node_modules/core-js/modules/es.array.iterator.js","webpack:///firstrunwizard/node_modules/core-js/modules/es.map.js","webpack:///firstrunwizard/node_modules/core-js/modules/es.object.assign.js","webpack:///firstrunwizard/node_modules/core-js/modules/es.object.to-string.js","webpack:///firstrunwizard/node_modules/core-js/modules/es.regexp.exec.js","webpack:///firstrunwizard/node_modules/core-js/modules/es.regexp.to-string.js","webpack:///firstrunwizard/node_modules/core-js/modules/es.string.iterator.js","webpack:///firstrunwizard/node_modules/core-js/modules/es.string.replace.js","webpack:///firstrunwizard/node_modules/core-js/modules/web.dom-collections.for-each.js","webpack:///firstrunwizard/node_modules/core-js/modules/web.dom-collections.iterator.js","webpack:///firstrunwizard/src/App.vue?vue&type=style&index=0&lang=scss&","webpack:///firstrunwizard/src/App.vue?vue&type=style&index=1&id=dd9f3cba&lang=scss&scoped=true&","webpack:///firstrunwizard/src/components/IntroVideo.vue?vue&type=style&index=0&id=70de3a6e&scoped=true&lang=scss&","webpack:///firstrunwizard/node_modules/css-loader/dist/runtime/api.js","webpack:///firstrunwizard/node_modules/css-loader/dist/runtime/sourceMaps.js","webpack:///firstrunwizard/node_modules/define-properties/index.js","webpack:///firstrunwizard/node_modules/es-abstract/helpers/getOwnPropertyDescriptor.js","webpack:///firstrunwizard/node_modules/es6-object-assign/index.js","webpack:///firstrunwizard/node_modules/foreach/index.js","webpack:///firstrunwizard/node_modules/function-bind/implementation.js","webpack:///firstrunwizard/node_modules/function-bind/index.js","webpack:///firstrunwizard/node_modules/get-intrinsic/index.js","webpack:///firstrunwizard/node_modules/hammerjs/hammer.js","webpack:///firstrunwizard/node_modules/has-symbols/index.js","webpack:///firstrunwizard/node_modules/has-symbols/shams.js","webpack:///firstrunwizard/node_modules/has-tostringtag/shams.js","webpack:///firstrunwizard/node_modules/has/src/index.js","webpack:///firstrunwizard/node_modules/is-arguments/index.js","webpack:///firstrunwizard/node_modules/is-generator-function/index.js","webpack:///firstrunwizard/node_modules/is-nan/implementation.js","webpack:///firstrunwizard/node_modules/is-nan/index.js","webpack:///firstrunwizard/node_modules/is-nan/polyfill.js","webpack:///firstrunwizard/node_modules/is-nan/shim.js","webpack:///firstrunwizard/node_modules/is-typed-array/index.js","webpack:///firstrunwizard/node_modules/lodash.get/index.js","webpack:///firstrunwizard/node_modules/lodash/_DataView.js","webpack:///firstrunwizard/node_modules/lodash/_Hash.js","webpack:///firstrunwizard/node_modules/lodash/_ListCache.js","webpack:///firstrunwizard/node_modules/lodash/_Map.js","webpack:///firstrunwizard/node_modules/lodash/_MapCache.js","webpack:///firstrunwizard/node_modules/lodash/_Promise.js","webpack:///firstrunwizard/node_modules/lodash/_Set.js","webpack:///firstrunwizard/node_modules/lodash/_SetCache.js","webpack:///firstrunwizard/node_modules/lodash/_Stack.js","webpack:///firstrunwizard/node_modules/lodash/_Symbol.js","webpack:///firstrunwizard/node_modules/lodash/_Uint8Array.js","webpack:///firstrunwizard/node_modules/lodash/_WeakMap.js","webpack:///firstrunwizard/node_modules/lodash/_apply.js","webpack:///firstrunwizard/node_modules/lodash/_arrayFilter.js","webpack:///firstrunwizard/node_modules/lodash/_arrayLikeKeys.js","webpack:///firstrunwizard/node_modules/lodash/_arrayPush.js","webpack:///firstrunwizard/node_modules/lodash/_arraySome.js","webpack:///firstrunwizard/node_modules/lodash/_assignMergeValue.js","webpack:///firstrunwizard/node_modules/lodash/_assignValue.js","webpack:///firstrunwizard/node_modules/lodash/_assocIndexOf.js","webpack:///firstrunwizard/node_modules/lodash/_baseAssignValue.js","webpack:///firstrunwizard/node_modules/lodash/_baseCreate.js","webpack:///firstrunwizard/node_modules/lodash/_baseFor.js","webpack:///firstrunwizard/node_modules/lodash/_baseGetAllKeys.js","webpack:///firstrunwizard/node_modules/lodash/_baseGetTag.js","webpack:///firstrunwizard/node_modules/lodash/_baseIsArguments.js","webpack:///firstrunwizard/node_modules/lodash/_baseIsEqual.js","webpack:///firstrunwizard/node_modules/lodash/_baseIsEqualDeep.js","webpack:///firstrunwizard/node_modules/lodash/_baseIsNative.js","webpack:///firstrunwizard/node_modules/lodash/_baseIsTypedArray.js","webpack:///firstrunwizard/node_modules/lodash/_baseKeys.js","webpack:///firstrunwizard/node_modules/lodash/_baseKeysIn.js","webpack:///firstrunwizard/node_modules/lodash/_baseMerge.js","webpack:///firstrunwizard/node_modules/lodash/_baseMergeDeep.js","webpack:///firstrunwizard/node_modules/lodash/_baseRest.js","webpack:///firstrunwizard/node_modules/lodash/_baseSetToString.js","webpack:///firstrunwizard/node_modules/lodash/_baseTimes.js","webpack:///firstrunwizard/node_modules/lodash/_baseUnary.js","webpack:///firstrunwizard/node_modules/lodash/_cacheHas.js","webpack:///firstrunwizard/node_modules/lodash/_cloneArrayBuffer.js","webpack:///firstrunwizard/node_modules/lodash/_cloneBuffer.js","webpack:///firstrunwizard/node_modules/lodash/_cloneTypedArray.js","webpack:///firstrunwizard/node_modules/lodash/_copyArray.js","webpack:///firstrunwizard/node_modules/lodash/_copyObject.js","webpack:///firstrunwizard/node_modules/lodash/_coreJsData.js","webpack:///firstrunwizard/node_modules/lodash/_createAssigner.js","webpack:///firstrunwizard/node_modules/lodash/_createBaseFor.js","webpack:///firstrunwizard/node_modules/lodash/_defineProperty.js","webpack:///firstrunwizard/node_modules/lodash/_equalArrays.js","webpack:///firstrunwizard/node_modules/lodash/_equalByTag.js","webpack:///firstrunwizard/node_modules/lodash/_equalObjects.js","webpack:///firstrunwizard/node_modules/lodash/_freeGlobal.js","webpack:///firstrunwizard/node_modules/lodash/_getAllKeys.js","webpack:///firstrunwizard/node_modules/lodash/_getMapData.js","webpack:///firstrunwizard/node_modules/lodash/_getNative.js","webpack:///firstrunwizard/node_modules/lodash/_getPrototype.js","webpack:///firstrunwizard/node_modules/lodash/_getRawTag.js","webpack:///firstrunwizard/node_modules/lodash/_getSymbols.js","webpack:///firstrunwizard/node_modules/lodash/_getTag.js","webpack:///firstrunwizard/node_modules/lodash/_getValue.js","webpack:///firstrunwizard/node_modules/lodash/_hashClear.js","webpack:///firstrunwizard/node_modules/lodash/_hashDelete.js","webpack:///firstrunwizard/node_modules/lodash/_hashGet.js","webpack:///firstrunwizard/node_modules/lodash/_hashHas.js","webpack:///firstrunwizard/node_modules/lodash/_hashSet.js","webpack:///firstrunwizard/node_modules/lodash/_initCloneObject.js","webpack:///firstrunwizard/node_modules/lodash/_isIndex.js","webpack:///firstrunwizard/node_modules/lodash/_isIterateeCall.js","webpack:///firstrunwizard/node_modules/lodash/_isKeyable.js","webpack:///firstrunwizard/node_modules/lodash/_isMasked.js","webpack:///firstrunwizard/node_modules/lodash/_isPrototype.js","webpack:///firstrunwizard/node_modules/lodash/_listCacheClear.js","webpack:///firstrunwizard/node_modules/lodash/_listCacheDelete.js","webpack:///firstrunwizard/node_modules/lodash/_listCacheGet.js","webpack:///firstrunwizard/node_modules/lodash/_listCacheHas.js","webpack:///firstrunwizard/node_modules/lodash/_listCacheSet.js","webpack:///firstrunwizard/node_modules/lodash/_mapCacheClear.js","webpack:///firstrunwizard/node_modules/lodash/_mapCacheDelete.js","webpack:///firstrunwizard/node_modules/lodash/_mapCacheGet.js","webpack:///firstrunwizard/node_modules/lodash/_mapCacheHas.js","webpack:///firstrunwizard/node_modules/lodash/_mapCacheSet.js","webpack:///firstrunwizard/node_modules/lodash/_mapToArray.js","webpack:///firstrunwizard/node_modules/lodash/_nativeCreate.js","webpack:///firstrunwizard/node_modules/lodash/_nativeKeys.js","webpack:///firstrunwizard/node_modules/lodash/_nativeKeysIn.js","webpack:///firstrunwizard/node_modules/lodash/_nodeUtil.js","webpack:///firstrunwizard/node_modules/lodash/_objectToString.js","webpack:///firstrunwizard/node_modules/lodash/_overArg.js","webpack:///firstrunwizard/node_modules/lodash/_overRest.js","webpack:///firstrunwizard/node_modules/lodash/_root.js","webpack:///firstrunwizard/node_modules/lodash/_safeGet.js","webpack:///firstrunwizard/node_modules/lodash/_setCacheAdd.js","webpack:///firstrunwizard/node_modules/lodash/_setCacheHas.js","webpack:///firstrunwizard/node_modules/lodash/_setToArray.js","webpack:///firstrunwizard/node_modules/lodash/_setToString.js","webpack:///firstrunwizard/node_modules/lodash/_shortOut.js","webpack:///firstrunwizard/node_modules/lodash/_stackClear.js","webpack:///firstrunwizard/node_modules/lodash/_stackDelete.js","webpack:///firstrunwizard/node_modules/lodash/_stackGet.js","webpack:///firstrunwizard/node_modules/lodash/_stackHas.js","webpack:///firstrunwizard/node_modules/lodash/_stackSet.js","webpack:///firstrunwizard/node_modules/lodash/_toSource.js","webpack:///firstrunwizard/node_modules/lodash/constant.js","webpack:///firstrunwizard/node_modules/lodash/eq.js","webpack:///firstrunwizard/node_modules/lodash/identity.js","webpack:///firstrunwizard/node_modules/lodash/isArguments.js","webpack:///firstrunwizard/node_modules/lodash/isArray.js","webpack:///firstrunwizard/node_modules/lodash/isArrayLike.js","webpack:///firstrunwizard/node_modules/lodash/isArrayLikeObject.js","webpack:///firstrunwizard/node_modules/lodash/isBuffer.js","webpack:///firstrunwizard/node_modules/lodash/isEqual.js","webpack:///firstrunwizard/node_modules/lodash/isFunction.js","webpack:///firstrunwizard/node_modules/lodash/isLength.js","webpack:///firstrunwizard/node_modules/lodash/isObject.js","webpack:///firstrunwizard/node_modules/lodash/isObjectLike.js","webpack:///firstrunwizard/node_modules/lodash/isPlainObject.js","webpack:///firstrunwizard/node_modules/lodash/isTypedArray.js","webpack:///firstrunwizard/node_modules/lodash/keys.js","webpack:///firstrunwizard/node_modules/lodash/keysIn.js","webpack:///firstrunwizard/node_modules/lodash/merge.js","webpack:///firstrunwizard/node_modules/lodash/stubArray.js","webpack:///firstrunwizard/node_modules/lodash/stubFalse.js","webpack:///firstrunwizard/node_modules/lodash/toPlainObject.js","webpack:///firstrunwizard/node_modules/node-gettext/lib/gettext.js","webpack:///firstrunwizard/node_modules/node-gettext/lib/plurals.js","webpack:///firstrunwizard/node_modules/node-polyfill-webpack-plugin/node_modules/assert/build/assert.js","webpack:///firstrunwizard/node_modules/node-polyfill-webpack-plugin/node_modules/assert/build/internal/assert/assertion_error.js","webpack:///firstrunwizard/node_modules/node-polyfill-webpack-plugin/node_modules/assert/build/internal/errors.js","webpack:///firstrunwizard/node_modules/node-polyfill-webpack-plugin/node_modules/assert/build/internal/util/comparisons.js","webpack:///firstrunwizard/node_modules/node-polyfill-webpack-plugin/node_modules/inherits/inherits_browser.js","webpack:///firstrunwizard/node_modules/node-polyfill-webpack-plugin/node_modules/util/support/isBufferBrowser.js","webpack:///firstrunwizard/node_modules/node-polyfill-webpack-plugin/node_modules/util/support/types.js","webpack:///firstrunwizard/node_modules/node-polyfill-webpack-plugin/node_modules/util/util.js","webpack:///firstrunwizard/node_modules/object-is/implementation.js","webpack:///firstrunwizard/node_modules/object-is/index.js","webpack:///firstrunwizard/node_modules/object-is/polyfill.js","webpack:///firstrunwizard/node_modules/object-is/shim.js","webpack:///firstrunwizard/node_modules/object-keys/implementation.js","webpack:///firstrunwizard/node_modules/object-keys/index.js","webpack:///firstrunwizard/node_modules/object-keys/isArguments.js","webpack:///firstrunwizard/node_modules/process/browser.js","webpack:///firstrunwizard/node_modules/semver/classes/semver.js","webpack:///firstrunwizard/node_modules/semver/functions/major.js","webpack:///firstrunwizard/node_modules/semver/functions/parse.js","webpack:///firstrunwizard/node_modules/semver/functions/valid.js","webpack:///firstrunwizard/node_modules/semver/internal/constants.js","webpack:///firstrunwizard/node_modules/semver/internal/debug.js","webpack:///firstrunwizard/node_modules/semver/internal/identifiers.js","webpack:///firstrunwizard/node_modules/semver/internal/parse-options.js","webpack:///firstrunwizard/node_modules/semver/internal/re.js","webpack:///firstrunwizard/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack:///firstrunwizard/node_modules/style-loader/dist/runtime/insertBySelector.js","webpack:///firstrunwizard/node_modules/style-loader/dist/runtime/insertStyleElement.js","webpack:///firstrunwizard/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js","webpack:///firstrunwizard/node_modules/style-loader/dist/runtime/styleDomAPI.js","webpack:///firstrunwizard/node_modules/style-loader/dist/runtime/styleTagTransform.js","webpack:///firstrunwizard/node_modules/@babel/runtime/helpers/esm/typeof.js","webpack:///firstrunwizard/node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack:///firstrunwizard/node_modules/@babel/runtime/helpers/esm/createClass.js","webpack:///firstrunwizard/node_modules/popper.js/dist/esm/popper.js","webpack:///firstrunwizard/node_modules/v-tooltip/node_modules/vue-resize/dist/vue-resize.esm.js","webpack:///firstrunwizard/node_modules/v-tooltip/dist/v-tooltip.esm.js","webpack:///firstrunwizard/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack:///firstrunwizard/node_modules/vue-material-design-icons/ChevronLeft.vue","webpack:///firstrunwizard/node_modules/vue-material-design-icons/ChevronLeft.vue?vue&type=script&lang=js&","webpack://firstrunwizard/./node_modules/vue-material-design-icons/ChevronLeft.vue?e7bb","webpack:///firstrunwizard/node_modules/vue-material-design-icons/ChevronLeft.vue?vue&type=template&id=5de37570&","webpack:///firstrunwizard/node_modules/vue-material-design-icons/ChevronRight.vue","webpack:///firstrunwizard/node_modules/vue-material-design-icons/ChevronRight.vue?vue&type=script&lang=js&","webpack://firstrunwizard/./node_modules/vue-material-design-icons/ChevronRight.vue?621b","webpack:///firstrunwizard/node_modules/vue-material-design-icons/ChevronRight.vue?vue&type=template&id=fbe63c02&","webpack:///firstrunwizard/node_modules/vue-material-design-icons/Close.vue","webpack:///firstrunwizard/node_modules/vue-material-design-icons/Close.vue?vue&type=script&lang=js&","webpack://firstrunwizard/./node_modules/vue-material-design-icons/Close.vue?c1a9","webpack:///firstrunwizard/node_modules/vue-material-design-icons/Close.vue?vue&type=template&id=6c71068e&","webpack:///firstrunwizard/node_modules/vue-material-design-icons/DotsHorizontal.vue","webpack:///firstrunwizard/node_modules/vue-material-design-icons/DotsHorizontal.vue?vue&type=script&lang=js&","webpack://firstrunwizard/./node_modules/vue-material-design-icons/DotsHorizontal.vue?c5a1","webpack:///firstrunwizard/node_modules/vue-material-design-icons/DotsHorizontal.vue?vue&type=template&id=ea59d84c&","webpack:///firstrunwizard/node_modules/vue-material-design-icons/Pause.vue","webpack:///firstrunwizard/node_modules/vue-material-design-icons/Pause.vue?vue&type=script&lang=js&","webpack://firstrunwizard/./node_modules/vue-material-design-icons/Pause.vue?888e","webpack:///firstrunwizard/node_modules/vue-material-design-icons/Pause.vue?vue&type=template&id=3335ab9e&","webpack:///firstrunwizard/node_modules/vue-material-design-icons/Play.vue","webpack:///firstrunwizard/node_modules/vue-material-design-icons/Play.vue?vue&type=script&lang=js&","webpack://firstrunwizard/./node_modules/vue-material-design-icons/Play.vue?6342","webpack:///firstrunwizard/node_modules/vue-material-design-icons/Play.vue?vue&type=template&id=4d9eb9d0&","webpack:///firstrunwizard/node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack:///firstrunwizard/node_modules/vue/dist/vue.runtime.esm.js","webpack:///firstrunwizard/node_modules/which-typed-array/index.js","webpack:///firstrunwizard/webpack/bootstrap","webpack:///firstrunwizard/webpack/runtime/compat get default export","webpack:///firstrunwizard/webpack/runtime/define property getters","webpack:///firstrunwizard/webpack/runtime/global","webpack:///firstrunwizard/webpack/runtime/hasOwnProperty shorthand","webpack:///firstrunwizard/webpack/runtime/make namespace object","webpack:///firstrunwizard/webpack/runtime/node module decorator","webpack:///firstrunwizard/webpack/runtime/publicPath","webpack:///firstrunwizard/src/components/IntroVideo.vue","webpack:///firstrunwizard/src/components/IntroVideo.vue?vue&type=script&lang=js&","webpack://firstrunwizard/./src/components/IntroVideo.vue?fbfe","webpack://firstrunwizard/./src/components/IntroVideo.vue?a94f","webpack:///firstrunwizard/src/components/IntroVideo.vue?vue&type=template&id=70de3a6e&scoped=true&","webpack:///firstrunwizard/src/App.vue","webpack:///firstrunwizard/src/App.vue?vue&type=script&lang=js&","webpack://firstrunwizard/./src/App.vue?e404","webpack://firstrunwizard/./src/App.vue?d188","webpack://firstrunwizard/./src/App.vue?f581","webpack:///firstrunwizard/src/App.vue?vue&type=template&id=dd9f3cba&scoped=true&","webpack:///firstrunwizard/src/main.js"],"names":["Object","defineProperty","exports","value","enumerable","get","_requesttoken","getRequestToken","onRequestTokenUpdate","_user","getCurrentUser","token","observer","observers","push","_eventBus","tokenElement","document","getElementsByTagName","getAttribute","subscribe","e","forEach","console","error","uid","displayName","isAdmin","uidElement","displayNameElement","OC","isUserAdmin","obj","_getRequestToken","_axios","__esModule","default","_auth","client","create","headers","requesttoken","cancelableClient","assign","CancelToken","isCancel","defaults","_default","ProxyBus","_valid","_interopRequireDefault","_major","_defineProperties","target","props","i","length","descriptor","configurable","writable","key","packageJson","bus","instance","Constructor","TypeError","_classCallCheck","this","getVersion","warn","protoProps","staticProps","name","handler","unsubscribe","event","emit","prototype","SimpleBus","Map","handlers","set","concat","filter","h","_ProxyBus","_SimpleBus","window","_nc_event_bus","getGettextBuilder","GettextBuilder","_nodeGettext","_","_createClass","translations","debug","language","locale","setLanguage","getLanguage","replace","data","GettextWrapper","gt","sourceLocale","addTranslations","setLocale","translated","vars","a","b","r","toString","original","placeholders","arguments","undefined","subtitudePlaceholders","gettext","singular","plural","count","ngettext","getLocale","getCanonicalLocale","translate","app","text","options","L10N","translatePlural","textSingular","textPlural","getFirstDay","firstDay","getDayNames","dayNames","getDayNamesShort","dayNamesShort","getDayNamesMin","dayNamesMin","getMonthNames","monthNames","getMonthNamesShort","monthNamesShort","url","params","allOptions","escape","noRewrite","_build","encodeURIComponent","charAt","config","modRewriteWorking","getRootUrl","generateFilePath","type","file","isCore","coreApps","indexOf","link","substring","appswebroots","encodeURI","webroot","module","t","n","l","call","m","c","d","o","Symbol","toStringTag","bind","hasOwnProperty","p","s","Array","isArray","iterator","next","done","return","slice","constructor","from","test","btoa","unescape","JSON","stringify","sources","map","sourceRoot","join","Boolean","all","atob","querySelector","HTMLIFrameElement","contentDocument","head","identifier","base","u","css","media","sourceMap","references","updater","A","createElement","attributes","nonce","nc","keys","setAttribute","insert","Error","appendChild","styleSheet","cssText","createTextNode","childNodes","removeChild","insertBefore","removeAttribute","firstChild","g","singleton","parentNode","splice","render","staticRenderFns","_compiled","functional","_scopeId","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","beforeCreate","detectLocale","Actions","Activities","Choose","Close","Custom","Flags","Global","Next","Objects","Previous","Search","Settings","Submit","Symbols","pluralId","msgid","msgid_plural","msgstr","addTranslation","build","version","names","mappings","sourcesContent","locals","VTooltip","defaultTemplate","defaultHtml","defaultDelay","show","hide","components","VPopover","mounted","$watch","$refs","popover","isOpen","$emit","$createElement","_self","_c","_g","_b","ref","attrs","scopedSlots","_u","fn","_t","proxy","$attrs","$listeners","Math","random","substr","before","$slots","trim","util","$destroy","$el","remove","beforeUpdate","getText","computed","isLongText","methods","$parent","mixins","icon","String","title","closeAfterClick","ariaLabel","isIconUrl","URL","onClick","closeMenu","getOwnPropertySymbols","getOwnPropertyDescriptor","apply","getOwnPropertyDescriptors","defineProperties","directives","tooltip","DotsHorizontal","Popover","VNodes","vnodes","open","forceMenu","forceTitle","menuTitle","primary","defaultIcon","placement","boundariesElement","Element","container","disabled","actions","opened","focusIndex","randomId","children","$children","hasMultipleActions","isValidSingleAction","firstActionElement","singleActionTitle","isDisabled","firstAction","$props","firstActionVNode","firstActionBinding","componentOptions","tag","is","href","to","exact","firstActionEvent","listeners","click","firstActionEventBinding","firstActionIconSlot","firstActionClass","staticClass","class","iconSlotIsPopulated","watch","beforeMount","initActions","openMenu","menuButton","focus","onOpen","$nextTick","focusFirstAction","onMouseFocusAction","activeElement","closest","menu","querySelectorAll","focusAction","removeCurrentActive","classList","focusPreviousAction","preventIfEvent","focusNextAction","focusLastAction","preventDefault","stopPropagation","execFirstAction","onFocus","onBlur","v","C","f","y","k","rawName","expression","modifiers","auto","rel","on","_d","blur","_v","_s","hidden","delay","size","decorative","_e","tabindex","keydown","_k","keyCode","ctrlKey","shiftKey","altKey","metaKey","mousemove","id","isFocusable","focusable","style","backgroundImage","domProps","textContent","start","Date","setTimeout","pause","clearTimeout","clear","getTimeLeft","getStateRunning","ActionButton","ChevronLeft","ChevronRight","Pause","Play","hasPrevious","hasNext","outTransition","enableSlideshow","clearViewDelay","Number","slideshowDelay","slideshowPaused","enableSwipe","spreadNavigation","validator","includes","canClose","dark","mc","showModal","clearView","clearViewTimeout","playing","slideshowTimeout","iconSize","modalTransitionName","playPauseTitle","cssVariables","addEventListener","handleKeydown","beforeDestroy","removeEventListener","off","destroy","handleMouseMove","mask","handleSwipe","body","lastChild","destroyed","previous","resetSlideshow","close","togglePlayPause","handleSlideshow","clearSlideshowTimeout","B","w","S","x","j","N","z","P","touchmove","invisible","height","width","stroke","fill","cx","cy","mousedown","currentTarget","possibleNames","globalThis","out","utils","settle","cookies","buildURL","buildFullPath","parseHeaders","isURLSameOrigin","createError","Cancel","Promise","resolve","reject","onCanceled","requestData","requestHeaders","responseType","cancelToken","signal","isFormData","request","XMLHttpRequest","auth","username","password","Authorization","fullPath","baseURL","onloadend","responseHeaders","getAllResponseHeaders","response","responseText","status","statusText","err","method","toUpperCase","paramsSerializer","timeout","onreadystatechange","readyState","responseURL","onabort","onerror","ontimeout","timeoutErrorMessage","transitional","clarifyTimeoutError","isStandardBrowserEnv","xsrfValue","withCredentials","xsrfCookieName","read","xsrfHeaderName","val","toLowerCase","setRequestHeader","isUndefined","onDownloadProgress","onUploadProgress","upload","cancel","abort","aborted","send","Axios","mergeConfig","axios","createInstance","defaultConfig","context","extend","instanceConfig","VERSION","promises","spread","isAxiosError","message","__CANCEL__","executor","resolvePromise","promise","then","_listeners","onfulfilled","_resolve","reason","throwIfRequested","listener","index","source","InterceptorManager","dispatchRequest","validators","interceptors","assertOptions","silentJSONParsing","boolean","forcedJSONParsing","requestInterceptorChain","synchronousRequestInterceptors","interceptor","runWhen","synchronous","unshift","fulfilled","rejected","responseInterceptorChain","chain","shift","newConfig","onFulfilled","onRejected","getUri","use","eject","isAbsoluteURL","combineURLs","requestedURL","enhanceError","code","transformData","throwIfCancellationRequested","transformRequest","merge","common","adapter","transformResponse","toJSON","description","number","fileName","lineNumber","columnNumber","stack","config1","config2","getMergedValue","isPlainObject","mergeDeepProperties","prop","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","configValue","validateStatus","fns","normalizeHeaderName","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","process","isArrayBuffer","isBuffer","isStream","isFile","isBlob","isArrayBufferView","buffer","isURLSearchParams","isObject","rawValue","parser","encoder","isString","parse","stringifySafely","strictJSONParsing","maxContentLength","maxBodyLength","thisArg","args","encode","serializedParams","parts","isDate","toISOString","hashmarkIndex","relativeURL","write","expires","path","domain","secure","cookie","isNumber","toGMTString","match","RegExp","decodeURIComponent","now","payload","originURL","msie","navigator","userAgent","urlParsingNode","resolveURL","protocol","host","search","hash","hostname","port","pathname","location","requestURL","parsed","normalizedName","ignoreDuplicateOf","split","line","callback","arr","thing","deprecatedWarnings","formatMessage","opt","desc","opts","schema","allowUnknown","result","getPrototypeOf","isFunction","FormData","ArrayBuffer","isView","pipe","URLSearchParams","product","assignValue","str","stripBOM","content","charCodeAt","GetIntrinsic","callBind","$indexOf","allowMissing","intrinsic","$apply","$call","$reflectApply","$gOPD","$defineProperty","$max","originalFunction","func","applyBind","assert","getTime","times","functions","log","label","time","duration","format","object","inspect","ok","tuple","it","wellKnownSymbol","definePropertyModule","UNSCOPABLES","ArrayPrototype","unicode","$forEach","arrayMethodIsStrict","arrayMethodUsesToLength","STRICT_METHOD","USES_TO_LENGTH","callbackfn","toIndexedObject","toLength","toAbsoluteIndex","createMethod","IS_INCLUDES","$this","el","fromIndex","O","IndexedObject","toObject","arraySpeciesCreate","TYPE","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","that","specificCreate","self","boundFunction","some","every","find","findIndex","fails","V8_VERSION","SPECIES","METHOD_NAME","array","foo","argument","DESCRIPTORS","has","cache","thrower","ACCESSORS","argument0","argument1","originalArray","anObject","ENTRIES","returnMethod","ITERATOR","SAFE_CLOSING","called","iteratorWithReturn","exec","SKIP_CLOSING","ITERATION_SUPPORT","TO_STRING_TAG_SUPPORT","classofRaw","TO_STRING_TAG","CORRECT_ARGUMENTS","tryGet","callee","redefineAll","anInstance","iterate","defineIterator","setSpecies","fastKey","InternalStateModule","setInternalState","internalStateGetterFor","getterFor","getConstructor","wrapper","CONSTRUCTOR_NAME","ADDER","iterable","first","last","getInternalState","define","state","entry","getEntry","removed","prev","setStrong","ITERATOR_NAME","getInternalCollectionState","getInternalIteratorState","iterated","kind","$","global","isForced","redefine","InternalMetadataModule","checkCorrectnessOfIteration","setToStringTag","inheritIfRequired","IS_WEAK","NativeConstructor","NativePrototype","exported","fixMethod","KEY","nativeMethod","entries","REQUIRED","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","dummy","forced","ownKeys","getOwnPropertyDescriptorModule","F","IteratorPrototype","createPropertyDescriptor","Iterators","returnThis","IteratorConstructor","NAME","bitmap","toPrimitive","propertyKey","createIteratorConstructor","setPrototypeOf","createNonEnumerableProperty","IS_PURE","IteratorsCore","BUGGY_SAFARI_ITERATORS","KEYS","VALUES","Iterable","DEFAULT","IS_SET","FORCED","CurrentIteratorPrototype","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","values","proto","EXISTS","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","getBuiltIn","versions","v8","setGlobal","copyConstructorProperties","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","stat","noTargetGet","sham","regexpExec","REPLACE_SUPPORTS_NAMED_GROUPS","re","groups","REPLACE_KEEPS_$0","REPLACE","REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","SYMBOL","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","flags","nativeRegExpMethod","regexp","arg2","forceStringMethod","stringMethod","regexMethod","string","arg","isExtensible","preventExtensions","aFunction","variable","namespace","classof","check","Function","propertyIsEnumerable","Wrapper","NewTarget","NewTargetPrototype","store","functionToString","inspectSource","hiddenKeys","FREEZING","METADATA","setMetadata","objectID","weakData","meta","getWeakData","onFreeze","NATIVE_WEAK_MAP","objectHas","sharedKey","WeakMap","wmget","wmhas","wmset","metadata","STATE","enforce","replacement","feature","detection","normalize","POLYFILL","NATIVE","isArrayIteratorMethod","getIteratorMethod","callWithSafeIterationClosing","Result","stopped","AS_ENTRIES","IS_ITERATOR","iterFn","step","stop","PrototypeOfArrayIteratorPrototype","arrayIterator","objectKeys","getOwnPropertySymbolsModule","propertyIsEnumerableModule","nativeAssign","symbol","alphabet","chr","T","argumentsLength","activeXDocument","enumBugKeys","html","documentCreateElement","IE_PROTO","EmptyConstructor","scriptTag","LT","NullProtoObject","ActiveXObject","iframeDocument","iframe","temp","parentWindow","NullProtoObjectViaActiveX","display","src","contentWindow","Properties","IE8_DOM_DEFINE","nativeDefineProperty","Attributes","nativeGetOwnPropertyDescriptor","internalObjectKeys","getOwnPropertyNames","CORRECT_PROTOTYPE_GETTER","ObjectPrototype","nativePropertyIsEnumerable","NASHORN_BUG","V","aPossiblePrototype","setter","CORRECT_SETTER","__proto__","getOwnPropertyNamesModule","enforceInternalState","TEMPLATE","unsafe","simple","R","re1","re2","regexpFlags","stickyHelpers","nativeExec","nativeReplace","patchedExec","UPDATES_LAST_INDEX_WRONG","lastIndex","UNSUPPORTED_Y","BROKEN_CARET","NPCG_INCLUDED","reCopy","sticky","charsAdded","strCopy","multiline","input","ignoreCase","dotAll","RE","TAG","shared","SHARED","mode","copyright","toInteger","requireObjectCoercible","CONVERT_TO_STRING","pos","second","position","codeAt","max","min","integer","ceil","floor","isNaN","PREFERRED_STRING","valueOf","postfix","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","createProperty","arrayMethodHasSpeciesSupport","IS_CONCAT_SPREADABLE","MAX_SAFE_INTEGER","MAXIMUM_ALLOWED_INDEX_EXCEEDED","IS_CONCAT_SPREADABLE_SUPPORT","SPECIES_SUPPORT","isConcatSpreadable","spreadable","len","E","$filter","HAS_SPECIES_SUPPORT","nativeIndexOf","NEGATIVE_ZERO","searchElement","addToUnscopables","ARRAY_ITERATOR","Arguments","collection","collectionStrong","init","TO_STRING","RegExpPrototype","nativeToString","NOT_GENERIC","INCORRECT_NAME","rf","STRING_ITERATOR","point","fixRegExpWellKnownSymbolLogic","advanceStringIndex","regExpExec","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","maybeCallNative","UNSAFE_SUBSTITUTE","searchValue","replaceValue","replacer","res","rx","functionalReplace","fullUnicode","results","accumulatedResult","nextSourcePosition","matched","captures","namedCaptures","replacerArgs","getSubstitution","tailPos","symbols","ch","capture","DOMIterables","COLLECTION_NAME","Collection","CollectionPrototype","ArrayIteratorMethods","ArrayValues","___CSS_LOADER_EXPORT___","cssWithMappingToString","list","item","needLayer","modules","dedupe","supports","layer","alreadyImportedModules","cssMapping","base64","sourceMapping","sourceURLs","hasSymbols","toStr","origDefineProperty","supportsDescriptors","arePropertyDescriptorsSupported","predicate","predicates","firstSource","nextSource","keysArray","nextIndex","nextKey","polyfill","hasOwn","ctx","ERROR_MESSAGE","funcType","bound","binder","boundLength","boundArgs","Empty","implementation","$SyntaxError","SyntaxError","$Function","$TypeError","getEvalledConstructor","expressionSyntax","throwTypeError","ThrowTypeError","calleeThrows","gOPDthrows","getProto","needsEval","TypedArray","Uint8Array","INTRINSICS","AggregateError","Atomics","BigInt","DataView","decodeURI","eval","EvalError","Float32Array","Float64Array","FinalizationRegistry","Int8Array","Int16Array","Int32Array","isFinite","parseFloat","parseInt","Proxy","RangeError","ReferenceError","Reflect","Set","SharedArrayBuffer","Uint8ClampedArray","Uint16Array","Uint32Array","URIError","WeakRef","WeakSet","doEval","gen","LEGACY_ALIASES","$concat","$spliceApply","$replace","$strSlice","rePropName","reEscapeChar","stringToPath","quote","subString","getBaseIntrinsic","alias","intrinsicName","intrinsicBaseName","intrinsicRealName","skipFurtherCaching","isOwn","part","exportName","VENDOR_PREFIXES","TEST_ELEMENT","round","abs","setTimeoutContext","bindFn","invokeArrayArg","each","deprecate","deprecationMessage","output","dest","inherit","child","properties","childP","baseP","_super","boolOrFn","ifUndefined","val1","val2","addEventListeners","types","splitStr","removeEventListeners","hasParent","node","inStr","inArray","findByKey","toArray","uniqueArray","sort","prefixed","property","prefix","camelProp","_uniqueId","getWindowForElement","element","doc","ownerDocument","defaultView","SUPPORT_TOUCH","SUPPORT_POINTER_EVENTS","SUPPORT_ONLY_TOUCH","INPUT_TYPE_TOUCH","INPUT_TYPE_MOUSE","DIRECTION_VERTICAL","DIRECTION_UP","PROPS_XY","PROPS_CLIENT_XY","Input","manager","inputTarget","domHandler","ev","enable","inputHandler","eventType","pointersLen","pointers","changedPointersLen","changedPointers","isFirst","isFinal","session","pointersLength","firstInput","simpleCloneInputData","firstMultiple","offsetCenter","center","getCenter","timeStamp","deltaTime","angle","getAngle","distance","getDistance","offset","offsetDelta","prevDelta","prevInput","deltaX","deltaY","computeDeltaXY","offsetDirection","getDirection","overallVelocity","getVelocity","overallVelocityX","overallVelocityY","scale","end","rotation","getRotation","maxPointers","velocity","velocityX","velocityY","direction","lastInterval","computeIntervalInputData","srcEvent","computeInputData","recognize","clientX","clientY","p1","p2","sqrt","atan2","PI","evEl","evTarget","evWin","MOUSE_INPUT_MAP","mouseup","MOUSE_ELEMENT_EVENTS","MOUSE_WINDOW_EVENTS","MouseInput","pressed","button","which","pointerType","POINTER_INPUT_MAP","pointerdown","pointermove","pointerup","pointercancel","pointerout","IE10_POINTER_TYPE_ENUM","POINTER_ELEMENT_EVENTS","POINTER_WINDOW_EVENTS","PointerEventInput","pointerEvents","MSPointerEvent","PointerEvent","removePointer","eventTypeNormalized","isTouch","storeIndex","pointerId","SINGLE_TOUCH_INPUT_MAP","touchstart","touchend","touchcancel","SINGLE_TOUCH_TARGET_EVENTS","SINGLE_TOUCH_WINDOW_EVENTS","SingleTouchInput","started","normalizeSingleTouches","touches","changed","changedTouches","TOUCH_INPUT_MAP","TOUCH_TARGET_EVENTS","TouchInput","targetIds","getTouches","allTouches","targetTouches","changedTargetTouches","touch","TouchMouseInput","mouse","primaryTouch","lastTouches","recordTouches","eventData","setLastTouch","lastTouch","lts","isSyntheticEvent","dx","dy","inputEvent","inputData","isMouse","sourceCapabilities","firesTouchEvents","PREFIXED_TOUCH_ACTION","NATIVE_TOUCH_ACTION","TOUCH_ACTION_COMPUTE","TOUCH_ACTION_AUTO","TOUCH_ACTION_MANIPULATION","TOUCH_ACTION_NONE","TOUCH_ACTION_PAN_X","TOUCH_ACTION_PAN_Y","TOUCH_ACTION_MAP","touchMap","cssSupports","CSS","getTouchActionProps","TouchAction","compute","update","touchAction","recognizers","recognizer","getTouchAction","hasPanX","hasPanY","cleanTouchActions","preventDefaults","prevented","hasNone","isTapPointer","isTapMovement","isTapTouchTime","DIRECTION_LEFT","preventSrc","STATE_FAILED","Recognizer","simultaneous","requireFail","stateStr","directionStr","getRecognizerByNameIfManager","otherRecognizer","AttrRecognizer","PanRecognizer","pX","pY","PinchRecognizer","PressRecognizer","_timer","_input","RotateRecognizer","SwipeRecognizer","TapRecognizer","pTime","pCenter","Hammer","preset","Manager","recognizeWith","dropRecognizeWith","requireFailure","dropRequireFailure","hasRequireFailures","canRecognizeWith","additionalEvent","tryEmit","canEmit","inputDataClone","reset","attrTest","optionPointers","isRecognized","isValid","threshold","DIRECTION_HORIZONTAL","directionTest","hasMoved","inOut","validPointers","validMovement","validTime","taps","interval","posThreshold","validTouchTime","failTimeout","validInterval","validMultiTap","tapCount","domEvents","inputClass","cssProps","userSelect","touchSelect","touchCallout","contentZooming","userDrag","tapHighlightColor","oldCssProps","toggleCssProps","force","curRecognizer","existing","events","gestureEvent","createEvent","initEvent","gesture","dispatchEvent","triggerDomEvent","INPUT_START","INPUT_MOVE","INPUT_END","INPUT_CANCEL","STATE_POSSIBLE","STATE_BEGAN","STATE_CHANGED","STATE_ENDED","STATE_RECOGNIZED","STATE_CANCELLED","DIRECTION_NONE","DIRECTION_RIGHT","DIRECTION_DOWN","DIRECTION_ALL","Tap","Pan","Swipe","Pinch","Rotate","Press","origSymbol","hasSymbolSham","sym","symObj","syms","hasToStringTag","$toString","callBound","isStandardArguments","isLegacyArguments","supportsStandardArguments","GeneratorFunction","fnToStr","isFnRegex","generatorFunc","getGeneratorFunc","getPolyfill","shim","NaN","availableTypedArrays","typedArrays","$slice","toStrTags","gOPD","typedArray","superProto","anyTrue","getter","tryTypedArrays","HASH_UNDEFINED","funcTag","genTag","reIsDeepProp","reIsPlainProp","reLeadingDot","reIsHostCtor","freeGlobal","freeSelf","root","arrayProto","funcProto","objectProto","coreJsData","maskSrcKey","funcToString","objectToString","reIsNative","getNative","nativeCreate","symbolProto","symbolToString","Hash","ListCache","MapCache","assocIndexOf","other","baseGet","isSymbol","isKey","toKey","baseIsNative","pattern","isHostObject","toSource","getMapData","__data__","getValue","pop","memoize","baseToString","resolver","memoized","Cache","isObjectLike","defaultValue","hashClear","hashDelete","hashGet","hashHas","hashSet","listCacheClear","listCacheDelete","listCacheGet","listCacheHas","listCacheSet","mapCacheClear","mapCacheDelete","mapCacheGet","mapCacheHas","mapCacheSet","setCacheAdd","setCacheHas","SetCache","stackClear","stackDelete","stackGet","stackHas","stackSet","Stack","resIndex","baseTimes","isArguments","isIndex","isTypedArray","inherited","isArr","isArg","isBuff","isType","skipIndexes","baseAssignValue","eq","objValue","objectCreate","baseCreate","baseFor","createBaseFor","arrayPush","keysFunc","symbolsFunc","getRawTag","symToStringTag","baseGetTag","baseIsEqualDeep","baseIsEqual","bitmask","customizer","equalArrays","equalByTag","equalObjects","getTag","argsTag","arrayTag","objectTag","equalFunc","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","isMasked","isLength","typedArrayTags","isPrototype","nativeKeys","nativeKeysIn","isProto","assignMergeValue","baseMergeDeep","keysIn","safeGet","baseMerge","srcIndex","srcValue","newValue","cloneBuffer","cloneTypedArray","copyArray","initCloneObject","isArrayLikeObject","toPlainObject","mergeFunc","stacked","isCommon","isTyped","identity","overRest","setToString","constant","baseSetToString","iteratee","arrayBuffer","byteLength","freeExports","nodeType","freeModule","Buffer","allocUnsafe","isDeep","copy","cloneArrayBuffer","byteOffset","isNew","baseRest","isIterateeCall","assigner","guard","fromRight","arraySome","cacheHas","isPartial","arrLength","othLength","arrStacked","othStacked","seen","arrValue","othValue","compared","othIndex","mapToArray","setToArray","symbolValueOf","convert","getAllKeys","objProps","objLength","objStacked","skipCtor","objCtor","othCtor","baseGetAllKeys","getSymbols","isKeyable","getPrototype","overArg","nativeObjectToString","unmasked","arrayFilter","stubArray","nativeGetSymbols","mapTag","promiseTag","setTag","weakMapTag","dataViewTag","dataViewCtorString","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","Ctor","ctorString","reIsUint","isArrayLike","freeProcess","nodeUtil","require","binding","transform","nativeMax","otherArgs","shortOut","nativeNow","lastCalled","stamp","remaining","pairs","LARGE_ARRAY_SIZE","baseIsArguments","stubFalse","objectCtorString","baseIsTypedArray","baseUnary","nodeIsTypedArray","arrayLikeKeys","baseKeys","baseKeysIn","createAssigner","copyObject","plurals","Gettext","catalogs","eventName","setTextDomain","dnpgettext","dgettext","msgidPlural","dngettext","pgettext","msgctxt","dpgettext","npgettext","translation","defaultTranslation","_getTranslation","pluralsFunc","getLanguageCode","getComment","comments","textdomain","setlocale","addTextdomain","ach","examples","sample","nplurals","pluralsText","af","ak","am","an","ar","arn","ast","ay","az","be","bg","bn","bo","br","brx","bs","ca","cgg","cs","csb","da","de","doi","dz","en","eo","es","et","eu","fa","ff","fi","fil","fo","fr","fur","fy","ga","gd","gl","gu","gun","ha","he","hi","hne","hr","hu","hy","ja","jbo","jv","ka","kk","km","kn","ko","ku","kw","ky","lb","ln","lo","lt","lv","mai","mfe","mg","mi","mk","ml","mn","mni","mnk","mr","ms","mt","my","nah","nap","nb","ne","nl","nn","no","nso","oc","or","pa","pap","pl","pms","ps","pt","rm","ro","ru","rw","sah","sat","sco","sd","se","si","sk","sl","so","son","sq","sr","su","sv","sw","ta","te","tg","th","ti","tk","tr","tt","ug","uk","ur","uz","vi","wa","wo","yo","zh","_typeof","isDeepEqual","isDeepStrictEqual","_require$codes","codes","ERR_AMBIGUOUS_ARGUMENT","ERR_INVALID_ARG_TYPE","ERR_INVALID_ARG_VALUE","ERR_INVALID_RETURN_VALUE","ERR_MISSING_ARGS","AssertionError","_require$types","isPromise","isRegExp","objectAssign","objectIs","lazyLoadComparison","comparison","warned","NO_EXCEPTION_SENTINEL","innerFail","innerOk","argLen","generatedMessage","actual","expected","operator","stackStartFn","_len","_key","fail","internalMessage","argsLen","emitWarning","errArgs","equal","notEqual","deepEqual","notDeepEqual","deepStrictEqual","notDeepStrictEqual","strictEqual","notStrictEqual","Comparison","_this","compareExceptionKey","expectedException","msg","isPrototypeOf","getActual","checkIsPromise","catch","waitForActual","promiseFn","resultPromise","expectsError","details","fnType","expectsNoError","strict","_len6","_key6","throws","_len2","_key2","rejects","_len3","_key3","doesNotThrow","_len4","_key4","doesNotReject","_len5","_key5","ifError","newErr","origStack","tmp2","tmp1","_defineProperty","_possibleConstructorReturn","_assertThisInitialized","_wrapNativeSuper","Class","_cache","_construct","_getPrototypeOf","_setPrototypeOf","isNativeReflectConstruct","construct","Parent","endsWith","this_len","blue","green","red","white","kReadableOperator","strictEqualObject","notStrictEqualObject","notIdentical","copyError","inspectValue","compact","customInspect","depth","maxArrayLength","Infinity","showHidden","breakLength","showProxy","sorted","getters","createErrDiff","lastPos","skipped","actualInspected","actualLines","expectedLines","indicator","inputLength","stderr","isTTY","columns","maxCount","repeat","maxLines","_actualLines","printedLines","skippedMsg","cur","expectedLine","actualLine","divergingLines","_Error","limit","stackTraceLimit","getColorDepth","_res","knownOperators","captureStackTrace","subClass","superClass","_inherits","custom","recurseTimes","_objectSpread","createErrorType","Base","NodeError","_Base","arg1","arg3","getMessage","oneOf","determiner","inspected","_slicedToArray","_arrayWithHoles","_arr","_n","_i","_iterableToArrayLimit","_nonIterableRest","regexFlagsSupported","arrayFromSet","arrayFromMap","objectGetOwnPropertySymbols","numberIsNaN","uncurryThis","isAnyArrayBuffer","isMap","isSet","isNativeError","isBoxedPrimitive","isNumberObject","isStringObject","isBooleanObject","isBigIntObject","isSymbolObject","isFloat32Array","isFloat64Array","isNonIndex","pow","getOwnNonIndexProperties","compare","innerDeepEqual","memos","buf1","buf2","val1Tag","keys1","keys2","keyCheck","areSimilarTypedArrays","areSimilarFloatArrays","_keys","_keys2","isEqualBoxedPrimitive","getEnumerables","iterationType","aKeys","bKeys","symbolKeysA","symbolKeysB","_symbolKeysB","val2MemoA","val2MemoB","areEq","objEquiv","delete","setHasEqualElement","memo","setValues","findLooseMatchingPrimitives","prim","setMightHaveLoosePrim","altValue","mapMightHaveLoosePrim","curB","mapHasEqualEntry","key1","item1","key2","aValues","bValues","_val","setEquiv","aEntries","_aEntries$i","item2","bEntries","_i2","_bEntries$_i","mapEquiv","keysA","ctor","superCtor","super_","TempCtor","readUInt8","isArgumentsObject","isGeneratorFunction","whichTypedArray","BigIntSupported","SymbolSupported","ObjectToString","numberValue","stringValue","booleanValue","bigIntValue","symbolValue","checkBoxedPrimitive","prototypeValueOf","isMapToString","isSetToString","isWeakMapToString","isWeakSetToString","isArrayBufferToString","working","isDataViewToString","isDataView","isUint8Array","isUint8ClampedArray","isUint16Array","isUint32Array","isInt8Array","isInt16Array","isInt32Array","isBigInt64Array","isBigUint64Array","isWeakMap","isWeakSet","SharedArrayBufferCopy","isSharedArrayBufferToString","isSharedArrayBuffer","isAsyncFunction","isMapIterator","isSetIterator","isGeneratorObject","isWebAssemblyCompiledModule","descriptors","formatRegExp","objects","isNull","noDeprecation","throwDeprecation","traceDeprecation","trace","debugs","debugEnvRegex","env","NODE_DEBUG","debugEnv","stylize","stylizeNoColor","colors","isBoolean","_extend","stylizeWithColor","formatValue","styleType","styles","ret","primitive","formatPrimitive","visibleKeys","idx","arrayToHash","isError","formatError","braces","toUTCString","formatProperty","formatArray","reduce","numLinesEst","reduceToSingleString","pad","debuglog","pid","isNullOrUndefined","isPrimitive","months","timestamp","getHours","getMinutes","getSeconds","getDate","getMonth","inherits","origin","kCustomPromisifiedSymbol","callbackifyOnRejected","cb","newReason","promisify","promiseResolve","promiseReject","callbackify","callbackified","maybeCb","nextTick","rej","keysShim","isArgs","isEnumerable","hasDontEnumBug","hasProtoEnumBug","dontEnums","equalsConstructorPrototype","excludedKeys","$applicationCache","$console","$external","$frame","$frameElement","$frames","$innerHeight","$innerWidth","$onmozfullscreenchange","$onmozfullscreenerror","$outerHeight","$outerWidth","$pageXOffset","$pageYOffset","$scrollLeft","$scrollTop","$scrollX","$scrollY","$self","$webkitIndexedDB","$webkitStorageInfo","$window","hasAutomationEqualityBug","theKeys","skipProto","skipConstructor","equalsConstructorPrototypeIfNotBuggy","origKeys","originalKeys","keysWorksWithArguments","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","run","marker","runClearTimeout","Item","noop","browser","argv","addListener","once","removeListener","removeAllListeners","prependListener","prependOnceListener","cwd","chdir","dir","umask","MAX_LENGTH","parseOptions","compareIdentifiers","SemVer","loose","includePrerelease","LOOSE","FULL","raw","major","minor","patch","prerelease","num","compareMain","comparePre","compareBuild","inc","release","er","SEMVER_SPEC_VERSION","MAX_SAFE_COMPONENT_LENGTH","numeric","anum","bnum","rcompareIdentifiers","createToken","isGlobal","NUMERICIDENTIFIER","NUMERICIDENTIFIERLOOSE","NONNUMERICIDENTIFIER","PRERELEASEIDENTIFIER","PRERELEASEIDENTIFIERLOOSE","BUILDIDENTIFIER","MAINVERSION","PRERELEASE","BUILD","FULLPLAIN","MAINVERSIONLOOSE","PRERELEASELOOSE","LOOSEPLAIN","XRANGEIDENTIFIER","XRANGEIDENTIFIERLOOSE","GTLT","XRANGEPLAIN","XRANGEPLAINLOOSE","COERCE","LONETILDE","tildeTrimReplace","LONECARET","caretTrimReplace","comparatorTrimReplace","stylesInDOM","getIndexByIdentifier","modulesToDom","idCountMap","identifiers","indexByIdentifier","addElementStyle","byIndex","api","domAPI","newObj","lastIdentifiers","newList","newLastIdentifiers","_index","styleTarget","getTarget","setAttributes","styleElement","insertStyleElement","styleTagTransform","removeStyleElement","isBrowser","timeoutDuration","longerTimeoutBrowsers","debounce","scheduled","functionToCheck","getStyleComputedProperty","getComputedStyle","getParentNode","nodeName","getScrollParent","_getStyleComputedProp","overflow","overflowX","overflowY","getReferenceNode","reference","referenceNode","isIE11","MSInputMethodContext","documentMode","isIE10","isIE","getOffsetParent","documentElement","noOffsetParent","offsetParent","nextElementSibling","getRoot","findCommonOffsetParent","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","range","createRange","setStart","setEnd","commonAncestorContainer","contains","firstElementChild","element1root","getScroll","side","upperSide","scrollingElement","includeScroll","rect","subtract","scrollTop","scrollLeft","modifier","top","bottom","left","right","getBordersSize","axis","sideA","sideB","getSize","computedStyle","getWindowSizes","classCallCheck","createClass","_extends","getClientRect","offsets","getBoundingClientRect","sizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","offsetHeight","getOffsetRectRelativeToArbitraryNode","fixedPosition","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","getViewportOffsetRectRelativeToArtbitraryNode","excludeScroll","relativeOffset","innerWidth","innerHeight","isFixed","getFixedPositionOffsetParent","parentElement","getBoundaries","popper","padding","boundaries","boundariesNode","_getWindowSizes","isPaddingNumber","getArea","_ref","computeAutoPlacement","refRect","rects","sortedAreas","area","filteredAreas","_ref2","computedPlacement","variation","getReferenceOffsets","commonOffsetParent","getOuterSizes","marginBottom","marginRight","getOppositePlacement","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","runModifiers","ends","enabled","isDestroyed","arrowStyles","flipped","positionFixed","flip","originalPlacement","isCreated","onUpdate","onCreate","isModifierEnabled","modifierName","getSupportedPropertyName","prefixes","upperProp","toCheck","willChange","disableEventListeners","removeOnDestroy","getWindow","attachToScrollParents","scrollParents","isBody","passive","setupEventListeners","updateBound","scrollElement","eventsEnabled","enableEventListeners","scheduleUpdate","cancelAnimationFrame","isNumeric","setStyles","unit","isFirefox","isModifierRequired","requestingName","requestedName","requesting","isRequired","_requesting","requested","placements","validPlacements","clockwise","counter","reverse","BEHAVIORS","parseOffset","basePlacement","useHeight","fragments","frag","divider","splitRegex","ops","op","mergeWithPrevious","toValue","index2","shiftvariation","_data$offsets","isVertical","shiftOffsets","preventOverflow","transformProp","popperStyles","priority","escapeWithReference","secondary","keepTogether","opSide","arrow","_data$offsets$arrow","arrowElement","sideCapitalized","altSide","arrowElementSize","popperMarginSide","popperBorderSide","sideValue","placementOpposite","flipOrder","behavior","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariationByRef","flipVariations","flippedVariationByContent","flipVariationsByContent","flippedVariation","getOppositeVariation","inner","subtractLength","computeStyle","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","shouldRound","noRound","referenceWidth","popperWidth","isVariation","horizontalToInteger","verticalToInteger","getRoundedOffsets","devicePixelRatio","prefixedProperty","invertTop","invertLeft","applyStyle","onLoad","modifierOptions","Defaults","Popper","requestAnimationFrame","jquery","Utils","PopperUtils","initCompat","ua","rv","edge","getInternetExplorerVersion","normalizeComponent","template","script","scopeId","isFunctionalTemplate","moduleIdentifier","shadowMode","createInjector","createInjectorSSR","createInjectorShadow","hook","originalRender","__vue_script__","emitOnMount","ignoreWidth","ignoreHeight","_w","_h","emitSize","_resizeObject","onload","addResizeHandlers","removeResizeHandlers","compareAndNotify","__vue_render__","_withStripped","__vue_component__","install","Vue","component","GlobalVue","SVGAnimatedString","convertToArray","addClasses","classes","newClasses","className","baseVal","newClass","SVGElement","removeClasses","supportsPassive","ownKeys$2","enumerableOnly","_objectSpread$2","DEFAULT_OPTIONS","trigger","openTooltips","Tooltip","_reference","_options","evt","relatedreference","toElement","relatedTarget","_tooltipNode","evt2","relatedreference2","_scheduleHide","_isOpen","_init","_show","_hide","_dispose","_classes","_setContent","classesUpdated","directive","defaultClass","setClasses","getOptions","needPopperUpdate","needRestart","dispose","popperInstance","_isDisposed","_enableDocumentTouch","_setEventListeners","$_originalTitle","_this2","tooltipGenerator","innerHTML","tooltipNode","ariaId","autoHide","_this3","asyncContent","_applyContent","_this4","allowHtml","rootNode","titleNode","innerSelector","loadingClass","loadingContent","asyncResult","innerText","_disposeTimer","updateClasses","_ensureShown","_this5","_create","_findContainer","_append","popperOptions","arrowSelector","_this6","_noLongerOpen","disposeTime","disposeTimeout","_removeTooltipNode","_this7","_events","_this8","directEvents","oppositeEvents","hideOnTargetClick","usedByTooltip","_scheduleShow","_this9","computedDelay","_scheduleTimer","_this10","_setTooltipNodeEvent","ownKeys$1","_objectSpread$1","_onDocumentTouch","positions","defaultOptions","defaultPlacement","defaultTargetClass","defaultArrowSelector","defaultInnerSelector","defaultTrigger","defaultOffset","defaultContainer","defaultBoundariesElement","defaultPopperOptions","defaultLoadingClass","defaultLoadingContent","defaultHideOnTargetClick","defaultBaseClass","defaultWrapperClass","defaultInnerClass","defaultArrowClass","defaultOpenClass","defaultAutoHide","defaultHandleResize","typeofOffset","getPlacement","getContent","createTooltip","_tooltip","_vueEl","targetClasses","_tooltipTargetClasses","destroyTooltip","_tooltipOldShow","oldValue","setContent","setOptions","unbind","addListeners","onTouchStart","removeListeners","onTouchEnd","onTouchCancel","closePopover","$_vclosepopover_touch","closeAllPopover","$_closePopoverModifiers","$_vclosepopover_touchPoint","firstTouch","screenY","screenX","vclosepopover","getDefault","isIOS","MSStream","openPopovers","ResizeObserver","popoverClass","popoverBaseClass","popoverInnerClass","popoverWrapperClass","popoverArrowClass","handleResize","openGroup","openClass","cssClass","popoverId","oldVal","popoverNode","$_findContainer","$_removeEventListeners","$_addEventListeners","$_updatePopper","deep","created","$_isDisposed","$_mounted","$_events","$_preventOpen","$_init","deactivated","skipDelay","_ref2$force","$_scheduleShow","$_beingShowed","_ref3","$_scheduleHide","$_show","$_disposeTimer","$_getOffset","$_hide","$_scheduleTimer","$_setTooltipNodeEvent","event2","_ref4","$_restartPopper","$_handleGlobalClose","$_handleResize","handleGlobalClose","_loop","_vm","staticStyle","visibility","keyup","$event","notify","installed","finalOptions","insertAt","styleInject","VClosePopover","fillColor","scriptExports","functionalTemplate","injectStyles","emptyObject","freeze","isUndef","isDef","isTrue","_toString","isValidArrayIndex","toNumber","makeMap","expectsLowerCase","isReservedAttribute","cached","camelizeRE","camelize","capitalize","hyphenateRE","hyphenate","boundFn","_length","_from","looseEqual","isObjectA","isObjectB","isArrayA","isArrayB","keysB","looseIndexOf","SSR_ATTR","ASSET_TYPES","LIFECYCLE_HOOKS","optionMergeStrategies","silent","productionTip","devtools","performance","errorHandler","warnHandler","ignoredElements","keyCodes","isReservedTag","isReservedAttr","isUnknownElement","getTagNamespace","parsePlatformTagName","mustUseProp","async","_lifecycleHooks","unicodeRegExp","isReserved","def","bailRE","_isServer","hasProto","inBrowser","inWeex","WXEnvironment","platform","weexPlatform","UA","isIE9","isEdge","isFF","nativeWatch","isServerRendering","VUE_ENV","__VUE_DEVTOOLS_GLOBAL_HOOK__","isNative","_Set","hasSymbol","Dep","subs","addSub","sub","removeSub","depend","addDep","targetStack","pushTarget","popTarget","VNode","elm","asyncFactory","ns","fnContext","fnOptions","fnScopeId","componentInstance","isStatic","isRootInsert","isComment","isCloned","isOnce","asyncMeta","isAsyncPlaceholder","prototypeAccessors","createEmptyVNode","createTextVNode","cloneVNode","vnode","cloned","arrayMethods","inserted","ob","__ob__","observeArray","dep","arrayKeys","shouldObserve","toggleObserving","Observer","vmCount","protoAugment","copyAugment","walk","observe","asRootData","_isVue","defineReactive$$1","customSetter","shallow","childOb","dependArray","newVal","del","items","strats","mergeData","toVal","fromVal","mergeDataOrFn","parentVal","childVal","vm","instanceData","defaultData","mergeHook","hooks","dedupeHooks","mergeAssets","key$1","inject","provide","defaultStrat","mergeOptions","normalizeProps","normalized","normalizeInject","dirs","def$$1","normalizeDirectives","_base","extends","mergeField","strat","resolveAsset","warnMissing","assets","camelizedId","PascalCaseId","validateProp","propOptions","propsData","absent","booleanIndex","getTypeIndex","stringIndex","_props","getType","getPropDefaultValue","prevShouldObserve","functionTypeCheckRE","isSameType","expectedTypes","handleError","info","errorCaptured","globalHandleError","invokeWithErrorHandling","_handled","logError","timerFunc","isUsingMicroTask","callbacks","pending","flushCallbacks","copies","MutationObserver","setImmediate","textNode","characterData","seenObjects","traverse","_traverse","isA","isFrozen","depId","normalizeEvent","once$$1","createFnInvoker","invoker","arguments$1","updateListeners","oldOn","remove$$1","createOnceHandler","old","mergeVNodeHook","hookKey","oldHook","wrappedHook","merged","checkProp","preserve","normalizeChildren","normalizeArrayChildren","isTextNode","nestedIndex","_isVList","resolveInject","provideKey","_provided","provideDefault","resolveSlots","slots","slot","name$1","isWhitespace","normalizeScopedSlots","normalSlots","prevSlots","hasNormalSlots","isStable","$stable","$key","_normalized","$hasNormal","normalizeScopedSlot","key$2","proxyNormalSlot","renderList","renderSlot","fallbackRender","bindObject","nodes","scopedSlotFn","$scopedSlots","resolveFilter","isKeyNotMatch","expect","checkKeyCodes","eventKeyCode","builtInKeyCode","eventKeyName","builtInKeyName","mappedKeyCode","bindObjectProps","asProp","isSync","loop","camelizedKey","hyphenatedKey","renderStatic","isInFor","_staticTrees","tree","markStatic","_renderProxy","markOnce","markStaticNode","bindObjectListeners","ours","resolveScopedSlots","hasDynamicKeys","contentHashKey","bindDynamicKeys","baseObj","prependModifier","installRenderHelpers","_o","_l","_q","_m","_f","_p","FunctionalRenderContext","contextVm","this$1","_original","isCompiled","needNormalization","injections","cloneAndMarkFunctionalResult","renderContext","clone","mergeProps","componentVNodeHooks","hydrating","_isDestroyed","keepAlive","mountedNode","prepatch","_isComponent","_parentVnode","inlineTemplate","createComponentInstanceForVnode","activeInstance","$mount","oldVnode","parentVnode","renderChildren","newScopedSlots","oldScopedSlots","hasDynamicScopedSlot","needsForceUpdate","_renderChildren","_vnode","propKeys","_propKeys","oldListeners","_parentListeners","updateComponentListeners","$forceUpdate","updateChildComponent","_isMounted","callHook","_inactive","activatedChildren","activateChildComponent","deactivateChildComponent","hooksToMerge","createComponent","baseCtor","cid","factory","errorComp","resolved","owner","currentRenderingInstance","owners","loading","loadingComp","sync","timerLoading","timerTimeout","$on","forceRender","renderCompleted","ensureCtor","resolveAsyncComponent","createAsyncPlaceholder","resolveConstructorOptions","model","transformModel","extractPropsFromVNodeData","createFunctionalComponent","nativeOn","abstract","toMerge","_merged","mergeHook$1","installComponentHooks","f1","f2","normalizationType","alwaysNormalize","simpleNormalizeChildren","pre","applyNS","registerDeepBindings","_createElement","comp","getFirstComponentChild","remove$1","$off","_target","onceHandler","setActiveInstance","prevActiveInstance","isInInactiveTree","direct","_directInactive","_hasHookEvent","waiting","flushing","currentFlushTimestamp","getNow","flushSchedulerQueue","watcher","activatedQueue","updatedQueue","callActivatedHooks","_watcher","callUpdatedHooks","uid$2","Watcher","expOrFn","isRenderWatcher","_watchers","user","lazy","active","dirty","deps","newDeps","depIds","newDepIds","segments","parsePath","cleanupDeps","tmp","queueWatcher","evaluate","teardown","_isBeingDestroyed","sharedPropertyDefinition","sourceKey","initState","propsOptions","initProps","initMethods","_data","getData","initData","watchers","_computedWatchers","isSSR","userDef","computedWatcherOptions","defineComputed","initComputed","createWatcher","initWatch","shouldCache","createComputedGetter","createGetterInvoker","uid$3","super","superOptions","modifiedOptions","modified","latest","sealed","sealedOptions","resolveModifiedOptions","extendOptions","initExtend","Super","SuperId","cachedCtors","_Ctor","Sub","Comp","initProps$1","initComputed$1","mixin","getComponentName","matches","pruneCache","keepAliveInstance","pruneCacheEntry","current","_uid","vnodeComponentOptions","_componentTag","initInternalComponent","initLifecycle","initEvents","parentData","initRender","initInjections","initProvide","initMixin","dataDef","propsDef","$set","$delete","immediate","stateMixin","hookRE","$once","i$1","cbs","eventsMixin","_update","prevEl","prevVnode","restoreActiveInstance","__patch__","__vue__","lifecycleMixin","_render","renderMixin","patternTypes","KeepAlive","include","exclude","cacheVNode","vnodeToCache","keyToCache","updated","builtInComponents","configDef","defineReactive","observable","plugin","installedPlugins","_installedPlugins","initUse","initMixin$1","definition","initAssetRegisters","initGlobalAPI","acceptValue","isEnumeratedAttr","isValidContentEditableValue","isBooleanAttr","xlinkNS","isXlink","getXlinkProp","isFalsyAttrValue","genClassForVnode","childNode","mergeClassData","dynamicClass","stringifyClass","renderClass","stringified","stringifyArray","stringifyObject","namespaceMap","svg","math","isHTMLTag","isSVG","unknownElementCache","isTextInputType","nodeOps","tagName","multiple","createElementNS","createComment","newNode","nextSibling","setTextContent","setStyleScope","registerRef","isRemoval","refs","refInFor","emptyNode","sameVnode","typeA","typeB","sameInputType","createKeyToOldIdx","beginIdx","endIdx","updateDirectives","oldDir","isCreate","isDestroy","oldDirs","normalizeDirectives$1","newDirs","dirsWithInsert","dirsWithPostpatch","oldArg","callHook$1","componentUpdated","callInsert","emptyModifiers","getRawDirName","baseModules","updateAttrs","inheritAttrs","oldAttrs","setAttr","removeAttributeNS","isInPre","baseSetAttr","convertEnumeratedValue","setAttributeNS","__ieph","blocker","stopImmediatePropagation","updateClass","oldData","cls","transitionClass","_transitionClasses","_prevClass","target$1","klass","createOnceHandler$1","remove$2","useMicrotaskFix","add$1","attachedTimestamp","_wrapper","updateDOMListeners","change","normalizeEvents","svgContainer","updateDOMProps","oldProps","_value","strCur","shouldUpdateValue","checkVal","composing","notInFocus","isNotInFocusAndDirty","_vModifiers","isDirtyWithModifiers","parseStyleText","propertyDelimiter","normalizeStyleData","normalizeStyleBinding","bindingStyle","emptyStyle","cssVarRE","importantRE","setProp","setProperty","vendorNames","capName","updateStyle","oldStaticStyle","oldStyleBinding","normalizedStyle","oldStyle","newStyle","checkChild","styleData","getStyle","whitespaceRE","addClass","removeClass","tar","resolveTransition","autoCssTransition","enterClass","enterToClass","enterActiveClass","leaveClass","leaveToClass","leaveActiveClass","hasTransition","TRANSITION","ANIMATION","transitionProp","transitionEndEvent","animationProp","animationEndEvent","ontransitionend","onwebkittransitionend","onanimationend","onwebkitanimationend","raf","nextFrame","addTransitionClass","transitionClasses","removeTransitionClass","whenTransitionEnds","expectedType","getTransitionInfo","propCount","ended","onEnd","transformRE","transitionDelays","transitionDurations","transitionTimeout","getTimeout","animationDelays","animationDurations","animationTimeout","hasTransform","delays","durations","toMs","enter","toggleDisplay","_leaveCb","cancelled","transition","_enterCb","appearClass","appearToClass","appearActiveClass","beforeEnter","afterEnter","enterCancelled","beforeAppear","appear","afterAppear","appearCancelled","transitionNode","isAppear","startClass","activeClass","toClass","beforeEnterHook","enterHook","afterEnterHook","enterCancelledHook","explicitEnterDuration","expectsCSS","userWantsControl","getHookArgumentsLength","pendingNode","_pending","isValidDuration","leave","beforeLeave","afterLeave","leaveCancelled","delayLeave","explicitLeaveDuration","performLeave","invokerFns","_enter","backend","removeNode","createElm","insertedVnodeQueue","parentElm","refElm","nested","ownerArray","isReactivated","initComponent","innerNode","activate","reactivateComponent","setScope","createChildren","invokeCreateHooks","pendingInsert","isPatchable","ref$$1","ancestor","addVnodes","startIdx","invokeDestroyHook","removeVnodes","removeAndInvokeRemoveHook","childElm","createRmCb","findIdxInOld","oldCh","patchVnode","removeOnly","hydrate","newCh","oldKeyToIdx","idxInOld","vnodeToMove","oldStartIdx","newStartIdx","oldEndIdx","oldStartVnode","oldEndVnode","newEndIdx","newStartVnode","newEndVnode","canMove","updateChildren","postpatch","invokeInsertHook","initial","isRenderedModule","inVPre","hasChildNodes","childrenMatch","fullInvoke","isInitialPatch","isRealElement","hasAttribute","oldElm","patchable","i$2","createPatchFunction","vmodel","_vOptions","setSelected","onCompositionStart","onCompositionEnd","prevOptions","curOptions","hasNoMatchingOption","actuallySetSelected","isMultiple","selected","option","selectedIndex","locateNode","transition$$1","originalDisplay","__vOriginalDisplay","platformDirectives","transitionProps","getRealChild","compOptions","extractTransitionData","placeholder","rawChild","isNotTextNode","isVShowDirective","Transition","hasParentTransition","_leaving","oldRawChild","oldChild","isSameChild","delayedLeave","moveClass","callPendingCbs","_moveCb","recordPosition","newPos","applyTranslation","oldPos","moved","WebkitTransform","transitionDuration","platformComponents","TransitionGroup","kept","prevChildren","rawChildren","transitionData","c$1","hasMove","_reflow","propertyName","_hasMove","cloneNode","attr","HTMLUnknownElement","HTMLElement","updateComponent","mountComponent","query","foundName","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","loaded","__webpack_modules__","nmd","paths","videoWebm","videoMp4","videoFallbackText","slideList","currentSlide","withIntro","oc_defaults","slogan","fadeDirection","startButtonText","__webpack_public_path__","App","OCA","FirstRunWizard"],"mappings":"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","file":"firstrunwizard-main.js?v=aa37e9152661370fee62","sourcesContent":["\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"getRequestToken\", {\n enumerable: true,\n get: function get() {\n return _requesttoken.getRequestToken;\n }\n});\nObject.defineProperty(exports, \"onRequestTokenUpdate\", {\n enumerable: true,\n get: function get() {\n return _requesttoken.onRequestTokenUpdate;\n }\n});\nObject.defineProperty(exports, \"getCurrentUser\", {\n enumerable: true,\n get: function get() {\n return _user.getCurrentUser;\n }\n});\n\nvar _requesttoken = require(\"./requesttoken\");\n\nvar _user = require(\"./user\");\n//# sourceMappingURL=index.js.map","\"use strict\";\n\nrequire(\"core-js/modules/es.array.for-each\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getRequestToken = getRequestToken;\nexports.onRequestTokenUpdate = onRequestTokenUpdate;\n\nvar _eventBus = require(\"@nextcloud/event-bus\");\n\nvar tokenElement = document.getElementsByTagName('head')[0];\nvar token = tokenElement ? tokenElement.getAttribute('data-requesttoken') : null;\nvar observers = [];\n\nfunction getRequestToken() {\n return token;\n}\n\nfunction onRequestTokenUpdate(observer) {\n observers.push(observer);\n} // Listen to server event and keep token in sync\n\n\n(0, _eventBus.subscribe)('csrf-token-update', function (e) {\n token = e.token;\n observers.forEach(function (observer) {\n try {\n observer(e.token);\n } catch (e) {\n console.error('error updating CSRF token observer', e);\n }\n });\n});\n//# sourceMappingURL=requesttoken.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getCurrentUser = getCurrentUser;\n/// <reference types=\"@nextcloud/typings\" />\nvar uidElement = document.getElementsByTagName('head')[0];\nvar uid = uidElement ? uidElement.getAttribute('data-user') : null;\nvar displayNameElement = document.getElementsByTagName('head')[0];\nvar displayName = displayNameElement ? displayNameElement.getAttribute('data-user-displayname') : null;\nvar isAdmin = typeof OC === 'undefined' ? false : OC.isUserAdmin();\n\nfunction getCurrentUser() {\n if (uid === null) {\n return null;\n }\n\n return {\n uid: uid,\n displayName: displayName,\n isAdmin: isAdmin\n };\n}\n//# sourceMappingURL=user.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _axios = _interopRequireDefault(require(\"axios\"));\n\nvar _auth = require(\"@nextcloud/auth\");\n\nvar _getRequestToken;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst client = _axios.default.create({\n headers: {\n requesttoken: (_getRequestToken = (0, _auth.getRequestToken)()) !== null && _getRequestToken !== void 0 ? _getRequestToken : ''\n }\n});\n\nconst cancelableClient = Object.assign(client, {\n CancelToken: _axios.default.CancelToken,\n isCancel: _axios.default.isCancel\n});\n(0, _auth.onRequestTokenUpdate)(token => client.defaults.headers.requesttoken = token);\nvar _default = cancelableClient;\nexports.default = _default;\n//# sourceMappingURL=index.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ProxyBus = void 0;\n\nvar _valid = _interopRequireDefault(require(\"semver/functions/valid\"));\n\nvar _major = _interopRequireDefault(require(\"semver/functions/major\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar packageJson = {\n name: \"@nextcloud/event-bus\",\n version: \"1.2.0\",\n description: \"\",\n main: \"dist/index.js\",\n types: \"dist/index.d.ts\",\n scripts: {\n build: \"babel ./lib --out-dir dist --extensions '.ts,.tsx' --source-maps && tsc --emitDeclarationOnly\",\n \"build:doc\": \"typedoc --excludeNotExported --mode file --out dist/doc lib/index.ts && touch dist/doc/.nojekyll\",\n \"check-types\": \"tsc\",\n dev: \"babel ./lib --out-dir dist --extensions '.ts,.tsx' --watch\",\n test: \"jest\",\n \"test:watch\": \"jest --watchAll\"\n },\n keywords: [\"nextcloud\"],\n homepage: \"https://github.com/nextcloud/nextcloud-event-bus#readme\",\n author: \"Christoph Wurst\",\n license: \"GPL-3.0-or-later\",\n repository: {\n type: \"git\",\n url: \"https://github.com/nextcloud/nextcloud-event-bus\"\n },\n dependencies: {\n \"@types/semver\": \"^7.1.0\",\n \"core-js\": \"^3.6.2\",\n semver: \"^7.3.2\"\n },\n devDependencies: {\n \"@babel/cli\": \"^7.6.0\",\n \"@babel/core\": \"^7.6.0\",\n \"@babel/plugin-proposal-class-properties\": \"^7.5.5\",\n \"@babel/preset-env\": \"^7.6.0\",\n \"@babel/preset-typescript\": \"^7.6.0\",\n \"@nextcloud/browserslist-config\": \"^1.0.0\",\n \"babel-jest\": \"^26.0.1\",\n \"babel-plugin-inline-json-import\": \"^0.3.2\",\n jest: \"^26.0.1\",\n typedoc: \"^0.17.2\",\n typescript: \"^3.6.3\"\n },\n browserslist: [\"extends @nextcloud/browserslist-config\"]\n};\n\nvar ProxyBus = /*#__PURE__*/function () {\n function ProxyBus(bus) {\n _classCallCheck(this, ProxyBus);\n\n _defineProperty(this, \"bus\", void 0);\n\n if (typeof bus.getVersion !== 'function' || !(0, _valid.default)(bus.getVersion())) {\n console.warn('Proxying an event bus with an unknown or invalid version');\n } else if ((0, _major.default)(bus.getVersion()) !== (0, _major.default)(this.getVersion())) {\n console.warn('Proxying an event bus of version ' + bus.getVersion() + ' with ' + this.getVersion());\n }\n\n this.bus = bus;\n }\n\n _createClass(ProxyBus, [{\n key: \"getVersion\",\n value: function getVersion() {\n return packageJson.version;\n }\n }, {\n key: \"subscribe\",\n value: function subscribe(name, handler) {\n this.bus.subscribe(name, handler);\n }\n }, {\n key: \"unsubscribe\",\n value: function unsubscribe(name, handler) {\n this.bus.unsubscribe(name, handler);\n }\n }, {\n key: \"emit\",\n value: function emit(name, event) {\n this.bus.emit(name, event);\n }\n }]);\n\n return ProxyBus;\n}();\n\nexports.ProxyBus = ProxyBus;\n//# sourceMappingURL=ProxyBus.js.map","\"use strict\";\n\nrequire(\"core-js/modules/es.array.concat\");\n\nrequire(\"core-js/modules/es.array.filter\");\n\nrequire(\"core-js/modules/es.array.for-each\");\n\nrequire(\"core-js/modules/es.array.iterator\");\n\nrequire(\"core-js/modules/es.map\");\n\nrequire(\"core-js/modules/es.object.to-string\");\n\nrequire(\"core-js/modules/es.string.iterator\");\n\nrequire(\"core-js/modules/web.dom-collections.for-each\");\n\nrequire(\"core-js/modules/web.dom-collections.iterator\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SimpleBus = void 0;\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar packageJson = {\n name: \"@nextcloud/event-bus\",\n version: \"1.2.0\",\n description: \"\",\n main: \"dist/index.js\",\n types: \"dist/index.d.ts\",\n scripts: {\n build: \"babel ./lib --out-dir dist --extensions '.ts,.tsx' --source-maps && tsc --emitDeclarationOnly\",\n \"build:doc\": \"typedoc --excludeNotExported --mode file --out dist/doc lib/index.ts && touch dist/doc/.nojekyll\",\n \"check-types\": \"tsc\",\n dev: \"babel ./lib --out-dir dist --extensions '.ts,.tsx' --watch\",\n test: \"jest\",\n \"test:watch\": \"jest --watchAll\"\n },\n keywords: [\"nextcloud\"],\n homepage: \"https://github.com/nextcloud/nextcloud-event-bus#readme\",\n author: \"Christoph Wurst\",\n license: \"GPL-3.0-or-later\",\n repository: {\n type: \"git\",\n url: \"https://github.com/nextcloud/nextcloud-event-bus\"\n },\n dependencies: {\n \"@types/semver\": \"^7.1.0\",\n \"core-js\": \"^3.6.2\",\n semver: \"^7.3.2\"\n },\n devDependencies: {\n \"@babel/cli\": \"^7.6.0\",\n \"@babel/core\": \"^7.6.0\",\n \"@babel/plugin-proposal-class-properties\": \"^7.5.5\",\n \"@babel/preset-env\": \"^7.6.0\",\n \"@babel/preset-typescript\": \"^7.6.0\",\n \"@nextcloud/browserslist-config\": \"^1.0.0\",\n \"babel-jest\": \"^26.0.1\",\n \"babel-plugin-inline-json-import\": \"^0.3.2\",\n jest: \"^26.0.1\",\n typedoc: \"^0.17.2\",\n typescript: \"^3.6.3\"\n },\n browserslist: [\"extends @nextcloud/browserslist-config\"]\n};\n\nvar SimpleBus = /*#__PURE__*/function () {\n function SimpleBus() {\n _classCallCheck(this, SimpleBus);\n\n _defineProperty(this, \"handlers\", new Map());\n }\n\n _createClass(SimpleBus, [{\n key: \"getVersion\",\n value: function getVersion() {\n return packageJson.version;\n }\n }, {\n key: \"subscribe\",\n value: function subscribe(name, handler) {\n this.handlers.set(name, (this.handlers.get(name) || []).concat(handler));\n }\n }, {\n key: \"unsubscribe\",\n value: function unsubscribe(name, handler) {\n this.handlers.set(name, (this.handlers.get(name) || []).filter(function (h) {\n return h != handler;\n }));\n }\n }, {\n key: \"emit\",\n value: function emit(name, event) {\n (this.handlers.get(name) || []).forEach(function (h) {\n try {\n h(event);\n } catch (e) {\n console.error('could not invoke event listener', e);\n }\n });\n }\n }]);\n\n return SimpleBus;\n}();\n\nexports.SimpleBus = SimpleBus;\n//# sourceMappingURL=SimpleBus.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.subscribe = subscribe;\nexports.unsubscribe = unsubscribe;\nexports.emit = emit;\n\nvar _ProxyBus = require(\"./ProxyBus\");\n\nvar _SimpleBus = require(\"./SimpleBus\");\n\nfunction getBus() {\n if (typeof window.OC !== 'undefined' && window.OC._eventBus && typeof window._nc_event_bus === 'undefined') {\n console.warn('found old event bus instance at OC._eventBus. Update your version!');\n window._nc_event_bus = window.OC._eventBus;\n } // Either use an existing event bus instance or create one\n\n\n if (typeof window._nc_event_bus !== 'undefined') {\n return new _ProxyBus.ProxyBus(window._nc_event_bus);\n } else {\n return window._nc_event_bus = new _SimpleBus.SimpleBus();\n }\n}\n\nvar bus = getBus();\n/**\n * Register an event listener\n *\n * @param name name of the event\n * @param handler callback invoked for every matching event emitted on the bus\n */\n\nfunction subscribe(name, handler) {\n bus.subscribe(name, handler);\n}\n/**\n * Unregister a previously registered event listener\n *\n * Note: doesn't work with anonymous functions (closures). Use method of an object or store listener function in variable.\n *\n * @param name name of the event\n * @param handler callback passed to `subscribed`\n */\n\n\nfunction unsubscribe(name, handler) {\n bus.unsubscribe(name, handler);\n}\n/**\n * Emit an event\n *\n * @param name name of the event\n * @param event event payload\n */\n\n\nfunction emit(name, event) {\n bus.emit(name, event);\n}\n//# sourceMappingURL=index.js.map","\"use strict\";\n\nrequire(\"core-js/modules/es.object.to-string\");\n\nrequire(\"core-js/modules/es.regexp.exec\");\n\nrequire(\"core-js/modules/es.regexp.to-string\");\n\nrequire(\"core-js/modules/es.string.replace\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getGettextBuilder = getGettextBuilder;\n\nvar _nodeGettext = _interopRequireDefault(require(\"node-gettext\"));\n\nvar _ = require(\".\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar GettextBuilder = /*#__PURE__*/function () {\n function GettextBuilder() {\n _classCallCheck(this, GettextBuilder);\n\n this.translations = {};\n this.debug = false;\n }\n\n _createClass(GettextBuilder, [{\n key: \"setLanguage\",\n value: function setLanguage(language) {\n this.locale = language;\n return this;\n }\n }, {\n key: \"detectLocale\",\n value: function detectLocale() {\n return this.setLanguage((0, _.getLanguage)().replace('-', '_'));\n }\n }, {\n key: \"addTranslation\",\n value: function addTranslation(language, data) {\n this.translations[language] = data;\n return this;\n }\n }, {\n key: \"enableDebugMode\",\n value: function enableDebugMode() {\n this.debug = true;\n return this;\n }\n }, {\n key: \"build\",\n value: function build() {\n return new GettextWrapper(this.locale || 'en', this.translations, this.debug);\n }\n }]);\n\n return GettextBuilder;\n}();\n\nvar GettextWrapper = /*#__PURE__*/function () {\n function GettextWrapper(locale, data, debug) {\n _classCallCheck(this, GettextWrapper);\n\n this.gt = new _nodeGettext.default({\n debug: debug,\n sourceLocale: 'en'\n });\n\n for (var key in data) {\n this.gt.addTranslations(key, 'messages', data[key]);\n }\n\n this.gt.setLocale(locale);\n }\n\n _createClass(GettextWrapper, [{\n key: \"subtitudePlaceholders\",\n value: function subtitudePlaceholders(translated, vars) {\n return translated.replace(/{([^{}]*)}/g, function (a, b) {\n var r = vars[b];\n\n if (typeof r === 'string' || typeof r === 'number') {\n return r.toString();\n } else {\n return a;\n }\n });\n }\n }, {\n key: \"gettext\",\n value: function gettext(original) {\n var placeholders = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return this.subtitudePlaceholders(this.gt.gettext(original), placeholders);\n }\n }, {\n key: \"ngettext\",\n value: function ngettext(singular, plural, count) {\n var placeholders = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n return this.subtitudePlaceholders(this.gt.ngettext(singular, plural, count).replace(/%n/g, count.toString()), placeholders);\n }\n }]);\n\n return GettextWrapper;\n}();\n\nfunction getGettextBuilder() {\n return new GettextBuilder();\n}\n//# sourceMappingURL=gettext.js.map","\"use strict\";\n\nrequire(\"core-js/modules/es.regexp.exec\");\n\nrequire(\"core-js/modules/es.string.replace\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getLocale = getLocale;\nexports.getCanonicalLocale = getCanonicalLocale;\nexports.getLanguage = getLanguage;\nexports.translate = translate;\nexports.translatePlural = translatePlural;\nexports.getFirstDay = getFirstDay;\nexports.getDayNames = getDayNames;\nexports.getDayNamesShort = getDayNamesShort;\nexports.getDayNamesMin = getDayNamesMin;\nexports.getMonthNames = getMonthNames;\nexports.getMonthNamesShort = getMonthNamesShort;\n\n/// <reference types=\"@nextcloud/typings\" />\n\n/**\n * Returns the user's locale\n */\nfunction getLocale() {\n if (typeof OC === 'undefined') {\n console.warn('No OC found');\n return 'en';\n }\n\n return OC.getLocale();\n}\n\nfunction getCanonicalLocale() {\n return getLocale().replace(/_/g, '-');\n}\n/**\n * Returns the user's language\n */\n\n\nfunction getLanguage() {\n if (typeof OC === 'undefined') {\n console.warn('No OC found');\n return 'en';\n }\n\n return OC.getLanguage();\n}\n\n/**\n * Translate a string\n *\n * @param {string} app the id of the app for which to translate the string\n * @param {string} text the string to translate\n * @param {object} vars map of placeholder key to value\n * @param {number} number to replace %n with\n * @param {object} [options] options object\n * @return {string}\n */\nfunction translate(app, text, vars, count, options) {\n if (typeof OC === 'undefined') {\n console.warn('No OC found');\n return text;\n }\n\n return OC.L10N.translate(app, text, vars, count, options);\n}\n/**\n * Translate a plural string\n *\n * @param {string} app the id of the app for which to translate the string\n * @param {string} textSingular the string to translate for exactly one object\n * @param {string} textPlural the string to translate for n objects\n * @param {number} count number to determine whether to use singular or plural\n * @param {Object} vars of placeholder key to value\n * @param {object} options options object\n * @return {string}\n */\n\n\nfunction translatePlural(app, textSingular, textPlural, count, vars, options) {\n if (typeof OC === 'undefined') {\n console.warn('No OC found');\n return textSingular;\n }\n\n return OC.L10N.translatePlural(app, textSingular, textPlural, count, vars, options);\n}\n/**\n * Get the first day of the week\n *\n * @return {number}\n */\n\n\nfunction getFirstDay() {\n if (typeof window.firstDay === 'undefined') {\n console.warn('No firstDay found');\n return 1;\n }\n\n return window.firstDay;\n}\n/**\n * Get a list of day names (full names)\n *\n * @return {string[]}\n */\n\n\nfunction getDayNames() {\n if (typeof window.dayNames === 'undefined') {\n console.warn('No dayNames found');\n return ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];\n }\n\n return window.dayNames;\n}\n/**\n * Get a list of day names (short names)\n *\n * @return {string[]}\n */\n\n\nfunction getDayNamesShort() {\n if (typeof window.dayNamesShort === 'undefined') {\n console.warn('No dayNamesShort found');\n return ['Sun.', 'Mon.', 'Tue.', 'Wed.', 'Thu.', 'Fri.', 'Sat.'];\n }\n\n return window.dayNamesShort;\n}\n/**\n * Get a list of day names (minified names)\n *\n * @return {string[]}\n */\n\n\nfunction getDayNamesMin() {\n if (typeof window.dayNamesMin === 'undefined') {\n console.warn('No dayNamesMin found');\n return ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'];\n }\n\n return window.dayNamesMin;\n}\n/**\n * Get a list of month names (full names)\n *\n * @return {string[]}\n */\n\n\nfunction getMonthNames() {\n if (typeof window.monthNames === 'undefined') {\n console.warn('No monthNames found');\n return ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];\n }\n\n return window.monthNames;\n}\n/**\n * Get a list of month names (short names)\n *\n * @return {string[]}\n */\n\n\nfunction getMonthNamesShort() {\n if (typeof window.monthNamesShort === 'undefined') {\n console.warn('No monthNamesShort found');\n return ['Jan.', 'Feb.', 'Mar.', 'Apr.', 'May.', 'Jun.', 'Jul.', 'Aug.', 'Sep.', 'Oct.', 'Nov.', 'Dec.'];\n }\n\n return window.monthNamesShort;\n}\n//# sourceMappingURL=index.js.map","\"use strict\";\n\nrequire(\"core-js/modules/es.array.index-of\");\n\nrequire(\"core-js/modules/es.object.assign\");\n\nrequire(\"core-js/modules/es.object.to-string\");\n\nrequire(\"core-js/modules/es.regexp.exec\");\n\nrequire(\"core-js/modules/es.regexp.to-string\");\n\nrequire(\"core-js/modules/es.string.replace\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getRootUrl = exports.generateFilePath = exports.imagePath = exports.generateUrl = exports.generateOcsUrl = exports.generateRemoteUrl = exports.linkTo = void 0;\n\n/// <reference types=\"@nextcloud/typings\" />\n\n/**\n * Get an absolute url to a file in an app\n *\n * @param {string} app the id of the app the file belongs to\n * @param {string} file the file path relative to the app folder\n * @return {string} Absolute URL to a file\n */\nvar linkTo = function linkTo(app, file) {\n return generateFilePath(app, '', file);\n};\n/**\n * Creates a relative url for remote use\n *\n * @param {string} service id\n * @return {string} the url\n */\n\n\nexports.linkTo = linkTo;\n\nvar linkToRemoteBase = function linkToRemoteBase(service) {\n return getRootUrl() + '/remote.php/' + service;\n};\n/**\n * @brief Creates an absolute url for remote use\n * @param {string} service id\n * @return {string} the url\n */\n\n\nvar generateRemoteUrl = function generateRemoteUrl(service) {\n return window.location.protocol + '//' + window.location.host + linkToRemoteBase(service);\n};\n/**\n * Get the base path for the given OCS API service\n *\n * @param {string} service name\n * @param {int} version OCS API version\n * @return {string} OCS API base path\n */\n\n\nexports.generateRemoteUrl = generateRemoteUrl;\n\nvar generateOcsUrl = function generateOcsUrl(service, version) {\n version = version !== 2 ? 1 : 2;\n return window.location.protocol + '//' + window.location.host + getRootUrl() + '/ocs/v' + version + '.php/' + service + '/';\n};\n\nexports.generateOcsUrl = generateOcsUrl;\n\n/**\n * Generate the absolute url for the given relative url, which can contain parameters\n *\n * Parameters will be URL encoded automatically\n *\n * @return {string} Absolute URL for the given relative URL\n */\nvar generateUrl = function generateUrl(url, params, options) {\n var allOptions = Object.assign({\n escape: true,\n noRewrite: false\n }, options || {});\n\n var _build = function _build(text, vars) {\n vars = vars || {};\n return text.replace(/{([^{}]*)}/g, function (a, b) {\n var r = vars[b];\n\n if (allOptions.escape) {\n return typeof r === 'string' || typeof r === 'number' ? encodeURIComponent(r.toString()) : encodeURIComponent(a);\n } else {\n return typeof r === 'string' || typeof r === 'number' ? r.toString() : a;\n }\n });\n };\n\n if (url.charAt(0) !== '/') {\n url = '/' + url;\n }\n\n if (OC.config.modRewriteWorking === true && !allOptions.noRewrite) {\n return getRootUrl() + _build(url, params || {});\n }\n\n return getRootUrl() + '/index.php' + _build(url, params || {});\n};\n/**\n * Get the absolute path to an image file\n * if no extension is given for the image, it will automatically decide\n * between .png and .svg based on what the browser supports\n *\n * @param {string} app the app id to which the image belongs\n * @param {string} file the name of the image file\n * @return {string}\n */\n\n\nexports.generateUrl = generateUrl;\n\nvar imagePath = function imagePath(app, file) {\n if (file.indexOf('.') === -1) {\n //if no extension is given, use svg\n return generateFilePath(app, 'img', file + '.svg');\n }\n\n return generateFilePath(app, 'img', file);\n};\n/**\n * Get the absolute url for a file in an app\n *\n * @param {string} app the id of the app\n * @param {string} type the type of the file to link to (e.g. css,img,ajax.template)\n * @param {string} file the filename\n * @return {string} Absolute URL for a file in an app\n */\n\n\nexports.imagePath = imagePath;\n\nvar generateFilePath = function generateFilePath(app, type, file) {\n var isCore = OC.coreApps.indexOf(app) !== -1;\n var link = getRootUrl();\n\n if (file.substring(file.length - 3) === 'php' && !isCore) {\n link += '/index.php/apps/' + app;\n\n if (file !== 'index.php') {\n link += '/';\n\n if (type) {\n link += encodeURI(type + '/');\n }\n\n link += file;\n }\n } else if (file.substring(file.length - 3) !== 'php' && !isCore) {\n link = OC.appswebroots[app];\n\n if (type) {\n link += '/' + type + '/';\n }\n\n if (link.substring(link.length - 1) !== '/') {\n link += '/';\n }\n\n link += file;\n } else {\n if ((app === 'settings' || app === 'core' || app === 'search') && type === 'ajax') {\n link += '/index.php/';\n } else {\n link += '/';\n }\n\n if (!isCore) {\n link += 'apps/';\n }\n\n if (app !== '') {\n app += '/';\n link += app;\n }\n\n if (type) {\n link += type + '/';\n }\n\n link += file;\n }\n\n return link;\n};\n/**\n * Return the web root path where this Nextcloud instance\n * is accessible, with a leading slash.\n * For example \"/nextcloud\".\n *\n * @return {string} web root path\n */\n\n\nexports.generateFilePath = generateFilePath;\n\nvar getRootUrl = function getRootUrl() {\n return OC.webroot;\n};\n\nexports.getRootUrl = getRootUrl;\n//# sourceMappingURL=index.js.map","!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(\"Components/Modal\",[],e):\"object\"==typeof exports?exports[\"Components/Modal\"]=e():(t.NextcloudVue=t.NextcloudVue||{},t.NextcloudVue[\"Components/Modal\"]=e())}(window,(function(){return function(t){var e={};function n(a){if(e[a])return e[a].exports;var i=e[a]={i:a,l:!1,exports:{}};return t[a].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,a){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:a})},n.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&\"object\"==typeof t&&t&&t.__esModule)return t;var a=Object.create(null);if(n.r(a),Object.defineProperty(a,\"default\",{enumerable:!0,value:t}),2&e&&\"string\"!=typeof t)for(var i in t)n.d(a,i,function(e){return t[e]}.bind(null,i));return a},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,\"a\",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p=\"/dist/\",n(n.s=108)}([function(t,e,n){\"use strict\";function a(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=t&&(\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"]);if(null==n)return;var a,i,o=[],r=!0,s=!1;try{for(n=n.call(t);!(r=(a=n.next()).done)&&(o.push(a.value),!e||o.length!==e);r=!0);}catch(t){s=!0,i=t}finally{try{r||null==n.return||n.return()}finally{if(s)throw i}}return o}(t,e)||function(t,e){if(!t)return;if(\"string\"==typeof t)return i(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===n&&t.constructor&&(n=t.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(t);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return i(t,e)}(t,e)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function i(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,a=new Array(e);n<e;n++)a[n]=t[n];return a}t.exports=function(t){var e=a(t,4),n=e[1],i=e[3];if(!i)return n;if(\"function\"==typeof btoa){var o=btoa(unescape(encodeURIComponent(JSON.stringify(i)))),r=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(o),s=\"/*# \".concat(r,\" */\"),l=i.sources.map((function(t){return\"/*# sourceURL=\".concat(i.sourceRoot||\"\").concat(t,\" */\")}));return[n].concat(l).concat([s]).join(\"\\n\")}return[n].join(\"\\n\")}},function(t,e,n){\"use strict\";t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var n=t(e);return e[2]?\"@media \".concat(e[2],\" {\").concat(n,\"}\"):n})).join(\"\")},e.i=function(t,n,a){\"string\"==typeof t&&(t=[[null,t,\"\"]]);var i={};if(a)for(var o=0;o<this.length;o++){var r=this[o][0];null!=r&&(i[r]=!0)}for(var s=0;s<t.length;s++){var l=[].concat(t[s]);a&&i[l[0]]||(n&&(l[2]?l[2]=\"\".concat(n,\" and \").concat(l[2]):l[2]=n),e.push(l))}},e}},function(t,e,n){\"use strict\";var a,i=function(){return void 0===a&&(a=Boolean(window&&document&&document.all&&!window.atob)),a},o=function(){var t={};return function(e){if(void 0===t[e]){var n=document.querySelector(e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(t){n=null}t[e]=n}return t[e]}}(),r=[];function s(t){for(var e=-1,n=0;n<r.length;n++)if(r[n].identifier===t){e=n;break}return e}function l(t,e){for(var n={},a=[],i=0;i<t.length;i++){var o=t[i],l=e.base?o[0]+e.base:o[0],c=n[l]||0,d=\"\".concat(l,\" \").concat(c);n[l]=c+1;var u=s(d),m={css:o[1],media:o[2],sourceMap:o[3]};-1!==u?(r[u].references++,r[u].updater(m)):r.push({identifier:d,updater:A(m,e),references:1}),a.push(d)}return a}function c(t){var e=document.createElement(\"style\"),a=t.attributes||{};if(void 0===a.nonce){var i=n.nc;i&&(a.nonce=i)}if(Object.keys(a).forEach((function(t){e.setAttribute(t,a[t])})),\"function\"==typeof t.insert)t.insert(e);else{var r=o(t.insert||\"head\");if(!r)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");r.appendChild(e)}return e}var d,u=(d=[],function(t,e){return d[t]=e,d.filter(Boolean).join(\"\\n\")});function m(t,e,n,a){var i=n?\"\":a.media?\"@media \".concat(a.media,\" {\").concat(a.css,\"}\"):a.css;if(t.styleSheet)t.styleSheet.cssText=u(e,i);else{var o=document.createTextNode(i),r=t.childNodes;r[e]&&t.removeChild(r[e]),r.length?t.insertBefore(o,r[e]):t.appendChild(o)}}function p(t,e,n){var a=n.css,i=n.media,o=n.sourceMap;if(i?t.setAttribute(\"media\",i):t.removeAttribute(\"media\"),o&&\"undefined\"!=typeof btoa&&(a+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(o)))),\" */\")),t.styleSheet)t.styleSheet.cssText=a;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(a))}}var h=null,g=0;function A(t,e){var n,a,i;if(e.singleton){var o=g++;n=h||(h=c(e)),a=m.bind(null,n,o,!1),i=m.bind(null,n,o,!0)}else n=c(e),a=p.bind(null,n,e),i=function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(n)};return a(t),function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap)return;a(t=e)}else i()}}t.exports=function(t,e){(e=e||{}).singleton||\"boolean\"==typeof e.singleton||(e.singleton=i());var n=l(t=t||[],e);return function(t){if(t=t||[],\"[object Array]\"===Object.prototype.toString.call(t)){for(var a=0;a<n.length;a++){var i=s(n[a]);r[i].references--}for(var o=l(t,e),c=0;c<n.length;c++){var d=s(n[c]);0===r[d].references&&(r[d].updater(),r.splice(d,1))}n=o}}}},function(t,e,n){\"use strict\";function a(t,e,n,a,i,o,r,s){var l,c=\"function\"==typeof t?t.options:t;if(e&&(c.render=e,c.staticRenderFns=n,c._compiled=!0),a&&(c.functional=!0),o&&(c._scopeId=\"data-v-\"+o),r?(l=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(r)},c._ssrRegister=l):i&&(l=s?function(){i.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:i),l)if(c.functional){c._injectStyles=l;var d=c.render;c.render=function(t,e){return l.call(e),d(t,e)}}else{var u=c.beforeCreate;c.beforeCreate=u?[].concat(u,l):[l]}return{exports:t,options:c}}n.d(e,\"a\",(function(){return a}))},function(t,e,n){\"use strict\";n.d(e,\"b\",(function(){return s})),n.d(e,\"a\",(function(){return r}));var a=n(11),i=Object(a.getGettextBuilder)().detectLocale();[{locale:\"ar\",translations:{\"{tag} (invisible)\":\"{tag} (غير مرئي)\",\"{tag} (restricted)\":\"{tag} (مقيد)\",Actions:\"الإجراءات\",Activities:\"النشاطات\",\"Animals & Nature\":\"الحيوانات والطبيعة\",\"Avatar of {displayName}\":\"صورة {displayName} الرمزية\",\"Avatar of {displayName}, {status}\":\"صورة {displayName} الرمزية، {status}\",\"Cancel changes\":\"إلغاء التغييرات\",Choose:\"إختيار\",Close:\"أغلق\",\"Close navigation\":\"إغلاق المتصفح\",\"Confirm changes\":\"تأكيد التغييرات\",Custom:\"مخصص\",\"Edit item\":\"تعديل عنصر\",\"External documentation for {title}\":\"الوثائق الخارجية لـ{title}\",Flags:\"الأعلام\",\"Food & Drink\":\"الطعام والشراب\",\"Frequently used\":\"كثيرا ما تستخدم\",Global:\"عالمي\",\"Go back to the list\":\"العودة إلى القائمة\",\"Message limit of {count} characters reached\":\"تم الوصول إلى الحد الأقصى لعدد الأحرف في الرسالة: {count} حرف\",Next:\"التالي\",\"No emoji found\":\"لم يتم العثور على أي رمز تعبيري\",\"No results\":\"ليس هناك أية نتيجة\",Objects:\"الأشياء\",\"Open navigation\":\"فتح المتصفح\",\"Pause slideshow\":\"إيقاف العرض مؤقتًا\",\"People & Body\":\"الناس والجسم\",\"Pick an emoji\":\"اختر رمزًا تعبيريًا\",\"Please select a time zone:\":\"الرجاء تحديد المنطقة الزمنية:\",Previous:\"السابق\",Search:\"بحث\",\"Search results\":\"نتائج البحث\",\"Select a tag\":\"اختر علامة\",Settings:\"الإعدادات\",\"Settings navigation\":\"إعدادات المتصفح\",\"Smileys & Emotion\":\"الوجوه و الرموز التعبيرية\",\"Start slideshow\":\"بدء العرض\",Submit:\"إرسال\",Symbols:\"الرموز\",\"Travel & Places\":\"السفر والأماكن\",\"Type to search time zone\":\"اكتب للبحث عن منطقة زمنية\",\"Unable to search the group\":\"تعذر البحث في المجموعة\",\"Undo changes\":\"التراجع عن التغييرات\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"اكتب رسالة، @ للإشارة إلى شخص ما، : للإكمال التلقائي للرموز التعبيرية ...\"}},{locale:\"br\",translations:{\"{tag} (invisible)\":\"{tag} (diwelus)\",\"{tag} (restricted)\":\"{tag} (bevennet)\",Actions:\"Oberioù\",Activities:\"Oberiantizoù\",\"Animals & Nature\":\"Loened & Natur\",Choose:\"Dibab\",Close:\"Serriñ\",Custom:\"Personelañ\",Flags:\"Bannieloù\",\"Food & Drink\":\"Boued & Evajoù\",\"Frequently used\":\"Implijet alies\",Next:\"Da heul\",\"No emoji found\":\"Emoji ebet kavet\",\"No results\":\"Disoc'h ebet\",Objects:\"Traoù\",\"Pause slideshow\":\"Arsav an diaporama\",\"People & Body\":\"Tud & Korf\",\"Pick an emoji\":\"Choaz un emoji\",Previous:\"A-raok\",Search:\"Klask\",\"Search results\":\"Disoc'hoù an enklask\",\"Select a tag\":\"Choaz ur c'hlav\",Settings:\"Arventennoù\",\"Smileys & Emotion\":\"Smileyioù & Fromoù\",\"Start slideshow\":\"Kregiñ an diaporama\",Symbols:\"Arouezioù\",\"Travel & Places\":\"Beaj & Lec'hioù\",\"Unable to search the group\":\"Dibosupl eo klask ar strollad\"}},{locale:\"ca\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restringit)\",Actions:\"Accions\",Activities:\"Activitats\",\"Animals & Nature\":\"Animals i natura\",\"Cancel changes\":\"Cancel·la els canvis\",Choose:\"Tria\",Close:\"Tanca\",\"Confirm changes\":\"Confirmeu els canvis\",Custom:\"Personalitzat\",\"External documentation for {title}\":\"Documentació externa per a {title}\",Flags:\"Marques\",\"Food & Drink\":\"Menjar i begudes\",\"Frequently used\":\"Utilitzats recentment\",\"Message limit of {count} characters reached\":\"S'ha arribat al límit de {count} caràcters per missatge\",Next:\"Següent\",\"No emoji found\":\"No s'ha trobat cap emoji\",\"No results\":\"Sense resultats\",Objects:\"Objectes\",\"Pause slideshow\":\"Atura la presentació\",\"People & Body\":\"Persones i cos\",\"Pick an emoji\":\"Trieu un emoji\",Previous:\"Anterior\",Search:\"Cerca\",\"Search results\":\"Resultats de cerca\",\"Select a tag\":\"Selecciona una etiqueta\",Settings:\"Paràmetres\",\"Settings navigation\":\"Navegació d'opcions\",\"Smileys & Emotion\":\"Cares i emocions\",\"Start slideshow\":\"Inicia la presentació\",Submit:\"Envia\",Symbols:\"Símbols\",\"Travel & Places\":\"Viatges i llocs\",\"Unable to search the group\":\"No es pot cercar el grup\",\"Write message, @ to mention someone …\":\"Escriu un missatge, @ per mencionar algú...\"}},{locale:\"cs_CZ\",translations:{\"{tag} (invisible)\":\"{tag} (neviditelné)\",\"{tag} (restricted)\":\"{tag} (omezené)\",Actions:\"Akce\",Activities:\"Aktivity\",\"Animals & Nature\":\"Zvířata a příroda\",\"Avatar of {displayName}\":\"Zástupný obrázek uživatele {displayName}\",\"Avatar of {displayName}, {status}\":\"Zástupný obrázek uživatele {displayName}, {status}\",\"Cancel changes\":\"Zrušit změny\",Choose:\"Zvolit\",Close:\"Zavřít\",\"Close navigation\":\"Zavřít navigaci\",\"Confirm changes\":\"Potvrdit změny\",Custom:\"Uživatelsky určené\",\"Edit item\":\"Upravit položku\",\"External documentation for {title}\":\"Externí dokumentace k {title}\",Flags:\"Příznaky\",\"Food & Drink\":\"Jídlo a pití\",\"Frequently used\":\"Často používané\",Global:\"Globální\",\"Go back to the list\":\"Jít zpět na seznam\",\"Message limit of {count} characters reached\":\"Dosaženo limitu počtu ({count}) znaků zprávy\",Next:\"Následující\",\"No emoji found\":\"Nenalezeno žádné emoji\",\"No results\":\"Nic nenalezeno\",Objects:\"Objekty\",\"Open navigation\":\"Otevřít navigaci\",\"Pause slideshow\":\"Pozastavit prezentaci\",\"People & Body\":\"Lidé a tělo\",\"Pick an emoji\":\"Vybrat emoji\",\"Please select a time zone:\":\"Vyberte časovou zónu:\",Previous:\"Předchozí\",Search:\"Hledat\",\"Search results\":\"Výsledky hledání\",\"Select a tag\":\"Vybrat štítek\",Settings:\"Nastavení\",\"Settings navigation\":\"Pohyb po nastavení\",\"Smileys & Emotion\":\"Úsměvy a emoce\",\"Start slideshow\":\"Spustit prezentaci\",Submit:\"Odeslat\",Symbols:\"Symboly\",\"Travel & Places\":\"Cestování a místa\",\"Type to search time zone\":\"Psaním vyhledejte časovou zónu\",\"Unable to search the group\":\"Nedaří se hledat skupinu\",\"Undo changes\":\"Vzít změny zpět\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Napište zprávu – pokud chcete někoho zmínit, napište před jeho uživatelským jménem @ (zavináč); automatické doplňování emotikonů zahájíte napsáním : (dvojtečky)…\"}},{locale:\"da\",translations:{\"{tag} (invisible)\":\"{tag} (usynlig)\",\"{tag} (restricted)\":\"{tag} (begrænset)\",Actions:\"Handlinger\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Dyr & Natur\",Choose:\"Vælg\",Close:\"Luk\",Custom:\"Brugerdefineret\",Flags:\"Flag\",\"Food & Drink\":\"Mad & Drikke\",\"Frequently used\":\"Ofte brugt\",\"Message limit of {count} characters reached\":\"Begrænsning på {count} tegn er nået\",Next:\"Videre\",\"No emoji found\":\"Ingen emoji fundet\",\"No results\":\"Ingen resultater\",Objects:\"Objekter\",\"Pause slideshow\":\"Suspender fremvisning\",\"People & Body\":\"Mennesker & Menneskekroppen\",\"Pick an emoji\":\"Vælg en emoji\",Previous:\"Forrige\",Search:\"Søg\",\"Search results\":\"Søgeresultater\",\"Select a tag\":\"Vælg et mærke\",Settings:\"Indstillinger\",\"Settings navigation\":\"Naviger i indstillinger\",\"Smileys & Emotion\":\"Smileys & Emotion\",\"Start slideshow\":\"Start fremvisning\",Symbols:\"Symboler\",\"Travel & Places\":\"Rejser & Rejsemål\",\"Unable to search the group\":\"Kan ikke søge på denne gruppe\",\"Write message, @ to mention someone …\":\"Skriv i meddelelse, @ for at nævne nogen …\"}},{locale:\"de\",translations:{\"{tag} (invisible)\":\"{tag} (unsichtbar)\",\"{tag} (restricted)\":\"{tag} (eingeschränkt)\",Actions:\"Aktionen\",Activities:\"Aktivitäten\",\"Animals & Nature\":\"Tiere & Natur\",\"Avatar of {displayName}\":\"Avatar von {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar von {displayName}, {status}\",\"Cancel changes\":\"Änderungen verwerfen\",Choose:\"Auswählen\",Close:\"Schließen\",\"Close navigation\":\"Navigation schließen\",\"Confirm changes\":\"Änderungen bestätigen\",Custom:\"Benutzerdefiniert\",\"Edit item\":\"Objekt bearbeiten\",\"External documentation for {title}\":\"Externe Dokumentation für {title}\",Flags:\"Flaggen\",\"Food & Drink\":\"Essen & Trinken\",\"Frequently used\":\"Häufig verwendet\",Global:\"Global\",\"Go back to the list\":\"Zurück zur Liste\",\"Message limit of {count} characters reached\":\"Nachrichtenlimit von {count} Zeichen erreicht\",Next:\"Weiter\",\"No emoji found\":\"Kein Emoji gefunden\",\"No results\":\"Keine Ergebnisse\",Objects:\"Gegenstände\",\"Open navigation\":\"Navigation öffnen\",\"Pause slideshow\":\"Diashow pausieren\",\"People & Body\":\"Menschen & Körper\",\"Pick an emoji\":\"Ein Emoji auswählen\",\"Please select a time zone:\":\"Bitte wählen Sie eine Zeitzone:\",Previous:\"Vorherige\",Search:\"Suche\",\"Search results\":\"Suchergebnisse\",\"Select a tag\":\"Schlagwort auswählen\",Settings:\"Einstellungen\",\"Settings navigation\":\"Einstellungen für die Navigation\",\"Smileys & Emotion\":\"Smileys & Emotionen\",\"Start slideshow\":\"Diashow starten\",Submit:\"Einreichen\",Symbols:\"Symbole\",\"Travel & Places\":\"Reisen & Orte\",\"Type to search time zone\":\"Tippen, um Zeitzone zu suchen\",\"Unable to search the group\":\"Die Gruppe konnte nicht durchsucht werden\",\"Undo changes\":\"Änderungen rückgängig machen\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Nachricht schreiben, @, um jemanden zu erwähnen, : für die automatische Vervollständigung von Emojis … \"}},{locale:\"de_DE\",translations:{\"{tag} (invisible)\":\"{tag} (unsichtbar)\",\"{tag} (restricted)\":\"{tag} (eingeschränkt)\",Actions:\"Aktionen\",Activities:\"Aktivitäten\",\"Animals & Nature\":\"Tiere & Natur\",\"Avatar of {displayName}\":\"Avatar von {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar von {displayName}, {status}\",\"Cancel changes\":\"Änderungen verwerfen\",Choose:\"Auswählen\",Close:\"Schließen\",\"Close navigation\":\"Navigation schließen\",\"Confirm changes\":\"Änderungen bestätigen\",Custom:\"Benutzerdefiniert\",\"Edit item\":\"Objekt bearbeiten\",\"External documentation for {title}\":\"Externe Dokumentation für {title}\",Flags:\"Flaggen\",\"Food & Drink\":\"Essen & Trinken\",\"Frequently used\":\"Häufig verwendet\",Global:\"Global\",\"Go back to the list\":\"Zurück zur Liste\",\"Message limit of {count} characters reached\":\"Nachrichtenlimit von {count} Zeichen erreicht\",Next:\"Weiter\",\"No emoji found\":\"Kein Emoji gefunden\",\"No results\":\"Keine Ergebnisse\",Objects:\"Objekte\",\"Open navigation\":\"Navigation öffnen\",\"Pause slideshow\":\"Diashow pausieren\",\"People & Body\":\"Menschen & Körper\",\"Pick an emoji\":\"Ein Emoji auswählen\",\"Please select a time zone:\":\"Bitte eine Zeitzone auswählen:\",Previous:\"Vorherige\",Search:\"Suche\",\"Search results\":\"Suchergebnisse\",\"Select a tag\":\"Schlagwort auswählen\",Settings:\"Einstellungen\",\"Settings navigation\":\"Einstellungen für die Navigation\",\"Smileys & Emotion\":\"Smileys & Emotionen\",\"Start slideshow\":\"Diashow starten\",Submit:\"Einreichen\",Symbols:\"Symbole\",\"Travel & Places\":\"Reisen & Orte\",\"Type to search time zone\":\"Tippen, um eine Zeitzone zu suchen\",\"Unable to search the group\":\"Die Gruppe kann nicht durchsucht werden\",\"Undo changes\":\"Änderungen rückgängig machen\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Nachricht schreiben, @, um jemanden zu erwähnen, : für die automatische Vervollständigung von Emojis …\"}},{locale:\"el\",translations:{\"{tag} (invisible)\":\"{tag} (αόρατο)\",\"{tag} (restricted)\":\"{tag} (περιορισμένο)\",Actions:\"Ενέργειες\",Activities:\"Δραστηριότητες\",\"Animals & Nature\":\"Ζώα & Φύση\",\"Avatar of {displayName}\":\"Άβαταρ του {displayName}\",\"Cancel changes\":\"Ακύρωση αλλαγών\",Choose:\"Επιλογή\",Close:\"Κλείσιμο\",\"Close navigation\":\"Κλείσιμο πλοήγησης\",\"Confirm changes\":\"Επιβεβαίωση αλλαγών\",Custom:\"Προσαρμογή\",\"Edit item\":\"Επεξεργασία\",\"External documentation for {title}\":\"Εξωτερική τεκμηρίωση για {title}\",Flags:\"Σημαίες\",\"Food & Drink\":\"Φαγητό & Ποτό\",\"Frequently used\":\"Συχνά χρησιμοποιούμενο\",Global:\"Καθολικό\",\"Go back to the list\":\"Επιστροφή στην αρχική λίστα \",\"Message limit of {count} characters reached\":\"Συμπληρώθηκε το όριο των {count} χαρακτήρων του μηνύματος\",Next:\"Επόμενο\",\"No emoji found\":\"Δεν βρέθηκε emoji\",\"No results\":\"Κανένα αποτέλεσμα\",Objects:\"Αντικείμενα\",\"Open navigation\":\"Άνοιγμα πλοήγησης\",\"Pause slideshow\":\"Παύση προβολής διαφανειών\",\"People & Body\":\"Άνθρωποι & Σώμα\",\"Pick an emoji\":\"Επιλέξτε ένα emoji\",\"Please select a time zone:\":\"Παρακαλούμε επιλέξτε μια ζώνη ώρας:\",Previous:\"Προηγούμενο\",Search:\"Αναζήτηση\",\"Search results\":\"Αποτελέσματα αναζήτησης\",\"Select a tag\":\"Επιλογή ετικέτας\",Settings:\"Ρυθμίσεις\",\"Settings navigation\":\"Πλοήγηση ρυθμίσεων\",\"Smileys & Emotion\":\"Φατσούλες & Συναίσθημα\",\"Start slideshow\":\"Έναρξη προβολής διαφανειών\",Submit:\"Υποβολή\",Symbols:\"Σύμβολα\",\"Travel & Places\":\"Ταξίδια & Τοποθεσίες\",\"Type to search time zone\":\"Πληκτρολογήστε για αναζήτηση ζώνης ώρας\",\"Unable to search the group\":\"Δεν είναι δυνατή η αναζήτηση της ομάδας\",\"Undo changes\":\"Αναίρεση Αλλαγών\",\"Write message, @ to mention someone …\":\"Γράψτε ένα μήνυμα, και με το σύμβολο @, μνημονεύστε κάποιον …\"}},{locale:\"eo\",translations:{\"{tag} (invisible)\":\"{tag} (kaŝita)\",\"{tag} (restricted)\":\"{tag} (limigita)\",Actions:\"Agoj\",Activities:\"Aktiveco\",\"Animals & Nature\":\"Bestoj & Naturo\",Choose:\"Elektu\",Close:\"Fermu\",Custom:\"Propra\",Flags:\"Flagoj\",\"Food & Drink\":\"Manĝaĵo & Trinkaĵo\",\"Frequently used\":\"Ofte uzataj\",\"Message limit of {count} characters reached\":\"La limo je {count} da literoj atingita\",Next:\"Sekva\",\"No emoji found\":\"La emoĝio forestas\",\"No results\":\"La rezulto forestas\",Objects:\"Objektoj\",\"Pause slideshow\":\"Payzi bildprezenton\",\"People & Body\":\"Homoj & Korpo\",\"Pick an emoji\":\"Elekti emoĝion \",Previous:\"Antaŭa\",Search:\"Serĉi\",\"Search results\":\"Serĉrezultoj\",\"Select a tag\":\"Elektu etikedon\",Settings:\"Agordo\",\"Settings navigation\":\"Agorda navigado\",\"Smileys & Emotion\":\"Ridoj kaj Emocioj\",\"Start slideshow\":\"Komenci bildprezenton\",Symbols:\"Signoj\",\"Travel & Places\":\"Vojaĵoj & Lokoj\",\"Unable to search the group\":\"Ne eblas serĉi en la grupo\",\"Write message, @ to mention someone …\":\"Mesaĝi, uzu @ por mencii iun ...\"}},{locale:\"es\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restringido)\",Actions:\"Acciones\",Activities:\"Actividades\",\"Animals & Nature\":\"Animales y naturaleza\",\"Avatar of {displayName}\":\"Avatar de {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar de {displayName}, {status}\",\"Cancel changes\":\"Cancelar cambios\",Choose:\"Elegir\",Close:\"Cerrar\",\"Close navigation\":\"Cerrar navegación\",\"Confirm changes\":\"Confirmar cambios\",Custom:\"Personalizado\",\"Edit item\":\"Editar elemento\",\"External documentation for {title}\":\"Documentacion externa de {title}\",Flags:\"Banderas\",\"Food & Drink\":\"Comida y bebida\",\"Frequently used\":\"Usado con frecuenca\",Global:\"Global\",\"Go back to the list\":\"Volver a la lista\",\"Message limit of {count} characters reached\":\"El mensaje ha alcanzado el límite de {count} caracteres\",Next:\"Siguiente\",\"No emoji found\":\"No hay ningún emoji\",\"No results\":\" Ningún resultado\",Objects:\"Objetos\",\"Open navigation\":\"Abrir navegación\",\"Pause slideshow\":\"Pausar la presentación \",\"People & Body\":\"Personas y cuerpos\",\"Pick an emoji\":\"Elegir un emoji\",\"Please select a time zone:\":\"Por favor elige un huso de horario:\",Previous:\"Anterior\",Search:\"Buscar\",\"Search results\":\"Resultados de la búsqueda\",\"Select a tag\":\"Seleccione una etiqueta\",Settings:\"Ajustes\",\"Settings navigation\":\"Navegación por ajustes\",\"Smileys & Emotion\":\"Smileys y emoticonos\",\"Start slideshow\":\"Iniciar la presentación\",Submit:\"Enviar\",Symbols:\"Símbolos\",\"Travel & Places\":\"Viajes y lugares\",\"Type to search time zone\":\"Escribe para buscar un huso de horario\",\"Unable to search the group\":\"No es posible buscar en el grupo\",\"Undo changes\":\"Deshacer cambios\",\"Write message, @ to mention someone …\":\"Escriba un mensaje, @ para mencionar a alguien...\"}},{locale:\"eu\",translations:{\"{tag} (invisible)\":\"{tag} (ikusezina)\",\"{tag} (restricted)\":\"{tag} (mugatua)\",Actions:\"Ekintzak\",Activities:\"Jarduerak\",\"Animals & Nature\":\"Animaliak eta Natura\",\"Avatar of {displayName}\":\"{displayName}-(e)n irudia\",\"Cancel changes\":\"Ezeztatu aldaketak\",Choose:\"Aukeratu\",Close:\"Itxi\",\"Close navigation\":\"Itxi nabigazioa\",\"Confirm changes\":\"Baieztatu aldaketak\",Custom:\"Pertsonalizatua\",\"External documentation for {title}\":\"Kanpoko dokumentazioa {title}(r)entzat\",Flags:\"Banderak\",\"Food & Drink\":\"Janaria eta edariak\",\"Frequently used\":\"Askotan erabilia\",Global:\"Globala\",\"Go back to the list\":\"Bueltatu zerrendara\",\"Message limit of {count} characters reached\":\"Mezuaren {count} karaketere-limitera heldu zara\",Next:\"Hurrengoa\",\"No emoji found\":\"Ez da emojirik aurkitu\",\"No results\":\"Emaitzarik ez\",Objects:\"Objektuak\",\"Open navigation\":\"Ireki nabigazioa\",\"Pause slideshow\":\"Pausatu diaporama\",\"People & Body\":\"Jendea eta gorputza\",\"Pick an emoji\":\"Aukeratu emoji bat\",\"Please select a time zone:\":\"Mesedez hautatu ordu-zona bat:\",Previous:\"Aurrekoa\",Search:\"Bilatu\",\"Search results\":\"Bilaketa emaitzak\",\"Select a tag\":\"Hautatu etiketa bat\",Settings:\"Ezarpenak\",\"Settings navigation\":\"Nabigazio ezarpenak\",\"Smileys & Emotion\":\"Smileyak eta emozioa\",\"Start slideshow\":\"Hasi diaporama\",Submit:\"Bidali\",Symbols:\"Sinboloak\",\"Travel & Places\":\"Bidaiak eta lekuak\",\"Type to search time zone\":\"Idatzi ordu-zona bat bilatzeko\",\"Unable to search the group\":\"Ezin izan da taldea bilatu\",\"Write message, @ to mention someone …\":\"Idatzi mezua, @ norbait aipatzeko …\"}},{locale:\"fi_FI\",translations:{\"{tag} (invisible)\":\"{tag} (näkymätön)\",\"{tag} (restricted)\":\"{tag} (rajoitettu)\",Actions:\"Toiminnot\",Activities:\"Aktiviteetit\",\"Animals & Nature\":\"Eläimet & luonto\",\"Avatar of {displayName}\":\"Käyttäjän {displayName} avatar\",\"Avatar of {displayName}, {status}\":\"Käyttäjän {displayName} avatar, {status}\",\"Cancel changes\":\"Peruuta muutokset\",Choose:\"Valitse\",Close:\"Sulje\",\"Close navigation\":\"Sulje navigaatio\",\"Confirm changes\":\"Vahvista muutokset\",Custom:\"Mukautettu\",\"Edit item\":\"Muokkaa kohdetta\",\"External documentation for {title}\":\"Ulkoinen dokumentaatio kohteelle {title}\",Flags:\"Liput\",\"Food & Drink\":\"Ruoka & juoma\",\"Frequently used\":\"Usein käytetyt\",Global:\"Yleinen\",\"Go back to the list\":\"Siirry takaisin listaan\",\"Message limit of {count} characters reached\":\"Viestin merkken enimmäisimäärä {count} täynnä \",Next:\"Seuraava\",\"No emoji found\":\"Emojia ei löytynyt\",\"No results\":\"Ei tuloksia\",Objects:\"Esineet & asiat\",\"Open navigation\":\"Avaa navigaatio\",\"Pause slideshow\":\"Keskeytä diaesitys\",\"People & Body\":\"Ihmiset & keho\",\"Pick an emoji\":\"Valitse emoji\",\"Please select a time zone:\":\"Valitse aikavyöhyke:\",Previous:\"Edellinen\",Search:\"Etsi\",\"Search results\":\"Hakutulokset\",\"Select a tag\":\"Valitse tagi\",Settings:\"Asetukset\",\"Settings navigation\":\"Asetusnavigaatio\",\"Smileys & Emotion\":\"Hymiöt & tunteet\",\"Start slideshow\":\"Aloita diaesitys\",Submit:\"Lähetä\",Symbols:\"Symbolit\",\"Travel & Places\":\"Matkustus & kohteet\",\"Type to search time zone\":\"Kirjoita etsiäksesi aikavyöhyke\",\"Unable to search the group\":\"Ryhmää ei voi hakea\",\"Undo changes\":\"Kumoa muutokset\",\"Write message, @ to mention someone …\":\"Kirjoita viesti, @ mainitaksesi jonkun...\"}},{locale:\"fr\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restreint)\",Actions:\"Actions\",Activities:\"Activités\",\"Animals & Nature\":\"Animaux & Nature\",\"Avatar of {displayName}\":\"Avatar de {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar de {displayName}, {status}\",\"Cancel changes\":\"Annuler les modifications\",Choose:\"Choisir\",Close:\"Fermer\",\"Close navigation\":\"Fermer la navigation\",\"Confirm changes\":\"Confirmer les modifications\",Custom:\"Personnalisé\",\"Edit item\":\"Éditer l'élément\",\"External documentation for {title}\":\"Documentation externe pour {title}\",Flags:\"Drapeaux\",\"Food & Drink\":\"Nourriture & Boissons\",\"Frequently used\":\"Utilisés fréquemment\",Global:\"Global\",\"Go back to the list\":\"Retourner à la liste\",\"Message limit of {count} characters reached\":\"Limite de messages de {count} caractères atteinte\",Next:\"Suivant\",\"No emoji found\":\"Pas d’émoji trouvé\",\"No results\":\"Aucun résultat\",Objects:\"Objets\",\"Open navigation\":\"Ouvrir la navigation\",\"Pause slideshow\":\"Mettre le diaporama en pause\",\"People & Body\":\"Personnes & Corps\",\"Pick an emoji\":\"Choisissez un émoji\",\"Please select a time zone:\":\"Sélectionnez un fuseau horaire : \",Previous:\"Précédent\",Search:\"Chercher\",\"Search results\":\"Résultats de recherche\",\"Select a tag\":\"Sélectionnez une balise\",Settings:\"Paramètres\",\"Settings navigation\":\"Navigation dans les paramètres\",\"Smileys & Emotion\":\"Smileys & Émotions\",\"Start slideshow\":\"Démarrer le diaporama\",Submit:\"Valider\",Symbols:\"Symboles\",\"Travel & Places\":\"Voyage & Lieux\",\"Type to search time zone\":\"Saisissez les premiers lettres pour rechercher un fuseau horaire\",\"Unable to search the group\":\"Impossible de chercher le groupe\",\"Undo changes\":\"Annuler les changements\",\"Write message, @ to mention someone …\":\"Écrivez un message, @ pour mentionner quelqu'un…\"}},{locale:\"gl\",translations:{\"{tag} (invisible)\":\"{tag} (invisíbel)\",\"{tag} (restricted)\":\"{tag} (restrinxido)\",Actions:\"Accións\",Activities:\"Actividades\",\"Animals & Nature\":\"Animais e natureza\",\"Cancel changes\":\"Cancelar os cambios\",Choose:\"Escoller\",Close:\"Pechar\",\"Confirm changes\":\"Confirma os cambios\",Custom:\"Personalizado\",\"External documentation for {title}\":\"Documentación externa para {title}\",Flags:\"Bandeiras\",\"Food & Drink\":\"Comida e bebida\",\"Frequently used\":\"Usado con frecuencia\",\"Message limit of {count} characters reached\":\"Acadouse o límite de {count} caracteres por mensaxe\",Next:\"Seguinte\",\"No emoji found\":\"Non se atopou ningún «emoji»\",\"No results\":\"Sen resultados\",Objects:\"Obxectos\",\"Pause slideshow\":\"Pausar o diaporama\",\"People & Body\":\"Persoas e corpo\",\"Pick an emoji\":\"Escolla un «emoji»\",Previous:\"Anterir\",Search:\"Buscar\",\"Search results\":\"Resultados da busca\",\"Select a tag\":\"Seleccione unha etiqueta\",Settings:\"Axustes\",\"Settings navigation\":\"Navegación polos axustes\",\"Smileys & Emotion\":\"Sorrisos e emocións\",\"Start slideshow\":\"Iniciar o diaporama\",Submit:\"Enviar\",Symbols:\"Símbolos\",\"Travel & Places\":\"Viaxes e lugares\",\"Unable to search the group\":\"Non foi posíbel buscar o grupo\",\"Write message, @ to mention someone …\":\"Escriba a mensaxe, @ para mencionar a alguén…\"}},{locale:\"he\",translations:{\"{tag} (invisible)\":\"{tag} (נסתר)\",\"{tag} (restricted)\":\"{tag} (מוגבל)\",Actions:\"פעולות\",Activities:\"פעילויות\",\"Animals & Nature\":\"חיות וטבע\",Choose:\"בחירה\",Close:\"סגירה\",Custom:\"בהתאמה אישית\",Flags:\"דגלים\",\"Food & Drink\":\"מזון ומשקאות\",\"Frequently used\":\"בשימוש תדיר\",Next:\"הבא\",\"No emoji found\":\"לא נמצא אמוג׳י\",\"No results\":\"אין תוצאות\",Objects:\"חפצים\",\"Pause slideshow\":\"השהיית מצגת\",\"People & Body\":\"אנשים וגוף\",\"Pick an emoji\":\"נא לבחור אמוג׳י\",Previous:\"הקודם\",Search:\"חיפוש\",\"Search results\":\"תוצאות חיפוש\",\"Select a tag\":\"בחירת תגית\",Settings:\"הגדרות\",\"Smileys & Emotion\":\"חייכנים ורגשונים\",\"Start slideshow\":\"התחלת המצגת\",Symbols:\"סמלים\",\"Travel & Places\":\"טיולים ומקומות\",\"Unable to search the group\":\"לא ניתן לחפש בקבוצה\"}},{locale:\"hu_HU\",translations:{\"{tag} (invisible)\":\"{tag} (láthatatlan)\",\"{tag} (restricted)\":\"{tag} (korlátozott)\",Actions:\"Műveletek\",Activities:\"Tevékenységek\",\"Animals & Nature\":\"Állatok és természet\",\"Avatar of {displayName}\":\"{displayName} profilképe\",\"Cancel changes\":\"Változtatások elvetése\",Choose:\"Válassszon\",Close:\"Bezárás\",\"Confirm changes\":\"Változtatások megerősítése\",Custom:\"Egyéni\",\"External documentation for {title}\":\"Külső dokumentáció ehhez: {title}\",Flags:\"Zászló\",\"Food & Drink\":\"Étel és ital\",\"Frequently used\":\"Gyakran használt\",Global:\"Globális\",\"Message limit of {count} characters reached\":\"{count} karakteres üzenetkorlát elérve\",Next:\"Következő\",\"No emoji found\":\"Nem található emodzsi\",\"No results\":\"Nincs találat\",Objects:\"Tárgyak\",\"Pause slideshow\":\"Diavetítés szüneteltetése\",\"People & Body\":\"Emberek és test\",\"Pick an emoji\":\"Válasszon egy emodzsit\",\"Please select a time zone:\":\"Válasszon időzónát:\",Previous:\"Előző\",Search:\"Keresés\",\"Search results\":\"Találatok\",\"Select a tag\":\"Válasszon címkét\",Settings:\"Beállítások\",\"Settings navigation\":\"Navigáció a beállításokban\",\"Smileys & Emotion\":\"Mosolyok és érzelmek\",\"Start slideshow\":\"Diavetítés indítása\",Submit:\"Beküldés\",Symbols:\"Szimbólumok\",\"Travel & Places\":\"Utazás és helyek\",\"Type to search time zone\":\"Gépeljen az időzóna kereséséhez\",\"Unable to search the group\":\"A csoport nem kereshető\",\"Write message, @ to mention someone …\":\"Írjon üzenetet, @ valaki megemlítéséhez…\"}},{locale:\"is\",translations:{\"{tag} (invisible)\":\"{tag} (ósýnilegt)\",\"{tag} (restricted)\":\"{tag} (takmarkað)\",Actions:\"Aðgerðir\",Activities:\"Aðgerðir\",\"Animals & Nature\":\"Dýr og náttúra\",Choose:\"Velja\",Close:\"Loka\",Custom:\"Sérsniðið\",Flags:\"Flögg\",\"Food & Drink\":\"Matur og drykkur\",\"Frequently used\":\"Oftast notað\",Next:\"Næsta\",\"No emoji found\":\"Ekkert tjáningartákn fannst\",\"No results\":\"Engar niðurstöður\",Objects:\"Hlutir\",\"Pause slideshow\":\"Gera hlé á skyggnusýningu\",\"People & Body\":\"Fólk og líkami\",\"Pick an emoji\":\"Veldu tjáningartákn\",Previous:\"Fyrri\",Search:\"Leita\",\"Search results\":\"Leitarniðurstöður\",\"Select a tag\":\"Veldu merki\",Settings:\"Stillingar\",\"Smileys & Emotion\":\"Broskallar og tilfinningar\",\"Start slideshow\":\"Byrja skyggnusýningu\",Symbols:\"Tákn\",\"Travel & Places\":\"Staðir og ferðalög\",\"Unable to search the group\":\"Get ekki leitað í hópnum\"}},{locale:\"it\",translations:{\"{tag} (invisible)\":\"{tag} (invisibile)\",\"{tag} (restricted)\":\"{tag} (limitato)\",Actions:\"Azioni\",Activities:\"Attività\",\"Animals & Nature\":\"Animali e natura\",\"Avatar of {displayName}\":\"Avatar di {displayName}\",\"Cancel changes\":\"Annulla modifiche\",Choose:\"Scegli\",Close:\"Chiudi\",\"Confirm changes\":\"Conferma modifiche\",Custom:\"Personalizzato\",\"External documentation for {title}\":\"Documentazione esterna per {title}\",Flags:\"Bandiere\",\"Food & Drink\":\"Cibo e bevande\",\"Frequently used\":\"Usati di frequente\",\"Message limit of {count} characters reached\":\"Limite dei messaggi di {count} caratteri raggiunto\",Next:\"Successivo\",\"No emoji found\":\"Nessun emoji trovato\",\"No results\":\"Nessun risultato\",Objects:\"Oggetti\",\"Pause slideshow\":\"Presentazione in pausa\",\"People & Body\":\"Persone e corpo\",\"Pick an emoji\":\"Scegli un emoji\",Previous:\"Precedente\",Search:\"Cerca\",\"Search results\":\"Risultati di ricerca\",\"Select a tag\":\"Seleziona un'etichetta\",Settings:\"Impostazioni\",\"Settings navigation\":\"Navigazione delle impostazioni\",\"Smileys & Emotion\":\"Faccine ed emozioni\",\"Start slideshow\":\"Avvia presentazione\",Submit:\"Invia\",Symbols:\"Simboli\",\"Travel & Places\":\"Viaggi e luoghi\",\"Unable to search the group\":\"Impossibile cercare il gruppo\",\"Write message, @ to mention someone …\":\"Scrivi messaggio, @ per menzionare qualcuno…\"}},{locale:\"ja_JP\",translations:{\"{tag} (invisible)\":\"{タグ} (不可視)\",\"{tag} (restricted)\":\"{タグ} (制限付)\",Actions:\"操作\",Activities:\"アクティビティ\",\"Animals & Nature\":\"動物と自然\",\"Avatar of {displayName}\":\"{displayName} のアバター\",\"Cancel changes\":\"変更をキャンセル\",Choose:\"選択\",Close:\"閉じる\",\"Confirm changes\":\"変更を承認\",Custom:\"カスタム\",\"External documentation for {title}\":\"{title} のための添付文書\",Flags:\"国旗\",\"Food & Drink\":\"食べ物と飲み物\",\"Frequently used\":\"よく使うもの\",Global:\"全体\",\"Message limit of {count} characters reached\":\"{count} 文字のメッセージ上限に達しています\",Next:\"次\",\"No emoji found\":\"絵文字が見つかりません\",\"No results\":\"なし\",Objects:\"物\",\"Pause slideshow\":\"スライドショーを一時停止\",\"People & Body\":\"様々な人と体の部位\",\"Pick an emoji\":\"絵文字を選択\",\"Please select a time zone:\":\"タイムゾーンを選んで下さい:\",Previous:\"前\",Search:\"検索\",\"Search results\":\"検索結果\",\"Select a tag\":\"タグを選択\",Settings:\"設定\",\"Settings navigation\":\"ナビゲーション設定\",\"Smileys & Emotion\":\"感情表現\",\"Start slideshow\":\"スライドショーを開始\",Submit:\"提出\",Symbols:\"記号\",\"Travel & Places\":\"旅行と場所\",\"Type to search time zone\":\"タイムゾーン検索のため入力してください\",\"Unable to search the group\":\"グループを検索できません\",\"Write message, @ to mention someone …\":\"メッセージを記入 @をつけるとその人に通知が行きます\"}},{locale:\"lt_LT\",translations:{\"{tag} (invisible)\":\"{tag} (nematoma)\",\"{tag} (restricted)\":\"{tag} (apribota)\",Actions:\"Veiksmai\",Activities:\"Veiklos\",\"Animals & Nature\":\"Gyvūnai ir gamta\",Choose:\"Pasirinkti\",Close:\"Užverti\",Custom:\"Tinkinti\",\"External documentation for {title}\":\"Išorinė {title} dokumentacija\",Flags:\"Vėliavos\",\"Food & Drink\":\"Maistas ir gėrimai\",\"Frequently used\":\"Dažniausiai naudoti\",\"Message limit of {count} characters reached\":\"Pasiekta {count} simbolių žinutės riba\",Next:\"Kitas\",\"No emoji found\":\"Nerasta jaustukų\",\"No results\":\"Nėra rezultatų\",Objects:\"Objektai\",\"Pause slideshow\":\"Pristabdyti skaidrių rodymą\",\"People & Body\":\"Žmonės ir kūnas\",\"Pick an emoji\":\"Pasirinkti jaustuką\",Previous:\"Ankstesnis\",Search:\"Ieškoti\",\"Search results\":\"Paieškos rezultatai\",\"Select a tag\":\"Pasirinkti žymę\",Settings:\"Nustatymai\",\"Settings navigation\":\"Naršymas nustatymuose\",\"Smileys & Emotion\":\"Šypsenos ir emocijos\",\"Start slideshow\":\"Pradėti skaidrių rodymą\",Submit:\"Pateikti\",Symbols:\"Simboliai\",\"Travel & Places\":\"Kelionės ir vietos\",\"Unable to search the group\":\"Nepavyko atlikti paiešką grupėje\",\"Write message, @ to mention someone …\":\"Rašykite žinutę, naudokite @ norėdami kažką paminėti…\"}},{locale:\"lv\",translations:{\"{tag} (invisible)\":\"{tag} (neredzams)\",\"{tag} (restricted)\":\"{tag} (ierobežots)\",Choose:\"Izvēlēties\",Close:\"Aizvērt\",Next:\"Nākamais\",\"No results\":\"Nav rezultātu\",\"Pause slideshow\":\"Pauzēt slaidrādi\",Previous:\"Iepriekšējais\",\"Select a tag\":\"Izvēlēties birku\",Settings:\"Iestatījumi\",\"Start slideshow\":\"Sākt slaidrādi\"}},{locale:\"mk\",translations:{\"{tag} (invisible)\":\"{tag} (невидливо)\",\"{tag} (restricted)\":\"{tag} (ограничено)\",Actions:\"Акции\",Activities:\"Активности\",\"Animals & Nature\":\"Животни & Природа\",Choose:\"Избери\",Close:\"Затвори\",Custom:\"Прилагодени\",Flags:\"Знамиња\",\"Food & Drink\":\"Храна & Пијалоци\",\"Frequently used\":\"Најчесто користени\",\"Message limit of {count} characters reached\":\"Ограничувањето на должината на пораката од {count} карактери е надминато\",Next:\"Следно\",\"No emoji found\":\"Не се пронајдени емотикони\",\"No results\":\"Нема резултати\",Objects:\"Објекти\",\"Pause slideshow\":\"Пузирај слајдшоу\",\"People & Body\":\"Луѓе & Тело\",\"Pick an emoji\":\"Избери емотикон\",Previous:\"Предходно\",Search:\"Барај\",\"Search results\":\"Резултати од барувањето\",\"Select a tag\":\"Избери ознака\",Settings:\"Параметри\",\"Settings navigation\":\"Параметри за навигација\",\"Smileys & Emotion\":\"Смешковци & Емотикони\",\"Start slideshow\":\"Стартувај слајдшоу\",Symbols:\"Симболи\",\"Travel & Places\":\"Патувања & Места\",\"Unable to search the group\":\"Неможе да се принајде групата\",\"Write message, @ to mention someone …\":\"Напиши порака, @ за да спомнеш некој …\"}},{locale:\"my\",translations:{\"{tag} (invisible)\":\"{tag} (ကွယ်ဝှက်ထား)\",\"{tag} (restricted)\":\"{tag} (ကန့်သတ်)\",Actions:\"လုပ်ဆောင်ချက်များ\",Activities:\"ပြုလုပ်ဆောင်တာများ\",\"Animals & Nature\":\"တိရစ္ဆာန်များနှင့် သဘာဝ\",\"Avatar of {displayName}\":\"{displayName} ၏ ကိုယ်ပွား\",\"Cancel changes\":\"ပြောင်းလဲမှုများ ပယ်ဖျက်ရန်\",Choose:\"ရွေးချယ်ရန်\",Close:\"ပိတ်ရန်\",\"Confirm changes\":\"ပြောင်းလဲမှုများ အတည်ပြုရန်\",Custom:\"အလိုကျချိန်ညှိမှု\",\"External documentation for {title}\":\"{title} အတွက် ပြင်ပ စာရွက်စာတမ်း\",Flags:\"အလံများ\",\"Food & Drink\":\"အစားအသောက်\",\"Frequently used\":\"မကြာခဏအသုံးပြုသော\",Global:\"ကမ္ဘာလုံးဆိုင်ရာ\",\"Message limit of {count} characters reached\":\"ကန့်သတ် စာလုံးရေ {count} လုံး ပြည့်ပါပြီ\",Next:\"နောက်သို့ဆက်ရန်\",\"No emoji found\":\"အီမိုဂျီ ရှာဖွေမတွေ့နိုင်ပါ\",\"No results\":\"ရလဒ်မရှိပါ\",Objects:\"အရာဝတ္ထုများ\",\"Pause slideshow\":\"စလိုက်ရှိုး ခေတ္တရပ်ရန်\",\"People & Body\":\"လူပုဂ္ဂိုလ်များနှင့် ခန္ဓာကိုယ်\",\"Pick an emoji\":\"အီမိုဂျီရွေးရန်\",\"Please select a time zone:\":\"ဒေသစံတော်ချိန် ရွေးချယ်ပေးပါ\",Previous:\"ယခင်\",Search:\"ရှာဖွေရန်\",\"Search results\":\"ရှာဖွေမှု ရလဒ်များ\",\"Select a tag\":\"tag ရွေးချယ်ရန်\",Settings:\"ချိန်ညှိချက်များ\",\"Settings navigation\":\"ချိန်ညှိချက်အညွှန်း\",\"Smileys & Emotion\":\"စမိုင်လီများနှင့် အီမိုရှင်း\",\"Start slideshow\":\"စလိုက်ရှိုးအား စတင်ရန်\",Submit:\"တင်သွင်းရန်\",Symbols:\"သင်္ကေတများ\",\"Travel & Places\":\"ခရီးသွားလာခြင်းနှင့် နေရာများ\",\"Type to search time zone\":\"ဒေသစံတော်ချိန်များ ရှာဖွေရန် စာရိုက်ပါ\",\"Unable to search the group\":\"အဖွဲ့အား ရှာဖွေ၍ မရနိုင်ပါ\",\"Write message, @ to mention someone …\":\"စာရေးသားရန်၊ တစ်စုံတစ်ဦးအား @ အသုံးပြု ရည်ညွှန်းရန်...\"}},{locale:\"nb_NO\",translations:{\"{tag} (invisible)\":\"{tag} (usynlig)\",\"{tag} (restricted)\":\"{tag} (beskyttet)\",Actions:\"Handlinger\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Dyr og natur\",\"Avatar of {displayName}\":\"Avataren til {displayName}\",\"Avatar of {displayName}, {status}\":\"{displayName}'s avatar, {status}\",\"Cancel changes\":\"Avbryt endringer\",Choose:\"Velg\",Close:\"Lukk\",\"Close navigation\":\"Lukk navigasjon\",\"Confirm changes\":\"Bekreft endringer\",Custom:\"Tilpasset\",\"Edit item\":\"Rediger\",\"External documentation for {title}\":\"Ekstern dokumentasjon for {title}\",Flags:\"Flagg\",\"Food & Drink\":\"Mat og drikke\",\"Frequently used\":\"Ofte brukt\",Global:\"Global\",\"Go back to the list\":\"Gå tilbake til listen\",\"Message limit of {count} characters reached\":\"Karakter begrensing {count} nådd i melding\",Next:\"Neste\",\"No emoji found\":\"Fant ingen emoji\",\"No results\":\"Ingen resultater\",Objects:\"Objekter\",\"Open navigation\":\"Åpne navigasjon\",\"Pause slideshow\":\"Pause lysbildefremvisning\",\"People & Body\":\"Mennesker og kropp\",\"Pick an emoji\":\"Velg en emoji\",\"Please select a time zone:\":\"Vennligst velg tidssone\",Previous:\"Forrige\",Search:\"Søk\",\"Search results\":\"Søkeresultater\",\"Select a tag\":\"Velg en merkelapp\",Settings:\"Innstillinger\",\"Settings navigation\":\"Navigasjons instillinger\",\"Smileys & Emotion\":\"Smilefjes og følelser\",\"Start slideshow\":\"Start lysbildefremvisning\",Submit:\"Send\",Symbols:\"Symboler\",\"Travel & Places\":\"Reise og steder\",\"Type to search time zone\":\"Skriv for å søke etter tidssone\",\"Unable to search the group\":\"Kunne ikke søke i gruppen\",\"Undo changes\":\"Tilbakestill endringer\",\"Write message, @ to mention someone …\":\"Bruk @ for å nevne noen i en melding\"}},{locale:\"nl\",translations:{\"{tag} (invisible)\":\"{tag} (onzichtbaar)\",\"{tag} (restricted)\":\"{tag} (beperkt)\",Actions:\"Acties\",Activities:\"Activiteiten\",\"Animals & Nature\":\"Dieren & Natuur\",\"Avatar of {displayName}\":\"Avatar van {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar van {displayName}, {status}\",\"Cancel changes\":\"Wijzigingen annuleren\",Choose:\"Kies\",Close:\"Sluiten\",\"Close navigation\":\"Navigatie sluiten\",\"Confirm changes\":\"Wijzigingen bevestigen\",Custom:\"Aangepast\",\"Edit item\":\"Item bewerken\",\"External documentation for {title}\":\"Externe documentatie voor {title}\",Flags:\"Vlaggen\",\"Food & Drink\":\"Eten & Drinken\",\"Frequently used\":\"Vaak gebruikt\",Global:\"Globaal\",\"Go back to the list\":\"Ga terug naar de lijst\",\"Message limit of {count} characters reached\":\"Berichtlimiet van {count} karakters bereikt\",Next:\"Volgende\",\"No emoji found\":\"Geen emoji gevonden\",\"No results\":\"Geen resultaten\",Objects:\"Objecten\",\"Open navigation\":\"Navigatie openen\",\"Pause slideshow\":\"Pauzeer diavoorstelling\",\"People & Body\":\"Mensen & Lichaam\",\"Pick an emoji\":\"Kies een emoji\",\"Please select a time zone:\":\"Selecteer een tijdzone:\",Previous:\"Vorige\",Search:\"Zoeken\",\"Search results\":\"Zoekresultaten\",\"Select a tag\":\"Selecteer een label\",Settings:\"Instellingen\",\"Settings navigation\":\"Instellingen navigatie\",\"Smileys & Emotion\":\"Smileys & Emotie\",\"Start slideshow\":\"Start diavoorstelling\",Submit:\"Verwerken\",Symbols:\"Symbolen\",\"Travel & Places\":\"Reizen & Plaatsen\",\"Type to search time zone\":\"Type om de tijdzone te zoeken\",\"Unable to search the group\":\"Kan niet in de groep zoeken\",\"Undo changes\":\"Wijzigingen ongedaan maken\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Schrijf bericht, @ om iemand te noemen, : voor emoji auto-aanvullen ...\"}},{locale:\"oc\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (limit)\",Actions:\"Accions\",Choose:\"Causir\",Close:\"Tampar\",Next:\"Seguent\",\"No results\":\"Cap de resultat\",\"Pause slideshow\":\"Metre en pausa lo diaporama\",Previous:\"Precedent\",\"Select a tag\":\"Seleccionar una etiqueta\",Settings:\"Paramètres\",\"Start slideshow\":\"Lançar lo diaporama\"}},{locale:\"pl\",translations:{\"{tag} (invisible)\":\"{tag} (niewidoczna)\",\"{tag} (restricted)\":\"{tag} (ograniczona)\",Actions:\"Działania\",Activities:\"Aktywność\",\"Animals & Nature\":\"Zwierzęta i natura\",\"Avatar of {displayName}\":\"Awatar {displayName}\",\"Avatar of {displayName}, {status}\":\"Awatar {displayName}, {status}\",\"Cancel changes\":\"Anuluj zmiany\",Choose:\"Wybierz\",Close:\"Zamknij\",\"Close navigation\":\"Zamknij nawigację\",\"Confirm changes\":\"Potwierdź zmiany\",Custom:\"Zwyczajne\",\"Edit item\":\"Edytuj element\",\"External documentation for {title}\":\"Dokumentacja zewnętrzna dla {title}\",Flags:\"Flagi\",\"Food & Drink\":\"Jedzenie i picie\",\"Frequently used\":\"Często używane\",Global:\"Globalnie\",\"Go back to the list\":\"Powrót do listy\",\"Message limit of {count} characters reached\":\"Przekroczono limit wiadomości wynoszący {count} znaków\",Next:\"Następny\",\"No emoji found\":\"Nie znaleziono emotikonów\",\"No results\":\"Brak wyników\",Objects:\"Obiekty\",\"Open navigation\":\"Otwórz nawigację\",\"Pause slideshow\":\"Wstrzymaj pokaz slajdów\",\"People & Body\":\"Ludzie i ciało\",\"Pick an emoji\":\"Wybierz emoji\",\"Please select a time zone:\":\"Wybierz strefę czasową:\",Previous:\"Poprzedni\",Search:\"Szukaj\",\"Search results\":\"Wyniki wyszukiwania\",\"Select a tag\":\"Wybierz etykietę\",Settings:\"Ustawienia\",\"Settings navigation\":\"Ustawienia nawigacji\",\"Smileys & Emotion\":\"Buźki i emotikony\",\"Start slideshow\":\"Rozpocznij pokaz slajdów\",Submit:\"Wyślij\",Symbols:\"Symbole\",\"Travel & Places\":\"Podróże i miejsca\",\"Type to search time zone\":\"Wpisz, aby wyszukać strefę czasową\",\"Unable to search the group\":\"Nie można przeszukać grupy\",\"Undo changes\":\"Cofnij zmiany\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Napisz wiadomość, @ aby o kimś wspomnieć, : dla autouzupełniania emotikonów…\"}},{locale:\"pt_BR\",translations:{\"{tag} (invisible)\":\"{tag} (invisível)\",\"{tag} (restricted)\":\"{tag} (restrito) \",Actions:\"Ações\",Activities:\"Atividades\",\"Animals & Nature\":\"Animais & Natureza\",\"Avatar of {displayName}\":\"Avatar de {displayName}\",\"Avatar of {displayName}, {status}\":\"Avatar de {displayName}, {status}\",\"Cancel changes\":\"Cancelar alterações\",Choose:\"Escolher\",Close:\"Fechar\",\"Close navigation\":\"Fechar navegação\",\"Confirm changes\":\"Confirmar alterações\",Custom:\"Personalizado\",\"Edit item\":\"Editar item\",\"External documentation for {title}\":\"Documentação externa para {title}\",Flags:\"Bandeiras\",\"Food & Drink\":\"Comida & Bebida\",\"Frequently used\":\"Mais usados\",Global:\"Global\",\"Go back to the list\":\"Volte para a lista\",\"Message limit of {count} characters reached\":\"Limite de mensagem de {count} caracteres atingido\",Next:\"Próximo\",\"No emoji found\":\"Nenhum emoji encontrado\",\"No results\":\"Sem resultados\",Objects:\"Objetos\",\"Open navigation\":\"Abrir navegação\",\"Pause slideshow\":\"Pausar apresentação de slides\",\"People & Body\":\"Pessoas & Corpo\",\"Pick an emoji\":\"Escolha um emoji\",\"Please select a time zone:\":\"Selecione um fuso horário: \",Previous:\"Anterior\",Search:\"Pesquisar\",\"Search results\":\"Resultados da pesquisa\",\"Select a tag\":\"Selecionar uma tag\",Settings:\"Configurações\",\"Settings navigation\":\"Navegação de configurações\",\"Smileys & Emotion\":\"Smiles & Emoções\",\"Start slideshow\":\"Iniciar apresentação de slides\",Submit:\"Enviar\",Symbols:\"Símbolo\",\"Travel & Places\":\"Viagem & Lugares\",\"Type to search time zone\":\"Digite para pesquisar o fuso horário \",\"Unable to search the group\":\"Não foi possível pesquisar o grupo\",\"Undo changes\":\"Desfazer modificações\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Escreva mensagem, @ para mencionar alguém, : para autocompleção emoji...\"}},{locale:\"pt_PT\",translations:{\"{tag} (invisible)\":\"{tag} (invisivel)\",\"{tag} (restricted)\":\"{tag} (restrito)\",Actions:\"Ações\",Choose:\"Escolher\",Close:\"Fechar\",Next:\"Seguinte\",\"No results\":\"Sem resultados\",\"Pause slideshow\":\"Pausar diaporama\",Previous:\"Anterior\",\"Select a tag\":\"Selecionar uma etiqueta\",Settings:\"Definições\",\"Start slideshow\":\"Iniciar diaporama\",\"Unable to search the group\":\"Não é possível pesquisar o grupo\"}},{locale:\"ru\",translations:{\"{tag} (invisible)\":\"{tag} (невидимое)\",\"{tag} (restricted)\":\"{tag} (ограниченное)\",Actions:\"Действия \",Activities:\"События\",\"Animals & Nature\":\"Животные и природа \",\"Avatar of {displayName}\":\"Аватар {displayName}\",\"Cancel changes\":\"Отменить изменения\",Choose:\"Выберите\",Close:\"Закрыть\",\"Confirm changes\":\"Подтвердить изменения\",Custom:\"Пользовательское\",\"External documentation for {title}\":\"Внешняя документация для {title}\",Flags:\"Флаги\",\"Food & Drink\":\"Еда, напиток\",\"Frequently used\":\"Часто используемый\",Global:\"Глобальный\",\"Message limit of {count} characters reached\":\"Достигнуто ограничение на количество символов в {count}\",Next:\"Следующее\",\"No emoji found\":\"Эмодзи не найдено\",\"No results\":\"Результаты отсуствуют\",Objects:\"Объекты\",\"Pause slideshow\":\"Приостановить показ слйдов\",\"People & Body\":\"Люди и тело\",\"Pick an emoji\":\"Выберите эмодзи\",\"Please select a time zone:\":\"Пожалуйста, выберите часовой пояс:\",Previous:\"Предыдущее\",Search:\"Поиск\",\"Search results\":\"Результаты поиска\",\"Select a tag\":\"Выберите метку\",Settings:\"Параметры\",\"Settings navigation\":\"Навигация по настройкам\",\"Smileys & Emotion\":\"Смайлики и эмоции\",\"Start slideshow\":\"Начать показ слайдов\",Submit:\"Утвердить\",Symbols:\"Символы\",\"Travel & Places\":\"Путешествия и места\",\"Type to search time zone\":\"Введите для поиска часового пояса\",\"Unable to search the group\":\"Невозможно найти группу\",\"Write message, @ to mention someone …\":\"Напишите сообщение, используйте @ чтобы упомянуть кого-то…\"}},{locale:\"sk_SK\",translations:{\"{tag} (invisible)\":\"{tag} (neviditeľný)\",\"{tag} (restricted)\":\"{tag} (obmedzený)\",Actions:\"Akcie\",Activities:\"Aktivity\",\"Animals & Nature\":\"Zvieratá a príroda\",\"Avatar of {displayName}\":\"Avatar {displayName}\",\"Cancel changes\":\"Zrušiť zmeny\",Choose:\"Vybrať\",Close:\"Zatvoriť\",\"Close navigation\":\"Zavrieť navigáciu\",\"Confirm changes\":\"Potvrdiť zmeny\",Custom:\"Zvyk\",\"Edit item\":\"Upraviť položku\",\"External documentation for {title}\":\"Externá dokumentácia pre {title}\",Flags:\"Vlajky\",\"Food & Drink\":\"Jedlo a nápoje\",\"Frequently used\":\"Často používané\",Global:\"Globálne\",\"Go back to the list\":\"Naspäť na zoznam\",\"Message limit of {count} characters reached\":\"Limit správy na {count} znakov dosiahnutý\",Next:\"Ďalší\",\"No emoji found\":\"Nenašli sa žiadne emodži\",\"No results\":\"Žiadne výsledky\",Objects:\"Objekty\",\"Open navigation\":\"Otvoriť navigáciu\",\"Pause slideshow\":\"Pozastaviť prezentáciu\",\"People & Body\":\"Ľudia a telo\",\"Pick an emoji\":\"Vyberte si emodži\",\"Please select a time zone:\":\"Prosím vyberte časovú zónu:\",Previous:\"Predchádzajúci\",Search:\"Hľadať\",\"Search results\":\"Výsledky vyhľadávania\",\"Select a tag\":\"Vybrať štítok\",Settings:\"Nastavenia\",\"Settings navigation\":\"Navigácia v nastaveniach\",\"Smileys & Emotion\":\"Smajlíky a emócie\",\"Start slideshow\":\"Začať prezentáciu\",Submit:\"Odoslať\",Symbols:\"Symboly\",\"Travel & Places\":\"Cestovanie a miesta\",\"Type to search time zone\":\"Začníte písať pre vyhľadávanie časovej zóny\",\"Unable to search the group\":\"Skupinu sa nepodarilo nájsť\",\"Undo changes\":\"Vrátiť zmeny\",\"Write message, @ to mention someone …\":\"Napíšte správu, @ pre spomenutie niekoho ...\"}},{locale:\"sl\",translations:{\"{tag} (invisible)\":\"{tag} (nevidno)\",\"{tag} (restricted)\":\"{tag} (omejeno)\",Actions:\"Dejanja\",Activities:\"Dejavnosti\",\"Animals & Nature\":\"Živali in Narava\",\"Avatar of {displayName}\":\"Podoba {displayName}\",\"Cancel changes\":\"Prekliči spremembe\",Choose:\"Izbor\",Close:\"Zapri\",\"Confirm changes\":\"Potrdi spremembe\",Custom:\"Po meri\",\"External documentation for {title}\":\"Zunanja dokumentacija za {title}\",Flags:\"Zastavice\",\"Food & Drink\":\"Hrana in Pijača\",\"Frequently used\":\"Pogostost uporabe\",Global:\"Splošno\",\"Message limit of {count} characters reached\":\"Dosežena omejitev {count} znakov na sporočilo.\",Next:\"Naslednji\",\"No emoji found\":\"Ni najdenih izraznih ikon\",\"No results\":\"Ni zadetkov\",Objects:\"Predmeti\",\"Pause slideshow\":\"Ustavi predstavitev\",\"People & Body\":\"Ljudje in Telo\",\"Pick an emoji\":\"Izbor izrazne ikone\",\"Please select a time zone:\":\"Izbor časovnega pasu:\",Previous:\"Predhodni\",Search:\"Iskanje\",\"Search results\":\"Zadetki iskanja\",\"Select a tag\":\"Izbor oznake\",Settings:\"Nastavitve\",\"Settings navigation\":\"Krmarjenje nastavitev\",\"Smileys & Emotion\":\"Izrazne ikone\",\"Start slideshow\":\"Začni predstavitev\",Submit:\"Pošlji\",Symbols:\"Simboli\",\"Travel & Places\":\"Potovanja in Kraji\",\"Type to search time zone\":\"Vpišite niz za iskanje časovnega pasu\",\"Unable to search the group\":\"Ni mogoče iskati po skupini\",\"Write message, @ to mention someone …\":\"Napišite sporočilo, z @ omenite osebo ...\"}},{locale:\"sv\",translations:{\"{tag} (invisible)\":\"{tag} (osynlig)\",\"{tag} (restricted)\":\"{tag} (begränsad)\",Actions:\"Åtgärder\",Activities:\"Aktiviteter\",\"Animals & Nature\":\"Djur & Natur\",\"Avatar of {displayName}\":\"{displayName}s avatar\",\"Avatar of {displayName}, {status}\":\"{displayName}s avatar, {status}\",\"Cancel changes\":\"Avbryt ändringar\",Choose:\"Välj\",Close:\"Stäng\",\"Close navigation\":\"Stäng navigering\",\"Confirm changes\":\"Bekräfta ändringar\",Custom:\"Anpassad\",\"Edit item\":\"Ändra\",\"External documentation for {title}\":\"Extern dokumentation för {title}\",Flags:\"Flaggor\",\"Food & Drink\":\"Mat & Dryck\",\"Frequently used\":\"Används ofta\",Global:\"Global\",\"Go back to the list\":\"Gå tillbaka till listan\",\"Message limit of {count} characters reached\":\"Meddelandegräns {count} tecken används\",Next:\"Nästa\",\"No emoji found\":\"Hittade inga emojis\",\"No results\":\"Inga resultat\",Objects:\"Objekt\",\"Open navigation\":\"Öppna navigering\",\"Pause slideshow\":\"Pausa bildspelet\",\"People & Body\":\"Kropp & Själ\",\"Pick an emoji\":\"Välj en emoji\",\"Please select a time zone:\":\"Välj tidszon:\",Previous:\"Föregående\",Search:\"Sök\",\"Search results\":\"Sökresultat\",\"Select a tag\":\"Välj en tag\",Settings:\"Inställningar\",\"Settings navigation\":\"Inställningsmeny\",\"Smileys & Emotion\":\"Selfies & Känslor\",\"Start slideshow\":\"Starta bildspelet\",Submit:\"Skicka\",Symbols:\"Symboler\",\"Travel & Places\":\"Resor & Sevärdigheter\",\"Type to search time zone\":\"Skriv för att välja tidszon\",\"Unable to search the group\":\"Kunde inte söka i gruppen\",\"Undo changes\":\"Ångra ändringar\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"Skriv meddelande, @ för att nämna någon, : för automatiska emojiförslag ...\"}},{locale:\"tr\",translations:{\"{tag} (invisible)\":\"{tag} (görünmez)\",\"{tag} (restricted)\":\"{tag} (kısıtlı)\",Actions:\"İşlemler\",Activities:\"Etkinlikler\",\"Animals & Nature\":\"Hayvanlar ve Doğa\",\"Avatar of {displayName}\":\"{displayName} avatarı\",\"Avatar of {displayName}, {status}\":\"{displayName}, {status} avatarı\",\"Cancel changes\":\"Değişiklikleri iptal et\",Choose:\"Seçin\",Close:\"Kapat\",\"Close navigation\":\"Gezinmeyi kapat\",\"Confirm changes\":\"Değişiklikleri onayla\",Custom:\"Özel\",\"Edit item\":\"Ögeyi düzenle\",\"External documentation for {title}\":\"{title} için dış belgeler\",Flags:\"Bayraklar\",\"Food & Drink\":\"Yeme ve İçme\",\"Frequently used\":\"Sık kullanılanlar\",Global:\"Evrensel\",\"Go back to the list\":\"Listeye dön\",\"Message limit of {count} characters reached\":\"{count} karakter ileti sınırına ulaşıldı\",Next:\"Sonraki\",\"No emoji found\":\"Herhangi bir emoji bulunamadı\",\"No results\":\"Herhangi bir sonuç bulunamadı\",Objects:\"Nesneler\",\"Open navigation\":\"Gezinmeyi aç\",\"Pause slideshow\":\"Slayt sunumunu duraklat\",\"People & Body\":\"İnsanlar ve Beden\",\"Pick an emoji\":\"Bir emoji seçin\",\"Please select a time zone:\":\"Lütfen bir saat dilimi seçin:\",Previous:\"Önceki\",Search:\"Arama\",\"Search results\":\"Arama sonuçları\",\"Select a tag\":\"Bir etiket seçin\",Settings:\"Ayarlar\",\"Settings navigation\":\"Gezinme ayarları\",\"Smileys & Emotion\":\"İfadeler ve Duygular\",\"Start slideshow\":\"Slayt sunumunu başlat\",Submit:\"Gönder\",Symbols:\"Simgeler\",\"Travel & Places\":\"Gezi ve Yerler\",\"Type to search time zone\":\"Saat dilimi aramak için yazmaya başlayın\",\"Unable to search the group\":\"Grupta arama yapılamadı\",\"Undo changes\":\"Değişiklikleri geri al\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"İleti yazın, birini anmak için @, otomatik emoji tamamlamak için : kullanın…\"}},{locale:\"uk\",translations:{\"{tag} (invisible)\":\"{tag} (invisible)\",\"{tag} (restricted)\":\"{tag} (restricted)\",Actions:\"Дії\",Activities:\"Діяльність\",\"Animals & Nature\":\"Тварини та природа\",Choose:\"Виберіть\",Close:\"Закрити\",Custom:\"Власне\",Flags:\"Прапори\",\"Food & Drink\":\"Їжа та напитки\",\"Frequently used\":\"Найчастіші\",Next:\"Вперед\",\"No emoji found\":\"Емоційки відсутні\",\"No results\":\"Відсутні результати\",Objects:\"Об'єкти\",\"Pause slideshow\":\"Пауза у показі слайдів\",\"People & Body\":\"Люди та жести\",\"Pick an emoji\":\"Виберіть емоційку\",Previous:\"Назад\",Search:\"Пошук\",\"Search results\":\"Результати пошуку\",\"Select a tag\":\"Виберіть позначку\",Settings:\"Налаштування\",\"Smileys & Emotion\":\"Усміхайлики та емоційки\",\"Start slideshow\":\"Почати показ слайдів\",Symbols:\"Символи\",\"Travel & Places\":\"Поїздки та місця\",\"Unable to search the group\":\"Неможливо шукати в групі\"}},{locale:\"zh_CN\",translations:{\"{tag} (invisible)\":\"{tag} (不可见)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"行为\",Activities:\"活动\",\"Animals & Nature\":\"动物 & 自然\",\"Avatar of {displayName}\":\"{displayName}的头像\",\"Avatar of {displayName}, {status}\":\"{displayName}的头像,{status}\",\"Cancel changes\":\"取消更改\",Choose:\"选择\",Close:\"关闭\",\"Close navigation\":\"关闭导航\",\"Confirm changes\":\"确认更改\",Custom:\"自定义\",\"Edit item\":\"编辑项目\",\"External documentation for {title}\":\"{title}的外部文档\",Flags:\"旗帜\",\"Food & Drink\":\"食物 & 饮品\",\"Frequently used\":\"经常使用\",Global:\"全局\",\"Go back to the list\":\"返回至列表\",\"Message limit of {count} characters reached\":\"已达到 {count} 个字符的消息限制\",Next:\"下一个\",\"No emoji found\":\"表情未找到\",\"No results\":\"无结果\",Objects:\"物体\",\"Open navigation\":\"开启导航\",\"Pause slideshow\":\"暂停幻灯片\",\"People & Body\":\"人 & 身体\",\"Pick an emoji\":\"选择一个表情\",\"Please select a time zone:\":\"请选择一个时区:\",Previous:\"上一个\",Search:\"搜索\",\"Search results\":\"搜索结果\",\"Select a tag\":\"选择一个标签\",Settings:\"设置\",\"Settings navigation\":\"设置向导\",\"Smileys & Emotion\":\"笑脸 & 情感\",\"Start slideshow\":\"开始幻灯片\",Submit:\"提交\",Symbols:\"符号\",\"Travel & Places\":\"旅游 & 地点\",\"Type to search time zone\":\"打字以搜索时区\",\"Unable to search the group\":\"无法搜索分组\",\"Undo changes\":\"撤销更改\",\"Write message, @ to mention someone, : for emoji autocompletion …\":\"写信息,@ 提到某人,: 用于表情符号自动完成 ...\"}},{locale:\"zh_HK\",translations:{\"{tag} (invisible)\":\"{tag} (隱藏)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"動作\",Activities:\"活動\",\"Animals & Nature\":\"動物與自然\",\"Avatar of {displayName}\":\"{displayName} 的頭像\",\"Avatar of {displayName}, {status}\":\"{displayName}的頭像,{status}\",\"Cancel changes\":\"取消更改\",Choose:\"選擇\",Close:\"關閉\",\"Close navigation\":\"關閉導航\",\"Confirm changes\":\"確認更改\",Custom:\"自定義\",\"Edit item\":\"編輯項目\",\"External documentation for {title}\":\"{title} 的外部文檔\",Flags:\"旗幟\",\"Food & Drink\":\"食物與飲料\",\"Frequently used\":\"經常使用\",Global:\"全球的\",\"Go back to the list\":\"返回清單\",\"Message limit of {count} characters reached\":\"已達到訊息最多 {count} 字元限制\",Next:\"下一個\",\"No emoji found\":\"未找到表情符號\",\"No results\":\"無結果\",Objects:\"物件\",\"Open navigation\":\"開啟導航\",\"Pause slideshow\":\"暫停幻燈片\",\"People & Body\":\"人物\",\"Pick an emoji\":\"選擇表情符號\",\"Please select a time zone:\":\"請選擇時區:\",Previous:\"上一個\",Search:\"搜尋\",\"Search results\":\"搜尋結果\",\"Select a tag\":\"選擇標籤\",Settings:\"設定\",\"Settings navigation\":\"設定值導覽\",\"Smileys & Emotion\":\"表情\",\"Start slideshow\":\"開始幻燈片\",Submit:\"提交\",Symbols:\"標誌\",\"Travel & Places\":\"旅遊與景點\",\"Type to search time zone\":\"鍵入以搜索時區\",\"Unable to search the group\":\"無法搜尋群組\",\"Undo changes\":\"取消更改\",\"Write message, @ to mention someone …\":\"輸入訊息時可使用 @ 來標示某人...\"}},{locale:\"zh_TW\",translations:{\"{tag} (invisible)\":\"{tag} (隱藏)\",\"{tag} (restricted)\":\"{tag} (受限)\",Actions:\"動作\",Activities:\"活動\",\"Animals & Nature\":\"動物與自然\",Choose:\"選擇\",Close:\"關閉\",Custom:\"自定義\",Flags:\"旗幟\",\"Food & Drink\":\"食物與飲料\",\"Frequently used\":\"最近使用\",\"Message limit of {count} characters reached\":\"已達到訊息最多 {count} 字元限制\",Next:\"下一個\",\"No emoji found\":\"未找到表情符號\",\"No results\":\"無結果\",Objects:\"物件\",\"Pause slideshow\":\"暫停幻燈片\",\"People & Body\":\"人物\",\"Pick an emoji\":\"選擇表情符號\",Previous:\"上一個\",Search:\"搜尋\",\"Search results\":\"搜尋結果\",\"Select a tag\":\"選擇標籤\",Settings:\"設定\",\"Settings navigation\":\"設定值導覽\",\"Smileys & Emotion\":\"表情\",\"Start slideshow\":\"開始幻燈片\",Symbols:\"標誌\",\"Travel & Places\":\"旅遊與景點\",\"Unable to search the group\":\"無法搜尋群組\",\"Write message, @ to mention someone …\":\"輸入訊息時可使用 @ 來標示某人...\"}}].forEach((function(t){var e={};for(var n in t.translations)t.translations[n].pluralId?e[n]={msgid:n,msgid_plural:t.translations[n].pluralId,msgstr:t.translations[n].msgstr}:e[n]={msgid:n,msgstr:[t.translations[n]]};i.addTranslation(t.locale,{translations:{\"\":e}})}));var o=i.build(),r=o.ngettext.bind(o),s=o.gettext.bind(o)},function(t,e){t.exports=require(\"v-tooltip\")},function(t,e){t.exports=require(\"vue\")},,function(t,e,n){\"use strict\";var a=n(0),i=n.n(a),o=n(1),r=n.n(o)()(i.a);r.push([t.i,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.popover{z-index:100000;display:block !important;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.popover__inner{padding:0;color:var(--color-main-text);border-radius:var(--border-radius);background:var(--color-main-background)}.popover__arrow{position:absolute;z-index:1;width:0;height:0;margin:10px;border-style:solid;border-color:var(--color-main-background)}.popover[x-placement^='top']{margin-bottom:10px}.popover[x-placement^='top'] .popover__arrow{bottom:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent !important;border-bottom-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='bottom']{margin-top:10px}.popover[x-placement^='bottom'] .popover__arrow{top:-10px;left:calc(50% - $arrow-width);margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent !important;border-right-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='right']{margin-left:10px}.popover[x-placement^='right'] .popover__arrow{top:calc(50% - $arrow-width);left:-10px;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent !important;border-bottom-color:transparent !important;border-left-color:transparent !important}.popover[x-placement^='left']{margin-right:10px}.popover[x-placement^='left'] .popover__arrow{top:calc(50% - $arrow-width);right:-10px;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent !important;border-right-color:transparent !important;border-bottom-color:transparent !important}.popover[aria-hidden='true']{visibility:hidden;transition:opacity var(--animation-quick),visibility var(--animation-quick);opacity:0}.popover[aria-hidden='false']{visibility:visible;transition:opacity var(--animation-quick);opacity:1}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./Popover.vue\"],names:[],mappings:\"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC0GxB,SACC,cAAe,CACf,wBAAyB,CAEzB,sDAAuD,CAEvD,gBACC,SAAU,CACV,4BAA6B,CAC7B,kCAAmC,CACnC,uCAAwC,CACxC,gBAGA,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,WApBgB,CAqBhB,kBAAmB,CACnB,yCAA0C,CApB5C,6BAwBE,kBA1BgB,CAElB,6CA2BG,YA7Be,CA8Bf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,6BAjCe,CAkCf,yCAA0C,CAC1C,0CAA2C,CAC3C,wCAAyC,CAlC5C,gCAuCE,eAzCgB,CAElB,gDA0CG,SA5Ce,CA6Cf,6BAA8B,CAC9B,YAAa,CACb,eAAgB,CAChB,6BAhDe,CAiDf,uCAAwC,CACxC,yCAA0C,CAC1C,wCAAyC,CAjD5C,+BAsDE,gBAxDgB,CAElB,+CAyDG,4BAA6B,CAC7B,UA5De,CA6Df,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,uCAAwC,CACxC,0CAA2C,CAC3C,wCAAyC,CAhE5C,8BAqEE,iBAvEgB,CAElB,8CAwEG,4BAA6B,CAC7B,WA3Ee,CA4Ef,cAAe,CACf,aAAc,CACd,6BA9Ee,CA+Ef,uCAAwC,CACxC,yCAA0C,CAC1C,0CAA2C,CA/E9C,6BAoFE,iBAAkB,CAClB,2EAA6E,CAC7E,SAAU,CAtFZ,8BA0FE,kBAAmB,CACnB,yCAA0C,CAC1C,SAAU\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"75cef38\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$arrow-width: 10px;\\n\\n.popover {\\n\\tz-index: 100000;\\n\\tdisplay: block !important;\\n\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t&__inner {\\n\\t\\tpadding: 0;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground: var(--color-main-background);\\n\\t}\\n\\n\\t&__arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: $arrow-width;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: var(--color-main-background);\\n\\t}\\n\\n\\t&[x-placement^='top'] {\\n\\t\\tmargin-bottom: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\tbottom: -$arrow-width;\\n\\t\\t\\tleft: calc(50% - $arrow-width);\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='bottom'] {\\n\\t\\tmargin-top: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: -$arrow-width;\\n\\t\\t\\tleft: calc(50% - $arrow-width);\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='right'] {\\n\\t\\tmargin-left: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: calc(50% - $arrow-width);\\n\\t\\t\\tleft: -$arrow-width;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width $arrow-width 0;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t\\tborder-left-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[x-placement^='left'] {\\n\\t\\tmargin-right: $arrow-width;\\n\\n\\t\\t.popover__arrow {\\n\\t\\t\\ttop: calc(50% - $arrow-width);\\n\\t\\t\\tright: -$arrow-width;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent !important;\\n\\t\\t\\tborder-right-color: transparent !important;\\n\\t\\t\\tborder-bottom-color: transparent !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity var(--animation-quick), visibility var(--animation-quick);\\n\\t\\topacity: 0;\\n\\t}\\n\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity var(--animation-quick);\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]),e.a=r},function(t,e){},function(t,e,n){\"use strict\";n.r(e);var a=n(5),i=n(2),o=n.n(i),r=n(12),s={insert:\"head\",singleton:!1};o()(r.a,s),r.a.locals;\n/**\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\na.VTooltip.options.defaultTemplate='<div class=\"vue-tooltip\" role=\"tooltip\" data-v-'.concat(\"75cef38\",'><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>'),a.VTooltip.options.defaultHtml=!1,a.VTooltip.options.defaultDelay={show:500,hide:200};e.default=a.VTooltip},function(t,e){t.exports=require(\"@nextcloud/l10n/dist/gettext\")},function(t,e,n){\"use strict\";var a=n(0),i=n.n(a),o=n(1),r=n.n(o)()(i.a);r.push([t.i,\".material-design-icon{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.vue-tooltip[data-v-75cef38]{position:absolute;z-index:100000;right:auto;left:auto;display:block;margin:0;margin-top:-3px;padding:10px 0;text-align:left;text-align:start;opacity:0;line-height:1.6;line-break:auto;filter:drop-shadow(0 1px 10px var(--color-box-shadow))}.vue-tooltip[data-v-75cef38][x-placement^='top'] .tooltip-arrow{bottom:0;margin-top:0;margin-bottom:0;border-width:10px 10px 0 10px;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-75cef38][x-placement^='bottom'] .tooltip-arrow{top:0;margin-top:0;margin-bottom:0;border-width:0 10px 10px 10px;border-top-color:transparent;border-right-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-75cef38][x-placement^='right'] .tooltip-arrow{right:100%;margin-right:0;margin-left:0;border-width:10px 10px 10px 0;border-top-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.vue-tooltip[data-v-75cef38][x-placement^='left'] .tooltip-arrow{left:100%;margin-right:0;margin-left:0;border-width:10px 0 10px 10px;border-top-color:transparent;border-right-color:transparent;border-bottom-color:transparent}.vue-tooltip[data-v-75cef38][aria-hidden='true']{visibility:hidden;transition:opacity .15s, visibility .15s;opacity:0}.vue-tooltip[data-v-75cef38][aria-hidden='false']{visibility:visible;transition:opacity .15s;opacity:1}.vue-tooltip[data-v-75cef38] .tooltip-inner{max-width:350px;padding:5px 8px;text-align:center;color:var(--color-main-text);border-radius:var(--border-radius);background-color:var(--color-main-background)}.vue-tooltip[data-v-75cef38] .tooltip-arrow{position:absolute;z-index:1;width:0;height:0;margin:0;border-style:solid;border-color:var(--color-main-background)}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./index.scss\"],names:[],mappings:\"AAGA,sBACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CCOxB,6BACC,iBAAkB,CAClB,cAAe,CACf,UAAW,CACX,SAAU,CACV,aAAc,CACd,QAAS,CAET,eAAgB,CAChB,cAAe,CACf,eAAgB,CAChB,gBAAiB,CACjB,SAAU,CACV,eAAgB,CAEhB,eAAgB,CAChB,sDAAuD,CAhBxD,gEAqBG,QAAS,CACT,YAAa,CACb,eAAgB,CAChB,6BA1Be,CA2Bf,8BAA+B,CAC/B,+BAAgC,CAChC,6BAA8B,CA3BjC,mEAkCG,KAAM,CACN,YAAa,CACb,eAAgB,CAChB,6BAvCe,CAwCf,4BAA6B,CAC7B,8BAA+B,CAC/B,6BAA8B,CAxCjC,kEA+CG,UAAW,CACX,cAAe,CACf,aAAc,CACd,6BAAsD,CACtD,4BAA6B,CAC7B,+BAAgC,CAChC,6BAA8B,CArDjC,iEA4DG,SAAU,CACV,cAAe,CACf,aAAc,CACd,6BAjEe,CAkEf,4BAA6B,CAC7B,8BAA+B,CAC/B,+BAAgC,CAlEnC,iDAwEE,iBAAkB,CAClB,wCAAyC,CACzC,SAAU,CA1EZ,kDA6EE,kBAAmB,CACnB,uBAAwB,CACxB,SAAU,CA/EZ,4CAoFE,eAAgB,CAChB,eAAgB,CAChB,iBAAkB,CAClB,4BAA6B,CAC7B,kCAAmC,CACnC,6CAA8C,CAzFhD,4CA8FE,iBAAkB,CAClB,SAAU,CACV,OAAQ,CACR,QAAS,CACT,QAAS,CACT,kBAAmB,CACnB,yCAA0C\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"75cef38\\\"; @import 'variables'; @import 'material-icons';\\n/**\\n* @copyright Copyright (c) 2016, John Molakvoæ <skjnldsv@protonmail.com>\\n* @copyright Copyright (c) 2016, Robin Appelman <robin@icewind.nl>\\n* @copyright Copyright (c) 2016, Jan-Christoph Borchardt <hey@jancborchardt.net>\\n* @copyright Copyright (c) 2016, Erik Pellikka <erik@pellikka.org>\\n* @copyright Copyright (c) 2015, Vincent Petry <pvince81@owncloud.com>\\n*\\n* Bootstrap v3.3.5 (http://getbootstrap.com)\\n* Copyright 2011-2015 Twitter, Inc.\\n* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\\n*/\\n\\n$arrow-width: 10px;\\n\\n.vue-tooltip[data-v-#{$scope_version}] {\\n\\tposition: absolute;\\n\\tz-index: 100000;\\n\\tright: auto;\\n\\tleft: auto;\\n\\tdisplay: block;\\n\\tmargin: 0;\\n\\t/* default to top */\\n\\tmargin-top: -3px;\\n\\tpadding: 10px 0;\\n\\ttext-align: left;\\n\\ttext-align: start;\\n\\topacity: 0;\\n\\tline-height: 1.6;\\n\\n\\tline-break: auto;\\n\\tfilter: drop-shadow(0 1px 10px var(--color-box-shadow));\\n\\n\\t// TOP\\n\\t&[x-placement^='top'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tbottom: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width 0 $arrow-width;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// BOTTOM\\n\\t&[x-placement^='bottom'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tmargin-top: 0;\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t\\tborder-width: 0 $arrow-width $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// RIGHT\\n\\t&[x-placement^='right'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tright: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width $arrow-width $arrow-width 0;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t\\tborder-left-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// LEFT\\n\\t&[x-placement^='left'] {\\n\\t\\t.tooltip-arrow {\\n\\t\\t\\tleft: 100%;\\n\\t\\t\\tmargin-right: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t\\tborder-width: $arrow-width 0 $arrow-width $arrow-width;\\n\\t\\t\\tborder-top-color: transparent;\\n\\t\\t\\tborder-right-color: transparent;\\n\\t\\t\\tborder-bottom-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t// HIDDEN / SHOWN\\n\\t&[aria-hidden='true'] {\\n\\t\\tvisibility: hidden;\\n\\t\\ttransition: opacity .15s, visibility .15s;\\n\\t\\topacity: 0;\\n\\t}\\n\\t&[aria-hidden='false'] {\\n\\t\\tvisibility: visible;\\n\\t\\ttransition: opacity .15s;\\n\\t\\topacity: 1;\\n\\t}\\n\\n\\t// CONTENT\\n\\t.tooltip-inner {\\n\\t\\tmax-width: 350px;\\n\\t\\tpadding: 5px 8px;\\n\\t\\ttext-align: center;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t}\\n\\n\\t// ARROW\\n\\t.tooltip-arrow {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tmargin: 0;\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: var(--color-main-background);\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]),e.a=r},,function(t,e,n){\"use strict\";var a={name:\"Popover\",components:{VPopover:n(5).VPopover},mounted:function(){var t=this;this.$watch((function(){return t.$refs.popover.isOpen}),(function(e){e?t.$emit(\"after-show\"):t.$emit(\"after-hide\")}))}},i=n(2),o=n.n(i),r=n(8),s={insert:\"head\",singleton:!1},l=(o()(r.a,s),r.a.locals,n(3)),c=n(9),d=n.n(c),u=Object(l.a)(a,(function(){var t=this,e=t.$createElement;return(t._self._c||e)(\"VPopover\",t._g(t._b({ref:\"popover\",attrs:{\"popover-base-class\":\"popover\",\"popover-wrapper-class\":\"popover__wrapper\",\"popover-arrow-class\":\"popover__arrow\",\"popover-inner-class\":\"popover__inner\"},scopedSlots:t._u([{key:\"popover\",fn:function(){return[t._t(\"default\")]},proxy:!0}],null,!0)},\"VPopover\",t.$attrs,!1),t.$listeners),[t._t(\"trigger\")],2)}),[],!1,null,null,null);\"function\"==typeof d.a&&d()(u);e.a=u.exports},function(t,e,n){\"use strict\";\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.a=function(t){return Math.random().toString(36).replace(/[^a-z]+/g,\"\").substr(0,t||5)}},function(t,e){t.exports=require(\"vue-material-design-icons/DotsHorizontal\")},,,function(t,e,n){\"use strict\";n.r(e);var a=n(14);\n/**\n * @copyright Copyright (c) 2019 Marco Ambrosini <marcoambrosini@pm.me>\n *\n * @author Marco Ambrosini <marcoambrosini@pm.me>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.default=a.a},,,,,,function(t,e,n){\"use strict\";var a=n(6),i=n.n(a);\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.a={before:function(){this.$slots.default&&\"\"!==this.text.trim()||(i.a.util.warn(\"\".concat(this.$options.name,\" cannot be empty and requires a meaningful text content\"),this),this.$destroy(),this.$el.remove())},beforeUpdate:function(){this.text=this.getText()},data:function(){return{text:this.getText()}},computed:{isLongText:function(){return this.text&&this.text.trim().length>20}},methods:{getText:function(){return this.$slots.default?this.$slots.default[0].text.trim():\"\"}}}},function(t,e,n){\"use strict\";var a=n(4);e.a={methods:{n:a.a,t:a.b}}},,function(t,e,n){\"use strict\";var a=n(0),i=n.n(a),o=n(1),r=n.n(o)()(i.a);r.push([t.i,\".material-design-icon[data-v-6aa4b9df]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.action-item[data-v-6aa4b9df]{position:relative;display:inline-block}.action-item--single[data-v-6aa4b9df]:hover,.action-item--single[data-v-6aa4b9df]:focus,.action-item--single[data-v-6aa4b9df]:active,.action-item__menutoggle[data-v-6aa4b9df]:hover,.action-item__menutoggle[data-v-6aa4b9df]:focus,.action-item__menutoggle[data-v-6aa4b9df]:active{opacity:1;background-color:rgba(127,127,127,0.25) !important}.action-item__menutoggle[data-v-6aa4b9df]:disabled,.action-item--single[data-v-6aa4b9df]:disabled{opacity:.3 !important}.action-item.action-item--open .action-item__menutoggle[data-v-6aa4b9df]{opacity:1;background-color:rgba(127,127,127,0.25)}.action-item--single[data-v-6aa4b9df],.action-item__menutoggle[data-v-6aa4b9df]{box-sizing:border-box;width:auto;min-width:44px;height:44px;margin:0;padding:0;cursor:pointer;border:none;border-radius:22px;background-color:transparent}.action-item--single--with-title[data-v-6aa4b9df],.action-item__menutoggle--with-title[data-v-6aa4b9df]{position:relative;padding:0 14px;padding-left:44px;white-space:nowrap;opacity:1;border:1px solid var(--color-border-dark);background-color:var(--color-background-dark);background-position:14px center;font-size:inherit}.action-item--single--with-title[data-v-6aa4b9df] span,.action-item__menutoggle--with-title[data-v-6aa4b9df] span{width:24px;height:24px;line-height:16px;position:absolute;top:0;left:0}.action-item[data-v-6aa4b9df] .material-design-icon{width:44px;height:44px;opacity:1}.action-item[data-v-6aa4b9df] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-item__menutoggle[data-v-6aa4b9df]{display:flex;align-items:center;justify-content:center;opacity:.7;font-weight:bold;line-height:16px}.action-item__menutoggle--primary[data-v-6aa4b9df]{opacity:1;color:var(--color-primary-text);border:none;background-color:var(--color-primary-element)}.action-item--open .action-item__menutoggle--primary[data-v-6aa4b9df],.action-item__menutoggle--primary[data-v-6aa4b9df]:hover,.action-item__menutoggle--primary[data-v-6aa4b9df]:focus,.action-item__menutoggle--primary[data-v-6aa4b9df]:active{color:var(--color-primary-text) !important;background-color:var(--color-primary-element-light) !important}.action-item--single[data-v-6aa4b9df]{opacity:.7}.action-item--single[data-v-6aa4b9df]:hover,.action-item--single[data-v-6aa4b9df]:focus,.action-item--single[data-v-6aa4b9df]:active{opacity:1}.action-item--single>[hidden][data-v-6aa4b9df]{display:none}.ie .action-item__menu[data-v-6aa4b9df],.ie .action-item__menu .action-item__menu_arrow[data-v-6aa4b9df],.edge .action-item__menu[data-v-6aa4b9df],.edge .action-item__menu .action-item__menu_arrow[data-v-6aa4b9df]{border:1px solid var(--color-border)}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./Actions.vue\",\"webpack://./../../assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CC+oBxB,8BACC,iBAAkB,CAClB,oBAAqB,CAIrB,sRAMC,SCvnBc,CDynBd,kDAA2C,CAC3C,kGAKA,qBAAsB,CApBxB,yEAwBE,SCnoBc,CDooBd,uCChoBgD,CDioBhD,gFAKA,qBAAsB,CACtB,UAAW,CACX,cC/pBmB,CDgqBnB,WChqBmB,CDiqBnB,QAAS,CACT,SAAU,CACV,cAAe,CACf,WAAY,CACZ,kBAAkC,CAClC,4BAA6B,CAE7B,wGACC,iBAAkB,CAClB,cClqB6C,CDmqB7C,iBC3qBkB,CD4qBlB,kBAAmB,CACnB,SC1pBa,CD2pBb,yCAA0C,CAE1C,6CAA8C,CAC9C,+BAAwC,CACxC,iBAAkB,CAVlB,kHAeC,UAAW,CACX,WAAY,CACZ,gBCrrBY,CDsrBZ,iBAAkB,CAClB,KAAM,CACN,MAAO,CA9DX,oDAoEE,UClsBmB,CDmsBnB,WCnsBmB,CDosBnB,SCjrBc,CD2mBhB,+EAyEG,qBAAsB,CACtB,0CAMD,YAAa,CACb,kBAAmB,CACnB,sBAAuB,CACvB,UC/rBiB,CDgsBjB,gBAAiB,CACjB,gBC/sBc,CDitBd,mDACC,SCnsBa,CDosBb,+BAAgC,CAChC,WAAY,CACZ,6CAA8C,CAC9C,kPAIC,0CAA2C,CAC3C,8DAA+D,CAC/D,sCAKF,UCntBiB,CDktBjB,qIAKC,SCttBa,CDitBd,+CASC,YAAa,CACb,sNAQD,oCAAqC\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"75cef38\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.action-item {\\n\\tposition: relative;\\n\\tdisplay: inline-block;\\n\\n\\t// put a grey round background when menu is opened\\n\\t// or hover-focused\\n\\t&--single:hover,\\n\\t&--single:focus,\\n\\t&--single:active,\\n\\t&__menutoggle:hover,\\n\\t&__menutoggle:focus,\\n\\t&__menutoggle:active {\\n\\t\\topacity: $opacity_full;\\n\\t\\t// good looking on dark AND white bg, override server styling\\n\\t\\tbackground-color: $icon-focus-bg !important;\\n\\t}\\n\\n\\t// TODO: handle this in the future button component\\n\\t&__menutoggle:disabled,\\n\\t&--single:disabled {\\n\\t\\topacity: .3 !important;\\n\\t}\\n\\n\\t&.action-item--open .action-item__menutoggle {\\n\\t\\topacity: $opacity_full;\\n\\t\\tbackground-color: $action-background-hover;\\n\\t}\\n\\n\\t// icons\\n\\t&--single,\\n\\t&__menutoggle {\\n\\t\\tbox-sizing: border-box;\\n\\t\\twidth: auto;\\n\\t\\tmin-width: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tcursor: pointer;\\n\\t\\tborder: none;\\n\\t\\tborder-radius: $clickable-area / 2;\\n\\t\\tbackground-color: transparent;\\n\\n\\t\\t&--with-title {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tpadding: 0 $icon-margin;\\n\\t\\t\\tpadding-left: $clickable-area;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tborder: 1px solid var(--color-border-dark);\\n\\t\\t\\t// with a title, we need to display this as a real button\\n\\t\\t\\tbackground-color: var(--color-background-dark);\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tfont-size: inherit;\\n\\n\\t\\t\\t// non-background icon class\\n\\t\\t\\t// image slot\\n\\t\\t\\t/deep/ span {\\n\\t\\t\\t\\twidth: 24px;\\n\\t\\t\\t\\theight: 24px;\\n\\t\\t\\t\\tline-height: $icon-size;\\n\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\ttop: 0;\\n\\t\\t\\t\\tleft: 0;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&::v-deep .material-design-icon {\\n\\t\\twidth: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\topacity: $opacity_full;\\n\\n\\t\\t.material-design-icon__svg {\\n\\t\\t\\tvertical-align: middle;\\n\\t\\t}\\n\\t}\\n\\n\\t// icon-more\\n\\t&__menutoggle {\\n\\t\\t// align menu icon in center\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\topacity: $opacity_normal;\\n\\t\\tfont-weight: bold;\\n\\t\\tline-height: $icon-size;\\n\\n\\t\\t&--primary {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tcolor: var(--color-primary-text);\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: var(--color-primary-element);\\n\\t\\t\\t.action-item--open &,\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus,\\n\\t\\t\\t&:active {\\n\\t\\t\\t\\tcolor: var(--color-primary-text) !important;\\n\\t\\t\\t\\tbackground-color: var(--color-primary-element-light) !important;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&--single {\\n\\t\\topacity: $opacity_normal;\\n\\t\\t&:hover,\\n\\t\\t&:focus,\\n\\t\\t&:active {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\t\\t// hide anything the slot is displaying\\n\\t\\t& > [hidden] {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n}\\n\\n.ie,\\n.edge {\\n\\t.action-item__menu,\\n\\t.action-item__menu .action-item__menu_arrow {\\n\\t\\tborder: 1px solid var(--color-border);\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),e.a=r},function(t,e){},,function(t,e,n){\"use strict\";var a=n(25),i=function(t,e){for(var n=t.$parent;n;){if(n.$options.name===e)return n;n=n.$parent}};\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.a={mixins:[a.a],props:{icon:{type:String,default:\"\"},title:{type:String,default:\"\"},closeAfterClick:{type:Boolean,default:!1},ariaLabel:{type:String,default:\"\"}},computed:{isIconUrl:function(){try{return new URL(this.icon)}catch(t){return!1}}},methods:{onClick:function(t){if(this.$emit(\"click\",t),this.closeAfterClick){var e=i(this,\"Actions\");e&&e.closeMenu&&e.closeMenu()}}}}},,,,,,function(t,e,n){\"use strict\";var a=n(16),i=n.n(a),o=n(10),r=n(15),s=n(4),l=n(19);function c(t){return function(t){if(Array.isArray(t))return d(t)}(t)||function(t){if(\"undefined\"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t[\"@@iterator\"])return Array.from(t)}(t)||function(t,e){if(!t)return;if(\"string\"==typeof t)return d(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===n&&t.constructor&&(n=t.constructor.name);if(\"Map\"===n||\"Set\"===n)return Array.from(t);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return d(t,e)}(t)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function d(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,a=new Array(e);n<e;n++)a[n]=t[n];return a}function u(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,a)}return n}function m(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?u(Object(n),!0).forEach((function(e){p(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):u(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function p(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var h={name:\"Actions\",directives:{tooltip:o.default},components:{DotsHorizontal:i.a,Popover:l.default,VNodes:{functional:!0,render:function(t,e){return e.props.vnodes}}},props:{open:{type:Boolean,default:!1},forceMenu:{type:Boolean,default:!1},forceTitle:{type:Boolean,default:!1},menuTitle:{type:String,default:null},primary:{type:Boolean,default:!1},defaultIcon:{type:String,default:\"\"},ariaLabel:{type:String,default:Object(s.b)(\"Actions\")},placement:{type:String,default:\"bottom\"},boundariesElement:{type:Element,default:function(){return document.querySelector(\"body\")}},container:{type:String,default:\"body\"},disabled:{type:Boolean,default:!1}},data:function(){return{actions:[],opened:this.open,focusIndex:0,randomId:\"menu-\"+Object(r.a)(),children:this.$children}},computed:{hasMultipleActions:function(){return this.actions.length>1},isValidSingleAction:function(){return 1===this.actions.length&&null!==this.firstActionElement},singleActionTitle:function(){return this.forceTitle?this.menuTitle:\"\"},isDisabled:function(){var t,e;return this.disabled||1===this.actions.length&&(null===(t=this.firstAction)||void 0===t||null===(e=t.$props)||void 0===e?void 0:e.disabled)},firstActionVNode:function(){return this.actions[0]},firstAction:function(){return this.children[0]?this.children[0]:{}},firstActionBinding:function(){if(this.firstActionVNode&&this.firstActionVNode.componentOptions){var t=this.firstActionVNode.componentOptions.tag;if(\"ActionLink\"===t)return m(m({is:\"a\",href:this.firstAction.href,target:this.firstAction.target,\"aria-label\":this.firstAction.ariaLabel},this.firstAction.$attrs),this.firstAction.$props);if(\"ActionRouter\"===t)return m(m({is:\"router-link\",to:this.firstAction.to,exact:this.firstAction.exact,\"aria-label\":this.firstAction.ariaLabel},this.firstAction.$attrs),this.firstAction.$props);if(\"ActionButton\"===t)return m(m({is:\"button\",\"aria-label\":this.firstAction.ariaLabel},this.firstAction.$attrs),this.firstAction.$props)}return null},firstActionEvent:function(){var t,e,n;return null===(t=this.firstActionVNode)||void 0===t||null===(e=t.componentOptions)||void 0===e||null===(n=e.listeners)||void 0===n?void 0:n.click},firstActionEventBinding:function(){return this.firstActionEvent?\"click\":null},firstActionIconSlot:function(){var t,e;return null===(t=this.firstAction)||void 0===t||null===(e=t.$slots)||void 0===e?void 0:e.icon},firstActionClass:function(){return((this.firstActionVNode&&this.firstActionVNode.data.staticClass)+\" \"+(this.firstActionVNode&&this.firstActionVNode.data.class)).trim()},iconSlotIsPopulated:function(){return!!this.$slots.icon}},watch:{open:function(t){t!==this.opened&&(this.opened=t)}},beforeMount:function(){this.initActions()},beforeUpdate:function(){this.initActions()},methods:{openMenu:function(t){this.opened||(this.opened=!0,this.$emit(\"update:open\",!0),this.$emit(\"open\"))},closeMenu:function(t){this.opened&&(this.opened=!1,this.$emit(\"update:open\",!1),this.$emit(\"close\"),this.opened=!1,this.focusIndex=0,this.$refs.menuButton.focus())},onOpen:function(t){var e=this;this.$nextTick((function(){e.focusFirstAction(t)}))},onMouseFocusAction:function(t){if(document.activeElement!==t.target){var e=t.target.closest(\"li\");if(e){var n=e.querySelector(\".focusable\");if(n){var a=c(this.$refs.menu.querySelectorAll(\".focusable\")).indexOf(n);a>-1&&(this.focusIndex=a,this.focusAction())}}}},removeCurrentActive:function(){var t=this.$refs.menu.querySelector(\"li.active\");t&&t.classList.remove(\"active\")},focusAction:function(){var t=this.$refs.menu.querySelectorAll(\".focusable\")[this.focusIndex];if(t){this.removeCurrentActive();var e=t.closest(\"li.action\");t.focus(),e&&e.classList.add(\"active\")}},focusPreviousAction:function(t){this.opened&&(0===this.focusIndex?this.closeMenu():(this.preventIfEvent(t),this.focusIndex=this.focusIndex-1),this.focusAction())},focusNextAction:function(t){if(this.opened){var e=this.$refs.menu.querySelectorAll(\".focusable\").length-1;this.focusIndex===e?this.closeMenu():(this.preventIfEvent(t),this.focusIndex=this.focusIndex+1),this.focusAction()}},focusFirstAction:function(t){this.opened&&(this.preventIfEvent(t),this.focusIndex=0,this.focusAction())},focusLastAction:function(t){this.opened&&(this.preventIfEvent(t),this.focusIndex=this.$el.querySelectorAll(\".focusable\").length-1,this.focusAction())},preventIfEvent:function(t){t&&(t.preventDefault(),t.stopPropagation())},execFirstAction:function(t){this.firstActionEvent&&this.firstActionEvent(t)},initActions:function(){this.actions=(this.$slots.default||[]).filter((function(t){return!!t&&!!t.componentOptions}))},onFocus:function(t){this.$emit(\"focus\",t)},onBlur:function(t){this.$emit(\"blur\",t)}}},g=n(2),A=n.n(g),v=n(28),C={insert:\"head\",singleton:!1},f=(A()(v.a,C),v.a.locals,n(3)),b=n(29),y=n.n(b),k=Object(f.a)(h,(function(){var t,e=this,n=e.$createElement,a=e._self._c||n;return e.isValidSingleAction&&!e.forceMenu?a(\"element\",e._b({directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:e.firstAction.text,expression:\"firstAction.text\",modifiers:{auto:!0}}],staticClass:\"action-item action-item--single\",class:(t={},t[e.firstAction.icon]=e.firstAction.icon,t[e.firstActionClass]=e.firstActionClass,t[\"action-item--single--with-title\"]=e.singleActionTitle,t),attrs:{rel:\"nofollow noreferrer noopener\",disabled:e.isDisabled},on:e._d({focus:e.onFocus,blur:e.onBlur},[e.firstActionEventBinding,e.execFirstAction])},\"element\",e.firstActionBinding,!1),[a(\"VNodes\",{attrs:{vnodes:e.firstActionIconSlot}}),e._v(\"\\n\\n\\t\"+e._s(e.singleActionTitle)+\"\\n\\n\\t\"),e._v(\" \"),a(\"span\",{attrs:{\"aria-hidden\":!0,hidden:\"\"}},[e._t(\"default\")],2)],1):a(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.hasMultipleActions||e.forceMenu,expression:\"hasMultipleActions || forceMenu\"}],staticClass:\"action-item\",class:{\"action-item--open\":e.opened}},[a(\"Popover\",{attrs:{delay:0,\"handle-resize\":!0,open:e.opened,placement:e.placement,\"boundaries-element\":e.boundariesElement,container:e.container},on:{\"update:open\":function(t){e.opened=t},show:e.openMenu,\"after-show\":e.onOpen,hide:e.closeMenu},scopedSlots:e._u([{key:\"trigger\",fn:function(){var t;return[a(\"button\",{ref:\"menuButton\",staticClass:\"icon action-item__menutoggle\",class:(t={},t[e.defaultIcon]=!e.iconSlotIsPopulated,t[\"action-item__menutoggle--with-title\"]=e.menuTitle,t[\"action-item__menutoggle--with-icon-slot\"]=e.iconSlotIsPopulated,t[\"action-item__menutoggle--default-icon\"]=!e.iconSlotIsPopulated&&\"\"===e.defaultIcon,t[\"action-item__menutoggle--primary\"]=e.primary,t),attrs:{disabled:e.disabled,\"aria-haspopup\":\"true\",\"aria-label\":e.ariaLabel,\"aria-controls\":e.randomId,\"aria-expanded\":e.opened?\"true\":\"false\",\"test-attr\":\"1\",type:\"button\"},on:{focus:e.onFocus,blur:e.onBlur}},[e.iconSlotIsPopulated?e._t(\"icon\"):\"\"===e.defaultIcon?a(\"DotsHorizontal\",{attrs:{size:20,decorative:\"\"}}):e._e(),e._v(\"\\n\\t\\t\\t\\t\"+e._s(e.menuTitle)+\"\\n\\t\\t\\t\")],2)]},proxy:!0}],null,!0)},[e._v(\" \"),a(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.opened,expression:\"opened\"}],ref:\"menu\",class:{open:e.opened},attrs:{tabindex:\"-1\"},on:{keydown:[function(t){return!t.type.indexOf(\"key\")&&e._k(t.keyCode,\"up\",38,t.key,[\"Up\",\"ArrowUp\"])||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:e.focusPreviousAction(t)},function(t){return!t.type.indexOf(\"key\")&&e._k(t.keyCode,\"down\",40,t.key,[\"Down\",\"ArrowDown\"])||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:e.focusNextAction(t)},function(t){return!t.type.indexOf(\"key\")&&e._k(t.keyCode,\"tab\",9,t.key,\"Tab\")||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:e.focusNextAction(t)},function(t){return!t.type.indexOf(\"key\")&&e._k(t.keyCode,\"tab\",9,t.key,\"Tab\")?null:t.shiftKey?t.ctrlKey||t.altKey||t.metaKey?null:e.focusPreviousAction(t):null},function(t){return!t.type.indexOf(\"key\")&&e._k(t.keyCode,\"page-up\",void 0,t.key,void 0)||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:e.focusFirstAction(t)},function(t){return!t.type.indexOf(\"key\")&&e._k(t.keyCode,\"page-down\",void 0,t.key,void 0)||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:e.focusLastAction(t)},function(t){return!t.type.indexOf(\"key\")&&e._k(t.keyCode,\"esc\",27,t.key,[\"Esc\",\"Escape\"])||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),e.closeMenu(t))}],mousemove:e.onMouseFocusAction}},[a(\"ul\",{attrs:{id:e.randomId,tabindex:\"-1\"}},[e.opened?[e._t(\"default\")]:e._e()],2)])])],1)}),[],!1,null,\"6aa4b9df\",null);\"function\"==typeof y.a&&y()(k);e.a=k.exports},,,,,,,,,,,,,,,,function(t,e,n){\"use strict\";n.r(e);var a=n(37);\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.default=a.a},,,,,,function(t,e,n){\"use strict\";\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.a=function(t){t.mounted?Array.isArray(t.mounted)||(t.mounted=[t.mounted]):t.mounted=[],t.mounted.push((function(){this.$el.setAttribute(\"data-v-\".concat(\"75cef38\"),\"\")}))}},,,function(t,e,n){\"use strict\";var a=n(0),i=n.n(a),o=n(1),r=n.n(o)()(i.a);r.push([t.i,\".material-design-icon[data-v-71ea20d2]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}li.active[data-v-71ea20d2]{background-color:var(--color-background-hover)}.action--disabled[data-v-71ea20d2]{pointer-events:none;opacity:.5}.action--disabled[data-v-71ea20d2]:hover,.action--disabled[data-v-71ea20d2]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-71ea20d2]{opacity:1 !important}.action-button[data-v-71ea20d2]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;padding-right:14px;box-sizing:border-box;cursor:pointer;white-space:nowrap;opacity:.7;color:var(--color-main-text);border:0;border-radius:0;background-color:transparent;box-shadow:none;font-weight:normal;font-size:var(--default-font-size);line-height:44px}.action-button[data-v-71ea20d2]:hover,.action-button[data-v-71ea20d2]:focus{opacity:1}.action-button>span[data-v-71ea20d2]{cursor:pointer;white-space:nowrap}.action-button__icon[data-v-71ea20d2]{width:44px;height:44px;opacity:1;background-position:14px center;background-size:16px;background-repeat:no-repeat}.action-button[data-v-71ea20d2] .material-design-icon{width:44px;height:44px;opacity:1}.action-button[data-v-71ea20d2] .material-design-icon .material-design-icon__svg{vertical-align:middle}.action-button p[data-v-71ea20d2]{max-width:220px;line-height:1.6em;padding:10.8px 0;cursor:pointer;text-align:left;overflow:hidden;text-overflow:ellipsis}.action-button__longtext[data-v-71ea20d2]{cursor:pointer;white-space:pre-wrap}.action-button__title[data-v-71ea20d2]{font-weight:bold;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%;display:inline-block}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./../../assets/action.scss\",\"webpack://./../../assets/variables.scss\"],names:[],mappings:\"AAGA,uCACC,YAAa,CACb,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,sBAAuB,CACvB,2BCiBE,8CAA+C,CAC/C,mCAMD,mBAAoB,CACpB,UCQmB,CDVpB,kFAIE,cAAe,CACf,UCKkB,CDVpB,qCAQE,oBAAqB,CACrB,gCAOD,YAAa,CACb,sBAAuB,CAEvB,UAAW,CACX,WAAY,CACZ,QAAS,CACT,SAAU,CACV,kBCtB8C,CDuB9C,qBAAsB,CAEtB,cAAe,CACf,kBAAmB,CAEnB,UClBiB,CDmBjB,4BAA6B,CAC7B,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,eAAgB,CAEhB,kBAAmB,CACnB,kCAAmC,CACnC,gBC7CmB,CDsBpB,4EA2BE,SC9Ba,CDGf,qCA+BE,cAAe,CACf,kBAAmB,CACnB,sCAGA,UC1DkB,CD2DlB,WC3DkB,CD4DlB,SCzCa,CD0Cb,+BAAwC,CACxC,oBC1Da,CD2Db,2BAA4B,CAzC9B,sDA6CE,UCnEkB,CDoElB,WCpEkB,CDqElB,SClDa,CDGf,iFAkDG,qBAAsB,CAlDzB,kCAwDE,eAAgB,CAChB,iBAAkB,CAGlB,gBAA8C,CAE9C,cAAe,CACf,eAAgB,CAGhB,eAAgB,CAChB,sBAAuB,CACvB,0CAGA,cAAe,CAEf,oBAAqB,CACrB,uCAGA,gBAAiB,CACjB,sBAAuB,CACvB,eAAgB,CAChB,kBAAmB,CACnB,cAAe,CACf,oBAAqB\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n * @author Marco Ambrosini <marcoambrosini@pm.me>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n@mixin action-active {\\n\\tli {\\n\\t\\t&.active {\\n\\t\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\t}\\n\\t}\\n}\\n\\n@mixin action--disabled {\\n\\t.action--disabled {\\n\\t\\tpointer-events: none;\\n\\t\\topacity: $opacity_disabled;\\n\\t\\t&:hover, &:focus {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\topacity: $opacity_disabled;\\n\\t\\t}\\n\\t\\t& * {\\n\\t\\t\\topacity: 1 !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n\\n@mixin action-item($name) {\\n\\t.action-#{$name} {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: flex-start;\\n\\n\\t\\twidth: 100%;\\n\\t\\theight: auto;\\n\\t\\tmargin: 0;\\n\\t\\tpadding: 0;\\n\\t\\tpadding-right: $icon-margin;\\n\\t\\tbox-sizing: border-box; // otherwise router-link overflows in Firefox\\n\\n\\t\\tcursor: pointer;\\n\\t\\twhite-space: nowrap;\\n\\n\\t\\topacity: $opacity_normal;\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\tborder: 0;\\n\\t\\tborder-radius: 0; // otherwise Safari will cut the border-radius area\\n\\t\\tbackground-color: transparent;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\tfont-weight: normal;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t\\tline-height: $clickable-area;\\n\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t}\\n\\n\\t\\t& > span {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t}\\n\\n\\t\\t&__icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\tbackground-position: $icon-margin center;\\n\\t\\t\\tbackground-size: $icon-size;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t}\\n\\n\\t\\t&::v-deep .material-design-icon {\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\topacity: $opacity_full;\\n\\n\\t\\t\\t.material-design-icon__svg {\\n\\t\\t\\t\\tvertical-align: middle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// long text area\\n\\t\\tp {\\n\\t\\t\\tmax-width: 220px;\\n\\t\\t\\tline-height: 1.6em;\\n\\n\\t\\t\\t// 14px are currently 1em line-height. Mixing units as '44px - 1.6em' does not work.\\n\\t\\t\\tpadding: #{($clickable-area - 1.6*14px) / 2} 0;\\n\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: left;\\n\\n\\t\\t\\t// in case there are no spaces like long email addresses\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t&__longtext {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\t// allow the use of `\\\\n`\\n\\t\\t\\twhite-space: pre-wrap;\\n\\t\\t}\\n\\n\\t\\t&__title {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n}\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),e.a=r},function(t,e){},,,,,,function(t,e,n){\"use strict\";var a={name:\"ActionButton\",mixins:[n(31).a],props:{disabled:{type:Boolean,default:!1}},computed:{isFocusable:function(){return!this.disabled}}},i=n(2),o=n.n(i),r=n(62),s={insert:\"head\",singleton:!1},l=(o()(r.a,s),r.a.locals,n(3)),c=n(63),d=n.n(c),u=Object(l.a)(a,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"li\",{staticClass:\"action\",class:{\"action--disabled\":t.disabled}},[n(\"button\",{staticClass:\"action-button\",class:{focusable:t.isFocusable},attrs:{\"aria-label\":t.ariaLabel,type:\"button\"},on:{click:t.onClick}},[t._t(\"icon\",[n(\"span\",{staticClass:\"action-button__icon\",class:[t.isIconUrl?\"action-button__icon--url\":t.icon],style:{backgroundImage:t.isIconUrl?\"url(\"+t.icon+\")\":null}})]),t._v(\" \"),t.title?n(\"p\",[n(\"strong\",{staticClass:\"action-button__title\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.title)+\"\\n\\t\\t\\t\")]),t._v(\" \"),n(\"br\"),t._v(\" \"),n(\"span\",{staticClass:\"action-button__longtext\",domProps:{textContent:t._s(t.text)}})]):t.isLongText?n(\"p\",{staticClass:\"action-button__longtext\",domProps:{textContent:t._s(t.text)}}):n(\"span\",{staticClass:\"action-button__text\"},[t._v(t._s(t.text))]),t._v(\" \"),t._e()],2)])}),[],!1,null,\"71ea20d2\",null);\"function\"==typeof d.a&&d()(u);e.a=u.exports},,,function(t,e){t.exports=require(\"vue-material-design-icons/Close\")},,,function(t,e){t.exports=require(\"vue-material-design-icons/ChevronRight\")},,,,function(t,e){t.exports=require(\"hammerjs\")},function(t,e,n){\"use strict\";n.r(e);var a=n(69);\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */e.default=a.a},,,,,,,,,,,,,function(t,e,n){\"use strict\";var a=n(0),i=n.n(a),o=n(1),r=n.n(o)()(i.a);r.push([t.i,\".material-design-icon[data-v-3e8e4882]{display:flex;align-self:center;justify-self:center;align-items:center;justify-content:center}.modal-mask[data-v-3e8e4882]{position:fixed;z-index:9998;top:0;left:0;display:block;width:100%;height:100%;background-color:rgba(0,0,0,0.5)}.modal-mask--dark[data-v-3e8e4882]{background-color:rgba(0,0,0,0.92)}.modal-header[data-v-3e8e4882]{position:absolute;z-index:10001;top:0;right:0;left:0;display:flex !important;align-items:center;justify-content:center;width:100%;height:50px;transition:opacity 250ms, visibility 250ms}.modal-header.invisible[style*='display:none'][data-v-3e8e4882],.modal-header.invisible[style*='display: none'][data-v-3e8e4882]{visibility:hidden}.modal-header .modal-title[data-v-3e8e4882]{overflow-x:hidden;box-sizing:border-box;width:100%;padding:0 132px 0 12px;transition:padding ease 100ms;white-space:nowrap;text-overflow:ellipsis;color:#fff;font-size:14px}@media only screen and (min-width: 512px){.modal-header .modal-title[data-v-3e8e4882]{padding-left:132px;text-align:center}}.modal-header .icons-menu[data-v-3e8e4882]{position:absolute;right:0;display:flex;align-items:center;justify-content:flex-end}.modal-header .icons-menu .header-close[data-v-3e8e4882]{display:flex;align-items:center;justify-content:center;box-sizing:border-box;margin:3px;padding:0}.modal-header .icons-menu .play-pause-icons[data-v-3e8e4882]{position:relative;width:50px;height:50px;margin:0;padding:0;cursor:pointer;border:none;background-color:transparent}.modal-header .icons-menu .play-pause-icons:hover .play-pause-icons__play[data-v-3e8e4882],.modal-header .icons-menu .play-pause-icons:hover .play-pause-icons__pause[data-v-3e8e4882],.modal-header .icons-menu .play-pause-icons:focus .play-pause-icons__play[data-v-3e8e4882],.modal-header .icons-menu .play-pause-icons:focus .play-pause-icons__pause[data-v-3e8e4882]{opacity:1;border-radius:22px;background-color:rgba(127,127,127,0.25)}.modal-header .icons-menu .play-pause-icons__play[data-v-3e8e4882],.modal-header .icons-menu .play-pause-icons__pause[data-v-3e8e4882]{box-sizing:border-box;width:44px;height:44px;margin:3px;cursor:pointer;opacity:.7}.modal-header .icons-menu .header-actions[data-v-3e8e4882]{margin:3px;color:white}.modal-header .icons-menu .action-item--single[data-v-3e8e4882]{box-sizing:border-box;width:44px;height:44px;cursor:pointer;background-position:center;background-size:22px}.modal-header .icons-menu[data-v-3e8e4882] button{color:#fff}.modal-header .icons-menu[data-v-3e8e4882] .action-item__menutoggle{padding:0}.modal-header .icons-menu[data-v-3e8e4882] .action-item__menutoggle span,.modal-header .icons-menu[data-v-3e8e4882] .action-item__menutoggle svg{width:var(--icon-size);height:var(--icon-size)}.modal-wrapper[data-v-3e8e4882]{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;height:100%}.modal-wrapper .prev[data-v-3e8e4882],.modal-wrapper .next[data-v-3e8e4882]{z-index:10000;display:flex !important;align-items:center;justify-content:center;width:8%;min-width:44px;height:35vw;position:absolute;transition:opacity 250ms, visibility 250ms}.modal-wrapper .prev.invisible[style*='display:none'][data-v-3e8e4882],.modal-wrapper .prev.invisible[style*='display: none'][data-v-3e8e4882],.modal-wrapper .next.invisible[style*='display:none'][data-v-3e8e4882],.modal-wrapper .next.invisible[style*='display: none'][data-v-3e8e4882]{visibility:hidden}.modal-wrapper .prev[data-v-3e8e4882]{left:0}.modal-wrapper .next[data-v-3e8e4882]{right:0}.modal-wrapper .icon-next[data-v-3e8e4882],.modal-wrapper .icon-previous[data-v-3e8e4882]{box-sizing:border-box;width:44px;height:44px;color:white;background-image:none;display:flex}.modal-wrapper .modal-container[data-v-3e8e4882]{display:block;overflow:auto;padding:0;transition:transform 300ms ease;border-radius:var(--border-radius-large);background-color:var(--color-main-background);box-shadow:0 0 40px rgba(0,0,0,0.2)}.modal-wrapper--small .modal-container[data-v-3e8e4882]{width:330px;max-height:90%}.modal-wrapper--normal .modal-container[data-v-3e8e4882]{max-width:90%;width:600px;max-height:90%;height:600px}.modal-wrapper--large .modal-container[data-v-3e8e4882]{max-width:90%;width:900px;max-height:90%;height:700px}.modal-wrapper--full .modal-container[data-v-3e8e4882]{width:100%;height:calc(100% - var(--header-height));position:absolute;top:50px;border-radius:0}@media only screen and (max-width: 512px){.modal-wrapper:not(.modal-wrapper--small) .modal-container[data-v-3e8e4882]{max-width:initial;width:100%;max-height:initial;height:calc(100% - var(--header-height));position:absolute;top:50px;border-radius:0}}.fade-enter-active[data-v-3e8e4882],.fade-leave-active[data-v-3e8e4882]{transition:opacity 250ms}.fade-enter[data-v-3e8e4882],.fade-leave-to[data-v-3e8e4882]{opacity:0}.fade-visibility-enter[data-v-3e8e4882],.fade-visibility-leave-to[data-v-3e8e4882]{visibility:hidden;opacity:0}.modal-in-enter-active[data-v-3e8e4882],.modal-in-leave-active[data-v-3e8e4882],.modal-out-enter-active[data-v-3e8e4882],.modal-out-leave-active[data-v-3e8e4882]{transition:opacity 250ms}.modal-in-enter[data-v-3e8e4882],.modal-in-leave-to[data-v-3e8e4882],.modal-out-enter[data-v-3e8e4882],.modal-out-leave-to[data-v-3e8e4882]{opacity:0}.modal-in-enter .modal-container[data-v-3e8e4882],.modal-in-leave-to .modal-container[data-v-3e8e4882]{transform:scale(0.9)}.modal-out-enter .modal-container[data-v-3e8e4882],.modal-out-leave-to .modal-container[data-v-3e8e4882]{transform:scale(1.1)}.modal-mask .play-pause-icons .progress-ring[data-v-3e8e4882]{position:absolute;top:0;left:0;transform:rotate(-90deg)}.modal-mask .play-pause-icons .progress-ring .progress-ring__circle[data-v-3e8e4882]{transition:100ms stroke-dashoffset;transform-origin:50% 50%;animation:progressring-data-v-3e8e4882 linear var(--slideshow-duration) infinite;stroke-linecap:round;stroke-dashoffset:94.24778;stroke-dasharray:94.24778}.modal-mask .play-pause-icons--paused .icon-pause[data-v-3e8e4882]{animation:breath-data-v-3e8e4882 2s cubic-bezier(0.4, 0, 0.2, 1) infinite}.modal-mask .play-pause-icons--paused .progress-ring__circle[data-v-3e8e4882]{animation-play-state:paused !important}@keyframes progressring-data-v-3e8e4882{from{stroke-dashoffset:94.24778}to{stroke-dashoffset:0}}@keyframes breath-data-v-3e8e4882{0%{opacity:1}50%{opacity:0}100%{opacity:1}}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/material-icons.css\",\"webpack://./Modal.vue\",\"webpack://./../../assets/variables.scss\"],names:[],mappings:\"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\",sourcesContent:[\"/*\\n* Ensure proper alignment of the vue material icons\\n*/\\n.material-design-icon {\\n\\tdisplay: flex;\\n\\talign-self: center;\\n\\tjustify-self: center;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\",\"$scope_version:\\\"75cef38\\\"; @import 'variables'; @import 'material-icons';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.modal-mask {\\n\\tposition: fixed;\\n\\tz-index: 9998;\\n\\ttop: 0;\\n\\tleft: 0;\\n\\tdisplay: block;\\n\\twidth: 100%;\\n\\theight: 100%;\\n\\tbackground-color: rgba(0, 0, 0, .5);\\n\\t&--dark {\\n\\t\\tbackground-color: rgba(0, 0, 0, .92);\\n\\t}\\n}\\n\\n.modal-header {\\n\\tposition: absolute;\\n\\tz-index: 10001;\\n\\ttop: 0;\\n\\tright: 0;\\n\\tleft: 0;\\n\\t// prevent vue show to use display:none and reseting\\n\\t// the circle animation loop\\n\\tdisplay: flex !important;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n\\twidth: 100%;\\n\\theight: $header-height;\\n\\ttransition: opacity 250ms,\\n\\t\\tvisibility 250ms;\\n\\n\\t// replace display by visibility\\n\\t&.invisible[style*='display:none'],\\n\\t&.invisible[style*='display: none'] {\\n\\t\\tvisibility: hidden;\\n\\t}\\n\\n\\t.modal-title {\\n\\t\\toverflow-x: hidden;\\n\\t\\tbox-sizing: border-box;\\n\\t\\twidth: 100%;\\n\\t\\tpadding: 0 #{$clickable-area * 3} 0 12px; // maximum actions is 3\\n\\t\\ttransition: padding ease 100ms;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\tcolor: #fff;\\n\\t\\tfont-size: $icon-margin;\\n\\t}\\n\\n\\t// On wider screens the title can be centered\\n\\t@media only screen and (min-width: $breakpoint-mobile/2) {\\n\\t\\t.modal-title {\\n\\t\\t\\tpadding-left: #{$clickable-area * 3}; // maximum actions is 3\\n\\t\\t\\ttext-align: center;\\n\\t\\t}\\n\\t}\\n\\n\\t.icons-menu {\\n\\t\\tposition: absolute;\\n\\t\\tright: 0;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: flex-end;\\n\\n\\t\\t.header-close {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tjustify-content: center;\\n\\t\\t\\tbox-sizing: border-box;\\n\\t\\t\\tmargin: ($header-height - $clickable-area) / 2;\\n\\t\\t\\tpadding: 0;\\n\\t\\t}\\n\\n\\t\\t.play-pause-icons {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\twidth: $header-height;\\n\\t\\t\\theight: $header-height;\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus {\\n\\t\\t\\t\\t.play-pause-icons__play,\\n\\t\\t\\t\\t.play-pause-icons__pause {\\n\\t\\t\\t\\t\\topacity: $opacity_full;\\n\\t\\t\\t\\t\\tborder-radius: $clickable-area / 2;\\n\\t\\t\\t\\t\\tbackground-color: $icon-focus-bg;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t&__play,\\n\\t\\t\\t&__pause {\\n\\t\\t\\t\\tbox-sizing: border-box;\\n\\t\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\t\\theight: $clickable-area;\\n\\t\\t\\t\\tmargin: ($header-height - $clickable-area) / 2;\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t\\topacity: $opacity_normal;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.header-actions {\\n\\t\\t\\tmargin: ($header-height - $clickable-area) / 2;\\n\\t\\t\\tcolor: white;\\n\\t\\t}\\n\\n\\t\\t.action-item--single {\\n\\t\\t\\tbox-sizing: border-box;\\n\\t\\t\\twidth: $clickable-area;\\n\\t\\t\\theight: $clickable-area;\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\tbackground-position: center;\\n\\t\\t\\tbackground-size: 22px;\\n\\t\\t}\\n\\n\\t\\t::v-deep button {\\n\\t\\t\\t// force white instead of default main text\\n\\t\\t\\tcolor: #fff;\\n\\t\\t}\\n\\n\\t\\t// Force the Actions menu icon to be the same size as other icons\\n\\t\\t&::v-deep .action-item__menutoggle {\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tspan, svg {\\n\\t\\t\\t\\twidth: var(--icon-size);\\n\\t\\t\\t\\theight: var(--icon-size);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\n.modal-wrapper {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n\\tbox-sizing: border-box;\\n\\twidth: 100%;\\n\\theight: 100%;\\n\\n\\t/* Navigation buttons */\\n\\t.prev,\\n\\t.next {\\n\\t\\tz-index: 10000;\\n\\t\\t// ignore display: none\\n\\t\\tdisplay: flex !important;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\twidth: 8%;\\n\\t\\tmin-width: $clickable-area;\\n\\t\\theight: 35vw;\\n\\t\\tposition: absolute;\\n\\t\\ttransition: opacity 250ms,\\n\\t\\t\\tvisibility 250ms;\\n\\n\\t\\t// we want to keep the elements on page\\n\\t\\t// even if hidden to avoid having a unbalanced\\n\\t\\t// centered content\\n\\t\\t// replace display by visibility\\n\\t\\t&.invisible[style*='display:none'],\\n\\t\\t&.invisible[style*='display: none'] {\\n\\t\\t\\tvisibility: hidden;\\n\\t\\t}\\n\\t}\\n\\t.prev {\\n\\t\\tleft: 0;\\n\\t}\\n\\t.next {\\n\\t\\tright: 0;\\n\\t}\\n\\n\\t// buttons/icons\\n\\t.icon-next,\\n\\t.icon-previous {\\n\\t\\tbox-sizing: border-box;\\n\\t\\twidth: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\tcolor: white;\\n\\t\\tbackground-image: none;\\n\\t\\tdisplay: flex;\\n\\t}\\n\\n\\t/* Content */\\n\\t.modal-container {\\n\\t\\tdisplay: block;\\n\\t\\toverflow: auto; // avoids unecessary hacks if the content should be bigger than the modal\\n\\t\\tpadding: 0;\\n\\t\\ttransition: transform 300ms ease;\\n\\t\\tborder-radius: var(--border-radius-large);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tbox-shadow: 0 0 40px rgba(0, 0, 0, .2);\\n\\t}\\n\\n\\t// Sizing\\n\\t&--small {\\n\\t\\t.modal-container {\\n\\t\\t\\twidth: 330px;\\n\\t\\t\\tmax-height: 90%;\\n\\t\\t}\\n\\t}\\n\\t&--normal {\\n\\t\\t.modal-container {\\n\\t\\t\\tmax-width: 90%;\\n\\t\\t\\twidth: 600px;\\n\\t\\t\\tmax-height: 90%;\\n\\t\\t\\theight: 600px;\\n\\t\\t}\\n\\t}\\n\\t&--large {\\n\\t\\t.modal-container {\\n\\t\\t\\tmax-width: 90%;\\n\\t\\t\\twidth: 900px;\\n\\t\\t\\tmax-height: 90%;\\n\\t\\t\\theight: 700px;\\n\\t\\t}\\n\\t}\\n\\t&--full {\\n\\t\\t.modal-container {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\theight: calc(100% - var(--header-height));\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: $header-height;\\n\\t\\t\\tborder-radius: 0;\\n\\t\\t}\\n\\t}\\n\\n\\t// Make modal full screen on mobile\\n\\t@media only screen and (max-width: $breakpoint-mobile/2) {\\n\\t\\t&:not(&--small) .modal-container {\\n\\t\\t\\tmax-width: initial;\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tmax-height: initial;\\n\\t\\t\\theight: calc(100% - var(--header-height));\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: $header-height;\\n\\t\\t\\tborder-radius: 0;\\n\\t\\t}\\n\\t}\\n}\\n\\n/* TRANSITIONS */\\n.fade-enter-active,\\n.fade-leave-active {\\n\\ttransition: opacity 250ms;\\n}\\n\\n.fade-enter,\\n.fade-leave-to {\\n\\topacity: 0;\\n}\\n\\n.fade-visibility-enter,\\n.fade-visibility-leave-to {\\n\\tvisibility: hidden;\\n\\topacity: 0;\\n}\\n\\n.modal-in-enter-active,\\n.modal-in-leave-active,\\n.modal-out-enter-active,\\n.modal-out-leave-active {\\n\\ttransition: opacity 250ms;\\n}\\n\\n.modal-in-enter,\\n.modal-in-leave-to,\\n.modal-out-enter,\\n.modal-out-leave-to {\\n\\topacity: 0;\\n}\\n\\n.modal-in-enter .modal-container,\\n.modal-in-leave-to .modal-container {\\n\\ttransform: scale(.9);\\n}\\n\\n.modal-out-enter .modal-container,\\n.modal-out-leave-to .modal-container {\\n\\ttransform: scale(1.1);\\n}\\n\\n// animated circle\\n$radius: 15;\\n$pi: 3.14159265358979;\\n\\n.modal-mask .play-pause-icons {\\n\\t.progress-ring {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 0;\\n\\t\\tleft: 0;\\n\\t\\ttransform: rotate(-90deg);\\n\\t\\t.progress-ring__circle {\\n\\t\\t\\ttransition: 100ms stroke-dashoffset;\\n\\t\\t\\ttransform-origin: 50% 50%; // axis compensation\\n\\t\\t\\tanimation: progressring linear var(--slideshow-duration) infinite;\\n\\n\\t\\t\\tstroke-linecap: round;\\n\\t\\t\\tstroke-dashoffset: $radius * 2 * $pi; // radius * 2 * PI\\n\\t\\t\\tstroke-dasharray: $radius * 2 * $pi; // radius * 2 * PI\\n\\t\\t}\\n\\t}\\n\\t&--paused {\\n\\t\\t.icon-pause {\\n\\t\\t\\tanimation: breath 2s cubic-bezier(.4, 0, .2, 1) infinite;\\n\\t\\t}\\n\\t\\t.progress-ring__circle {\\n\\t\\t\\tanimation-play-state: paused !important;\\n\\t\\t}\\n\\t}\\n}\\n\\n// keyframes get scoped too and break the animation name, we need them unscoped\\n@keyframes progressring {\\n\\tfrom {\\n\\t\\tstroke-dashoffset: $radius * 2 * $pi; // radius * 2 * PI\\n\\t}\\n\\tto {\\n\\t\\tstroke-dashoffset: 0;\\n\\t}\\n}\\n\\n@keyframes breath {\\n\\t0% {\\n\\t\\topacity: 1;\\n\\t}\\n\\t50% {\\n\\t\\topacity: 0;\\n\\t}\\n\\t100% {\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\\n\",\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\n *\\n * This program is free software: you can redistribute it and/or modify\\n * it under the terms of the GNU Affero General Public License as\\n * published by the Free Software Foundation, either version 3 of the\\n * License, or (at your option) any later version.\\n *\\n * This program is distributed in the hope that it will be useful,\\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\\n * GNU Affero General Public License for more details.\\n *\\n * You should have received a copy of the GNU Affero General Public License\\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\\n *\\n */\\n\\n// https://uxplanet.org/7-rules-for-mobile-ui-button-design-e9cf2ea54556\\n// recommended is 48px\\n// 44px is what we choose and have very good visual-to-usability ratio\\n$clickable-area: 44px;\\n\\n// background icon size\\n// also used for the scss icon font\\n$icon-size: 16px;\\n\\n// icon padding for a $clickable-area width and a $icon-size icon\\n// ( 44px - 16px ) / 2\\n$icon-margin: ($clickable-area - $icon-size) / 2;\\n\\n// transparency background for icons\\n$icon-focus-bg: rgba(127, 127, 127, .25);\\n\\n// popovermenu arrow width from the triangle center\\n$arrow-width: 9px;\\n\\n// opacities\\n$opacity_disabled: .5;\\n$opacity_normal: .7;\\n$opacity_full: 1;\\n\\n// menu round background hover feedback\\n// good looking on dark AND white bg\\n$action-background-hover: rgba(127, 127, 127, .25);\\n\\n// various structure data used in the \\n// `AppNavigation` component\\n$header-height: 50px;\\n$navigation-width: 300px;\\n\\n// mobile breakpoint\\n$breakpoint-mobile: 1024px;\\n\"],sourceRoot:\"\"}]),e.a=r},function(t,e){},,,,,,,,,,,,,,function(t,e,n){\"use strict\";n.r(e);var a=n(59),i=n(79),o=n.n(i),r=n(125),s=n.n(r),l=n(75),c=n.n(l),d=n(72),u=n.n(d),m=n(126),p=n.n(m),h=n(127),g=n.n(h),A=n(53),v=n(80),C=n(26),f=n(4),b=n(10);\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\nfunction y(t,e){var n,a,i,o=e;this.start=function(){i=!0,a=new Date,n=setTimeout(t,o)},this.pause=function(){i=!1,clearTimeout(n),o-=new Date-a},this.clear=function(){i=!1,clearTimeout(n),o=0},this.getTimeLeft=function(){return i&&(this.pause(),this.start()),o},this.getStateRunning=function(){return i},this.start()}var k={name:\"Modal\",components:{ActionButton:v.default,Actions:A.default,ChevronLeft:s.a,ChevronRight:c.a,Close:u.a,Pause:p.a,Play:g.a},directives:{tooltip:b.default},mixins:[C.a],props:{title:{type:String,default:\"\"},hasPrevious:{type:Boolean,default:!1},hasNext:{type:Boolean,default:!1},outTransition:{type:Boolean,default:!1},enableSlideshow:{type:Boolean,default:!1},clearViewDelay:{type:Number,default:5e3},slideshowDelay:{type:Number,default:5e3},slideshowPaused:{type:Boolean,default:!1},enableSwipe:{type:Boolean,default:!0},spreadNavigation:{type:Boolean,default:!1},size:{type:String,default:\"normal\",validator:function(t){return[\"small\",\"normal\",\"large\",\"full\"].includes(t)}},canClose:{type:Boolean,default:!0},dark:{type:Boolean,default:!1},container:{type:String,default:\"body\"}},data:function(){return{mc:null,showModal:!1,clearView:!1,clearViewTimeout:null,playing:!1,slideshowTimeout:null,iconSize:24}},computed:{modalTransitionName:function(){return\"modal-\".concat(this.outTransition?\"out\":\"in\")},playPauseTitle:function(){return this.playing?Object(f.b)(\"Pause slideshow\"):Object(f.b)(\"Start slideshow\")},cssVariables:function(){return{\"--slideshow-duration\":this.slideshowDelay+\"ms\",\"--icon-size\":this.iconSize+\"px\"}}},watch:{slideshowPaused:function(t){this.slideshowTimeout&&(t?this.slideshowTimeout.pause():this.slideshowTimeout.start())}},beforeMount:function(){window.addEventListener(\"keydown\",this.handleKeydown)},beforeDestroy:function(){window.removeEventListener(\"keydown\",this.handleKeydown),this.mc.off(\"swipeleft swiperight\"),this.mc.destroy()},mounted:function(){var t=this;(this.showModal=!0,this.handleMouseMove(),this.mc=new o.a(this.$refs.mask),this.mc.on(\"swipeleft swiperight\",(function(e){t.handleSwipe(e)})),\"body\"===this.container)?document.body.insertBefore(this.$el,document.body.lastChild):document.querySelector(this.container).appendChild(this.$el)},destroyed:function(){this.$el.remove()},methods:{previous:function(t){this.hasPrevious&&(t&&this.resetSlideshow(),this.$emit(\"previous\",t))},next:function(t){this.hasNext&&(t&&this.resetSlideshow(),this.$emit(\"next\",t))},close:function(t){var e=this;this.canClose&&(this.showModal=!1,setTimeout((function(){e.$emit(\"close\",t)}),300))},handleKeydown:function(t){switch(t.keyCode){case 37:this.previous(t);break;case 13:case 39:this.next(t);break;case 27:this.close(t)}},handleSwipe:function(t){this.enableSwipe&&(\"swipeleft\"===t.type?this.next(t):\"swiperight\"===t.type&&this.previous(t))},handleMouseMove:function(){var t=this;this.clearViewDelay>0&&(this.clearView=!1,clearTimeout(this.clearViewTimeout),this.clearViewTimeout=setTimeout((function(){t.clearView=!0}),this.clearViewDelay))},togglePlayPause:function(){this.playing=!this.playing,this.playing?this.handleSlideshow():this.clearSlideshowTimeout()},resetSlideshow:function(){this.playing=!this.playing,this.clearSlideshowTimeout(),this.$nextTick((function(){this.togglePlayPause()}))},handleSlideshow:function(){var t=this;this.playing=!0,this.hasNext?this.slideshowTimeout=new y((function(){t.next(),t.handleSlideshow()}),this.slideshowDelay):(this.playing=!1,this.clearSlideshowTimeout())},clearSlideshowTimeout:function(){this.slideshowTimeout&&this.slideshowTimeout.clear()}}},B=n(2),w=n.n(B),S=n(93),x={insert:\"head\",singleton:!1},j=(w()(S.a,x),S.a.locals,n(3)),N=n(94),z=n.n(N),P=Object(j.a)(k,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"transition\",{attrs:{name:\"fade\"}},[n(\"div\",{ref:\"mask\",staticClass:\"modal-mask\",class:{\"modal-mask--dark\":t.dark},style:t.cssVariables,on:{click:t.handleMouseMove,mousemove:t.handleMouseMove,touchmove:t.handleMouseMove}},[n(\"transition\",{attrs:{name:\"fade-visibility\"}},[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:!t.clearView,expression:\"!clearView\"}],staticClass:\"modal-header\",class:{invisible:t.clearView}},[\"\"!==t.title.trim()?n(\"div\",{staticClass:\"modal-title\"},[t._v(\"\\n\\t\\t\\t\\t\\t\"+t._s(t.title)+\"\\n\\t\\t\\t\\t\")]):t._e(),t._v(\" \"),n(\"div\",{staticClass:\"icons-menu\"},[t.hasNext&&t.enableSlideshow?n(\"button\",{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:t.playPauseTitle,expression:\"playPauseTitle\",modifiers:{auto:!0}}],staticClass:\"play-pause-icons\",class:{\"play-pause-icons--paused\":t.slideshowPaused},attrs:{type:\"button\"},on:{click:t.togglePlayPause}},[t.playing?n(\"Pause\",{staticClass:\"play-pause-icons__pause\",attrs:{size:t.iconSize,title:\"\",decorative:\"\"}}):n(\"Play\",{staticClass:\"play-pause-icons__play\",attrs:{size:t.iconSize,title:\"\",decorative:\"\"}}),t._v(\" \"),n(\"span\",{staticClass:\"hidden-visually\"},[t._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\"+t._s(t.playPauseTitle)+\"\\n\\t\\t\\t\\t\\t\\t\")]),t._v(\" \"),t.playing?n(\"svg\",{staticClass:\"progress-ring\",attrs:{height:\"50\",width:\"50\"}},[n(\"circle\",{staticClass:\"progress-ring__circle\",attrs:{stroke:\"white\",\"stroke-width\":\"2\",fill:\"transparent\",r:\"15\",cx:\"25\",cy:\"25\"}})]):t._e()],1):t._e(),t._v(\" \"),n(\"Actions\",{staticClass:\"header-actions\"},[t._t(\"actions\")],2),t._v(\" \"),t.canClose?n(\"Actions\",{staticClass:\"header-close\"},[n(\"ActionButton\",{on:{click:t.close},scopedSlots:t._u([{key:\"icon\",fn:function(){return[n(\"Close\",{attrs:{size:t.iconSize,title:\"\",decorative:\"\"}})]},proxy:!0}],null,!1,1372351874)},[t._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\"+t._s(t.t(\"Close\"))+\"\\n\\t\\t\\t\\t\\t\\t\")])],1):t._e()],1)])]),t._v(\" \"),n(\"transition\",{attrs:{name:t.modalTransitionName}},[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.showModal,expression:\"showModal\"}],staticClass:\"modal-wrapper\",class:[\"modal-wrapper--\"+t.size,t.spreadNavigation?\"modal-wrapper--spread-navigation\":\"\"],on:{mousedown:function(e){return e.target!==e.currentTarget?null:t.close(e)}}},[n(\"transition\",{attrs:{name:\"fade-visibility\"}},[n(\"a\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.hasPrevious&&!t.clearView,expression:\"hasPrevious && !clearView\"}],staticClass:\"prev\",class:{invisible:t.clearView||!t.hasPrevious},attrs:{href:\"#\"},on:{click:function(e){return e.preventDefault(),e.stopPropagation(),t.previous(e)}}},[n(\"span\",{staticClass:\"icon-previous\"},[n(\"ChevronLeft\",{attrs:{size:40,title:\"\",decorative:\"\"}}),t._v(\" \"),n(\"span\",{staticClass:\"hidden-visually\"},[t._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\"+t._s(t.t(\"Previous\"))+\"\\n\\t\\t\\t\\t\\t\\t\\t\")])],1)])]),t._v(\" \"),n(\"div\",{staticClass:\"modal-container\"},[t._t(\"default\")],2),t._v(\" \"),n(\"transition\",{attrs:{name:\"fade-visibility\"}},[n(\"a\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.hasNext&&!t.clearView,expression:\"hasNext && !clearView\"}],staticClass:\"next\",class:{invisible:t.clearView||!t.hasNext},attrs:{href:\"#\"},on:{click:function(e){return e.preventDefault(),e.stopPropagation(),t.next(e)}}},[n(\"span\",{staticClass:\"icon-next\"},[n(\"ChevronRight\",{attrs:{size:40,title:\"\",decorative:\"\"}}),t._v(\" \"),n(\"span\",{staticClass:\"hidden-visually\"},[t._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\"+t._s(t.t(\"Next\"))+\"\\n\\t\\t\\t\\t\\t\\t\\t\")])],1)])])],1)])],1)])}),[],!1,null,\"3e8e4882\",null);\"function\"==typeof z.a&&z()(P);var _=P.exports;\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */Object(a.a)(_);e.default=_},,,,,,,,,,,,,,,,,function(t,e){t.exports=require(\"vue-material-design-icons/ChevronLeft\")},function(t,e){t.exports=require(\"vue-material-design-icons/Pause\")},function(t,e){t.exports=require(\"vue-material-design-icons/Play\")}])}));\n//# sourceMappingURL=Modal.js.map","'use strict';\n\nvar possibleNames = [\n\t'BigInt64Array',\n\t'BigUint64Array',\n\t'Float32Array',\n\t'Float64Array',\n\t'Int16Array',\n\t'Int32Array',\n\t'Int8Array',\n\t'Uint16Array',\n\t'Uint32Array',\n\t'Uint8Array',\n\t'Uint8ClampedArray'\n];\n\nvar g = typeof globalThis === 'undefined' ? global : globalThis;\n\nmodule.exports = function availableTypedArrays() {\n\tvar out = [];\n\tfor (var i = 0; i < possibleNames.length; i++) {\n\t\tif (typeof g[possibleNames[i]] === 'function') {\n\t\t\tout[out.length] = possibleNames[i];\n\t\t}\n\t}\n\treturn out;\n};\n","module.exports = require('./lib/axios');","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\nvar defaults = require('../defaults');\nvar Cancel = require('../cancel/Cancel');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n var responseType = config.responseType;\n var onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(createError('Request aborted', config, 'ECONNABORTED', request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n var transitional = config.transitional || defaults.transitional;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(createError(\n timeoutErrorMessage,\n config,\n transitional.clarifyTimeoutError ? 'ETIMEDOUT' : 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = function(cancel) {\n if (!request) {\n return;\n }\n reject(!cancel || (cancel && cancel.type) ? new Cancel('canceled') : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\naxios.VERSION = require('./env/data').version;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\n// Expose isAxiosError\naxios.isAxiosError = require('./helpers/isAxiosError');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(function(cancel) {\n if (!token._listeners) return;\n\n var i;\n var l = token._listeners.length;\n\n for (i = 0; i < l; i++) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = function(onfulfilled) {\n var _resolve;\n // eslint-disable-next-line func-names\n var promise = new Promise(function(resolve) {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Subscribe to the cancel signal\n */\n\nCancelToken.prototype.subscribe = function subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n};\n\n/**\n * Unsubscribe from the cancel signal\n */\n\nCancelToken.prototype.unsubscribe = function unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n var index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\nvar validator = require('../helpers/validator');\n\nvar validators = validator.validators;\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = arguments[1] || {};\n config.url = arguments[0];\n } else {\n config = config || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n var transitional = config.transitional;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n // filter out skipped interceptors\n var requestInterceptorChain = [];\n var synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n var responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n var promise;\n\n if (!synchronousRequestInterceptors) {\n var chain = [dispatchRequest, undefined];\n\n Array.prototype.unshift.apply(chain, requestInterceptorChain);\n chain = chain.concat(responseInterceptorChain);\n\n promise = Promise.resolve(config);\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n }\n\n\n var newConfig = config;\n while (requestInterceptorChain.length) {\n var onFulfilled = requestInterceptorChain.shift();\n var onRejected = requestInterceptorChain.shift();\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected(error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest(newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n while (responseInterceptorChain.length) {\n promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar Cancel = require('../cancel/Cancel');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new Cancel('canceled');\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n };\n return error;\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(prop) {\n if (prop in config2) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n var mergeMap = {\n 'url': valueFromConfig2,\n 'method': valueFromConfig2,\n 'data': valueFromConfig2,\n 'baseURL': defaultToConfig2,\n 'transformRequest': defaultToConfig2,\n 'transformResponse': defaultToConfig2,\n 'paramsSerializer': defaultToConfig2,\n 'timeout': defaultToConfig2,\n 'timeoutMessage': defaultToConfig2,\n 'withCredentials': defaultToConfig2,\n 'adapter': defaultToConfig2,\n 'responseType': defaultToConfig2,\n 'xsrfCookieName': defaultToConfig2,\n 'xsrfHeaderName': defaultToConfig2,\n 'onUploadProgress': defaultToConfig2,\n 'onDownloadProgress': defaultToConfig2,\n 'decompress': defaultToConfig2,\n 'maxContentLength': defaultToConfig2,\n 'maxBodyLength': defaultToConfig2,\n 'transport': defaultToConfig2,\n 'httpAgent': defaultToConfig2,\n 'httpsAgent': defaultToConfig2,\n 'cancelToken': defaultToConfig2,\n 'socketPath': defaultToConfig2,\n 'responseEncoding': defaultToConfig2,\n 'validateStatus': mergeDirectKeys\n };\n\n utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n var merge = mergeMap[prop] || mergeDeepProperties;\n var configValue = merge(prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n};\n","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar defaults = require('./../defaults');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n var context = this || defaults;\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn.call(context, data, headers);\n });\n\n return data;\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\nvar enhanceError = require('./core/enhanceError');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nvar defaults = {\n\n transitional: {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n },\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data) || (headers && headers['Content-Type'] === 'application/json')) {\n setContentTypeIfUnset(headers, 'application/json');\n return stringifySafely(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n var transitional = this.transitional || defaults.transitional;\n var silentJSONParsing = transitional && transitional.silentJSONParsing;\n var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';\n\n if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw enhanceError(e, this, 'E_JSON_PARSE');\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","module.exports = {\n \"version\": \"0.24.0\"\n};","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n","'use strict';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return (typeof payload === 'object') && (payload.isAxiosError === true);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","'use strict';\n\nvar VERSION = require('../env/data').version;\n\nvar validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nvar deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return function(value, opt, opts) {\n if (validator === false) {\n throw new Error(formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')));\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new TypeError('options must be an object');\n }\n var keys = Object.keys(options);\n var i = keys.length;\n while (i-- > 0) {\n var opt = keys[i];\n var validator = schema[opt];\n if (validator) {\n var value = options[opt];\n var result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new TypeError('option ' + opt + ' must be ' + result);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw Error('Unknown option ' + opt);\n }\n }\n}\n\nmodule.exports = {\n assertOptions: assertOptions,\n validators: validators\n};\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (toString.call(val) !== '[object Object]') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar callBind = require('./');\n\nvar $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));\n\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\tvar intrinsic = GetIntrinsic(name, !!allowMissing);\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBind(intrinsic);\n\t}\n\treturn intrinsic;\n};\n","'use strict';\n\nvar bind = require('function-bind');\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $apply = GetIntrinsic('%Function.prototype.apply%');\nvar $call = GetIntrinsic('%Function.prototype.call%');\nvar $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply);\n\nvar $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true);\nvar $max = GetIntrinsic('%Math.max%');\n\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = null;\n\t}\n}\n\nmodule.exports = function callBind(originalFunction) {\n\tvar func = $reflectApply(bind, $call, arguments);\n\tif ($gOPD && $defineProperty) {\n\t\tvar desc = $gOPD(func, 'length');\n\t\tif (desc.configurable) {\n\t\t\t// original length, plus the receiver, minus any additional arguments (after the receiver)\n\t\t\t$defineProperty(\n\t\t\t\tfunc,\n\t\t\t\t'length',\n\t\t\t\t{ value: 1 + $max(0, originalFunction.length - (arguments.length - 1)) }\n\t\t\t);\n\t\t}\n\t}\n\treturn func;\n};\n\nvar applyBind = function applyBind() {\n\treturn $reflectApply(bind, $apply, arguments);\n};\n\nif ($defineProperty) {\n\t$defineProperty(module.exports, 'apply', { value: applyBind });\n} else {\n\tmodule.exports.apply = applyBind;\n}\n","/*global window, global*/\nvar util = require(\"util\")\nvar assert = require(\"assert\")\nfunction now() { return new Date().getTime() }\n\nvar slice = Array.prototype.slice\nvar console\nvar times = {}\n\nif (typeof global !== \"undefined\" && global.console) {\n console = global.console\n} else if (typeof window !== \"undefined\" && window.console) {\n console = window.console\n} else {\n console = {}\n}\n\nvar functions = [\n [log, \"log\"],\n [info, \"info\"],\n [warn, \"warn\"],\n [error, \"error\"],\n [time, \"time\"],\n [timeEnd, \"timeEnd\"],\n [trace, \"trace\"],\n [dir, \"dir\"],\n [consoleAssert, \"assert\"]\n]\n\nfor (var i = 0; i < functions.length; i++) {\n var tuple = functions[i]\n var f = tuple[0]\n var name = tuple[1]\n\n if (!console[name]) {\n console[name] = f\n }\n}\n\nmodule.exports = console\n\nfunction log() {}\n\nfunction info() {\n console.log.apply(console, arguments)\n}\n\nfunction warn() {\n console.log.apply(console, arguments)\n}\n\nfunction error() {\n console.warn.apply(console, arguments)\n}\n\nfunction time(label) {\n times[label] = now()\n}\n\nfunction timeEnd(label) {\n var time = times[label]\n if (!time) {\n throw new Error(\"No such label: \" + label)\n }\n\n delete times[label]\n var duration = now() - time\n console.log(label + \": \" + duration + \"ms\")\n}\n\nfunction trace() {\n var err = new Error()\n err.name = \"Trace\"\n err.message = util.format.apply(null, arguments)\n console.error(err.stack)\n}\n\nfunction dir(object) {\n console.log(util.inspect(object) + \"\\n\")\n}\n\nfunction consoleAssert(expression) {\n if (!expression) {\n var arr = slice.call(arguments, 1)\n assert.ok(false, util.format.apply(null, arr))\n }\n}\n","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n } return it;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar definePropertyModule = require('../internals/object-define-property');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\n\n// `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? charAt(S, index).length : 1);\n};\n","module.exports = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n } return it;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","'use strict';\nvar $forEach = require('../internals/array-iteration').forEach;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.github.io/ecma262/#sec-array.prototype.foreach\nmodule.exports = (!STRICT_METHOD || !USES_TO_LENGTH) ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n} : [].forEach;\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var bind = require('../internals/function-bind-context');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = [].push;\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push.call(target, value); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6)\n};\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call,no-throw-literal\n method.call(null, argument || function () { throw 1; }, 1);\n });\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\n\nvar defineProperty = Object.defineProperty;\nvar cache = {};\n\nvar thrower = function (it) { throw it; };\n\nmodule.exports = function (METHOD_NAME, options) {\n if (has(cache, METHOD_NAME)) return cache[METHOD_NAME];\n if (!options) options = {};\n var method = [][METHOD_NAME];\n var ACCESSORS = has(options, 'ACCESSORS') ? options.ACCESSORS : false;\n var argument0 = has(options, 0) ? options[0] : thrower;\n var argument1 = has(options, 1) ? options[1] : undefined;\n\n return cache[METHOD_NAME] = !!method && !fails(function () {\n if (ACCESSORS && !DESCRIPTORS) return true;\n var O = { length: -1 };\n\n if (ACCESSORS) defineProperty(O, 1, { enumerable: true, get: thrower });\n else O[1] = 1;\n\n method.call(O, argument0, argument1);\n });\n};\n","var isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.github.io/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n","var anObject = require('../internals/an-object');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (error) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined) anObject(returnMethod.call(iterator));\n throw error;\n }\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line no-throw-literal\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\nvar create = require('../internals/object-create');\nvar redefineAll = require('../internals/redefine-all');\nvar bind = require('../internals/function-bind-context');\nvar anInstance = require('../internals/an-instance');\nvar iterate = require('../internals/iterate');\nvar defineIterator = require('../internals/define-iterator');\nvar setSpecies = require('../internals/set-species');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fastKey = require('../internals/internal-metadata').fastKey;\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\n\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, CONSTRUCTOR_NAME);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n index: create(null),\n first: undefined,\n last: undefined,\n size: 0\n });\n if (!DESCRIPTORS) that.size = 0;\n if (iterable != undefined) iterate(iterable, that[ADDER], that, IS_MAP);\n });\n\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n var previous, index;\n // change existing entry\n if (entry) {\n entry.value = value;\n // create new entry\n } else {\n state.last = entry = {\n index: index = fastKey(key, true),\n key: key,\n value: value,\n previous: previous = state.last,\n next: undefined,\n removed: false\n };\n if (!state.first) state.first = entry;\n if (previous) previous.next = entry;\n if (DESCRIPTORS) state.size++;\n else that.size++;\n // add to index\n if (index !== 'F') state.index[index] = entry;\n } return that;\n };\n\n var getEntry = function (that, key) {\n var state = getInternalState(that);\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return state.index[index];\n // frozen object case\n for (entry = state.first; entry; entry = entry.next) {\n if (entry.key == key) return entry;\n }\n };\n\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear() {\n var that = this;\n var state = getInternalState(that);\n var data = state.index;\n var entry = state.first;\n while (entry) {\n entry.removed = true;\n if (entry.previous) entry.previous = entry.previous.next = undefined;\n delete data[entry.index];\n entry = entry.next;\n }\n state.first = state.last = undefined;\n if (DESCRIPTORS) state.size = 0;\n else that.size = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function (key) {\n var that = this;\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.next;\n var prev = entry.previous;\n delete state.index[entry.index];\n entry.removed = true;\n if (prev) prev.next = next;\n if (next) next.previous = prev;\n if (state.first == entry) state.first = next;\n if (state.last == entry) state.last = prev;\n if (DESCRIPTORS) state.size--;\n else that.size--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\n var state = getInternalState(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.next : state.first) {\n boundFunction(entry.value, entry.key, this);\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n\n redefineAll(C.prototype, IS_MAP ? {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (DESCRIPTORS) defineProperty(C.prototype, 'size', {\n get: function () {\n return getInternalState(this).size;\n }\n });\n return C;\n },\n setStrong: function (C, CONSTRUCTOR_NAME, IS_MAP) {\n var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n defineIterator(C, CONSTRUCTOR_NAME, function (iterated, kind) {\n setInternalState(this, {\n type: ITERATOR_NAME,\n target: iterated,\n state: getInternalCollectionState(iterated),\n kind: kind,\n last: undefined\n });\n }, function () {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var entry = state.last;\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n // get next entry\n if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n // or finish the iteration\n state.target = undefined;\n return { value: undefined, done: true };\n }\n // return step by kind\n if (kind == 'keys') return { value: entry.key, done: false };\n if (kind == 'values') return { value: entry.value, done: false };\n return { value: [entry.key, entry.value], done: false };\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar iterate = require('../internals/iterate');\nvar anInstance = require('../internals/an-instance');\nvar isObject = require('../internals/is-object');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var exported = {};\n\n var fixMethod = function (KEY) {\n var nativeMethod = NativePrototype[KEY];\n redefine(NativePrototype, KEY,\n KEY == 'add' ? function add(value) {\n nativeMethod.call(this, value === 0 ? 0 : value);\n return this;\n } : KEY == 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n nativeMethod.call(this, key === 0 ? 0 : key, value);\n return this;\n }\n );\n };\n\n // eslint-disable-next-line max-len\n if (isForced(CONSTRUCTOR_NAME, typeof NativeConstructor != 'function' || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n })))) {\n // create collection constructor\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n InternalMetadataModule.REQUIRED = true;\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n // eslint-disable-next-line no-new\n var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new NativeConstructor();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n\n if (!ACCEPT_ITERABLES) {\n Constructor = wrapper(function (dummy, iterable) {\n anInstance(dummy, Constructor, CONSTRUCTOR_NAME);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (iterable != undefined) iterate(iterable, that[ADDER], that, IS_MAP);\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\n }\n\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n\n // weak collections should not contains .clear method\n if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;\n }\n\n exported[CONSTRUCTOR_NAME] = Constructor;\n $({ global: true, forced: Constructor != NativeConstructor }, exported);\n\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n return Constructor;\n};\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return nativeIterator.call(this); };\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n return methods;\n};\n","var fails = require('../internals/fails');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\n// TODO: Remove from `core-js@4` since it's moved to entry points\nrequire('../modules/es.regexp.exec');\nvar redefine = require('../internals/redefine');\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar regexpExec = require('../internals/regexp-exec');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar SPECIES = wellKnownSymbol('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$<a>') !== '7';\n});\n\n// IE <= 11 replaces $0 with the whole match, as if it was $&\n// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0\nvar REPLACE_KEEPS_$0 = (function () {\n return 'a'.replace(/./, '$0') === '$0';\n})();\n\nvar REPLACE = wellKnownSymbol('replace');\n// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string\nvar REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {\n if (/./[REPLACE]) {\n return /./[REPLACE]('a', '$0') === '';\n }\n return false;\n})();\n\n// Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n// Weex JS has frozen built-in prototypes, so use try / catch wrapper\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';\n});\n\nmodule.exports = function (KEY, length, exec, sham) {\n var SYMBOL = wellKnownSymbol(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n\n if (KEY === 'split') {\n // We can't use real regex here since it causes deoptimization\n // and serious performance degradation in V8\n // https://github.com/zloirock/core-js/issues/306\n re = {};\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n re.flags = '';\n re[SYMBOL] = /./[SYMBOL];\n }\n\n re.exec = function () { execCalled = true; return null; };\n\n re[SYMBOL]('');\n return !execCalled;\n });\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !(\n REPLACE_SUPPORTS_NAMED_GROUPS &&\n REPLACE_KEEPS_$0 &&\n !REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n )) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === regexpExec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }, {\n REPLACE_KEEPS_$0: REPLACE_KEEPS_$0,\n REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n });\n var stringMethod = methods[0];\n var regexMethod = methods[1];\n\n redefine(String.prototype, KEY, stringMethod);\n redefine(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return regexMethod.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return regexMethod.call(string, this); }\n );\n }\n\n if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true);\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n return Object.isExtensible(Object.preventExtensions({}));\n});\n","var aFunction = require('../internals/a-function');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","var classof = require('../internals/classof');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line no-undef\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func\n Function('return this')();\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","module.exports = {};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n typeof (NewTarget = dummy.constructor) == 'function' &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","var store = require('../internals/shared-store');\n\nvar functionToString = Function.toString;\n\n// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var hiddenKeys = require('../internals/hidden-keys');\nvar isObject = require('../internals/is-object');\nvar has = require('../internals/has');\nvar defineProperty = require('../internals/object-define-property').f;\nvar uid = require('../internals/uid');\nvar FREEZING = require('../internals/freezing');\n\nvar METADATA = uid('meta');\nvar id = 0;\n\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\n\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, { value: {\n objectID: 'O' + ++id, // object ID\n weakData: {} // weak collections IDs\n } });\n};\n\nvar fastKey = function (it, create) {\n // return a primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMetadata(it);\n // return object ID\n } return it[METADATA].objectID;\n};\n\nvar getWeakData = function (it, create) {\n if (!has(it, METADATA)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMetadata(it);\n // return the store of weak collections IDs\n } return it[METADATA].weakData;\n};\n\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZING && meta.REQUIRED && isExtensible(it) && !has(it, METADATA)) setMetadata(it);\n return it;\n};\n\nvar meta = module.exports = {\n REQUIRED: false,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\n\nhiddenKeys[METADATA] = true;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = new WeakMap();\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.github.io/ecma262/#sec-isarray\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","module.exports = false;\n","var anObject = require('../internals/an-object');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar bind = require('../internals/function-bind-context');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar iterate = module.exports = function (iterable, fn, that, AS_ENTRIES, IS_ITERATOR) {\n var boundFunction = bind(fn, that, AS_ENTRIES ? 2 : 1);\n var iterator, iterFn, index, length, result, next, step;\n\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (typeof iterFn != 'function') throw TypeError('Target is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\n result = AS_ENTRIES\n ? boundFunction(anObject(step = iterable[index])[0], step[1])\n : boundFunction(iterable[index]);\n if (result && result instanceof Result) return result;\n } return new Result(false);\n }\n iterator = iterFn.call(iterable);\n }\n\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n result = callWithSafeIterationClosing(iterator, boundFunction, step.value, AS_ENTRIES);\n if (typeof result == 'object' && result && result instanceof Result) return result;\n } return new Result(false);\n};\n\niterate.stop = function (result) {\n return new Result(true, result);\n};\n","'use strict';\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\nvar returnThis = function () { return this; };\n\n// `%IteratorPrototype%` object\n// https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nif (IteratorPrototype == undefined) IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nif (!IS_PURE && !has(IteratorPrototype, ITERATOR)) {\n createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","module.exports = {};\n","var fails = require('../internals/fails');\n\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n // Chrome 38 Symbol has incorrect toString conversion\n // eslint-disable-next-line no-undef\n return !String(Symbol());\n});\n","var global = require('../internals/global');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\nvar nativeAssign = Object.assign;\nvar defineProperty = Object.defineProperty;\n\n// `Object.assign` method\n// https://tc39.github.io/ecma262/#sec-object.assign\nmodule.exports = !nativeAssign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && nativeAssign({ b: 1 }, nativeAssign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var symbol = Symbol();\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : nativeAssign;\n","var anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n /* global ActiveXObject */\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.github.io/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperties\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\nvar nativeDefineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","exports.f = Object.getOwnPropertySymbols;\n","var has = require('../internals/has');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.getprototypeof\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectPrototype : null;\n};\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n","var anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter.call(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","var redefine = require('../internals/redefine');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) redefine(target, key, src[key], options);\n return target;\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);\n enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n","var classof = require('./classof-raw');\nvar regexpExec = require('./regexp-exec');\n\n// `RegExpExec` abstract operation\n// https://tc39.github.io/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n\n if (classof(R) !== 'RegExp') {\n throw TypeError('RegExp#exec called on incompatible receiver');\n }\n\n return regexpExec.call(R, S);\n};\n\n","'use strict';\nvar regexpFlags = require('./regexp-flags');\nvar stickyHelpers = require('./regexp-sticky-helpers');\n\nvar nativeExec = RegExp.prototype.exec;\n// This always refers to the native implementation, because the\n// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,\n// which loads this file before patching the method.\nvar nativeReplace = String.prototype.replace;\n\nvar patchedExec = nativeExec;\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/;\n var re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1.lastIndex !== 0 || re2.lastIndex !== 0;\n})();\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y || stickyHelpers.BROKEN_CARET;\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n var sticky = UNSUPPORTED_Y && re.sticky;\n var flags = regexpFlags.call(re);\n var source = re.source;\n var charsAdded = 0;\n var strCopy = str;\n\n if (sticky) {\n flags = flags.replace('y', '');\n if (flags.indexOf('g') === -1) {\n flags += 'g';\n }\n\n strCopy = String(str).slice(re.lastIndex);\n // Support anchored sticky behavior.\n if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\\n')) {\n source = '(?: ' + source + ')';\n strCopy = ' ' + strCopy;\n charsAdded++;\n }\n // ^(? + rx + ) is needed, in combination with some str slicing, to\n // simulate the 'y' flag.\n reCopy = new RegExp('^(?:' + source + ')', flags);\n }\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + source + '$(?!\\\\s)', flags);\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;\n\n match = nativeExec.call(sticky ? reCopy : re, strCopy);\n\n if (sticky) {\n if (match) {\n match.input = match.input.slice(charsAdded);\n match[0] = match[0].slice(charsAdded);\n match.index = re.lastIndex;\n re.lastIndex += match[0].length;\n } else re.lastIndex = 0;\n } else if (UPDATES_LAST_INDEX_WRONG && match) {\n re.lastIndex = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","'use strict';\n\nvar fails = require('./fails');\n\n// babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,\n// so we use an intermediate function.\nfunction RE(s, f) {\n return RegExp(s, f);\n}\n\nexports.UNSUPPORTED_Y = fails(function () {\n // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError\n var re = RE('a', 'y');\n re.lastIndex = 2;\n return re.exec('abcd') != null;\n});\n\nexports.BROKEN_CARET = fails(function () {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=773687\n var re = RE('^r', 'gy');\n re.lastIndex = 2;\n return re.exec('str') != null;\n});\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.github.io/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","var defineProperty = require('../internals/object-define-property').f;\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.6.5',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\n","var toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.{ codePointAt, at }` methods implementation\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = String(requireObjectCoercible($this));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING ? S.charAt(position) : first\n : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.github.io/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.github.io/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.github.io/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.github.io/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","var NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n // eslint-disable-next-line no-undef\n && !Symbol.sham\n // eslint-disable-next-line no-undef\n && typeof Symbol.iterator == 'symbol';\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar has = require('../internals/has');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name)) {\n if (NATIVE_SYMBOL && has(Symbol, name)) WellKnownSymbolsStore[name] = Symbol[name];\n else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n\n// `Array.prototype.concat` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, forced: FORCED }, {\n concat: function concat(arg) { // eslint-disable-line no-unused-vars\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = toLength(E.length);\n if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n// Edge 14- issue\nvar USES_TO_LENGTH = arrayMethodUsesToLength('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar forEach = require('../internals/array-for-each');\n\n// `Array.prototype.forEach` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.foreach\n$({ target: 'Array', proto: true, forced: [].forEach != forEach }, {\n forEach: forEach\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $indexOf = require('../internals/array-includes').indexOf;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar nativeIndexOf = [].indexOf;\n\nvar NEGATIVE_ZERO = !!nativeIndexOf && 1 / [1].indexOf(1, -0) < 0;\nvar STRICT_METHOD = arrayMethodIsStrict('indexOf');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 });\n\n// `Array.prototype.indexOf` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n$({ target: 'Array', proto: true, forced: NEGATIVE_ZERO || !STRICT_METHOD || !USES_TO_LENGTH }, {\n indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {\n return NEGATIVE_ZERO\n // convert -0 to +0\n ? nativeIndexOf.apply(this, arguments) || 0\n : $indexOf(this, searchElement, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.github.io/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.github.io/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.github.io/ecma262/#sec-createmappedargumentsobject\nIterators.Arguments = Iterators.Array;\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Map` constructor\n// https://tc39.github.io/ecma262/#sec-map-objects\nmodule.exports = collection('Map', function (init) {\n return function Map() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","var $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.github.io/ecma262/#sec-object.assign\n$({ target: 'Object', stat: true, forced: Object.assign !== assign }, {\n assign: assign\n});\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar redefine = require('../internals/redefine');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar exec = require('../internals/regexp-exec');\n\n$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {\n exec: exec\n});\n","'use strict';\nvar redefine = require('../internals/redefine');\nvar anObject = require('../internals/an-object');\nvar fails = require('../internals/fails');\nvar flags = require('../internals/regexp-flags');\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar nativeToString = RegExpPrototype[TO_STRING];\n\nvar NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = nativeToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n redefine(RegExp.prototype, TO_STRING, function toString() {\n var R = anObject(this);\n var p = String(R.source);\n var rf = R.flags;\n var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf);\n return '/' + p + '/' + f;\n }, { unsafe: true });\n}\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: String(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\nvar max = Math.max;\nvar min = Math.min;\nvar floor = Math.floor;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d\\d?|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d\\d?)/g;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {\n var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = reason.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE;\n var REPLACE_KEEPS_$0 = reason.REPLACE_KEEPS_$0;\n var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';\n\n return [\n // `String.prototype.replace` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];\n return replacer !== undefined\n ? replacer.call(searchValue, O, replaceValue)\n : nativeReplace.call(String(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace\n function (regexp, replaceValue) {\n if (\n (!REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE && REPLACE_KEEPS_$0) ||\n (typeof replaceValue === 'string' && replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1)\n ) {\n var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);\n if (res.done) return res.value;\n }\n\n var rx = anObject(regexp);\n var S = String(this);\n\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n\n results.push(result);\n if (!global) break;\n\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n\n var matched = String(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = String(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n\n // https://tc39.github.io/ecma262/#sec-getsubstitution\n function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return nativeReplace.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n }\n});\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar forEach = require('../internals/array-for-each');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);\n } catch (error) {\n CollectionPrototype.forEach = forEach;\n }\n}\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n if (!CollectionPrototype[TO_STRING_TAG]) {\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n }\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n}\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"#firstrunwizard .page{display:flex;flex-direction:row;flex-wrap:wrap;margin:auto}#firstrunwizard .page h3{margin:10px 0 10px;line-height:120%;padding:0}#firstrunwizard .page .image{padding:20px;max-width:calc(50% - 40px);flex-grow:1}#firstrunwizard .page .image img{width:100%}#firstrunwizard .page .content{padding:20px;width:100%}#firstrunwizard .page p{margin-bottom:20px}#firstrunwizard .page .description-block:first-child{margin-bottom:20px}#firstrunwizard .page .description{margin:20px;width:auto;flex-grow:1;max-width:calc(50% - 40px)}#firstrunwizard .page ul{margin:10px}#firstrunwizard .page ul li{margin-left:20px;margin-bottom:10px;list-style:circle outside}#firstrunwizard .page a:not(.button):hover,#firstrunwizard .page a:not(.button):focus{text-decoration:underline}#firstrunwizard .page .button{display:inline-block}#firstrunwizard .page .button img{width:16px;height:16px;opacity:.5;margin-top:-3px;vertical-align:middle}#firstrunwizard .content-clients{width:100%;text-align:center}#firstrunwizard .content-clients a{text-decoration:none;display:inline-block}#firstrunwizard .content-clients .clientslinks .appsmall{height:32px;width:32px;position:relative;opacity:.5;vertical-align:middle}#firstrunwizard .content-clients .clientslinks .button{display:inline-block;padding:8px;font-weight:normal;font-size:14px}#firstrunwizard .content-final h3{background-position:0;background-size:16px 16px;padding-left:26px;opacity:.7}#firstrunwizard p a{font-weight:bold;color:var(--color-primary)}#firstrunwizard p a:hover,#firstrunwizard p a:focus{color:var(color-text-light)}#firstrunwizard .footnote{margin-top:40px}#firstrunwizard .modal-wrapper .icon-next{background-color:var(--color-primary);color:var(--color-primary-text);box-shadow:0 2px 8px rgba(0,0,0,.33);left:22px;border-radius:40px}#firstrunwizard .modal-wrapper .icon-previous{background-color:var(--color-primary-light);color:var(--color-primary-light-text);box-shadow:0 2px 8px rgba(0,0,0,.33);left:22px;border-radius:40px}.clientslinks{margin-top:20px;margin-bottom:20px}#wizard-values{list-style-type:none;display:flex;flex-wrap:wrap;margin:0}#wizard-values li{display:block;min-width:250px;width:33%;flex-grow:1;margin:20px 0 20px 0}#wizard-values li span{opacity:.7;display:block;height:50px;width:50px;background-size:40px;margin:auto}#wizard-values li h3{margin:10px 0 10px 0;font-size:130%;text-align:center}.details-link{text-align:center}@media only screen and (max-width: 680px){#firstrunwizard .firstrunwizard-header div.logo{background-size:120px}#firstrunwizard h2{font-size:20px}#firstrunwizard .page>div{max-width:100% !important;width:100%}#firstrunwizard .page #wizard-values li{min-width:100%;overflow:hidden;display:flex}#firstrunwizard .page #wizard-values li span{width:44px !important;padding-right:20px;flex-grow:0}#firstrunwizard .page #wizard-values li h3{font-size:12px;text-align:left;flex-grow:1}#firstrunwizard .page.content-final{padding-bottom:50px}.modal-mask .modal-wrapper .next,.prev{top:220px;align-items:start !important}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/App.vue\"],\"names\":[],\"mappings\":\"AA4CC,sBACC,YAAA,CACA,kBAAA,CACA,cAAA,CACA,WAAA,CAEA,yBACC,kBAAA,CACA,gBAAA,CACA,SAAA,CAED,6BACC,YAAA,CACA,0BAAA,CACA,WAAA,CACA,iCACC,UAAA,CAGF,+BACC,YAAA,CACA,UAAA,CAED,wBACC,kBAAA,CAED,qDACC,kBAAA,CAED,mCACC,WAAA,CACA,UAAA,CACA,WAAA,CACA,0BAAA,CAED,yBACC,WAAA,CACA,4BACC,gBAAA,CACA,kBAAA,CACA,yBAAA,CAID,sFAEC,yBAAA,CAGF,8BACC,oBAAA,CAEA,kCACC,UAAA,CACA,WAAA,CACA,UAAA,CACA,eAAA,CACA,qBAAA,CAKH,iCACC,UAAA,CACA,iBAAA,CACA,mCACC,oBAAA,CACA,oBAAA,CAED,yDACC,WAAA,CACA,UAAA,CACA,iBAAA,CACA,UAAA,CACA,qBAAA,CAED,uDACC,oBAAA,CACA,WAAA,CACA,kBAAA,CACA,cAAA,CAID,kCACC,qBAAA,CACA,yBAAA,CACA,iBAAA,CACA,UAAA,CAGF,oBACC,gBAAA,CACA,0BAAA,CACA,oDAEC,2BAAA,CAIF,0BACC,eAAA,CAKA,0CACC,qCAAA,CACA,+BAAA,CACA,oCAAA,CACA,SAAA,CACA,kBAAA,CAGD,8CACC,2CAAA,CACA,qCAAA,CACA,oCAAA,CACA,SAAA,CACA,kBAAA,CAKH,cACC,eAAA,CACA,kBAAA,CAGD,eACC,oBAAA,CACA,YAAA,CACA,cAAA,CACA,QAAA,CACA,kBACC,aAAA,CACA,eAAA,CACA,SAAA,CACA,WAAA,CACA,oBAAA,CACA,uBACC,UAAA,CACA,aAAA,CACA,WAAA,CACA,UAAA,CACA,oBAAA,CACA,WAAA,CAED,qBACC,oBAAA,CACA,cAAA,CACA,iBAAA,CAKH,cACC,iBAAA,CAGD,0CAEE,gDACC,qBAAA,CAED,mBACC,cAAA,CAED,0BACC,yBAAA,CACA,UAAA,CAGA,wCACC,cAAA,CACA,eAAA,CACA,YAAA,CACA,6CACC,qBAAA,CACA,kBAAA,CACA,WAAA,CAED,2CACC,cAAA,CACA,eAAA,CACA,WAAA,CAIF,oCACC,mBAAA,CAKH,uCACC,SAAA,CACA,4BAAA,CAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n/* Page styling needs to be unscoped, since we load it separately from the server */\\n#firstrunwizard {\\n\\n\\t.page {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: row;\\n\\t\\tflex-wrap: wrap;\\n\\t\\tmargin: auto;\\n\\n\\t\\th3 {\\n\\t\\t\\tmargin: 10px 0 10px;\\n\\t\\t\\tline-height: 120%;\\n\\t\\t\\tpadding: 0;\\n\\t\\t}\\n\\t\\t.image {\\n\\t\\t\\tpadding: 20px;\\n\\t\\t\\tmax-width: calc(50% - 40px);\\n\\t\\t\\tflex-grow: 1;\\n\\t\\t\\timg {\\n\\t\\t\\t\\twidth: 100%;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t.content {\\n\\t\\t\\tpadding: 20px;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\t\\tp {\\n\\t\\t\\tmargin-bottom: 20px;\\n\\t\\t}\\n\\t\\t.description-block:first-child {\\n\\t\\t\\tmargin-bottom: 20px;\\n\\t\\t}\\n\\t\\t.description {\\n\\t\\t\\tmargin: 20px;\\n\\t\\t\\twidth: auto;\\n\\t\\t\\tflex-grow: 1;\\n\\t\\t\\tmax-width: calc(50% - 40px);\\n\\t\\t}\\n\\t\\tul {\\n\\t\\t\\tmargin: 10px;\\n\\t\\t\\tli {\\n\\t\\t\\t\\tmargin-left: 20px;\\n\\t\\t\\t\\tmargin-bottom: 10px;\\n\\t\\t\\t\\tlist-style: circle outside;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\ta:not(.button) {\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus {\\n\\t\\t\\t\\ttext-decoration: underline;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t.button {\\n\\t\\t\\tdisplay: inline-block;\\n\\n\\t\\t\\timg {\\n\\t\\t\\t\\twidth: 16px;\\n\\t\\t\\t\\theight: 16px;\\n\\t\\t\\t\\topacity: .5;\\n\\t\\t\\t\\tmargin-top: -3px;\\n\\t\\t\\t\\tvertical-align: middle;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t.content-clients {\\n\\t\\twidth: 100%;\\n\\t\\ttext-align: center;\\n\\t\\ta {\\n\\t\\t\\ttext-decoration: none;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t\\t.clientslinks .appsmall {\\n\\t\\t\\theight: 32px;\\n\\t\\t\\twidth: 32px;\\n\\t\\t\\tposition: relative;\\n\\t\\t\\topacity: .5;\\n\\t\\t\\tvertical-align: middle;\\n\\t\\t}\\n\\t\\t.clientslinks .button {\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t\\tpadding: 8px;\\n\\t\\t\\tfont-weight: normal;\\n\\t\\t\\tfont-size: 14px;\\n\\t\\t}\\n\\t}\\n\\t.content-final {\\n\\t\\th3 {\\n\\t\\t\\tbackground-position: 0;\\n\\t\\t\\tbackground-size: 16px 16px;\\n\\t\\t\\tpadding-left: 26px;\\n\\t\\t\\topacity: .7;\\n\\t\\t}\\n\\t}\\n\\tp a {\\n\\t\\tfont-weight: bold;\\n\\t\\tcolor: var(--color-primary);\\n\\t\\t&:hover,\\n\\t\\t&:focus {\\n\\t\\t\\tcolor: var(color-text-light);\\n\\t\\t}\\n\\t}\\n\\n\\t.footnote {\\n\\t\\tmargin-top: 40px;\\n\\t}\\n\\n\\t// primary on next button\\n\\t.modal-wrapper {\\n\\t\\t.icon-next {\\n\\t\\t\\tbackground-color: var(--color-primary);\\n\\t\\t\\tcolor: var(--color-primary-text);\\n\\t\\t\\tbox-shadow: 0 2px 8px rgba(0, 0, 0, .33);\\n\\t\\t\\tleft: 22px;\\n\\t\\t\\tborder-radius: 40px;\\n\\t\\t}\\n\\n\\t\\t.icon-previous {\\n\\t\\t\\tbackground-color: var(--color-primary-light);\\n\\t\\t\\tcolor: var(--color-primary-light-text);\\n\\t\\t\\tbox-shadow: 0 2px 8px rgba(0, 0, 0, .33);\\n\\t\\t\\tleft: 22px;\\n\\t\\t\\tborder-radius: 40px;\\n\\t\\t}\\n\\t}\\n}\\n\\n.clientslinks {\\n\\tmargin-top: 20px;\\n\\tmargin-bottom: 20px;\\n}\\n\\n#wizard-values {\\n\\tlist-style-type: none;\\n\\tdisplay: flex;\\n\\tflex-wrap: wrap;\\n\\tmargin: 0;\\n\\tli {\\n\\t\\tdisplay: block;\\n\\t\\tmin-width: 250px;\\n\\t\\twidth: 33%;\\n\\t\\tflex-grow: 1;\\n\\t\\tmargin: 20px 0 20px 0;\\n\\t\\tspan {\\n\\t\\t\\topacity: .7;\\n\\t\\t\\tdisplay: block;\\n\\t\\t\\theight: 50px;\\n\\t\\t\\twidth: 50px;\\n\\t\\t\\tbackground-size: 40px;\\n\\t\\t\\tmargin: auto;\\n\\t\\t}\\n\\t\\th3 {\\n\\t\\t\\tmargin: 10px 0 10px 0;\\n\\t\\t\\tfont-size: 130%;\\n\\t\\t\\ttext-align: center;\\n\\t\\t}\\n\\t}\\n}\\n\\n.details-link {\\n\\ttext-align: center;\\n}\\n\\n@media only screen and (max-width: 680px) {\\n\\t#firstrunwizard {\\n\\t\\t.firstrunwizard-header div.logo {\\n\\t\\t\\tbackground-size: 120px;\\n\\t\\t}\\n\\t\\th2 {\\n\\t\\t\\tfont-size: 20px;\\n\\t\\t}\\n\\t\\t.page > div {\\n\\t\\t\\tmax-width: 100% !important;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\t\\t.page {\\n\\t\\t\\t#wizard-values li {\\n\\t\\t\\t\\tmin-width: 100%;\\n\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\tdisplay: flex;\\n\\t\\t\\t\\tspan {\\n\\t\\t\\t\\t\\twidth: 44px !important;\\n\\t\\t\\t\\t\\tpadding-right: 20px;\\n\\t\\t\\t\\t\\tflex-grow: 0;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\th3 {\\n\\t\\t\\t\\t\\tfont-size: 12px;\\n\\t\\t\\t\\t\\ttext-align: left;\\n\\t\\t\\t\\t\\tflex-grow: 1;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t&.content-final {\\n\\t\\t\\t\\tpadding-bottom: 50px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t// fix button position on mobile (so that they don't overlap with text)\\n\\t.modal-mask .modal-wrapper .next, .prev {\\n\\t\\ttop: 220px;\\n\\t\\talign-items: start !important;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".modal-mask[data-v-dd9f3cba]{background-color:rgba(0,0,0,.7)}.modal-mask[data-v-dd9f3cba] .modal-wrapper{position:relative}.modal-mask[data-v-dd9f3cba] .modal-container{display:flex;flex-direction:column;position:relative}.modal-mask .modal-body[data-v-dd9f3cba]{flex-grow:1;display:flex;overflow-x:hidden;overflow-y:auto}.modal-mask .modal-body>div[data-v-dd9f3cba]{display:flex;flex-grow:1;align-items:center;justify-content:center}.modal-header[data-v-dd9f3cba]{flex-shrink:0}.modal-header .firstrunwizard-header[data-v-dd9f3cba]{padding:20px 12px;background:var(--color-primary) var(--image-login-background) no-repeat 50% 50%;background-size:cover;color:var(--color-primary-text);text-align:center}.modal-header .firstrunwizard-header .logo[data-v-dd9f3cba]{background:var(--image-logo) no-repeat center;background-size:contain;width:175px;height:100px;max-height:20vh;margin:0 auto}.modal-header .firstrunwizard-header h2[data-v-dd9f3cba]{font-size:20px;margin-top:7px;line-height:150%;color:var(--color-primary-text);font-weight:300;padding:0 0 10px}.modal-default-button[data-v-dd9f3cba]{align-self:flex-end}.modal-footer[data-v-dd9f3cba]{overflow:hidden;position:absolute;display:flex;bottom:0;right:0}.modal-footer button[data-v-dd9f3cba]{margin:10px}.next-enter-active[data-v-dd9f3cba],.next-leave-active[data-v-dd9f3cba],.previous-enter-active[data-v-dd9f3cba],.previous-leave-active[data-v-dd9f3cba]{transition:transform .1s,opacity .25s}.next-enter[data-v-dd9f3cba]{transform:translateX(50%);opacity:0}.next-leave-to[data-v-dd9f3cba]{transform:translateX(-50%);opacity:0}.previous-enter[data-v-dd9f3cba]{transform:translateX(-50%);opacity:0}.previous-leave-to[data-v-dd9f3cba]{transform:translateX(50%);opacity:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/App.vue\"],\"names\":[],\"mappings\":\"AAuPA,6BACC,+BAAA,CAEA,4CACC,iBAAA,CAGD,8CACC,YAAA,CACA,qBAAA,CACA,iBAAA,CAGD,yCACC,WAAA,CACA,YAAA,CACA,iBAAA,CACA,eAAA,CAEA,6CACC,YAAA,CACA,WAAA,CACA,kBAAA,CACA,sBAAA,CAKH,+BACC,aAAA,CAEA,sDACC,iBAAA,CACA,+EAAA,CACA,qBAAA,CACA,+BAAA,CACA,iBAAA,CACA,4DACC,6CAAA,CACA,uBAAA,CACA,WAAA,CACA,YAAA,CACA,eAAA,CACA,aAAA,CAED,yDACC,cAAA,CACA,cAAA,CACA,gBAAA,CACA,+BAAA,CACA,eAAA,CACA,gBAAA,CAKH,uCACC,mBAAA,CAGD,+BACC,eAAA,CACA,iBAAA,CACA,YAAA,CACA,QAAA,CACA,OAAA,CAGD,sCACC,WAAA,CAID,wJAEC,qCAAA,CAGD,6BACC,yBAAA,CACA,SAAA,CAGD,gCACC,0BAAA,CACA,SAAA,CAGD,iCACC,0BAAA,CACA,SAAA,CAGD,oCACC,yBAAA,CACA,SAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.modal-mask {\\n\\tbackground-color: rgba(0, 0, 0, 0.7);\\n\\n\\t&::v-deep .modal-wrapper {\\n\\t\\tposition: relative;\\n\\t}\\n\\n\\t&::v-deep .modal-container {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tposition: relative;\\n\\t}\\n\\n\\t.modal-body {\\n\\t\\tflex-grow: 1;\\n\\t\\tdisplay: flex;\\n\\t\\toverflow-x: hidden;\\n\\t\\toverflow-y: auto;\\n\\n\\t\\t& > div {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-grow: 1;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tjustify-content: center;\\n\\t\\t}\\n\\t}\\n}\\n\\n.modal-header {\\n\\tflex-shrink: 0;\\n\\n\\t.firstrunwizard-header {\\n\\t\\tpadding: 20px 12px;\\n\\t\\tbackground: var(--color-primary) var(--image-login-background) no-repeat 50% 50%;\\n\\t\\tbackground-size: cover;\\n\\t\\tcolor: var(--color-primary-text);\\n\\t\\ttext-align: center;\\n\\t\\t.logo {\\n\\t\\t\\tbackground: var(--image-logo) no-repeat center;\\n\\t\\t\\tbackground-size: contain;\\n\\t\\t\\twidth: 175px;\\n\\t\\t\\theight: 100px;\\n\\t\\t\\tmax-height: 20vh;\\n\\t\\t\\tmargin: 0 auto;\\n\\t\\t}\\n\\t\\th2 {\\n\\t\\t\\tfont-size: 20px;\\n\\t\\t\\tmargin-top: 7px;\\n\\t\\t\\tline-height: 150%;\\n\\t\\t\\tcolor: var(--color-primary-text);\\n\\t\\t\\tfont-weight: 300;\\n\\t\\t\\tpadding: 0 0 10px;\\n\\t\\t}\\n\\t}\\n}\\n\\n.modal-default-button {\\n\\talign-self: flex-end;\\n}\\n\\n.modal-footer {\\n\\toverflow: hidden;\\n\\tposition: absolute;\\n\\tdisplay: flex;\\n\\tbottom: 0;\\n\\tright: 0;\\n}\\n\\n.modal-footer button {\\n\\tmargin: 10px;\\n}\\n\\n/* Transitions */\\n.next-enter-active, .next-leave-active,\\n.previous-enter-active, .previous-leave-active {\\n\\ttransition: transform .1s, opacity .25s;\\n}\\n\\n.next-enter {\\n\\ttransform: translateX(50%);\\n\\topacity: 0;\\n}\\n\\n.next-leave-to {\\n\\ttransform: translateX(-50%);\\n\\topacity: 0;\\n}\\n\\n.previous-enter {\\n\\ttransform: translateX(-50%);\\n\\topacity: 0;\\n}\\n\\n.previous-leave-to {\\n\\ttransform: translateX(50%);\\n\\topacity: 0;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"video[data-v-70de3a6e]{width:100%;height:100%;object-fit:cover}.video-wrapper[data-v-70de3a6e]{background-color:var(--color-primary)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/IntroVideo.vue\"],\"names\":[],\"mappings\":\"AAuDA,uBACC,UAAA,CACA,WAAA,CACA,gBAAA,CAGD,gCACC,qCAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nvideo {\\n\\twidth: 100%;\\n\\theight: 100%;\\n\\tobject-fit: cover;\\n}\\n\\n.video-wrapper {\\n\\tbackground-color: var(--color-primary);\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n\n content += cssWithMappingToString(item);\n\n if (needLayer) {\n content += \"}\";\n }\n\n if (item[2]) {\n content += \"}\";\n }\n\n if (item[4]) {\n content += \"}\";\n }\n\n return content;\n }).join(\"\");\n }; // import a list of modules into the list\n\n\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\n};","\"use strict\";\n\nmodule.exports = function (item) {\n var content = item[1];\n var cssMapping = item[3];\n\n if (!cssMapping) {\n return content;\n }\n\n if (typeof btoa === \"function\") {\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || \"\").concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join(\"\\n\");\n }\n\n return [content].join(\"\\n\");\n};","'use strict';\n\nvar keys = require('object-keys');\nvar hasSymbols = typeof Symbol === 'function' && typeof Symbol('foo') === 'symbol';\n\nvar toStr = Object.prototype.toString;\nvar concat = Array.prototype.concat;\nvar origDefineProperty = Object.defineProperty;\n\nvar isFunction = function (fn) {\n\treturn typeof fn === 'function' && toStr.call(fn) === '[object Function]';\n};\n\nvar arePropertyDescriptorsSupported = function () {\n\tvar obj = {};\n\ttry {\n\t\torigDefineProperty(obj, 'x', { enumerable: false, value: obj });\n\t\t// eslint-disable-next-line no-unused-vars, no-restricted-syntax\n\t\tfor (var _ in obj) { // jscs:ignore disallowUnusedVariables\n\t\t\treturn false;\n\t\t}\n\t\treturn obj.x === obj;\n\t} catch (e) { /* this is IE 8. */\n\t\treturn false;\n\t}\n};\nvar supportsDescriptors = origDefineProperty && arePropertyDescriptorsSupported();\n\nvar defineProperty = function (object, name, value, predicate) {\n\tif (name in object && (!isFunction(predicate) || !predicate())) {\n\t\treturn;\n\t}\n\tif (supportsDescriptors) {\n\t\torigDefineProperty(object, name, {\n\t\t\tconfigurable: true,\n\t\t\tenumerable: false,\n\t\t\tvalue: value,\n\t\t\twritable: true\n\t\t});\n\t} else {\n\t\tobject[name] = value;\n\t}\n};\n\nvar defineProperties = function (object, map) {\n\tvar predicates = arguments.length > 2 ? arguments[2] : {};\n\tvar props = keys(map);\n\tif (hasSymbols) {\n\t\tprops = concat.call(props, Object.getOwnPropertySymbols(map));\n\t}\n\tfor (var i = 0; i < props.length; i += 1) {\n\t\tdefineProperty(object, props[i], map[props[i]], predicates[props[i]]);\n\t}\n};\n\ndefineProperties.supportsDescriptors = !!supportsDescriptors;\n\nmodule.exports = defineProperties;\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);\nif ($gOPD) {\n\ttry {\n\t\t$gOPD([], 'length');\n\t} catch (e) {\n\t\t// IE 8 has a broken gOPD\n\t\t$gOPD = null;\n\t}\n}\n\nmodule.exports = $gOPD;\n","/**\n * Code refactored from Mozilla Developer Network:\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign\n */\n\n'use strict';\n\nfunction assign(target, firstSource) {\n if (target === undefined || target === null) {\n throw new TypeError('Cannot convert first argument to object');\n }\n\n var to = Object(target);\n for (var i = 1; i < arguments.length; i++) {\n var nextSource = arguments[i];\n if (nextSource === undefined || nextSource === null) {\n continue;\n }\n\n var keysArray = Object.keys(Object(nextSource));\n for (var nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex++) {\n var nextKey = keysArray[nextIndex];\n var desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);\n if (desc !== undefined && desc.enumerable) {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n return to;\n}\n\nfunction polyfill() {\n if (!Object.assign) {\n Object.defineProperty(Object, 'assign', {\n enumerable: false,\n configurable: true,\n writable: true,\n value: assign\n });\n }\n}\n\nmodule.exports = {\n assign: assign,\n polyfill: polyfill\n};\n","\nvar hasOwn = Object.prototype.hasOwnProperty;\nvar toString = Object.prototype.toString;\n\nmodule.exports = function forEach (obj, fn, ctx) {\n if (toString.call(fn) !== '[object Function]') {\n throw new TypeError('iterator must be a function');\n }\n var l = obj.length;\n if (l === +l) {\n for (var i = 0; i < l; i++) {\n fn.call(ctx, obj[i], i, obj);\n }\n } else {\n for (var k in obj) {\n if (hasOwn.call(obj, k)) {\n fn.call(ctx, obj[k], k, obj);\n }\n }\n }\n};\n\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar slice = Array.prototype.slice;\nvar toStr = Object.prototype.toString;\nvar funcType = '[object Function]';\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.call(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slice.call(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n args.concat(slice.call(arguments))\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n } else {\n return target.apply(\n that,\n args.concat(slice.call(arguments))\n );\n }\n };\n\n var boundLength = Math.max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs.push('$' + i);\n }\n\n bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\nvar undefined;\n\nvar $SyntaxError = SyntaxError;\nvar $Function = Function;\nvar $TypeError = TypeError;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\n\nvar getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': RangeError,\n\t'%ReferenceError%': ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('has');\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","/*! Hammer.JS - v2.0.7 - 2016-04-22\n * http://hammerjs.github.io/\n *\n * Copyright (c) 2016 Jorik Tangelder;\n * Licensed under the MIT license */\n(function(window, document, exportName, undefined) {\n 'use strict';\n\nvar VENDOR_PREFIXES = ['', 'webkit', 'Moz', 'MS', 'ms', 'o'];\nvar TEST_ELEMENT = document.createElement('div');\n\nvar TYPE_FUNCTION = 'function';\n\nvar round = Math.round;\nvar abs = Math.abs;\nvar now = Date.now;\n\n/**\n * set a timeout with a given scope\n * @param {Function} fn\n * @param {Number} timeout\n * @param {Object} context\n * @returns {number}\n */\nfunction setTimeoutContext(fn, timeout, context) {\n return setTimeout(bindFn(fn, context), timeout);\n}\n\n/**\n * if the argument is an array, we want to execute the fn on each entry\n * if it aint an array we don't want to do a thing.\n * this is used by all the methods that accept a single and array argument.\n * @param {*|Array} arg\n * @param {String} fn\n * @param {Object} [context]\n * @returns {Boolean}\n */\nfunction invokeArrayArg(arg, fn, context) {\n if (Array.isArray(arg)) {\n each(arg, context[fn], context);\n return true;\n }\n return false;\n}\n\n/**\n * walk objects and arrays\n * @param {Object} obj\n * @param {Function} iterator\n * @param {Object} context\n */\nfunction each(obj, iterator, context) {\n var i;\n\n if (!obj) {\n return;\n }\n\n if (obj.forEach) {\n obj.forEach(iterator, context);\n } else if (obj.length !== undefined) {\n i = 0;\n while (i < obj.length) {\n iterator.call(context, obj[i], i, obj);\n i++;\n }\n } else {\n for (i in obj) {\n obj.hasOwnProperty(i) && iterator.call(context, obj[i], i, obj);\n }\n }\n}\n\n/**\n * wrap a method with a deprecation warning and stack trace\n * @param {Function} method\n * @param {String} name\n * @param {String} message\n * @returns {Function} A new function wrapping the supplied method.\n */\nfunction deprecate(method, name, message) {\n var deprecationMessage = 'DEPRECATED METHOD: ' + name + '\\n' + message + ' AT \\n';\n return function() {\n var e = new Error('get-stack-trace');\n var stack = e && e.stack ? e.stack.replace(/^[^\\(]+?[\\n$]/gm, '')\n .replace(/^\\s+at\\s+/gm, '')\n .replace(/^Object.<anonymous>\\s*\\(/gm, '{anonymous}()@') : 'Unknown Stack Trace';\n\n var log = window.console && (window.console.warn || window.console.log);\n if (log) {\n log.call(window.console, deprecationMessage, stack);\n }\n return method.apply(this, arguments);\n };\n}\n\n/**\n * extend object.\n * means that properties in dest will be overwritten by the ones in src.\n * @param {Object} target\n * @param {...Object} objects_to_assign\n * @returns {Object} target\n */\nvar assign;\nif (typeof Object.assign !== 'function') {\n assign = function assign(target) {\n if (target === undefined || target === null) {\n throw new TypeError('Cannot convert undefined or null to object');\n }\n\n var output = Object(target);\n for (var index = 1; index < arguments.length; index++) {\n var source = arguments[index];\n if (source !== undefined && source !== null) {\n for (var nextKey in source) {\n if (source.hasOwnProperty(nextKey)) {\n output[nextKey] = source[nextKey];\n }\n }\n }\n }\n return output;\n };\n} else {\n assign = Object.assign;\n}\n\n/**\n * extend object.\n * means that properties in dest will be overwritten by the ones in src.\n * @param {Object} dest\n * @param {Object} src\n * @param {Boolean} [merge=false]\n * @returns {Object} dest\n */\nvar extend = deprecate(function extend(dest, src, merge) {\n var keys = Object.keys(src);\n var i = 0;\n while (i < keys.length) {\n if (!merge || (merge && dest[keys[i]] === undefined)) {\n dest[keys[i]] = src[keys[i]];\n }\n i++;\n }\n return dest;\n}, 'extend', 'Use `assign`.');\n\n/**\n * merge the values from src in the dest.\n * means that properties that exist in dest will not be overwritten by src\n * @param {Object} dest\n * @param {Object} src\n * @returns {Object} dest\n */\nvar merge = deprecate(function merge(dest, src) {\n return extend(dest, src, true);\n}, 'merge', 'Use `assign`.');\n\n/**\n * simple class inheritance\n * @param {Function} child\n * @param {Function} base\n * @param {Object} [properties]\n */\nfunction inherit(child, base, properties) {\n var baseP = base.prototype,\n childP;\n\n childP = child.prototype = Object.create(baseP);\n childP.constructor = child;\n childP._super = baseP;\n\n if (properties) {\n assign(childP, properties);\n }\n}\n\n/**\n * simple function bind\n * @param {Function} fn\n * @param {Object} context\n * @returns {Function}\n */\nfunction bindFn(fn, context) {\n return function boundFn() {\n return fn.apply(context, arguments);\n };\n}\n\n/**\n * let a boolean value also be a function that must return a boolean\n * this first item in args will be used as the context\n * @param {Boolean|Function} val\n * @param {Array} [args]\n * @returns {Boolean}\n */\nfunction boolOrFn(val, args) {\n if (typeof val == TYPE_FUNCTION) {\n return val.apply(args ? args[0] || undefined : undefined, args);\n }\n return val;\n}\n\n/**\n * use the val2 when val1 is undefined\n * @param {*} val1\n * @param {*} val2\n * @returns {*}\n */\nfunction ifUndefined(val1, val2) {\n return (val1 === undefined) ? val2 : val1;\n}\n\n/**\n * addEventListener with multiple events at once\n * @param {EventTarget} target\n * @param {String} types\n * @param {Function} handler\n */\nfunction addEventListeners(target, types, handler) {\n each(splitStr(types), function(type) {\n target.addEventListener(type, handler, false);\n });\n}\n\n/**\n * removeEventListener with multiple events at once\n * @param {EventTarget} target\n * @param {String} types\n * @param {Function} handler\n */\nfunction removeEventListeners(target, types, handler) {\n each(splitStr(types), function(type) {\n target.removeEventListener(type, handler, false);\n });\n}\n\n/**\n * find if a node is in the given parent\n * @method hasParent\n * @param {HTMLElement} node\n * @param {HTMLElement} parent\n * @return {Boolean} found\n */\nfunction hasParent(node, parent) {\n while (node) {\n if (node == parent) {\n return true;\n }\n node = node.parentNode;\n }\n return false;\n}\n\n/**\n * small indexOf wrapper\n * @param {String} str\n * @param {String} find\n * @returns {Boolean} found\n */\nfunction inStr(str, find) {\n return str.indexOf(find) > -1;\n}\n\n/**\n * split string on whitespace\n * @param {String} str\n * @returns {Array} words\n */\nfunction splitStr(str) {\n return str.trim().split(/\\s+/g);\n}\n\n/**\n * find if a array contains the object using indexOf or a simple polyFill\n * @param {Array} src\n * @param {String} find\n * @param {String} [findByKey]\n * @return {Boolean|Number} false when not found, or the index\n */\nfunction inArray(src, find, findByKey) {\n if (src.indexOf && !findByKey) {\n return src.indexOf(find);\n } else {\n var i = 0;\n while (i < src.length) {\n if ((findByKey && src[i][findByKey] == find) || (!findByKey && src[i] === find)) {\n return i;\n }\n i++;\n }\n return -1;\n }\n}\n\n/**\n * convert array-like objects to real arrays\n * @param {Object} obj\n * @returns {Array}\n */\nfunction toArray(obj) {\n return Array.prototype.slice.call(obj, 0);\n}\n\n/**\n * unique array with objects based on a key (like 'id') or just by the array's value\n * @param {Array} src [{id:1},{id:2},{id:1}]\n * @param {String} [key]\n * @param {Boolean} [sort=False]\n * @returns {Array} [{id:1},{id:2}]\n */\nfunction uniqueArray(src, key, sort) {\n var results = [];\n var values = [];\n var i = 0;\n\n while (i < src.length) {\n var val = key ? src[i][key] : src[i];\n if (inArray(values, val) < 0) {\n results.push(src[i]);\n }\n values[i] = val;\n i++;\n }\n\n if (sort) {\n if (!key) {\n results = results.sort();\n } else {\n results = results.sort(function sortUniqueArray(a, b) {\n return a[key] > b[key];\n });\n }\n }\n\n return results;\n}\n\n/**\n * get the prefixed property\n * @param {Object} obj\n * @param {String} property\n * @returns {String|Undefined} prefixed\n */\nfunction prefixed(obj, property) {\n var prefix, prop;\n var camelProp = property[0].toUpperCase() + property.slice(1);\n\n var i = 0;\n while (i < VENDOR_PREFIXES.length) {\n prefix = VENDOR_PREFIXES[i];\n prop = (prefix) ? prefix + camelProp : property;\n\n if (prop in obj) {\n return prop;\n }\n i++;\n }\n return undefined;\n}\n\n/**\n * get a unique id\n * @returns {number} uniqueId\n */\nvar _uniqueId = 1;\nfunction uniqueId() {\n return _uniqueId++;\n}\n\n/**\n * get the window object of an element\n * @param {HTMLElement} element\n * @returns {DocumentView|Window}\n */\nfunction getWindowForElement(element) {\n var doc = element.ownerDocument || element;\n return (doc.defaultView || doc.parentWindow || window);\n}\n\nvar MOBILE_REGEX = /mobile|tablet|ip(ad|hone|od)|android/i;\n\nvar SUPPORT_TOUCH = ('ontouchstart' in window);\nvar SUPPORT_POINTER_EVENTS = prefixed(window, 'PointerEvent') !== undefined;\nvar SUPPORT_ONLY_TOUCH = SUPPORT_TOUCH && MOBILE_REGEX.test(navigator.userAgent);\n\nvar INPUT_TYPE_TOUCH = 'touch';\nvar INPUT_TYPE_PEN = 'pen';\nvar INPUT_TYPE_MOUSE = 'mouse';\nvar INPUT_TYPE_KINECT = 'kinect';\n\nvar COMPUTE_INTERVAL = 25;\n\nvar INPUT_START = 1;\nvar INPUT_MOVE = 2;\nvar INPUT_END = 4;\nvar INPUT_CANCEL = 8;\n\nvar DIRECTION_NONE = 1;\nvar DIRECTION_LEFT = 2;\nvar DIRECTION_RIGHT = 4;\nvar DIRECTION_UP = 8;\nvar DIRECTION_DOWN = 16;\n\nvar DIRECTION_HORIZONTAL = DIRECTION_LEFT | DIRECTION_RIGHT;\nvar DIRECTION_VERTICAL = DIRECTION_UP | DIRECTION_DOWN;\nvar DIRECTION_ALL = DIRECTION_HORIZONTAL | DIRECTION_VERTICAL;\n\nvar PROPS_XY = ['x', 'y'];\nvar PROPS_CLIENT_XY = ['clientX', 'clientY'];\n\n/**\n * create new input type manager\n * @param {Manager} manager\n * @param {Function} callback\n * @returns {Input}\n * @constructor\n */\nfunction Input(manager, callback) {\n var self = this;\n this.manager = manager;\n this.callback = callback;\n this.element = manager.element;\n this.target = manager.options.inputTarget;\n\n // smaller wrapper around the handler, for the scope and the enabled state of the manager,\n // so when disabled the input events are completely bypassed.\n this.domHandler = function(ev) {\n if (boolOrFn(manager.options.enable, [manager])) {\n self.handler(ev);\n }\n };\n\n this.init();\n\n}\n\nInput.prototype = {\n /**\n * should handle the inputEvent data and trigger the callback\n * @virtual\n */\n handler: function() { },\n\n /**\n * bind the events\n */\n init: function() {\n this.evEl && addEventListeners(this.element, this.evEl, this.domHandler);\n this.evTarget && addEventListeners(this.target, this.evTarget, this.domHandler);\n this.evWin && addEventListeners(getWindowForElement(this.element), this.evWin, this.domHandler);\n },\n\n /**\n * unbind the events\n */\n destroy: function() {\n this.evEl && removeEventListeners(this.element, this.evEl, this.domHandler);\n this.evTarget && removeEventListeners(this.target, this.evTarget, this.domHandler);\n this.evWin && removeEventListeners(getWindowForElement(this.element), this.evWin, this.domHandler);\n }\n};\n\n/**\n * create new input type manager\n * called by the Manager constructor\n * @param {Hammer} manager\n * @returns {Input}\n */\nfunction createInputInstance(manager) {\n var Type;\n var inputClass = manager.options.inputClass;\n\n if (inputClass) {\n Type = inputClass;\n } else if (SUPPORT_POINTER_EVENTS) {\n Type = PointerEventInput;\n } else if (SUPPORT_ONLY_TOUCH) {\n Type = TouchInput;\n } else if (!SUPPORT_TOUCH) {\n Type = MouseInput;\n } else {\n Type = TouchMouseInput;\n }\n return new (Type)(manager, inputHandler);\n}\n\n/**\n * handle input events\n * @param {Manager} manager\n * @param {String} eventType\n * @param {Object} input\n */\nfunction inputHandler(manager, eventType, input) {\n var pointersLen = input.pointers.length;\n var changedPointersLen = input.changedPointers.length;\n var isFirst = (eventType & INPUT_START && (pointersLen - changedPointersLen === 0));\n var isFinal = (eventType & (INPUT_END | INPUT_CANCEL) && (pointersLen - changedPointersLen === 0));\n\n input.isFirst = !!isFirst;\n input.isFinal = !!isFinal;\n\n if (isFirst) {\n manager.session = {};\n }\n\n // source event is the normalized value of the domEvents\n // like 'touchstart, mouseup, pointerdown'\n input.eventType = eventType;\n\n // compute scale, rotation etc\n computeInputData(manager, input);\n\n // emit secret event\n manager.emit('hammer.input', input);\n\n manager.recognize(input);\n manager.session.prevInput = input;\n}\n\n/**\n * extend the data with some usable properties like scale, rotate, velocity etc\n * @param {Object} manager\n * @param {Object} input\n */\nfunction computeInputData(manager, input) {\n var session = manager.session;\n var pointers = input.pointers;\n var pointersLength = pointers.length;\n\n // store the first input to calculate the distance and direction\n if (!session.firstInput) {\n session.firstInput = simpleCloneInputData(input);\n }\n\n // to compute scale and rotation we need to store the multiple touches\n if (pointersLength > 1 && !session.firstMultiple) {\n session.firstMultiple = simpleCloneInputData(input);\n } else if (pointersLength === 1) {\n session.firstMultiple = false;\n }\n\n var firstInput = session.firstInput;\n var firstMultiple = session.firstMultiple;\n var offsetCenter = firstMultiple ? firstMultiple.center : firstInput.center;\n\n var center = input.center = getCenter(pointers);\n input.timeStamp = now();\n input.deltaTime = input.timeStamp - firstInput.timeStamp;\n\n input.angle = getAngle(offsetCenter, center);\n input.distance = getDistance(offsetCenter, center);\n\n computeDeltaXY(session, input);\n input.offsetDirection = getDirection(input.deltaX, input.deltaY);\n\n var overallVelocity = getVelocity(input.deltaTime, input.deltaX, input.deltaY);\n input.overallVelocityX = overallVelocity.x;\n input.overallVelocityY = overallVelocity.y;\n input.overallVelocity = (abs(overallVelocity.x) > abs(overallVelocity.y)) ? overallVelocity.x : overallVelocity.y;\n\n input.scale = firstMultiple ? getScale(firstMultiple.pointers, pointers) : 1;\n input.rotation = firstMultiple ? getRotation(firstMultiple.pointers, pointers) : 0;\n\n input.maxPointers = !session.prevInput ? input.pointers.length : ((input.pointers.length >\n session.prevInput.maxPointers) ? input.pointers.length : session.prevInput.maxPointers);\n\n computeIntervalInputData(session, input);\n\n // find the correct target\n var target = manager.element;\n if (hasParent(input.srcEvent.target, target)) {\n target = input.srcEvent.target;\n }\n input.target = target;\n}\n\nfunction computeDeltaXY(session, input) {\n var center = input.center;\n var offset = session.offsetDelta || {};\n var prevDelta = session.prevDelta || {};\n var prevInput = session.prevInput || {};\n\n if (input.eventType === INPUT_START || prevInput.eventType === INPUT_END) {\n prevDelta = session.prevDelta = {\n x: prevInput.deltaX || 0,\n y: prevInput.deltaY || 0\n };\n\n offset = session.offsetDelta = {\n x: center.x,\n y: center.y\n };\n }\n\n input.deltaX = prevDelta.x + (center.x - offset.x);\n input.deltaY = prevDelta.y + (center.y - offset.y);\n}\n\n/**\n * velocity is calculated every x ms\n * @param {Object} session\n * @param {Object} input\n */\nfunction computeIntervalInputData(session, input) {\n var last = session.lastInterval || input,\n deltaTime = input.timeStamp - last.timeStamp,\n velocity, velocityX, velocityY, direction;\n\n if (input.eventType != INPUT_CANCEL && (deltaTime > COMPUTE_INTERVAL || last.velocity === undefined)) {\n var deltaX = input.deltaX - last.deltaX;\n var deltaY = input.deltaY - last.deltaY;\n\n var v = getVelocity(deltaTime, deltaX, deltaY);\n velocityX = v.x;\n velocityY = v.y;\n velocity = (abs(v.x) > abs(v.y)) ? v.x : v.y;\n direction = getDirection(deltaX, deltaY);\n\n session.lastInterval = input;\n } else {\n // use latest velocity info if it doesn't overtake a minimum period\n velocity = last.velocity;\n velocityX = last.velocityX;\n velocityY = last.velocityY;\n direction = last.direction;\n }\n\n input.velocity = velocity;\n input.velocityX = velocityX;\n input.velocityY = velocityY;\n input.direction = direction;\n}\n\n/**\n * create a simple clone from the input used for storage of firstInput and firstMultiple\n * @param {Object} input\n * @returns {Object} clonedInputData\n */\nfunction simpleCloneInputData(input) {\n // make a simple copy of the pointers because we will get a reference if we don't\n // we only need clientXY for the calculations\n var pointers = [];\n var i = 0;\n while (i < input.pointers.length) {\n pointers[i] = {\n clientX: round(input.pointers[i].clientX),\n clientY: round(input.pointers[i].clientY)\n };\n i++;\n }\n\n return {\n timeStamp: now(),\n pointers: pointers,\n center: getCenter(pointers),\n deltaX: input.deltaX,\n deltaY: input.deltaY\n };\n}\n\n/**\n * get the center of all the pointers\n * @param {Array} pointers\n * @return {Object} center contains `x` and `y` properties\n */\nfunction getCenter(pointers) {\n var pointersLength = pointers.length;\n\n // no need to loop when only one touch\n if (pointersLength === 1) {\n return {\n x: round(pointers[0].clientX),\n y: round(pointers[0].clientY)\n };\n }\n\n var x = 0, y = 0, i = 0;\n while (i < pointersLength) {\n x += pointers[i].clientX;\n y += pointers[i].clientY;\n i++;\n }\n\n return {\n x: round(x / pointersLength),\n y: round(y / pointersLength)\n };\n}\n\n/**\n * calculate the velocity between two points. unit is in px per ms.\n * @param {Number} deltaTime\n * @param {Number} x\n * @param {Number} y\n * @return {Object} velocity `x` and `y`\n */\nfunction getVelocity(deltaTime, x, y) {\n return {\n x: x / deltaTime || 0,\n y: y / deltaTime || 0\n };\n}\n\n/**\n * get the direction between two points\n * @param {Number} x\n * @param {Number} y\n * @return {Number} direction\n */\nfunction getDirection(x, y) {\n if (x === y) {\n return DIRECTION_NONE;\n }\n\n if (abs(x) >= abs(y)) {\n return x < 0 ? DIRECTION_LEFT : DIRECTION_RIGHT;\n }\n return y < 0 ? DIRECTION_UP : DIRECTION_DOWN;\n}\n\n/**\n * calculate the absolute distance between two points\n * @param {Object} p1 {x, y}\n * @param {Object} p2 {x, y}\n * @param {Array} [props] containing x and y keys\n * @return {Number} distance\n */\nfunction getDistance(p1, p2, props) {\n if (!props) {\n props = PROPS_XY;\n }\n var x = p2[props[0]] - p1[props[0]],\n y = p2[props[1]] - p1[props[1]];\n\n return Math.sqrt((x * x) + (y * y));\n}\n\n/**\n * calculate the angle between two coordinates\n * @param {Object} p1\n * @param {Object} p2\n * @param {Array} [props] containing x and y keys\n * @return {Number} angle\n */\nfunction getAngle(p1, p2, props) {\n if (!props) {\n props = PROPS_XY;\n }\n var x = p2[props[0]] - p1[props[0]],\n y = p2[props[1]] - p1[props[1]];\n return Math.atan2(y, x) * 180 / Math.PI;\n}\n\n/**\n * calculate the rotation degrees between two pointersets\n * @param {Array} start array of pointers\n * @param {Array} end array of pointers\n * @return {Number} rotation\n */\nfunction getRotation(start, end) {\n return getAngle(end[1], end[0], PROPS_CLIENT_XY) + getAngle(start[1], start[0], PROPS_CLIENT_XY);\n}\n\n/**\n * calculate the scale factor between two pointersets\n * no scale is 1, and goes down to 0 when pinched together, and bigger when pinched out\n * @param {Array} start array of pointers\n * @param {Array} end array of pointers\n * @return {Number} scale\n */\nfunction getScale(start, end) {\n return getDistance(end[0], end[1], PROPS_CLIENT_XY) / getDistance(start[0], start[1], PROPS_CLIENT_XY);\n}\n\nvar MOUSE_INPUT_MAP = {\n mousedown: INPUT_START,\n mousemove: INPUT_MOVE,\n mouseup: INPUT_END\n};\n\nvar MOUSE_ELEMENT_EVENTS = 'mousedown';\nvar MOUSE_WINDOW_EVENTS = 'mousemove mouseup';\n\n/**\n * Mouse events input\n * @constructor\n * @extends Input\n */\nfunction MouseInput() {\n this.evEl = MOUSE_ELEMENT_EVENTS;\n this.evWin = MOUSE_WINDOW_EVENTS;\n\n this.pressed = false; // mousedown state\n\n Input.apply(this, arguments);\n}\n\ninherit(MouseInput, Input, {\n /**\n * handle mouse events\n * @param {Object} ev\n */\n handler: function MEhandler(ev) {\n var eventType = MOUSE_INPUT_MAP[ev.type];\n\n // on start we want to have the left mouse button down\n if (eventType & INPUT_START && ev.button === 0) {\n this.pressed = true;\n }\n\n if (eventType & INPUT_MOVE && ev.which !== 1) {\n eventType = INPUT_END;\n }\n\n // mouse must be down\n if (!this.pressed) {\n return;\n }\n\n if (eventType & INPUT_END) {\n this.pressed = false;\n }\n\n this.callback(this.manager, eventType, {\n pointers: [ev],\n changedPointers: [ev],\n pointerType: INPUT_TYPE_MOUSE,\n srcEvent: ev\n });\n }\n});\n\nvar POINTER_INPUT_MAP = {\n pointerdown: INPUT_START,\n pointermove: INPUT_MOVE,\n pointerup: INPUT_END,\n pointercancel: INPUT_CANCEL,\n pointerout: INPUT_CANCEL\n};\n\n// in IE10 the pointer types is defined as an enum\nvar IE10_POINTER_TYPE_ENUM = {\n 2: INPUT_TYPE_TOUCH,\n 3: INPUT_TYPE_PEN,\n 4: INPUT_TYPE_MOUSE,\n 5: INPUT_TYPE_KINECT // see https://twitter.com/jacobrossi/status/480596438489890816\n};\n\nvar POINTER_ELEMENT_EVENTS = 'pointerdown';\nvar POINTER_WINDOW_EVENTS = 'pointermove pointerup pointercancel';\n\n// IE10 has prefixed support, and case-sensitive\nif (window.MSPointerEvent && !window.PointerEvent) {\n POINTER_ELEMENT_EVENTS = 'MSPointerDown';\n POINTER_WINDOW_EVENTS = 'MSPointerMove MSPointerUp MSPointerCancel';\n}\n\n/**\n * Pointer events input\n * @constructor\n * @extends Input\n */\nfunction PointerEventInput() {\n this.evEl = POINTER_ELEMENT_EVENTS;\n this.evWin = POINTER_WINDOW_EVENTS;\n\n Input.apply(this, arguments);\n\n this.store = (this.manager.session.pointerEvents = []);\n}\n\ninherit(PointerEventInput, Input, {\n /**\n * handle mouse events\n * @param {Object} ev\n */\n handler: function PEhandler(ev) {\n var store = this.store;\n var removePointer = false;\n\n var eventTypeNormalized = ev.type.toLowerCase().replace('ms', '');\n var eventType = POINTER_INPUT_MAP[eventTypeNormalized];\n var pointerType = IE10_POINTER_TYPE_ENUM[ev.pointerType] || ev.pointerType;\n\n var isTouch = (pointerType == INPUT_TYPE_TOUCH);\n\n // get index of the event in the store\n var storeIndex = inArray(store, ev.pointerId, 'pointerId');\n\n // start and mouse must be down\n if (eventType & INPUT_START && (ev.button === 0 || isTouch)) {\n if (storeIndex < 0) {\n store.push(ev);\n storeIndex = store.length - 1;\n }\n } else if (eventType & (INPUT_END | INPUT_CANCEL)) {\n removePointer = true;\n }\n\n // it not found, so the pointer hasn't been down (so it's probably a hover)\n if (storeIndex < 0) {\n return;\n }\n\n // update the event in the store\n store[storeIndex] = ev;\n\n this.callback(this.manager, eventType, {\n pointers: store,\n changedPointers: [ev],\n pointerType: pointerType,\n srcEvent: ev\n });\n\n if (removePointer) {\n // remove from the store\n store.splice(storeIndex, 1);\n }\n }\n});\n\nvar SINGLE_TOUCH_INPUT_MAP = {\n touchstart: INPUT_START,\n touchmove: INPUT_MOVE,\n touchend: INPUT_END,\n touchcancel: INPUT_CANCEL\n};\n\nvar SINGLE_TOUCH_TARGET_EVENTS = 'touchstart';\nvar SINGLE_TOUCH_WINDOW_EVENTS = 'touchstart touchmove touchend touchcancel';\n\n/**\n * Touch events input\n * @constructor\n * @extends Input\n */\nfunction SingleTouchInput() {\n this.evTarget = SINGLE_TOUCH_TARGET_EVENTS;\n this.evWin = SINGLE_TOUCH_WINDOW_EVENTS;\n this.started = false;\n\n Input.apply(this, arguments);\n}\n\ninherit(SingleTouchInput, Input, {\n handler: function TEhandler(ev) {\n var type = SINGLE_TOUCH_INPUT_MAP[ev.type];\n\n // should we handle the touch events?\n if (type === INPUT_START) {\n this.started = true;\n }\n\n if (!this.started) {\n return;\n }\n\n var touches = normalizeSingleTouches.call(this, ev, type);\n\n // when done, reset the started state\n if (type & (INPUT_END | INPUT_CANCEL) && touches[0].length - touches[1].length === 0) {\n this.started = false;\n }\n\n this.callback(this.manager, type, {\n pointers: touches[0],\n changedPointers: touches[1],\n pointerType: INPUT_TYPE_TOUCH,\n srcEvent: ev\n });\n }\n});\n\n/**\n * @this {TouchInput}\n * @param {Object} ev\n * @param {Number} type flag\n * @returns {undefined|Array} [all, changed]\n */\nfunction normalizeSingleTouches(ev, type) {\n var all = toArray(ev.touches);\n var changed = toArray(ev.changedTouches);\n\n if (type & (INPUT_END | INPUT_CANCEL)) {\n all = uniqueArray(all.concat(changed), 'identifier', true);\n }\n\n return [all, changed];\n}\n\nvar TOUCH_INPUT_MAP = {\n touchstart: INPUT_START,\n touchmove: INPUT_MOVE,\n touchend: INPUT_END,\n touchcancel: INPUT_CANCEL\n};\n\nvar TOUCH_TARGET_EVENTS = 'touchstart touchmove touchend touchcancel';\n\n/**\n * Multi-user touch events input\n * @constructor\n * @extends Input\n */\nfunction TouchInput() {\n this.evTarget = TOUCH_TARGET_EVENTS;\n this.targetIds = {};\n\n Input.apply(this, arguments);\n}\n\ninherit(TouchInput, Input, {\n handler: function MTEhandler(ev) {\n var type = TOUCH_INPUT_MAP[ev.type];\n var touches = getTouches.call(this, ev, type);\n if (!touches) {\n return;\n }\n\n this.callback(this.manager, type, {\n pointers: touches[0],\n changedPointers: touches[1],\n pointerType: INPUT_TYPE_TOUCH,\n srcEvent: ev\n });\n }\n});\n\n/**\n * @this {TouchInput}\n * @param {Object} ev\n * @param {Number} type flag\n * @returns {undefined|Array} [all, changed]\n */\nfunction getTouches(ev, type) {\n var allTouches = toArray(ev.touches);\n var targetIds = this.targetIds;\n\n // when there is only one touch, the process can be simplified\n if (type & (INPUT_START | INPUT_MOVE) && allTouches.length === 1) {\n targetIds[allTouches[0].identifier] = true;\n return [allTouches, allTouches];\n }\n\n var i,\n targetTouches,\n changedTouches = toArray(ev.changedTouches),\n changedTargetTouches = [],\n target = this.target;\n\n // get target touches from touches\n targetTouches = allTouches.filter(function(touch) {\n return hasParent(touch.target, target);\n });\n\n // collect touches\n if (type === INPUT_START) {\n i = 0;\n while (i < targetTouches.length) {\n targetIds[targetTouches[i].identifier] = true;\n i++;\n }\n }\n\n // filter changed touches to only contain touches that exist in the collected target ids\n i = 0;\n while (i < changedTouches.length) {\n if (targetIds[changedTouches[i].identifier]) {\n changedTargetTouches.push(changedTouches[i]);\n }\n\n // cleanup removed touches\n if (type & (INPUT_END | INPUT_CANCEL)) {\n delete targetIds[changedTouches[i].identifier];\n }\n i++;\n }\n\n if (!changedTargetTouches.length) {\n return;\n }\n\n return [\n // merge targetTouches with changedTargetTouches so it contains ALL touches, including 'end' and 'cancel'\n uniqueArray(targetTouches.concat(changedTargetTouches), 'identifier', true),\n changedTargetTouches\n ];\n}\n\n/**\n * Combined touch and mouse input\n *\n * Touch has a higher priority then mouse, and while touching no mouse events are allowed.\n * This because touch devices also emit mouse events while doing a touch.\n *\n * @constructor\n * @extends Input\n */\n\nvar DEDUP_TIMEOUT = 2500;\nvar DEDUP_DISTANCE = 25;\n\nfunction TouchMouseInput() {\n Input.apply(this, arguments);\n\n var handler = bindFn(this.handler, this);\n this.touch = new TouchInput(this.manager, handler);\n this.mouse = new MouseInput(this.manager, handler);\n\n this.primaryTouch = null;\n this.lastTouches = [];\n}\n\ninherit(TouchMouseInput, Input, {\n /**\n * handle mouse and touch events\n * @param {Hammer} manager\n * @param {String} inputEvent\n * @param {Object} inputData\n */\n handler: function TMEhandler(manager, inputEvent, inputData) {\n var isTouch = (inputData.pointerType == INPUT_TYPE_TOUCH),\n isMouse = (inputData.pointerType == INPUT_TYPE_MOUSE);\n\n if (isMouse && inputData.sourceCapabilities && inputData.sourceCapabilities.firesTouchEvents) {\n return;\n }\n\n // when we're in a touch event, record touches to de-dupe synthetic mouse event\n if (isTouch) {\n recordTouches.call(this, inputEvent, inputData);\n } else if (isMouse && isSyntheticEvent.call(this, inputData)) {\n return;\n }\n\n this.callback(manager, inputEvent, inputData);\n },\n\n /**\n * remove the event listeners\n */\n destroy: function destroy() {\n this.touch.destroy();\n this.mouse.destroy();\n }\n});\n\nfunction recordTouches(eventType, eventData) {\n if (eventType & INPUT_START) {\n this.primaryTouch = eventData.changedPointers[0].identifier;\n setLastTouch.call(this, eventData);\n } else if (eventType & (INPUT_END | INPUT_CANCEL)) {\n setLastTouch.call(this, eventData);\n }\n}\n\nfunction setLastTouch(eventData) {\n var touch = eventData.changedPointers[0];\n\n if (touch.identifier === this.primaryTouch) {\n var lastTouch = {x: touch.clientX, y: touch.clientY};\n this.lastTouches.push(lastTouch);\n var lts = this.lastTouches;\n var removeLastTouch = function() {\n var i = lts.indexOf(lastTouch);\n if (i > -1) {\n lts.splice(i, 1);\n }\n };\n setTimeout(removeLastTouch, DEDUP_TIMEOUT);\n }\n}\n\nfunction isSyntheticEvent(eventData) {\n var x = eventData.srcEvent.clientX, y = eventData.srcEvent.clientY;\n for (var i = 0; i < this.lastTouches.length; i++) {\n var t = this.lastTouches[i];\n var dx = Math.abs(x - t.x), dy = Math.abs(y - t.y);\n if (dx <= DEDUP_DISTANCE && dy <= DEDUP_DISTANCE) {\n return true;\n }\n }\n return false;\n}\n\nvar PREFIXED_TOUCH_ACTION = prefixed(TEST_ELEMENT.style, 'touchAction');\nvar NATIVE_TOUCH_ACTION = PREFIXED_TOUCH_ACTION !== undefined;\n\n// magical touchAction value\nvar TOUCH_ACTION_COMPUTE = 'compute';\nvar TOUCH_ACTION_AUTO = 'auto';\nvar TOUCH_ACTION_MANIPULATION = 'manipulation'; // not implemented\nvar TOUCH_ACTION_NONE = 'none';\nvar TOUCH_ACTION_PAN_X = 'pan-x';\nvar TOUCH_ACTION_PAN_Y = 'pan-y';\nvar TOUCH_ACTION_MAP = getTouchActionProps();\n\n/**\n * Touch Action\n * sets the touchAction property or uses the js alternative\n * @param {Manager} manager\n * @param {String} value\n * @constructor\n */\nfunction TouchAction(manager, value) {\n this.manager = manager;\n this.set(value);\n}\n\nTouchAction.prototype = {\n /**\n * set the touchAction value on the element or enable the polyfill\n * @param {String} value\n */\n set: function(value) {\n // find out the touch-action by the event handlers\n if (value == TOUCH_ACTION_COMPUTE) {\n value = this.compute();\n }\n\n if (NATIVE_TOUCH_ACTION && this.manager.element.style && TOUCH_ACTION_MAP[value]) {\n this.manager.element.style[PREFIXED_TOUCH_ACTION] = value;\n }\n this.actions = value.toLowerCase().trim();\n },\n\n /**\n * just re-set the touchAction value\n */\n update: function() {\n this.set(this.manager.options.touchAction);\n },\n\n /**\n * compute the value for the touchAction property based on the recognizer's settings\n * @returns {String} value\n */\n compute: function() {\n var actions = [];\n each(this.manager.recognizers, function(recognizer) {\n if (boolOrFn(recognizer.options.enable, [recognizer])) {\n actions = actions.concat(recognizer.getTouchAction());\n }\n });\n return cleanTouchActions(actions.join(' '));\n },\n\n /**\n * this method is called on each input cycle and provides the preventing of the browser behavior\n * @param {Object} input\n */\n preventDefaults: function(input) {\n var srcEvent = input.srcEvent;\n var direction = input.offsetDirection;\n\n // if the touch action did prevented once this session\n if (this.manager.session.prevented) {\n srcEvent.preventDefault();\n return;\n }\n\n var actions = this.actions;\n var hasNone = inStr(actions, TOUCH_ACTION_NONE) && !TOUCH_ACTION_MAP[TOUCH_ACTION_NONE];\n var hasPanY = inStr(actions, TOUCH_ACTION_PAN_Y) && !TOUCH_ACTION_MAP[TOUCH_ACTION_PAN_Y];\n var hasPanX = inStr(actions, TOUCH_ACTION_PAN_X) && !TOUCH_ACTION_MAP[TOUCH_ACTION_PAN_X];\n\n if (hasNone) {\n //do not prevent defaults if this is a tap gesture\n\n var isTapPointer = input.pointers.length === 1;\n var isTapMovement = input.distance < 2;\n var isTapTouchTime = input.deltaTime < 250;\n\n if (isTapPointer && isTapMovement && isTapTouchTime) {\n return;\n }\n }\n\n if (hasPanX && hasPanY) {\n // `pan-x pan-y` means browser handles all scrolling/panning, do not prevent\n return;\n }\n\n if (hasNone ||\n (hasPanY && direction & DIRECTION_HORIZONTAL) ||\n (hasPanX && direction & DIRECTION_VERTICAL)) {\n return this.preventSrc(srcEvent);\n }\n },\n\n /**\n * call preventDefault to prevent the browser's default behavior (scrolling in most cases)\n * @param {Object} srcEvent\n */\n preventSrc: function(srcEvent) {\n this.manager.session.prevented = true;\n srcEvent.preventDefault();\n }\n};\n\n/**\n * when the touchActions are collected they are not a valid value, so we need to clean things up. *\n * @param {String} actions\n * @returns {*}\n */\nfunction cleanTouchActions(actions) {\n // none\n if (inStr(actions, TOUCH_ACTION_NONE)) {\n return TOUCH_ACTION_NONE;\n }\n\n var hasPanX = inStr(actions, TOUCH_ACTION_PAN_X);\n var hasPanY = inStr(actions, TOUCH_ACTION_PAN_Y);\n\n // if both pan-x and pan-y are set (different recognizers\n // for different directions, e.g. horizontal pan but vertical swipe?)\n // we need none (as otherwise with pan-x pan-y combined none of these\n // recognizers will work, since the browser would handle all panning\n if (hasPanX && hasPanY) {\n return TOUCH_ACTION_NONE;\n }\n\n // pan-x OR pan-y\n if (hasPanX || hasPanY) {\n return hasPanX ? TOUCH_ACTION_PAN_X : TOUCH_ACTION_PAN_Y;\n }\n\n // manipulation\n if (inStr(actions, TOUCH_ACTION_MANIPULATION)) {\n return TOUCH_ACTION_MANIPULATION;\n }\n\n return TOUCH_ACTION_AUTO;\n}\n\nfunction getTouchActionProps() {\n if (!NATIVE_TOUCH_ACTION) {\n return false;\n }\n var touchMap = {};\n var cssSupports = window.CSS && window.CSS.supports;\n ['auto', 'manipulation', 'pan-y', 'pan-x', 'pan-x pan-y', 'none'].forEach(function(val) {\n\n // If css.supports is not supported but there is native touch-action assume it supports\n // all values. This is the case for IE 10 and 11.\n touchMap[val] = cssSupports ? window.CSS.supports('touch-action', val) : true;\n });\n return touchMap;\n}\n\n/**\n * Recognizer flow explained; *\n * All recognizers have the initial state of POSSIBLE when a input session starts.\n * The definition of a input session is from the first input until the last input, with all it's movement in it. *\n * Example session for mouse-input: mousedown -> mousemove -> mouseup\n *\n * On each recognizing cycle (see Manager.recognize) the .recognize() method is executed\n * which determines with state it should be.\n *\n * If the recognizer has the state FAILED, CANCELLED or RECOGNIZED (equals ENDED), it is reset to\n * POSSIBLE to give it another change on the next cycle.\n *\n * Possible\n * |\n * +-----+---------------+\n * | |\n * +-----+-----+ |\n * | | |\n * Failed Cancelled |\n * +-------+------+\n * | |\n * Recognized Began\n * |\n * Changed\n * |\n * Ended/Recognized\n */\nvar STATE_POSSIBLE = 1;\nvar STATE_BEGAN = 2;\nvar STATE_CHANGED = 4;\nvar STATE_ENDED = 8;\nvar STATE_RECOGNIZED = STATE_ENDED;\nvar STATE_CANCELLED = 16;\nvar STATE_FAILED = 32;\n\n/**\n * Recognizer\n * Every recognizer needs to extend from this class.\n * @constructor\n * @param {Object} options\n */\nfunction Recognizer(options) {\n this.options = assign({}, this.defaults, options || {});\n\n this.id = uniqueId();\n\n this.manager = null;\n\n // default is enable true\n this.options.enable = ifUndefined(this.options.enable, true);\n\n this.state = STATE_POSSIBLE;\n\n this.simultaneous = {};\n this.requireFail = [];\n}\n\nRecognizer.prototype = {\n /**\n * @virtual\n * @type {Object}\n */\n defaults: {},\n\n /**\n * set options\n * @param {Object} options\n * @return {Recognizer}\n */\n set: function(options) {\n assign(this.options, options);\n\n // also update the touchAction, in case something changed about the directions/enabled state\n this.manager && this.manager.touchAction.update();\n return this;\n },\n\n /**\n * recognize simultaneous with an other recognizer.\n * @param {Recognizer} otherRecognizer\n * @returns {Recognizer} this\n */\n recognizeWith: function(otherRecognizer) {\n if (invokeArrayArg(otherRecognizer, 'recognizeWith', this)) {\n return this;\n }\n\n var simultaneous = this.simultaneous;\n otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n if (!simultaneous[otherRecognizer.id]) {\n simultaneous[otherRecognizer.id] = otherRecognizer;\n otherRecognizer.recognizeWith(this);\n }\n return this;\n },\n\n /**\n * drop the simultaneous link. it doesnt remove the link on the other recognizer.\n * @param {Recognizer} otherRecognizer\n * @returns {Recognizer} this\n */\n dropRecognizeWith: function(otherRecognizer) {\n if (invokeArrayArg(otherRecognizer, 'dropRecognizeWith', this)) {\n return this;\n }\n\n otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n delete this.simultaneous[otherRecognizer.id];\n return this;\n },\n\n /**\n * recognizer can only run when an other is failing\n * @param {Recognizer} otherRecognizer\n * @returns {Recognizer} this\n */\n requireFailure: function(otherRecognizer) {\n if (invokeArrayArg(otherRecognizer, 'requireFailure', this)) {\n return this;\n }\n\n var requireFail = this.requireFail;\n otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n if (inArray(requireFail, otherRecognizer) === -1) {\n requireFail.push(otherRecognizer);\n otherRecognizer.requireFailure(this);\n }\n return this;\n },\n\n /**\n * drop the requireFailure link. it does not remove the link on the other recognizer.\n * @param {Recognizer} otherRecognizer\n * @returns {Recognizer} this\n */\n dropRequireFailure: function(otherRecognizer) {\n if (invokeArrayArg(otherRecognizer, 'dropRequireFailure', this)) {\n return this;\n }\n\n otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n var index = inArray(this.requireFail, otherRecognizer);\n if (index > -1) {\n this.requireFail.splice(index, 1);\n }\n return this;\n },\n\n /**\n * has require failures boolean\n * @returns {boolean}\n */\n hasRequireFailures: function() {\n return this.requireFail.length > 0;\n },\n\n /**\n * if the recognizer can recognize simultaneous with an other recognizer\n * @param {Recognizer} otherRecognizer\n * @returns {Boolean}\n */\n canRecognizeWith: function(otherRecognizer) {\n return !!this.simultaneous[otherRecognizer.id];\n },\n\n /**\n * You should use `tryEmit` instead of `emit` directly to check\n * that all the needed recognizers has failed before emitting.\n * @param {Object} input\n */\n emit: function(input) {\n var self = this;\n var state = this.state;\n\n function emit(event) {\n self.manager.emit(event, input);\n }\n\n // 'panstart' and 'panmove'\n if (state < STATE_ENDED) {\n emit(self.options.event + stateStr(state));\n }\n\n emit(self.options.event); // simple 'eventName' events\n\n if (input.additionalEvent) { // additional event(panleft, panright, pinchin, pinchout...)\n emit(input.additionalEvent);\n }\n\n // panend and pancancel\n if (state >= STATE_ENDED) {\n emit(self.options.event + stateStr(state));\n }\n },\n\n /**\n * Check that all the require failure recognizers has failed,\n * if true, it emits a gesture event,\n * otherwise, setup the state to FAILED.\n * @param {Object} input\n */\n tryEmit: function(input) {\n if (this.canEmit()) {\n return this.emit(input);\n }\n // it's failing anyway\n this.state = STATE_FAILED;\n },\n\n /**\n * can we emit?\n * @returns {boolean}\n */\n canEmit: function() {\n var i = 0;\n while (i < this.requireFail.length) {\n if (!(this.requireFail[i].state & (STATE_FAILED | STATE_POSSIBLE))) {\n return false;\n }\n i++;\n }\n return true;\n },\n\n /**\n * update the recognizer\n * @param {Object} inputData\n */\n recognize: function(inputData) {\n // make a new copy of the inputData\n // so we can change the inputData without messing up the other recognizers\n var inputDataClone = assign({}, inputData);\n\n // is is enabled and allow recognizing?\n if (!boolOrFn(this.options.enable, [this, inputDataClone])) {\n this.reset();\n this.state = STATE_FAILED;\n return;\n }\n\n // reset when we've reached the end\n if (this.state & (STATE_RECOGNIZED | STATE_CANCELLED | STATE_FAILED)) {\n this.state = STATE_POSSIBLE;\n }\n\n this.state = this.process(inputDataClone);\n\n // the recognizer has recognized a gesture\n // so trigger an event\n if (this.state & (STATE_BEGAN | STATE_CHANGED | STATE_ENDED | STATE_CANCELLED)) {\n this.tryEmit(inputDataClone);\n }\n },\n\n /**\n * return the state of the recognizer\n * the actual recognizing happens in this method\n * @virtual\n * @param {Object} inputData\n * @returns {Const} STATE\n */\n process: function(inputData) { }, // jshint ignore:line\n\n /**\n * return the preferred touch-action\n * @virtual\n * @returns {Array}\n */\n getTouchAction: function() { },\n\n /**\n * called when the gesture isn't allowed to recognize\n * like when another is being recognized or it is disabled\n * @virtual\n */\n reset: function() { }\n};\n\n/**\n * get a usable string, used as event postfix\n * @param {Const} state\n * @returns {String} state\n */\nfunction stateStr(state) {\n if (state & STATE_CANCELLED) {\n return 'cancel';\n } else if (state & STATE_ENDED) {\n return 'end';\n } else if (state & STATE_CHANGED) {\n return 'move';\n } else if (state & STATE_BEGAN) {\n return 'start';\n }\n return '';\n}\n\n/**\n * direction cons to string\n * @param {Const} direction\n * @returns {String}\n */\nfunction directionStr(direction) {\n if (direction == DIRECTION_DOWN) {\n return 'down';\n } else if (direction == DIRECTION_UP) {\n return 'up';\n } else if (direction == DIRECTION_LEFT) {\n return 'left';\n } else if (direction == DIRECTION_RIGHT) {\n return 'right';\n }\n return '';\n}\n\n/**\n * get a recognizer by name if it is bound to a manager\n * @param {Recognizer|String} otherRecognizer\n * @param {Recognizer} recognizer\n * @returns {Recognizer}\n */\nfunction getRecognizerByNameIfManager(otherRecognizer, recognizer) {\n var manager = recognizer.manager;\n if (manager) {\n return manager.get(otherRecognizer);\n }\n return otherRecognizer;\n}\n\n/**\n * This recognizer is just used as a base for the simple attribute recognizers.\n * @constructor\n * @extends Recognizer\n */\nfunction AttrRecognizer() {\n Recognizer.apply(this, arguments);\n}\n\ninherit(AttrRecognizer, Recognizer, {\n /**\n * @namespace\n * @memberof AttrRecognizer\n */\n defaults: {\n /**\n * @type {Number}\n * @default 1\n */\n pointers: 1\n },\n\n /**\n * Used to check if it the recognizer receives valid input, like input.distance > 10.\n * @memberof AttrRecognizer\n * @param {Object} input\n * @returns {Boolean} recognized\n */\n attrTest: function(input) {\n var optionPointers = this.options.pointers;\n return optionPointers === 0 || input.pointers.length === optionPointers;\n },\n\n /**\n * Process the input and return the state for the recognizer\n * @memberof AttrRecognizer\n * @param {Object} input\n * @returns {*} State\n */\n process: function(input) {\n var state = this.state;\n var eventType = input.eventType;\n\n var isRecognized = state & (STATE_BEGAN | STATE_CHANGED);\n var isValid = this.attrTest(input);\n\n // on cancel input and we've recognized before, return STATE_CANCELLED\n if (isRecognized && (eventType & INPUT_CANCEL || !isValid)) {\n return state | STATE_CANCELLED;\n } else if (isRecognized || isValid) {\n if (eventType & INPUT_END) {\n return state | STATE_ENDED;\n } else if (!(state & STATE_BEGAN)) {\n return STATE_BEGAN;\n }\n return state | STATE_CHANGED;\n }\n return STATE_FAILED;\n }\n});\n\n/**\n * Pan\n * Recognized when the pointer is down and moved in the allowed direction.\n * @constructor\n * @extends AttrRecognizer\n */\nfunction PanRecognizer() {\n AttrRecognizer.apply(this, arguments);\n\n this.pX = null;\n this.pY = null;\n}\n\ninherit(PanRecognizer, AttrRecognizer, {\n /**\n * @namespace\n * @memberof PanRecognizer\n */\n defaults: {\n event: 'pan',\n threshold: 10,\n pointers: 1,\n direction: DIRECTION_ALL\n },\n\n getTouchAction: function() {\n var direction = this.options.direction;\n var actions = [];\n if (direction & DIRECTION_HORIZONTAL) {\n actions.push(TOUCH_ACTION_PAN_Y);\n }\n if (direction & DIRECTION_VERTICAL) {\n actions.push(TOUCH_ACTION_PAN_X);\n }\n return actions;\n },\n\n directionTest: function(input) {\n var options = this.options;\n var hasMoved = true;\n var distance = input.distance;\n var direction = input.direction;\n var x = input.deltaX;\n var y = input.deltaY;\n\n // lock to axis?\n if (!(direction & options.direction)) {\n if (options.direction & DIRECTION_HORIZONTAL) {\n direction = (x === 0) ? DIRECTION_NONE : (x < 0) ? DIRECTION_LEFT : DIRECTION_RIGHT;\n hasMoved = x != this.pX;\n distance = Math.abs(input.deltaX);\n } else {\n direction = (y === 0) ? DIRECTION_NONE : (y < 0) ? DIRECTION_UP : DIRECTION_DOWN;\n hasMoved = y != this.pY;\n distance = Math.abs(input.deltaY);\n }\n }\n input.direction = direction;\n return hasMoved && distance > options.threshold && direction & options.direction;\n },\n\n attrTest: function(input) {\n return AttrRecognizer.prototype.attrTest.call(this, input) &&\n (this.state & STATE_BEGAN || (!(this.state & STATE_BEGAN) && this.directionTest(input)));\n },\n\n emit: function(input) {\n\n this.pX = input.deltaX;\n this.pY = input.deltaY;\n\n var direction = directionStr(input.direction);\n\n if (direction) {\n input.additionalEvent = this.options.event + direction;\n }\n this._super.emit.call(this, input);\n }\n});\n\n/**\n * Pinch\n * Recognized when two or more pointers are moving toward (zoom-in) or away from each other (zoom-out).\n * @constructor\n * @extends AttrRecognizer\n */\nfunction PinchRecognizer() {\n AttrRecognizer.apply(this, arguments);\n}\n\ninherit(PinchRecognizer, AttrRecognizer, {\n /**\n * @namespace\n * @memberof PinchRecognizer\n */\n defaults: {\n event: 'pinch',\n threshold: 0,\n pointers: 2\n },\n\n getTouchAction: function() {\n return [TOUCH_ACTION_NONE];\n },\n\n attrTest: function(input) {\n return this._super.attrTest.call(this, input) &&\n (Math.abs(input.scale - 1) > this.options.threshold || this.state & STATE_BEGAN);\n },\n\n emit: function(input) {\n if (input.scale !== 1) {\n var inOut = input.scale < 1 ? 'in' : 'out';\n input.additionalEvent = this.options.event + inOut;\n }\n this._super.emit.call(this, input);\n }\n});\n\n/**\n * Press\n * Recognized when the pointer is down for x ms without any movement.\n * @constructor\n * @extends Recognizer\n */\nfunction PressRecognizer() {\n Recognizer.apply(this, arguments);\n\n this._timer = null;\n this._input = null;\n}\n\ninherit(PressRecognizer, Recognizer, {\n /**\n * @namespace\n * @memberof PressRecognizer\n */\n defaults: {\n event: 'press',\n pointers: 1,\n time: 251, // minimal time of the pointer to be pressed\n threshold: 9 // a minimal movement is ok, but keep it low\n },\n\n getTouchAction: function() {\n return [TOUCH_ACTION_AUTO];\n },\n\n process: function(input) {\n var options = this.options;\n var validPointers = input.pointers.length === options.pointers;\n var validMovement = input.distance < options.threshold;\n var validTime = input.deltaTime > options.time;\n\n this._input = input;\n\n // we only allow little movement\n // and we've reached an end event, so a tap is possible\n if (!validMovement || !validPointers || (input.eventType & (INPUT_END | INPUT_CANCEL) && !validTime)) {\n this.reset();\n } else if (input.eventType & INPUT_START) {\n this.reset();\n this._timer = setTimeoutContext(function() {\n this.state = STATE_RECOGNIZED;\n this.tryEmit();\n }, options.time, this);\n } else if (input.eventType & INPUT_END) {\n return STATE_RECOGNIZED;\n }\n return STATE_FAILED;\n },\n\n reset: function() {\n clearTimeout(this._timer);\n },\n\n emit: function(input) {\n if (this.state !== STATE_RECOGNIZED) {\n return;\n }\n\n if (input && (input.eventType & INPUT_END)) {\n this.manager.emit(this.options.event + 'up', input);\n } else {\n this._input.timeStamp = now();\n this.manager.emit(this.options.event, this._input);\n }\n }\n});\n\n/**\n * Rotate\n * Recognized when two or more pointer are moving in a circular motion.\n * @constructor\n * @extends AttrRecognizer\n */\nfunction RotateRecognizer() {\n AttrRecognizer.apply(this, arguments);\n}\n\ninherit(RotateRecognizer, AttrRecognizer, {\n /**\n * @namespace\n * @memberof RotateRecognizer\n */\n defaults: {\n event: 'rotate',\n threshold: 0,\n pointers: 2\n },\n\n getTouchAction: function() {\n return [TOUCH_ACTION_NONE];\n },\n\n attrTest: function(input) {\n return this._super.attrTest.call(this, input) &&\n (Math.abs(input.rotation) > this.options.threshold || this.state & STATE_BEGAN);\n }\n});\n\n/**\n * Swipe\n * Recognized when the pointer is moving fast (velocity), with enough distance in the allowed direction.\n * @constructor\n * @extends AttrRecognizer\n */\nfunction SwipeRecognizer() {\n AttrRecognizer.apply(this, arguments);\n}\n\ninherit(SwipeRecognizer, AttrRecognizer, {\n /**\n * @namespace\n * @memberof SwipeRecognizer\n */\n defaults: {\n event: 'swipe',\n threshold: 10,\n velocity: 0.3,\n direction: DIRECTION_HORIZONTAL | DIRECTION_VERTICAL,\n pointers: 1\n },\n\n getTouchAction: function() {\n return PanRecognizer.prototype.getTouchAction.call(this);\n },\n\n attrTest: function(input) {\n var direction = this.options.direction;\n var velocity;\n\n if (direction & (DIRECTION_HORIZONTAL | DIRECTION_VERTICAL)) {\n velocity = input.overallVelocity;\n } else if (direction & DIRECTION_HORIZONTAL) {\n velocity = input.overallVelocityX;\n } else if (direction & DIRECTION_VERTICAL) {\n velocity = input.overallVelocityY;\n }\n\n return this._super.attrTest.call(this, input) &&\n direction & input.offsetDirection &&\n input.distance > this.options.threshold &&\n input.maxPointers == this.options.pointers &&\n abs(velocity) > this.options.velocity && input.eventType & INPUT_END;\n },\n\n emit: function(input) {\n var direction = directionStr(input.offsetDirection);\n if (direction) {\n this.manager.emit(this.options.event + direction, input);\n }\n\n this.manager.emit(this.options.event, input);\n }\n});\n\n/**\n * A tap is ecognized when the pointer is doing a small tap/click. Multiple taps are recognized if they occur\n * between the given interval and position. The delay option can be used to recognize multi-taps without firing\n * a single tap.\n *\n * The eventData from the emitted event contains the property `tapCount`, which contains the amount of\n * multi-taps being recognized.\n * @constructor\n * @extends Recognizer\n */\nfunction TapRecognizer() {\n Recognizer.apply(this, arguments);\n\n // previous time and center,\n // used for tap counting\n this.pTime = false;\n this.pCenter = false;\n\n this._timer = null;\n this._input = null;\n this.count = 0;\n}\n\ninherit(TapRecognizer, Recognizer, {\n /**\n * @namespace\n * @memberof PinchRecognizer\n */\n defaults: {\n event: 'tap',\n pointers: 1,\n taps: 1,\n interval: 300, // max time between the multi-tap taps\n time: 250, // max time of the pointer to be down (like finger on the screen)\n threshold: 9, // a minimal movement is ok, but keep it low\n posThreshold: 10 // a multi-tap can be a bit off the initial position\n },\n\n getTouchAction: function() {\n return [TOUCH_ACTION_MANIPULATION];\n },\n\n process: function(input) {\n var options = this.options;\n\n var validPointers = input.pointers.length === options.pointers;\n var validMovement = input.distance < options.threshold;\n var validTouchTime = input.deltaTime < options.time;\n\n this.reset();\n\n if ((input.eventType & INPUT_START) && (this.count === 0)) {\n return this.failTimeout();\n }\n\n // we only allow little movement\n // and we've reached an end event, so a tap is possible\n if (validMovement && validTouchTime && validPointers) {\n if (input.eventType != INPUT_END) {\n return this.failTimeout();\n }\n\n var validInterval = this.pTime ? (input.timeStamp - this.pTime < options.interval) : true;\n var validMultiTap = !this.pCenter || getDistance(this.pCenter, input.center) < options.posThreshold;\n\n this.pTime = input.timeStamp;\n this.pCenter = input.center;\n\n if (!validMultiTap || !validInterval) {\n this.count = 1;\n } else {\n this.count += 1;\n }\n\n this._input = input;\n\n // if tap count matches we have recognized it,\n // else it has began recognizing...\n var tapCount = this.count % options.taps;\n if (tapCount === 0) {\n // no failing requirements, immediately trigger the tap event\n // or wait as long as the multitap interval to trigger\n if (!this.hasRequireFailures()) {\n return STATE_RECOGNIZED;\n } else {\n this._timer = setTimeoutContext(function() {\n this.state = STATE_RECOGNIZED;\n this.tryEmit();\n }, options.interval, this);\n return STATE_BEGAN;\n }\n }\n }\n return STATE_FAILED;\n },\n\n failTimeout: function() {\n this._timer = setTimeoutContext(function() {\n this.state = STATE_FAILED;\n }, this.options.interval, this);\n return STATE_FAILED;\n },\n\n reset: function() {\n clearTimeout(this._timer);\n },\n\n emit: function() {\n if (this.state == STATE_RECOGNIZED) {\n this._input.tapCount = this.count;\n this.manager.emit(this.options.event, this._input);\n }\n }\n});\n\n/**\n * Simple way to create a manager with a default set of recognizers.\n * @param {HTMLElement} element\n * @param {Object} [options]\n * @constructor\n */\nfunction Hammer(element, options) {\n options = options || {};\n options.recognizers = ifUndefined(options.recognizers, Hammer.defaults.preset);\n return new Manager(element, options);\n}\n\n/**\n * @const {string}\n */\nHammer.VERSION = '2.0.7';\n\n/**\n * default settings\n * @namespace\n */\nHammer.defaults = {\n /**\n * set if DOM events are being triggered.\n * But this is slower and unused by simple implementations, so disabled by default.\n * @type {Boolean}\n * @default false\n */\n domEvents: false,\n\n /**\n * The value for the touchAction property/fallback.\n * When set to `compute` it will magically set the correct value based on the added recognizers.\n * @type {String}\n * @default compute\n */\n touchAction: TOUCH_ACTION_COMPUTE,\n\n /**\n * @type {Boolean}\n * @default true\n */\n enable: true,\n\n /**\n * EXPERIMENTAL FEATURE -- can be removed/changed\n * Change the parent input target element.\n * If Null, then it is being set the to main element.\n * @type {Null|EventTarget}\n * @default null\n */\n inputTarget: null,\n\n /**\n * force an input class\n * @type {Null|Function}\n * @default null\n */\n inputClass: null,\n\n /**\n * Default recognizer setup when calling `Hammer()`\n * When creating a new Manager these will be skipped.\n * @type {Array}\n */\n preset: [\n // RecognizerClass, options, [recognizeWith, ...], [requireFailure, ...]\n [RotateRecognizer, {enable: false}],\n [PinchRecognizer, {enable: false}, ['rotate']],\n [SwipeRecognizer, {direction: DIRECTION_HORIZONTAL}],\n [PanRecognizer, {direction: DIRECTION_HORIZONTAL}, ['swipe']],\n [TapRecognizer],\n [TapRecognizer, {event: 'doubletap', taps: 2}, ['tap']],\n [PressRecognizer]\n ],\n\n /**\n * Some CSS properties can be used to improve the working of Hammer.\n * Add them to this method and they will be set when creating a new Manager.\n * @namespace\n */\n cssProps: {\n /**\n * Disables text selection to improve the dragging gesture. Mainly for desktop browsers.\n * @type {String}\n * @default 'none'\n */\n userSelect: 'none',\n\n /**\n * Disable the Windows Phone grippers when pressing an element.\n * @type {String}\n * @default 'none'\n */\n touchSelect: 'none',\n\n /**\n * Disables the default callout shown when you touch and hold a touch target.\n * On iOS, when you touch and hold a touch target such as a link, Safari displays\n * a callout containing information about the link. This property allows you to disable that callout.\n * @type {String}\n * @default 'none'\n */\n touchCallout: 'none',\n\n /**\n * Specifies whether zooming is enabled. Used by IE10>\n * @type {String}\n * @default 'none'\n */\n contentZooming: 'none',\n\n /**\n * Specifies that an entire element should be draggable instead of its contents. Mainly for desktop browsers.\n * @type {String}\n * @default 'none'\n */\n userDrag: 'none',\n\n /**\n * Overrides the highlight color shown when the user taps a link or a JavaScript\n * clickable element in iOS. This property obeys the alpha value, if specified.\n * @type {String}\n * @default 'rgba(0,0,0,0)'\n */\n tapHighlightColor: 'rgba(0,0,0,0)'\n }\n};\n\nvar STOP = 1;\nvar FORCED_STOP = 2;\n\n/**\n * Manager\n * @param {HTMLElement} element\n * @param {Object} [options]\n * @constructor\n */\nfunction Manager(element, options) {\n this.options = assign({}, Hammer.defaults, options || {});\n\n this.options.inputTarget = this.options.inputTarget || element;\n\n this.handlers = {};\n this.session = {};\n this.recognizers = [];\n this.oldCssProps = {};\n\n this.element = element;\n this.input = createInputInstance(this);\n this.touchAction = new TouchAction(this, this.options.touchAction);\n\n toggleCssProps(this, true);\n\n each(this.options.recognizers, function(item) {\n var recognizer = this.add(new (item[0])(item[1]));\n item[2] && recognizer.recognizeWith(item[2]);\n item[3] && recognizer.requireFailure(item[3]);\n }, this);\n}\n\nManager.prototype = {\n /**\n * set options\n * @param {Object} options\n * @returns {Manager}\n */\n set: function(options) {\n assign(this.options, options);\n\n // Options that need a little more setup\n if (options.touchAction) {\n this.touchAction.update();\n }\n if (options.inputTarget) {\n // Clean up existing event listeners and reinitialize\n this.input.destroy();\n this.input.target = options.inputTarget;\n this.input.init();\n }\n return this;\n },\n\n /**\n * stop recognizing for this session.\n * This session will be discarded, when a new [input]start event is fired.\n * When forced, the recognizer cycle is stopped immediately.\n * @param {Boolean} [force]\n */\n stop: function(force) {\n this.session.stopped = force ? FORCED_STOP : STOP;\n },\n\n /**\n * run the recognizers!\n * called by the inputHandler function on every movement of the pointers (touches)\n * it walks through all the recognizers and tries to detect the gesture that is being made\n * @param {Object} inputData\n */\n recognize: function(inputData) {\n var session = this.session;\n if (session.stopped) {\n return;\n }\n\n // run the touch-action polyfill\n this.touchAction.preventDefaults(inputData);\n\n var recognizer;\n var recognizers = this.recognizers;\n\n // this holds the recognizer that is being recognized.\n // so the recognizer's state needs to be BEGAN, CHANGED, ENDED or RECOGNIZED\n // if no recognizer is detecting a thing, it is set to `null`\n var curRecognizer = session.curRecognizer;\n\n // reset when the last recognizer is recognized\n // or when we're in a new session\n if (!curRecognizer || (curRecognizer && curRecognizer.state & STATE_RECOGNIZED)) {\n curRecognizer = session.curRecognizer = null;\n }\n\n var i = 0;\n while (i < recognizers.length) {\n recognizer = recognizers[i];\n\n // find out if we are allowed try to recognize the input for this one.\n // 1. allow if the session is NOT forced stopped (see the .stop() method)\n // 2. allow if we still haven't recognized a gesture in this session, or the this recognizer is the one\n // that is being recognized.\n // 3. allow if the recognizer is allowed to run simultaneous with the current recognized recognizer.\n // this can be setup with the `recognizeWith()` method on the recognizer.\n if (session.stopped !== FORCED_STOP && ( // 1\n !curRecognizer || recognizer == curRecognizer || // 2\n recognizer.canRecognizeWith(curRecognizer))) { // 3\n recognizer.recognize(inputData);\n } else {\n recognizer.reset();\n }\n\n // if the recognizer has been recognizing the input as a valid gesture, we want to store this one as the\n // current active recognizer. but only if we don't already have an active recognizer\n if (!curRecognizer && recognizer.state & (STATE_BEGAN | STATE_CHANGED | STATE_ENDED)) {\n curRecognizer = session.curRecognizer = recognizer;\n }\n i++;\n }\n },\n\n /**\n * get a recognizer by its event name.\n * @param {Recognizer|String} recognizer\n * @returns {Recognizer|Null}\n */\n get: function(recognizer) {\n if (recognizer instanceof Recognizer) {\n return recognizer;\n }\n\n var recognizers = this.recognizers;\n for (var i = 0; i < recognizers.length; i++) {\n if (recognizers[i].options.event == recognizer) {\n return recognizers[i];\n }\n }\n return null;\n },\n\n /**\n * add a recognizer to the manager\n * existing recognizers with the same event name will be removed\n * @param {Recognizer} recognizer\n * @returns {Recognizer|Manager}\n */\n add: function(recognizer) {\n if (invokeArrayArg(recognizer, 'add', this)) {\n return this;\n }\n\n // remove existing\n var existing = this.get(recognizer.options.event);\n if (existing) {\n this.remove(existing);\n }\n\n this.recognizers.push(recognizer);\n recognizer.manager = this;\n\n this.touchAction.update();\n return recognizer;\n },\n\n /**\n * remove a recognizer by name or instance\n * @param {Recognizer|String} recognizer\n * @returns {Manager}\n */\n remove: function(recognizer) {\n if (invokeArrayArg(recognizer, 'remove', this)) {\n return this;\n }\n\n recognizer = this.get(recognizer);\n\n // let's make sure this recognizer exists\n if (recognizer) {\n var recognizers = this.recognizers;\n var index = inArray(recognizers, recognizer);\n\n if (index !== -1) {\n recognizers.splice(index, 1);\n this.touchAction.update();\n }\n }\n\n return this;\n },\n\n /**\n * bind event\n * @param {String} events\n * @param {Function} handler\n * @returns {EventEmitter} this\n */\n on: function(events, handler) {\n if (events === undefined) {\n return;\n }\n if (handler === undefined) {\n return;\n }\n\n var handlers = this.handlers;\n each(splitStr(events), function(event) {\n handlers[event] = handlers[event] || [];\n handlers[event].push(handler);\n });\n return this;\n },\n\n /**\n * unbind event, leave emit blank to remove all handlers\n * @param {String} events\n * @param {Function} [handler]\n * @returns {EventEmitter} this\n */\n off: function(events, handler) {\n if (events === undefined) {\n return;\n }\n\n var handlers = this.handlers;\n each(splitStr(events), function(event) {\n if (!handler) {\n delete handlers[event];\n } else {\n handlers[event] && handlers[event].splice(inArray(handlers[event], handler), 1);\n }\n });\n return this;\n },\n\n /**\n * emit event to the listeners\n * @param {String} event\n * @param {Object} data\n */\n emit: function(event, data) {\n // we also want to trigger dom events\n if (this.options.domEvents) {\n triggerDomEvent(event, data);\n }\n\n // no handlers, so skip it all\n var handlers = this.handlers[event] && this.handlers[event].slice();\n if (!handlers || !handlers.length) {\n return;\n }\n\n data.type = event;\n data.preventDefault = function() {\n data.srcEvent.preventDefault();\n };\n\n var i = 0;\n while (i < handlers.length) {\n handlers[i](data);\n i++;\n }\n },\n\n /**\n * destroy the manager and unbinds all events\n * it doesn't unbind dom events, that is the user own responsibility\n */\n destroy: function() {\n this.element && toggleCssProps(this, false);\n\n this.handlers = {};\n this.session = {};\n this.input.destroy();\n this.element = null;\n }\n};\n\n/**\n * add/remove the css properties as defined in manager.options.cssProps\n * @param {Manager} manager\n * @param {Boolean} add\n */\nfunction toggleCssProps(manager, add) {\n var element = manager.element;\n if (!element.style) {\n return;\n }\n var prop;\n each(manager.options.cssProps, function(value, name) {\n prop = prefixed(element.style, name);\n if (add) {\n manager.oldCssProps[prop] = element.style[prop];\n element.style[prop] = value;\n } else {\n element.style[prop] = manager.oldCssProps[prop] || '';\n }\n });\n if (!add) {\n manager.oldCssProps = {};\n }\n}\n\n/**\n * trigger dom event\n * @param {String} event\n * @param {Object} data\n */\nfunction triggerDomEvent(event, data) {\n var gestureEvent = document.createEvent('Event');\n gestureEvent.initEvent(event, true, true);\n gestureEvent.gesture = data;\n data.target.dispatchEvent(gestureEvent);\n}\n\nassign(Hammer, {\n INPUT_START: INPUT_START,\n INPUT_MOVE: INPUT_MOVE,\n INPUT_END: INPUT_END,\n INPUT_CANCEL: INPUT_CANCEL,\n\n STATE_POSSIBLE: STATE_POSSIBLE,\n STATE_BEGAN: STATE_BEGAN,\n STATE_CHANGED: STATE_CHANGED,\n STATE_ENDED: STATE_ENDED,\n STATE_RECOGNIZED: STATE_RECOGNIZED,\n STATE_CANCELLED: STATE_CANCELLED,\n STATE_FAILED: STATE_FAILED,\n\n DIRECTION_NONE: DIRECTION_NONE,\n DIRECTION_LEFT: DIRECTION_LEFT,\n DIRECTION_RIGHT: DIRECTION_RIGHT,\n DIRECTION_UP: DIRECTION_UP,\n DIRECTION_DOWN: DIRECTION_DOWN,\n DIRECTION_HORIZONTAL: DIRECTION_HORIZONTAL,\n DIRECTION_VERTICAL: DIRECTION_VERTICAL,\n DIRECTION_ALL: DIRECTION_ALL,\n\n Manager: Manager,\n Input: Input,\n TouchAction: TouchAction,\n\n TouchInput: TouchInput,\n MouseInput: MouseInput,\n PointerEventInput: PointerEventInput,\n TouchMouseInput: TouchMouseInput,\n SingleTouchInput: SingleTouchInput,\n\n Recognizer: Recognizer,\n AttrRecognizer: AttrRecognizer,\n Tap: TapRecognizer,\n Pan: PanRecognizer,\n Swipe: SwipeRecognizer,\n Pinch: PinchRecognizer,\n Rotate: RotateRecognizer,\n Press: PressRecognizer,\n\n on: addEventListeners,\n off: removeEventListeners,\n each: each,\n merge: merge,\n extend: extend,\n assign: assign,\n inherit: inherit,\n bindFn: bindFn,\n prefixed: prefixed\n});\n\n// this prevents errors when Hammer is loaded in the presence of an AMD\n// style loader but by script tag, not by the loader.\nvar freeGlobal = (typeof window !== 'undefined' ? window : (typeof self !== 'undefined' ? self : {})); // jshint ignore:line\nfreeGlobal.Hammer = Hammer;\n\nif (typeof define === 'function' && define.amd) {\n define(function() {\n return Hammer;\n });\n} else if (typeof module != 'undefined' && module.exports) {\n module.exports = Hammer;\n} else {\n window[exportName] = Hammer;\n}\n\n})(window, document, 'Hammer');\n","'use strict';\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\n\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n","'use strict';\n\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\tvar descriptor = Object.getOwnPropertyDescriptor(obj, sym);\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n","'use strict';\n\nvar hasSymbols = require('has-symbols/shams');\n\nmodule.exports = function hasToStringTagShams() {\n\treturn hasSymbols() && !!Symbol.toStringTag;\n};\n","'use strict';\n\nvar bind = require('function-bind');\n\nmodule.exports = bind.call(Function.call, Object.prototype.hasOwnProperty);\n","'use strict';\n\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar callBound = require('call-bind/callBound');\n\nvar $toString = callBound('Object.prototype.toString');\n\nvar isStandardArguments = function isArguments(value) {\n\tif (hasToStringTag && value && typeof value === 'object' && Symbol.toStringTag in value) {\n\t\treturn false;\n\t}\n\treturn $toString(value) === '[object Arguments]';\n};\n\nvar isLegacyArguments = function isArguments(value) {\n\tif (isStandardArguments(value)) {\n\t\treturn true;\n\t}\n\treturn value !== null &&\n\t\ttypeof value === 'object' &&\n\t\ttypeof value.length === 'number' &&\n\t\tvalue.length >= 0 &&\n\t\t$toString(value) !== '[object Array]' &&\n\t\t$toString(value.callee) === '[object Function]';\n};\n\nvar supportsStandardArguments = (function () {\n\treturn isStandardArguments(arguments);\n}());\n\nisStandardArguments.isLegacyArguments = isLegacyArguments; // for tests\n\nmodule.exports = supportsStandardArguments ? isStandardArguments : isLegacyArguments;\n","'use strict';\n\nvar toStr = Object.prototype.toString;\nvar fnToStr = Function.prototype.toString;\nvar isFnRegex = /^\\s*(?:function)?\\*/;\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar getProto = Object.getPrototypeOf;\nvar getGeneratorFunc = function () { // eslint-disable-line consistent-return\n\tif (!hasToStringTag) {\n\t\treturn false;\n\t}\n\ttry {\n\t\treturn Function('return function*() {}')();\n\t} catch (e) {\n\t}\n};\nvar GeneratorFunction;\n\nmodule.exports = function isGeneratorFunction(fn) {\n\tif (typeof fn !== 'function') {\n\t\treturn false;\n\t}\n\tif (isFnRegex.test(fnToStr.call(fn))) {\n\t\treturn true;\n\t}\n\tif (!hasToStringTag) {\n\t\tvar str = toStr.call(fn);\n\t\treturn str === '[object GeneratorFunction]';\n\t}\n\tif (!getProto) {\n\t\treturn false;\n\t}\n\tif (typeof GeneratorFunction === 'undefined') {\n\t\tvar generatorFunc = getGeneratorFunc();\n\t\tGeneratorFunction = generatorFunc ? getProto(generatorFunc) : false;\n\t}\n\treturn getProto(fn) === GeneratorFunction;\n};\n","'use strict';\n\n/* http://www.ecma-international.org/ecma-262/6.0/#sec-number.isnan */\n\nmodule.exports = function isNaN(value) {\n\treturn value !== value;\n};\n","'use strict';\n\nvar callBind = require('call-bind');\nvar define = require('define-properties');\n\nvar implementation = require('./implementation');\nvar getPolyfill = require('./polyfill');\nvar shim = require('./shim');\n\nvar polyfill = callBind(getPolyfill(), Number);\n\n/* http://www.ecma-international.org/ecma-262/6.0/#sec-number.isnan */\n\ndefine(polyfill, {\n\tgetPolyfill: getPolyfill,\n\timplementation: implementation,\n\tshim: shim\n});\n\nmodule.exports = polyfill;\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = function getPolyfill() {\n\tif (Number.isNaN && Number.isNaN(NaN) && !Number.isNaN('a')) {\n\t\treturn Number.isNaN;\n\t}\n\treturn implementation;\n};\n","'use strict';\n\nvar define = require('define-properties');\nvar getPolyfill = require('./polyfill');\n\n/* http://www.ecma-international.org/ecma-262/6.0/#sec-number.isnan */\n\nmodule.exports = function shimNumberIsNaN() {\n\tvar polyfill = getPolyfill();\n\tdefine(Number, { isNaN: polyfill }, {\n\t\tisNaN: function testIsNaN() {\n\t\t\treturn Number.isNaN !== polyfill;\n\t\t}\n\t});\n\treturn polyfill;\n};\n","'use strict';\n\nvar forEach = require('foreach');\nvar availableTypedArrays = require('available-typed-arrays');\nvar callBound = require('call-bind/callBound');\n\nvar $toString = callBound('Object.prototype.toString');\nvar hasToStringTag = require('has-tostringtag/shams')();\n\nvar g = typeof globalThis === 'undefined' ? global : globalThis;\nvar typedArrays = availableTypedArrays();\n\nvar $indexOf = callBound('Array.prototype.indexOf', true) || function indexOf(array, value) {\n\tfor (var i = 0; i < array.length; i += 1) {\n\t\tif (array[i] === value) {\n\t\t\treturn i;\n\t\t}\n\t}\n\treturn -1;\n};\nvar $slice = callBound('String.prototype.slice');\nvar toStrTags = {};\nvar gOPD = require('es-abstract/helpers/getOwnPropertyDescriptor');\nvar getPrototypeOf = Object.getPrototypeOf; // require('getprototypeof');\nif (hasToStringTag && gOPD && getPrototypeOf) {\n\tforEach(typedArrays, function (typedArray) {\n\t\tvar arr = new g[typedArray]();\n\t\tif (Symbol.toStringTag in arr) {\n\t\t\tvar proto = getPrototypeOf(arr);\n\t\t\tvar descriptor = gOPD(proto, Symbol.toStringTag);\n\t\t\tif (!descriptor) {\n\t\t\t\tvar superProto = getPrototypeOf(proto);\n\t\t\t\tdescriptor = gOPD(superProto, Symbol.toStringTag);\n\t\t\t}\n\t\t\ttoStrTags[typedArray] = descriptor.get;\n\t\t}\n\t});\n}\n\nvar tryTypedArrays = function tryAllTypedArrays(value) {\n\tvar anyTrue = false;\n\tforEach(toStrTags, function (getter, typedArray) {\n\t\tif (!anyTrue) {\n\t\t\ttry {\n\t\t\t\tanyTrue = getter.call(value) === typedArray;\n\t\t\t} catch (e) { /**/ }\n\t\t}\n\t});\n\treturn anyTrue;\n};\n\nmodule.exports = function isTypedArray(value) {\n\tif (!value || typeof value !== 'object') { return false; }\n\tif (!hasToStringTag || !(Symbol.toStringTag in value)) {\n\t\tvar tag = $slice($toString(value), 8, -1);\n\t\treturn $indexOf(typedArrays, tag) > -1;\n\t}\n\tif (!gOPD) { return false; }\n\treturn tryTypedArrays(value);\n};\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n symbolTag = '[object Symbol]';\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/,\n reLeadingDot = /^\\./,\n rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Symbol = root.Symbol,\n splice = arrayProto.splice;\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = isKey(path, object) ? [path] : castPath(path);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value) {\n return isArray(value) ? value : stringToPath(value);\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoize(function(string) {\n string = toString(string);\n\n var result = [];\n if (reLeadingDot.test(string)) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, string) {\n result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result);\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Assign cache to `_.memoize`.\nmemoize.Cache = MapCache;\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nmodule.exports = get;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nmodule.exports = DataView;\n","var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n","var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nmodule.exports = Promise;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n","var MapCache = require('./_MapCache'),\n setCacheAdd = require('./_setCacheAdd'),\n setCacheHas = require('./_setCacheHas');\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nmodule.exports = SetCache;\n","var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nmodule.exports = WeakMap;\n","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nmodule.exports = apply;\n","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = arrayFilter;\n","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nmodule.exports = arrayPush;\n","/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignMergeValue;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;\n","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n","var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n","var isObject = require('./isObject');\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nmodule.exports = baseCreate;\n","var createBaseFor = require('./_createBaseFor');\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n","var arrayPush = require('./_arrayPush'),\n isArray = require('./isArray');\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nmodule.exports = baseGetAllKeys;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n","var baseIsEqualDeep = require('./_baseIsEqualDeep'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nmodule.exports = baseIsEqual;\n","var Stack = require('./_Stack'),\n equalArrays = require('./_equalArrays'),\n equalByTag = require('./_equalByTag'),\n equalObjects = require('./_equalObjects'),\n getTag = require('./_getTag'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isTypedArray = require('./isTypedArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nmodule.exports = baseIsEqualDeep;\n","var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n","var baseGetTag = require('./_baseGetTag'),\n isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n","var isPrototype = require('./_isPrototype'),\n nativeKeys = require('./_nativeKeys');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeys;\n","var isObject = require('./isObject'),\n isPrototype = require('./_isPrototype'),\n nativeKeysIn = require('./_nativeKeysIn');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeysIn;\n","var Stack = require('./_Stack'),\n assignMergeValue = require('./_assignMergeValue'),\n baseFor = require('./_baseFor'),\n baseMergeDeep = require('./_baseMergeDeep'),\n isObject = require('./isObject'),\n keysIn = require('./keysIn'),\n safeGet = require('./_safeGet');\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n stack || (stack = new Stack);\n if (isObject(srcValue)) {\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n}\n\nmodule.exports = baseMerge;\n","var assignMergeValue = require('./_assignMergeValue'),\n cloneBuffer = require('./_cloneBuffer'),\n cloneTypedArray = require('./_cloneTypedArray'),\n copyArray = require('./_copyArray'),\n initCloneObject = require('./_initCloneObject'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isArrayLikeObject = require('./isArrayLikeObject'),\n isBuffer = require('./isBuffer'),\n isFunction = require('./isFunction'),\n isObject = require('./isObject'),\n isPlainObject = require('./isPlainObject'),\n isTypedArray = require('./isTypedArray'),\n safeGet = require('./_safeGet'),\n toPlainObject = require('./toPlainObject');\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || isFunction(objValue)) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n}\n\nmodule.exports = baseMergeDeep;\n","var identity = require('./identity'),\n overRest = require('./_overRest'),\n setToString = require('./_setToString');\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\nmodule.exports = baseRest;\n","var constant = require('./constant'),\n defineProperty = require('./_defineProperty'),\n identity = require('./identity');\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\nmodule.exports = baseSetToString;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n","/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\nmodule.exports = cacheHas;\n","var Uint8Array = require('./_Uint8Array');\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nmodule.exports = cloneArrayBuffer;\n","var root = require('./_root');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nmodule.exports = cloneBuffer;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nmodule.exports = cloneTypedArray;\n","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = copyArray;\n","var assignValue = require('./_assignValue'),\n baseAssignValue = require('./_baseAssignValue');\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nmodule.exports = copyObject;\n","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n","var baseRest = require('./_baseRest'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\nmodule.exports = createAssigner;\n","/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n","var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n","var SetCache = require('./_SetCache'),\n arraySome = require('./_arraySome'),\n cacheHas = require('./_cacheHas');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalArrays;\n","var Symbol = require('./_Symbol'),\n Uint8Array = require('./_Uint8Array'),\n eq = require('./eq'),\n equalArrays = require('./_equalArrays'),\n mapToArray = require('./_mapToArray'),\n setToArray = require('./_setToArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n","var getAllKeys = require('./_getAllKeys');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalObjects;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbols = require('./_getSymbols'),\n keys = require('./keys');\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nmodule.exports = getAllKeys;\n","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n","var overArg = require('./_overArg');\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","var arrayFilter = require('./_arrayFilter'),\n stubArray = require('./stubArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nmodule.exports = getSymbols;\n","var DataView = require('./_DataView'),\n Map = require('./_Map'),\n Promise = require('./_Promise'),\n Set = require('./_Set'),\n WeakMap = require('./_WeakMap'),\n baseGetTag = require('./_baseGetTag'),\n toSource = require('./_toSource');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nmodule.exports = getTag;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n","var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nmodule.exports = hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n","var baseCreate = require('./_baseCreate'),\n getPrototype = require('./_getPrototype'),\n isPrototype = require('./_isPrototype');\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nmodule.exports = initCloneObject;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n","var eq = require('./eq'),\n isArrayLike = require('./isArrayLike'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject');\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nmodule.exports = isKeyable;\n","var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n","var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\n","var getMapData = require('./_getMapData');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n","var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n","var getMapData = require('./_getMapData');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n","var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n","/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nmodule.exports = mapToArray;\n","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n","var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = nativeKeysIn;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n","var apply = require('./_apply');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nmodule.exports = overRest;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","/**\n * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n if (key === 'constructor' && typeof object[key] === 'function') {\n return;\n }\n\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n}\n\nmodule.exports = safeGet;\n","/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\nmodule.exports = setCacheAdd;\n","/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\nmodule.exports = setCacheHas;\n","/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nmodule.exports = setToArray;\n","var baseSetToString = require('./_baseSetToString'),\n shortOut = require('./_shortOut');\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\nmodule.exports = setToString;\n","/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nmodule.exports = shortOut;\n","var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n","var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nmodule.exports = constant;\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n","var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n","var isArrayLike = require('./isArrayLike'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\nmodule.exports = isArrayLikeObject;\n","var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n","var baseIsEqual = require('./_baseIsEqual');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\n\nmodule.exports = isEqual;\n","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n getPrototype = require('./_getPrototype'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nmodule.exports = isPlainObject;\n","var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeys = require('./_baseKeys'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = keys;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeysIn = require('./_baseKeysIn'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nmodule.exports = keysIn;\n","var baseMerge = require('./_baseMerge'),\n createAssigner = require('./_createAssigner');\n\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\nvar merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n});\n\nmodule.exports = merge;\n","/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nmodule.exports = stubArray;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n","var copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return copyObject(value, keysIn(value));\n}\n\nmodule.exports = toPlainObject;\n","'use strict';\n\nvar get = require('lodash.get');\nvar plurals = require('./plurals');\n\nmodule.exports = Gettext;\n\n/**\n * Creates and returns a new Gettext instance.\n *\n * @constructor\n * @param {Object} [options] A set of options\n * @param {String} options.sourceLocale The locale that the source code and its\n * texts are written in. Translations for\n * this locale is not necessary.\n * @param {Boolean} options.debug Whether to output debug info into the\n * console.\n * @return {Object} A Gettext instance\n */\nfunction Gettext(options) {\n options = options || {};\n\n this.catalogs = {};\n this.locale = '';\n this.domain = 'messages';\n\n this.listeners = [];\n\n // Set source locale\n this.sourceLocale = '';\n if (options.sourceLocale) {\n if (typeof options.sourceLocale === 'string') {\n this.sourceLocale = options.sourceLocale;\n }\n else {\n this.warn('The `sourceLocale` option should be a string');\n }\n }\n\n // Set debug flag\n this.debug = 'debug' in options && options.debug === true;\n}\n\n/**\n * Adds an event listener.\n *\n * @param {String} eventName An event name\n * @param {Function} callback An event handler function\n */\nGettext.prototype.on = function(eventName, callback) {\n this.listeners.push({\n eventName: eventName,\n callback: callback\n });\n};\n\n/**\n * Removes an event listener.\n *\n * @param {String} eventName An event name\n * @param {Function} callback A previously registered event handler function\n */\nGettext.prototype.off = function(eventName, callback) {\n this.listeners = this.listeners.filter(function(listener) {\n return (\n listener.eventName === eventName &&\n listener.callback === callback\n ) === false;\n });\n};\n\n/**\n * Emits an event to all registered event listener.\n *\n * @private\n * @param {String} eventName An event name\n * @param {any} eventData Data to pass to event listeners\n */\nGettext.prototype.emit = function(eventName, eventData) {\n for (var i = 0; i < this.listeners.length; i++) {\n var listener = this.listeners[i];\n if (listener.eventName === eventName) {\n listener.callback(eventData);\n }\n }\n};\n\n/**\n * Logs a warning to the console if debug mode is enabled.\n *\n * @ignore\n * @param {String} message A warning message\n */\nGettext.prototype.warn = function(message) {\n if (this.debug) {\n console.warn(message);\n }\n\n this.emit('error', new Error(message));\n};\n\n/**\n * Stores a set of translations in the set of gettext\n * catalogs.\n *\n * @example\n * gt.addTranslations('sv-SE', 'messages', translationsObject)\n *\n * @param {String} locale A locale string\n * @param {String} domain A domain name\n * @param {Object} translations An object of gettext-parser JSON shape\n */\nGettext.prototype.addTranslations = function(locale, domain, translations) {\n if (!this.catalogs[locale]) {\n this.catalogs[locale] = {};\n }\n\n this.catalogs[locale][domain] = translations;\n};\n\n/**\n * Sets the locale to get translated messages for.\n *\n * @example\n * gt.setLocale('sv-SE')\n *\n * @param {String} locale A locale\n */\nGettext.prototype.setLocale = function(locale) {\n if (typeof locale !== 'string') {\n this.warn(\n 'You called setLocale() with an argument of type ' + (typeof locale) + '. ' +\n 'The locale must be a string.'\n );\n return;\n }\n\n if (locale.trim() === '') {\n this.warn('You called setLocale() with an empty value, which makes little sense.');\n }\n\n if (locale !== this.sourceLocale && !this.catalogs[locale]) {\n this.warn('You called setLocale() with \"' + locale + '\", but no translations for that locale has been added.');\n }\n\n this.locale = locale;\n};\n\n/**\n * Sets the default gettext domain.\n *\n * @example\n * gt.setTextDomain('domainname')\n *\n * @param {String} domain A gettext domain name\n */\nGettext.prototype.setTextDomain = function(domain) {\n if (typeof domain !== 'string') {\n this.warn(\n 'You called setTextDomain() with an argument of type ' + (typeof domain) + '. ' +\n 'The domain must be a string.'\n );\n return;\n }\n\n if (domain.trim() === '') {\n this.warn('You called setTextDomain() with an empty `domain` value.');\n }\n\n this.domain = domain;\n};\n\n/**\n * Translates a string using the default textdomain\n *\n * @example\n * gt.gettext('Some text')\n *\n * @param {String} msgid String to be translated\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.gettext = function(msgid) {\n return this.dnpgettext(this.domain, '', msgid);\n};\n\n/**\n * Translates a string using a specific domain\n *\n * @example\n * gt.dgettext('domainname', 'Some text')\n *\n * @param {String} domain A gettext domain name\n * @param {String} msgid String to be translated\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.dgettext = function(domain, msgid) {\n return this.dnpgettext(domain, '', msgid);\n};\n\n/**\n * Translates a plural string using the default textdomain\n *\n * @example\n * gt.ngettext('One thing', 'Many things', numberOfThings)\n *\n * @param {String} msgid String to be translated when count is not plural\n * @param {String} msgidPlural String to be translated when count is plural\n * @param {Number} count Number count for the plural\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.ngettext = function(msgid, msgidPlural, count) {\n return this.dnpgettext(this.domain, '', msgid, msgidPlural, count);\n};\n\n/**\n * Translates a plural string using a specific textdomain\n *\n * @example\n * gt.dngettext('domainname', 'One thing', 'Many things', numberOfThings)\n *\n * @param {String} domain A gettext domain name\n * @param {String} msgid String to be translated when count is not plural\n * @param {String} msgidPlural String to be translated when count is plural\n * @param {Number} count Number count for the plural\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.dngettext = function(domain, msgid, msgidPlural, count) {\n return this.dnpgettext(domain, '', msgid, msgidPlural, count);\n};\n\n/**\n * Translates a string from a specific context using the default textdomain\n *\n * @example\n * gt.pgettext('sports', 'Back')\n *\n * @param {String} msgctxt Translation context\n * @param {String} msgid String to be translated\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.pgettext = function(msgctxt, msgid) {\n return this.dnpgettext(this.domain, msgctxt, msgid);\n};\n\n/**\n * Translates a string from a specific context using s specific textdomain\n *\n * @example\n * gt.dpgettext('domainname', 'sports', 'Back')\n *\n * @param {String} domain A gettext domain name\n * @param {String} msgctxt Translation context\n * @param {String} msgid String to be translated\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.dpgettext = function(domain, msgctxt, msgid) {\n return this.dnpgettext(domain, msgctxt, msgid);\n};\n\n/**\n * Translates a plural string from a specific context using the default textdomain\n *\n * @example\n * gt.npgettext('sports', 'Back', '%d backs', numberOfBacks)\n *\n * @param {String} msgctxt Translation context\n * @param {String} msgid String to be translated when count is not plural\n * @param {String} msgidPlural String to be translated when count is plural\n * @param {Number} count Number count for the plural\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.npgettext = function(msgctxt, msgid, msgidPlural, count) {\n return this.dnpgettext(this.domain, msgctxt, msgid, msgidPlural, count);\n};\n\n/**\n * Translates a plural string from a specifi context using a specific textdomain\n *\n * @example\n * gt.dnpgettext('domainname', 'sports', 'Back', '%d backs', numberOfBacks)\n *\n * @param {String} domain A gettext domain name\n * @param {String} msgctxt Translation context\n * @param {String} msgid String to be translated\n * @param {String} msgidPlural If no translation was found, return this on count!=1\n * @param {Number} count Number count for the plural\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.dnpgettext = function(domain, msgctxt, msgid, msgidPlural, count) {\n var defaultTranslation = msgid;\n var translation;\n var index;\n\n msgctxt = msgctxt || '';\n\n if (!isNaN(count) && count !== 1) {\n defaultTranslation = msgidPlural || msgid;\n }\n\n translation = this._getTranslation(domain, msgctxt, msgid);\n\n if (translation) {\n if (typeof count === 'number') {\n var pluralsFunc = plurals[Gettext.getLanguageCode(this.locale)].pluralsFunc;\n index = pluralsFunc(count);\n if (typeof index === 'boolean') {\n index = index ? 1 : 0;\n }\n } else {\n index = 0;\n }\n\n return translation.msgstr[index] || defaultTranslation;\n }\n else if (!this.sourceLocale || this.locale !== this.sourceLocale) {\n this.warn('No translation was found for msgid \"' + msgid + '\" in msgctxt \"' + msgctxt + '\" and domain \"' + domain + '\"');\n }\n\n return defaultTranslation;\n};\n\n/**\n * Retrieves comments object for a translation. The comments object\n * has the shape `{ translator, extracted, reference, flag, previous }`.\n *\n * @example\n * const comment = gt.getComment('domainname', 'sports', 'Backs')\n *\n * @private\n * @param {String} domain A gettext domain name\n * @param {String} msgctxt Translation context\n * @param {String} msgid String to be translated\n * @return {Object} Comments object or false if not found\n */\nGettext.prototype.getComment = function(domain, msgctxt, msgid) {\n var translation;\n\n translation = this._getTranslation(domain, msgctxt, msgid);\n if (translation) {\n return translation.comments || {};\n }\n\n return {};\n};\n\n/**\n * Retrieves translation object from the domain and context\n *\n * @private\n * @param {String} domain A gettext domain name\n * @param {String} msgctxt Translation context\n * @param {String} msgid String to be translated\n * @return {Object} Translation object or false if not found\n */\nGettext.prototype._getTranslation = function(domain, msgctxt, msgid) {\n msgctxt = msgctxt || '';\n\n return get(this.catalogs, [this.locale, domain, 'translations', msgctxt, msgid]);\n};\n\n/**\n * Returns the language code part of a locale\n *\n * @example\n * Gettext.getLanguageCode('sv-SE')\n * // -> \"sv\"\n *\n * @private\n * @param {String} locale A case-insensitive locale string\n * @returns {String} A language code\n */\nGettext.getLanguageCode = function(locale) {\n return locale.split(/[\\-_]/)[0].toLowerCase();\n};\n\n/* C-style aliases */\n\n/**\n * C-style alias for [setTextDomain](#gettextsettextdomaindomain)\n *\n * @see Gettext#setTextDomain\n */\nGettext.prototype.textdomain = function(domain) {\n if (this.debug) {\n console.warn('textdomain(domain) was used to set locales in node-gettext v1. ' +\n 'Make sure you are using it for domains, and switch to setLocale(locale) if you are not.\\n\\n ' +\n 'To read more about the migration from node-gettext v1 to v2, ' +\n 'see https://github.com/alexanderwallin/node-gettext/#migrating-from-1x-to-2x\\n\\n' +\n 'This warning will be removed in the final 2.0.0');\n }\n\n this.setTextDomain(domain);\n};\n\n/**\n * C-style alias for [setLocale](#gettextsetlocalelocale)\n *\n * @see Gettext#setLocale\n */\nGettext.prototype.setlocale = function(locale) {\n this.setLocale(locale);\n};\n\n/* Deprecated functions */\n\n/**\n * This function will be removed in the final 2.0.0 release.\n *\n * @deprecated\n */\nGettext.prototype.addTextdomain = function() {\n console.error('addTextdomain() is deprecated.\\n\\n' +\n '* To add translations, use addTranslations()\\n' +\n '* To set the default domain, use setTextDomain() (or its alias textdomain())\\n' +\n '\\n' +\n 'To read more about the migration from node-gettext v1 to v2, ' +\n 'see https://github.com/alexanderwallin/node-gettext/#migrating-from-1x-to-2x');\n};\n","'use strict';\n\nmodule.exports = {\n ach: {\n name: 'Acholi',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n af: {\n name: 'Afrikaans',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ak: {\n name: 'Akan',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n am: {\n name: 'Amharic',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n an: {\n name: 'Aragonese',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ar: {\n name: 'Arabic',\n examples: [{\n plural: 0,\n sample: 0\n }, {\n plural: 1,\n sample: 1\n }, {\n plural: 2,\n sample: 2\n }, {\n plural: 3,\n sample: 3\n }, {\n plural: 4,\n sample: 11\n }, {\n plural: 5,\n sample: 100\n }],\n nplurals: 6,\n pluralsText: 'nplurals = 6; plural = (n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5)',\n pluralsFunc: function(n) {\n return (n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5);\n }\n },\n arn: {\n name: 'Mapudungun',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n ast: {\n name: 'Asturian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ay: {\n name: 'Aymará',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n az: {\n name: 'Azerbaijani',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n be: {\n name: 'Belarusian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n bg: {\n name: 'Bulgarian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n bn: {\n name: 'Bengali',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n bo: {\n name: 'Tibetan',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n br: {\n name: 'Breton',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n brx: {\n name: 'Bodo',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n bs: {\n name: 'Bosnian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n ca: {\n name: 'Catalan',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n cgg: {\n name: 'Chiga',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n cs: {\n name: 'Czech',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : (n >= 2 && n <= 4) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : (n >= 2 && n <= 4) ? 1 : 2);\n }\n },\n csb: {\n name: 'Kashubian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n cy: {\n name: 'Welsh',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 3\n }, {\n plural: 3,\n sample: 8\n }],\n nplurals: 4,\n pluralsText: 'nplurals = 4; plural = (n === 1 ? 0 : n === 2 ? 1 : (n !== 8 && n !== 11) ? 2 : 3)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : n === 2 ? 1 : (n !== 8 && n !== 11) ? 2 : 3);\n }\n },\n da: {\n name: 'Danish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n de: {\n name: 'German',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n doi: {\n name: 'Dogri',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n dz: {\n name: 'Dzongkha',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n el: {\n name: 'Greek',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n en: {\n name: 'English',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n eo: {\n name: 'Esperanto',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n es: {\n name: 'Spanish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n et: {\n name: 'Estonian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n eu: {\n name: 'Basque',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n fa: {\n name: 'Persian',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n ff: {\n name: 'Fulah',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n fi: {\n name: 'Finnish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n fil: {\n name: 'Filipino',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n fo: {\n name: 'Faroese',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n fr: {\n name: 'French',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n fur: {\n name: 'Friulian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n fy: {\n name: 'Frisian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ga: {\n name: 'Irish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 3\n }, {\n plural: 3,\n sample: 7\n }, {\n plural: 4,\n sample: 11\n }],\n nplurals: 5,\n pluralsText: 'nplurals = 5; plural = (n === 1 ? 0 : n === 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : n === 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4);\n }\n },\n gd: {\n name: 'Scottish Gaelic',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 3\n }, {\n plural: 3,\n sample: 20\n }],\n nplurals: 4,\n pluralsText: 'nplurals = 4; plural = ((n === 1 || n === 11) ? 0 : (n === 2 || n === 12) ? 1 : (n > 2 && n < 20) ? 2 : 3)',\n pluralsFunc: function(n) {\n return ((n === 1 || n === 11) ? 0 : (n === 2 || n === 12) ? 1 : (n > 2 && n < 20) ? 2 : 3);\n }\n },\n gl: {\n name: 'Galician',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n gu: {\n name: 'Gujarati',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n gun: {\n name: 'Gun',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n ha: {\n name: 'Hausa',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n he: {\n name: 'Hebrew',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n hi: {\n name: 'Hindi',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n hne: {\n name: 'Chhattisgarhi',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n hr: {\n name: 'Croatian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n hu: {\n name: 'Hungarian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n hy: {\n name: 'Armenian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n id: {\n name: 'Indonesian',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n is: {\n name: 'Icelandic',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n % 10 !== 1 || n % 100 === 11)',\n pluralsFunc: function(n) {\n return (n % 10 !== 1 || n % 100 === 11);\n }\n },\n it: {\n name: 'Italian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ja: {\n name: 'Japanese',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n jbo: {\n name: 'Lojban',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n jv: {\n name: 'Javanese',\n examples: [{\n plural: 0,\n sample: 0\n }, {\n plural: 1,\n sample: 1\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 0)',\n pluralsFunc: function(n) {\n return (n !== 0);\n }\n },\n ka: {\n name: 'Georgian',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n kk: {\n name: 'Kazakh',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n km: {\n name: 'Khmer',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n kn: {\n name: 'Kannada',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ko: {\n name: 'Korean',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n ku: {\n name: 'Kurdish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n kw: {\n name: 'Cornish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 3\n }, {\n plural: 3,\n sample: 4\n }],\n nplurals: 4,\n pluralsText: 'nplurals = 4; plural = (n === 1 ? 0 : n === 2 ? 1 : n === 3 ? 2 : 3)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : n === 2 ? 1 : n === 3 ? 2 : 3);\n }\n },\n ky: {\n name: 'Kyrgyz',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n lb: {\n name: 'Letzeburgesch',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ln: {\n name: 'Lingala',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n lo: {\n name: 'Lao',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n lt: {\n name: 'Lithuanian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 10\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n lv: {\n name: 'Latvian',\n examples: [{\n plural: 2,\n sample: 0\n }, {\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n !== 0 ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n !== 0 ? 1 : 2);\n }\n },\n mai: {\n name: 'Maithili',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n mfe: {\n name: 'Mauritian Creole',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n mg: {\n name: 'Malagasy',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n mi: {\n name: 'Maori',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n mk: {\n name: 'Macedonian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n === 1 || n % 10 === 1 ? 0 : 1)',\n pluralsFunc: function(n) {\n return (n === 1 || n % 10 === 1 ? 0 : 1);\n }\n },\n ml: {\n name: 'Malayalam',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n mn: {\n name: 'Mongolian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n mni: {\n name: 'Manipuri',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n mnk: {\n name: 'Mandinka',\n examples: [{\n plural: 0,\n sample: 0\n }, {\n plural: 1,\n sample: 1\n }, {\n plural: 2,\n sample: 2\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n === 0 ? 0 : n === 1 ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n === 0 ? 0 : n === 1 ? 1 : 2);\n }\n },\n mr: {\n name: 'Marathi',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ms: {\n name: 'Malay',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n mt: {\n name: 'Maltese',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 11\n }, {\n plural: 3,\n sample: 20\n }],\n nplurals: 4,\n pluralsText: 'nplurals = 4; plural = (n === 1 ? 0 : n === 0 || ( n % 100 > 1 && n % 100 < 11) ? 1 : (n % 100 > 10 && n % 100 < 20 ) ? 2 : 3)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : n === 0 || (n % 100 > 1 && n % 100 < 11) ? 1 : (n % 100 > 10 && n % 100 < 20) ? 2 : 3);\n }\n },\n my: {\n name: 'Burmese',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n nah: {\n name: 'Nahuatl',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n nap: {\n name: 'Neapolitan',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n nb: {\n name: 'Norwegian Bokmal',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ne: {\n name: 'Nepali',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n nl: {\n name: 'Dutch',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n nn: {\n name: 'Norwegian Nynorsk',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n no: {\n name: 'Norwegian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n nso: {\n name: 'Northern Sotho',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n oc: {\n name: 'Occitan',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n or: {\n name: 'Oriya',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n pa: {\n name: 'Punjabi',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n pap: {\n name: 'Papiamento',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n pl: {\n name: 'Polish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n pms: {\n name: 'Piemontese',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ps: {\n name: 'Pashto',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n pt: {\n name: 'Portuguese',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n rm: {\n name: 'Romansh',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ro: {\n name: 'Romanian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 20\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : (n === 0 || (n % 100 > 0 && n % 100 < 20)) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : (n === 0 || (n % 100 > 0 && n % 100 < 20)) ? 1 : 2);\n }\n },\n ru: {\n name: 'Russian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n rw: {\n name: 'Kinyarwanda',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sah: {\n name: 'Yakut',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n sat: {\n name: 'Santali',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sco: {\n name: 'Scots',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sd: {\n name: 'Sindhi',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n se: {\n name: 'Northern Sami',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n si: {\n name: 'Sinhala',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sk: {\n name: 'Slovak',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : (n >= 2 && n <= 4) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n === 1 ? 0 : (n >= 2 && n <= 4) ? 1 : 2);\n }\n },\n sl: {\n name: 'Slovenian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 3\n }, {\n plural: 3,\n sample: 5\n }],\n nplurals: 4,\n pluralsText: 'nplurals = 4; plural = (n % 100 === 1 ? 0 : n % 100 === 2 ? 1 : n % 100 === 3 || n % 100 === 4 ? 2 : 3)',\n pluralsFunc: function(n) {\n return (n % 100 === 1 ? 0 : n % 100 === 2 ? 1 : n % 100 === 3 || n % 100 === 4 ? 2 : 3);\n }\n },\n so: {\n name: 'Somali',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n son: {\n name: 'Songhay',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sq: {\n name: 'Albanian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sr: {\n name: 'Serbian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n su: {\n name: 'Sundanese',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n sv: {\n name: 'Swedish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n sw: {\n name: 'Swahili',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n ta: {\n name: 'Tamil',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n te: {\n name: 'Telugu',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n tg: {\n name: 'Tajik',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n th: {\n name: 'Thai',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n ti: {\n name: 'Tigrinya',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n tk: {\n name: 'Turkmen',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n tr: {\n name: 'Turkish',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n tt: {\n name: 'Tatar',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n ug: {\n name: 'Uyghur',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n uk: {\n name: 'Ukrainian',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }, {\n plural: 2,\n sample: 5\n }],\n nplurals: 3,\n pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n pluralsFunc: function(n) {\n return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n }\n },\n ur: {\n name: 'Urdu',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n uz: {\n name: 'Uzbek',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n vi: {\n name: 'Vietnamese',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n wa: {\n name: 'Walloon',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n > 1)',\n pluralsFunc: function(n) {\n return (n > 1);\n }\n },\n wo: {\n name: 'Wolof',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n },\n yo: {\n name: 'Yoruba',\n examples: [{\n plural: 0,\n sample: 1\n }, {\n plural: 1,\n sample: 2\n }],\n nplurals: 2,\n pluralsText: 'nplurals = 2; plural = (n !== 1)',\n pluralsFunc: function(n) {\n return (n !== 1);\n }\n },\n zh: {\n name: 'Chinese',\n examples: [{\n plural: 0,\n sample: 1\n }],\n nplurals: 1,\n pluralsText: 'nplurals = 1; plural = 0',\n pluralsFunc: function() {\n return 0;\n }\n }\n};\n","// Currently in sync with Node.js lib/assert.js\n// https://github.com/nodejs/node/commit/2a51ae424a513ec9a6aa3466baa0cc1d55dd4f3b\n// Originally from narwhal.js (http://narwhaljs.org)\n// Copyright (c) 2009 Thomas Robinson <280north.com>\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the 'Software'), to\n// deal in the Software without restriction, including without limitation the\n// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n// sell copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n'use strict';\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar _require = require('./internal/errors'),\n _require$codes = _require.codes,\n ERR_AMBIGUOUS_ARGUMENT = _require$codes.ERR_AMBIGUOUS_ARGUMENT,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_INVALID_ARG_VALUE = _require$codes.ERR_INVALID_ARG_VALUE,\n ERR_INVALID_RETURN_VALUE = _require$codes.ERR_INVALID_RETURN_VALUE,\n ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS;\n\nvar AssertionError = require('./internal/assert/assertion_error');\n\nvar _require2 = require('util/'),\n inspect = _require2.inspect;\n\nvar _require$types = require('util/').types,\n isPromise = _require$types.isPromise,\n isRegExp = _require$types.isRegExp;\n\nvar objectAssign = Object.assign ? Object.assign : require('es6-object-assign').assign;\nvar objectIs = Object.is ? Object.is : require('object-is');\nvar errorCache = new Map();\nvar isDeepEqual;\nvar isDeepStrictEqual;\nvar parseExpressionAt;\nvar findNodeAround;\nvar decoder;\n\nfunction lazyLoadComparison() {\n var comparison = require('./internal/util/comparisons');\n\n isDeepEqual = comparison.isDeepEqual;\n isDeepStrictEqual = comparison.isDeepStrictEqual;\n} // Escape control characters but not \\n and \\t to keep the line breaks and\n// indentation intact.\n// eslint-disable-next-line no-control-regex\n\n\nvar escapeSequencesRegExp = /[\\x00-\\x08\\x0b\\x0c\\x0e-\\x1f]/g;\nvar meta = [\"\\\\u0000\", \"\\\\u0001\", \"\\\\u0002\", \"\\\\u0003\", \"\\\\u0004\", \"\\\\u0005\", \"\\\\u0006\", \"\\\\u0007\", '\\\\b', '', '', \"\\\\u000b\", '\\\\f', '', \"\\\\u000e\", \"\\\\u000f\", \"\\\\u0010\", \"\\\\u0011\", \"\\\\u0012\", \"\\\\u0013\", \"\\\\u0014\", \"\\\\u0015\", \"\\\\u0016\", \"\\\\u0017\", \"\\\\u0018\", \"\\\\u0019\", \"\\\\u001a\", \"\\\\u001b\", \"\\\\u001c\", \"\\\\u001d\", \"\\\\u001e\", \"\\\\u001f\"];\n\nvar escapeFn = function escapeFn(str) {\n return meta[str.charCodeAt(0)];\n};\n\nvar warned = false; // The assert module provides functions that throw\n// AssertionError's when particular conditions are not met. The\n// assert module must conform to the following interface.\n\nvar assert = module.exports = ok;\nvar NO_EXCEPTION_SENTINEL = {}; // All of the following functions must throw an AssertionError\n// when a corresponding condition is not met, with a message that\n// may be undefined if not provided. All assertion methods provide\n// both the actual and expected values to the assertion error for\n// display purposes.\n\nfunction innerFail(obj) {\n if (obj.message instanceof Error) throw obj.message;\n throw new AssertionError(obj);\n}\n\nfunction fail(actual, expected, message, operator, stackStartFn) {\n var argsLen = arguments.length;\n var internalMessage;\n\n if (argsLen === 0) {\n internalMessage = 'Failed';\n } else if (argsLen === 1) {\n message = actual;\n actual = undefined;\n } else {\n if (warned === false) {\n warned = true;\n var warn = process.emitWarning ? process.emitWarning : console.warn.bind(console);\n warn('assert.fail() with more than one argument is deprecated. ' + 'Please use assert.strictEqual() instead or only pass a message.', 'DeprecationWarning', 'DEP0094');\n }\n\n if (argsLen === 2) operator = '!=';\n }\n\n if (message instanceof Error) throw message;\n var errArgs = {\n actual: actual,\n expected: expected,\n operator: operator === undefined ? 'fail' : operator,\n stackStartFn: stackStartFn || fail\n };\n\n if (message !== undefined) {\n errArgs.message = message;\n }\n\n var err = new AssertionError(errArgs);\n\n if (internalMessage) {\n err.message = internalMessage;\n err.generatedMessage = true;\n }\n\n throw err;\n}\n\nassert.fail = fail; // The AssertionError is defined in internal/error.\n\nassert.AssertionError = AssertionError;\n\nfunction innerOk(fn, argLen, value, message) {\n if (!value) {\n var generatedMessage = false;\n\n if (argLen === 0) {\n generatedMessage = true;\n message = 'No value argument passed to `assert.ok()`';\n } else if (message instanceof Error) {\n throw message;\n }\n\n var err = new AssertionError({\n actual: value,\n expected: true,\n message: message,\n operator: '==',\n stackStartFn: fn\n });\n err.generatedMessage = generatedMessage;\n throw err;\n }\n} // Pure assertion tests whether a value is truthy, as determined\n// by !!value.\n\n\nfunction ok() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n innerOk.apply(void 0, [ok, args.length].concat(args));\n}\n\nassert.ok = ok; // The equality assertion tests shallow, coercive equality with ==.\n\n/* eslint-disable no-restricted-properties */\n\nassert.equal = function equal(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n } // eslint-disable-next-line eqeqeq\n\n\n if (actual != expected) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: '==',\n stackStartFn: equal\n });\n }\n}; // The non-equality assertion tests for whether two objects are not\n// equal with !=.\n\n\nassert.notEqual = function notEqual(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n } // eslint-disable-next-line eqeqeq\n\n\n if (actual == expected) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: '!=',\n stackStartFn: notEqual\n });\n }\n}; // The equivalence assertion tests a deep equality relation.\n\n\nassert.deepEqual = function deepEqual(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n }\n\n if (isDeepEqual === undefined) lazyLoadComparison();\n\n if (!isDeepEqual(actual, expected)) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: 'deepEqual',\n stackStartFn: deepEqual\n });\n }\n}; // The non-equivalence assertion tests for any deep inequality.\n\n\nassert.notDeepEqual = function notDeepEqual(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n }\n\n if (isDeepEqual === undefined) lazyLoadComparison();\n\n if (isDeepEqual(actual, expected)) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: 'notDeepEqual',\n stackStartFn: notDeepEqual\n });\n }\n};\n/* eslint-enable */\n\n\nassert.deepStrictEqual = function deepStrictEqual(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n }\n\n if (isDeepEqual === undefined) lazyLoadComparison();\n\n if (!isDeepStrictEqual(actual, expected)) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: 'deepStrictEqual',\n stackStartFn: deepStrictEqual\n });\n }\n};\n\nassert.notDeepStrictEqual = notDeepStrictEqual;\n\nfunction notDeepStrictEqual(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n }\n\n if (isDeepEqual === undefined) lazyLoadComparison();\n\n if (isDeepStrictEqual(actual, expected)) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: 'notDeepStrictEqual',\n stackStartFn: notDeepStrictEqual\n });\n }\n}\n\nassert.strictEqual = function strictEqual(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n }\n\n if (!objectIs(actual, expected)) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: 'strictEqual',\n stackStartFn: strictEqual\n });\n }\n};\n\nassert.notStrictEqual = function notStrictEqual(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n }\n\n if (objectIs(actual, expected)) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: 'notStrictEqual',\n stackStartFn: notStrictEqual\n });\n }\n};\n\nvar Comparison = function Comparison(obj, keys, actual) {\n var _this = this;\n\n _classCallCheck(this, Comparison);\n\n keys.forEach(function (key) {\n if (key in obj) {\n if (actual !== undefined && typeof actual[key] === 'string' && isRegExp(obj[key]) && obj[key].test(actual[key])) {\n _this[key] = actual[key];\n } else {\n _this[key] = obj[key];\n }\n }\n });\n};\n\nfunction compareExceptionKey(actual, expected, key, message, keys, fn) {\n if (!(key in actual) || !isDeepStrictEqual(actual[key], expected[key])) {\n if (!message) {\n // Create placeholder objects to create a nice output.\n var a = new Comparison(actual, keys);\n var b = new Comparison(expected, keys, actual);\n var err = new AssertionError({\n actual: a,\n expected: b,\n operator: 'deepStrictEqual',\n stackStartFn: fn\n });\n err.actual = actual;\n err.expected = expected;\n err.operator = fn.name;\n throw err;\n }\n\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: fn.name,\n stackStartFn: fn\n });\n }\n}\n\nfunction expectedException(actual, expected, msg, fn) {\n if (typeof expected !== 'function') {\n if (isRegExp(expected)) return expected.test(actual); // assert.doesNotThrow does not accept objects.\n\n if (arguments.length === 2) {\n throw new ERR_INVALID_ARG_TYPE('expected', ['Function', 'RegExp'], expected);\n } // Handle primitives properly.\n\n\n if (_typeof(actual) !== 'object' || actual === null) {\n var err = new AssertionError({\n actual: actual,\n expected: expected,\n message: msg,\n operator: 'deepStrictEqual',\n stackStartFn: fn\n });\n err.operator = fn.name;\n throw err;\n }\n\n var keys = Object.keys(expected); // Special handle errors to make sure the name and the message are compared\n // as well.\n\n if (expected instanceof Error) {\n keys.push('name', 'message');\n } else if (keys.length === 0) {\n throw new ERR_INVALID_ARG_VALUE('error', expected, 'may not be an empty object');\n }\n\n if (isDeepEqual === undefined) lazyLoadComparison();\n keys.forEach(function (key) {\n if (typeof actual[key] === 'string' && isRegExp(expected[key]) && expected[key].test(actual[key])) {\n return;\n }\n\n compareExceptionKey(actual, expected, key, msg, keys, fn);\n });\n return true;\n } // Guard instanceof against arrow functions as they don't have a prototype.\n\n\n if (expected.prototype !== undefined && actual instanceof expected) {\n return true;\n }\n\n if (Error.isPrototypeOf(expected)) {\n return false;\n }\n\n return expected.call({}, actual) === true;\n}\n\nfunction getActual(fn) {\n if (typeof fn !== 'function') {\n throw new ERR_INVALID_ARG_TYPE('fn', 'Function', fn);\n }\n\n try {\n fn();\n } catch (e) {\n return e;\n }\n\n return NO_EXCEPTION_SENTINEL;\n}\n\nfunction checkIsPromise(obj) {\n // Accept native ES6 promises and promises that are implemented in a similar\n // way. Do not accept thenables that use a function as `obj` and that have no\n // `catch` handler.\n // TODO: thenables are checked up until they have the correct methods,\n // but according to documentation, the `then` method should receive\n // the `fulfill` and `reject` arguments as well or it may be never resolved.\n return isPromise(obj) || obj !== null && _typeof(obj) === 'object' && typeof obj.then === 'function' && typeof obj.catch === 'function';\n}\n\nfunction waitForActual(promiseFn) {\n return Promise.resolve().then(function () {\n var resultPromise;\n\n if (typeof promiseFn === 'function') {\n // Return a rejected promise if `promiseFn` throws synchronously.\n resultPromise = promiseFn(); // Fail in case no promise is returned.\n\n if (!checkIsPromise(resultPromise)) {\n throw new ERR_INVALID_RETURN_VALUE('instance of Promise', 'promiseFn', resultPromise);\n }\n } else if (checkIsPromise(promiseFn)) {\n resultPromise = promiseFn;\n } else {\n throw new ERR_INVALID_ARG_TYPE('promiseFn', ['Function', 'Promise'], promiseFn);\n }\n\n return Promise.resolve().then(function () {\n return resultPromise;\n }).then(function () {\n return NO_EXCEPTION_SENTINEL;\n }).catch(function (e) {\n return e;\n });\n });\n}\n\nfunction expectsError(stackStartFn, actual, error, message) {\n if (typeof error === 'string') {\n if (arguments.length === 4) {\n throw new ERR_INVALID_ARG_TYPE('error', ['Object', 'Error', 'Function', 'RegExp'], error);\n }\n\n if (_typeof(actual) === 'object' && actual !== null) {\n if (actual.message === error) {\n throw new ERR_AMBIGUOUS_ARGUMENT('error/message', \"The error message \\\"\".concat(actual.message, \"\\\" is identical to the message.\"));\n }\n } else if (actual === error) {\n throw new ERR_AMBIGUOUS_ARGUMENT('error/message', \"The error \\\"\".concat(actual, \"\\\" is identical to the message.\"));\n }\n\n message = error;\n error = undefined;\n } else if (error != null && _typeof(error) !== 'object' && typeof error !== 'function') {\n throw new ERR_INVALID_ARG_TYPE('error', ['Object', 'Error', 'Function', 'RegExp'], error);\n }\n\n if (actual === NO_EXCEPTION_SENTINEL) {\n var details = '';\n\n if (error && error.name) {\n details += \" (\".concat(error.name, \")\");\n }\n\n details += message ? \": \".concat(message) : '.';\n var fnType = stackStartFn.name === 'rejects' ? 'rejection' : 'exception';\n innerFail({\n actual: undefined,\n expected: error,\n operator: stackStartFn.name,\n message: \"Missing expected \".concat(fnType).concat(details),\n stackStartFn: stackStartFn\n });\n }\n\n if (error && !expectedException(actual, error, message, stackStartFn)) {\n throw actual;\n }\n}\n\nfunction expectsNoError(stackStartFn, actual, error, message) {\n if (actual === NO_EXCEPTION_SENTINEL) return;\n\n if (typeof error === 'string') {\n message = error;\n error = undefined;\n }\n\n if (!error || expectedException(actual, error)) {\n var details = message ? \": \".concat(message) : '.';\n var fnType = stackStartFn.name === 'doesNotReject' ? 'rejection' : 'exception';\n innerFail({\n actual: actual,\n expected: error,\n operator: stackStartFn.name,\n message: \"Got unwanted \".concat(fnType).concat(details, \"\\n\") + \"Actual message: \\\"\".concat(actual && actual.message, \"\\\"\"),\n stackStartFn: stackStartFn\n });\n }\n\n throw actual;\n}\n\nassert.throws = function throws(promiseFn) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n expectsError.apply(void 0, [throws, getActual(promiseFn)].concat(args));\n};\n\nassert.rejects = function rejects(promiseFn) {\n for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n args[_key3 - 1] = arguments[_key3];\n }\n\n return waitForActual(promiseFn).then(function (result) {\n return expectsError.apply(void 0, [rejects, result].concat(args));\n });\n};\n\nassert.doesNotThrow = function doesNotThrow(fn) {\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n\n expectsNoError.apply(void 0, [doesNotThrow, getActual(fn)].concat(args));\n};\n\nassert.doesNotReject = function doesNotReject(fn) {\n for (var _len5 = arguments.length, args = new Array(_len5 > 1 ? _len5 - 1 : 0), _key5 = 1; _key5 < _len5; _key5++) {\n args[_key5 - 1] = arguments[_key5];\n }\n\n return waitForActual(fn).then(function (result) {\n return expectsNoError.apply(void 0, [doesNotReject, result].concat(args));\n });\n};\n\nassert.ifError = function ifError(err) {\n if (err !== null && err !== undefined) {\n var message = 'ifError got unwanted exception: ';\n\n if (_typeof(err) === 'object' && typeof err.message === 'string') {\n if (err.message.length === 0 && err.constructor) {\n message += err.constructor.name;\n } else {\n message += err.message;\n }\n } else {\n message += inspect(err);\n }\n\n var newErr = new AssertionError({\n actual: err,\n expected: null,\n operator: 'ifError',\n message: message,\n stackStartFn: ifError\n }); // Make sure we actually have a stack trace!\n\n var origStack = err.stack;\n\n if (typeof origStack === 'string') {\n // This will remove any duplicated frames from the error frames taken\n // from within `ifError` and add the original error frames to the newly\n // created ones.\n var tmp2 = origStack.split('\\n');\n tmp2.shift(); // Filter all frames existing in err.stack.\n\n var tmp1 = newErr.stack.split('\\n');\n\n for (var i = 0; i < tmp2.length; i++) {\n // Find the first occurrence of the frame.\n var pos = tmp1.indexOf(tmp2[i]);\n\n if (pos !== -1) {\n // Only keep new frames.\n tmp1 = tmp1.slice(0, pos);\n break;\n }\n }\n\n newErr.stack = \"\".concat(tmp1.join('\\n'), \"\\n\").concat(tmp2.join('\\n'));\n }\n\n throw newErr;\n }\n}; // Expose a strict only variant of assert\n\n\nfunction strict() {\n for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n args[_key6] = arguments[_key6];\n }\n\n innerOk.apply(void 0, [strict, args.length].concat(args));\n}\n\nassert.strict = objectAssign(strict, assert, {\n equal: assert.strictEqual,\n deepEqual: assert.deepStrictEqual,\n notEqual: assert.notStrictEqual,\n notDeepEqual: assert.notDeepStrictEqual\n});\nassert.strict.strict = assert.strict;","// Currently in sync with Node.js lib/internal/assert/assertion_error.js\n// https://github.com/nodejs/node/commit/0817840f775032169ddd70c85ac059f18ffcc81c\n'use strict';\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\n\nfunction isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _construct(Parent, args, Class) { if (isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar _require = require('util/'),\n inspect = _require.inspect;\n\nvar _require2 = require('../errors'),\n ERR_INVALID_ARG_TYPE = _require2.codes.ERR_INVALID_ARG_TYPE; // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\n\n\nfunction endsWith(str, search, this_len) {\n if (this_len === undefined || this_len > str.length) {\n this_len = str.length;\n }\n\n return str.substring(this_len - search.length, this_len) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/repeat\n\n\nfunction repeat(str, count) {\n count = Math.floor(count);\n if (str.length == 0 || count == 0) return '';\n var maxCount = str.length * count;\n count = Math.floor(Math.log(count) / Math.log(2));\n\n while (count) {\n str += str;\n count--;\n }\n\n str += str.substring(0, maxCount - str.length);\n return str;\n}\n\nvar blue = '';\nvar green = '';\nvar red = '';\nvar white = '';\nvar kReadableOperator = {\n deepStrictEqual: 'Expected values to be strictly deep-equal:',\n strictEqual: 'Expected values to be strictly equal:',\n strictEqualObject: 'Expected \"actual\" to be reference-equal to \"expected\":',\n deepEqual: 'Expected values to be loosely deep-equal:',\n equal: 'Expected values to be loosely equal:',\n notDeepStrictEqual: 'Expected \"actual\" not to be strictly deep-equal to:',\n notStrictEqual: 'Expected \"actual\" to be strictly unequal to:',\n notStrictEqualObject: 'Expected \"actual\" not to be reference-equal to \"expected\":',\n notDeepEqual: 'Expected \"actual\" not to be loosely deep-equal to:',\n notEqual: 'Expected \"actual\" to be loosely unequal to:',\n notIdentical: 'Values identical but not reference-equal:'\n}; // Comparing short primitives should just show === / !== instead of using the\n// diff.\n\nvar kMaxShortLength = 10;\n\nfunction copyError(source) {\n var keys = Object.keys(source);\n var target = Object.create(Object.getPrototypeOf(source));\n keys.forEach(function (key) {\n target[key] = source[key];\n });\n Object.defineProperty(target, 'message', {\n value: source.message\n });\n return target;\n}\n\nfunction inspectValue(val) {\n // The util.inspect default values could be changed. This makes sure the\n // error messages contain the necessary information nevertheless.\n return inspect(val, {\n compact: false,\n customInspect: false,\n depth: 1000,\n maxArrayLength: Infinity,\n // Assert compares only enumerable properties (with a few exceptions).\n showHidden: false,\n // Having a long line as error is better than wrapping the line for\n // comparison for now.\n // TODO(BridgeAR): `breakLength` should be limited as soon as soon as we\n // have meta information about the inspected properties (i.e., know where\n // in what line the property starts and ends).\n breakLength: Infinity,\n // Assert does not detect proxies currently.\n showProxy: false,\n sorted: true,\n // Inspect getters as we also check them when comparing entries.\n getters: true\n });\n}\n\nfunction createErrDiff(actual, expected, operator) {\n var other = '';\n var res = '';\n var lastPos = 0;\n var end = '';\n var skipped = false;\n var actualInspected = inspectValue(actual);\n var actualLines = actualInspected.split('\\n');\n var expectedLines = inspectValue(expected).split('\\n');\n var i = 0;\n var indicator = ''; // In case both values are objects explicitly mark them as not reference equal\n // for the `strictEqual` operator.\n\n if (operator === 'strictEqual' && _typeof(actual) === 'object' && _typeof(expected) === 'object' && actual !== null && expected !== null) {\n operator = 'strictEqualObject';\n } // If \"actual\" and \"expected\" fit on a single line and they are not strictly\n // equal, check further special handling.\n\n\n if (actualLines.length === 1 && expectedLines.length === 1 && actualLines[0] !== expectedLines[0]) {\n var inputLength = actualLines[0].length + expectedLines[0].length; // If the character length of \"actual\" and \"expected\" together is less than\n // kMaxShortLength and if neither is an object and at least one of them is\n // not `zero`, use the strict equal comparison to visualize the output.\n\n if (inputLength <= kMaxShortLength) {\n if ((_typeof(actual) !== 'object' || actual === null) && (_typeof(expected) !== 'object' || expected === null) && (actual !== 0 || expected !== 0)) {\n // -0 === +0\n return \"\".concat(kReadableOperator[operator], \"\\n\\n\") + \"\".concat(actualLines[0], \" !== \").concat(expectedLines[0], \"\\n\");\n }\n } else if (operator !== 'strictEqualObject') {\n // If the stderr is a tty and the input length is lower than the current\n // columns per line, add a mismatch indicator below the output. If it is\n // not a tty, use a default value of 80 characters.\n var maxLength = process.stderr && process.stderr.isTTY ? process.stderr.columns : 80;\n\n if (inputLength < maxLength) {\n while (actualLines[0][i] === expectedLines[0][i]) {\n i++;\n } // Ignore the first characters.\n\n\n if (i > 2) {\n // Add position indicator for the first mismatch in case it is a\n // single line and the input length is less than the column length.\n indicator = \"\\n \".concat(repeat(' ', i), \"^\");\n i = 0;\n }\n }\n }\n } // Remove all ending lines that match (this optimizes the output for\n // readability by reducing the number of total changed lines).\n\n\n var a = actualLines[actualLines.length - 1];\n var b = expectedLines[expectedLines.length - 1];\n\n while (a === b) {\n if (i++ < 2) {\n end = \"\\n \".concat(a).concat(end);\n } else {\n other = a;\n }\n\n actualLines.pop();\n expectedLines.pop();\n if (actualLines.length === 0 || expectedLines.length === 0) break;\n a = actualLines[actualLines.length - 1];\n b = expectedLines[expectedLines.length - 1];\n }\n\n var maxLines = Math.max(actualLines.length, expectedLines.length); // Strict equal with identical objects that are not identical by reference.\n // E.g., assert.deepStrictEqual({ a: Symbol() }, { a: Symbol() })\n\n if (maxLines === 0) {\n // We have to get the result again. The lines were all removed before.\n var _actualLines = actualInspected.split('\\n'); // Only remove lines in case it makes sense to collapse those.\n // TODO: Accept env to always show the full error.\n\n\n if (_actualLines.length > 30) {\n _actualLines[26] = \"\".concat(blue, \"...\").concat(white);\n\n while (_actualLines.length > 27) {\n _actualLines.pop();\n }\n }\n\n return \"\".concat(kReadableOperator.notIdentical, \"\\n\\n\").concat(_actualLines.join('\\n'), \"\\n\");\n }\n\n if (i > 3) {\n end = \"\\n\".concat(blue, \"...\").concat(white).concat(end);\n skipped = true;\n }\n\n if (other !== '') {\n end = \"\\n \".concat(other).concat(end);\n other = '';\n }\n\n var printedLines = 0;\n var msg = kReadableOperator[operator] + \"\\n\".concat(green, \"+ actual\").concat(white, \" \").concat(red, \"- expected\").concat(white);\n var skippedMsg = \" \".concat(blue, \"...\").concat(white, \" Lines skipped\");\n\n for (i = 0; i < maxLines; i++) {\n // Only extra expected lines exist\n var cur = i - lastPos;\n\n if (actualLines.length < i + 1) {\n // If the last diverging line is more than one line above and the\n // current line is at least line three, add some of the former lines and\n // also add dots to indicate skipped entries.\n if (cur > 1 && i > 2) {\n if (cur > 4) {\n res += \"\\n\".concat(blue, \"...\").concat(white);\n skipped = true;\n } else if (cur > 3) {\n res += \"\\n \".concat(expectedLines[i - 2]);\n printedLines++;\n }\n\n res += \"\\n \".concat(expectedLines[i - 1]);\n printedLines++;\n } // Mark the current line as the last diverging one.\n\n\n lastPos = i; // Add the expected line to the cache.\n\n other += \"\\n\".concat(red, \"-\").concat(white, \" \").concat(expectedLines[i]);\n printedLines++; // Only extra actual lines exist\n } else if (expectedLines.length < i + 1) {\n // If the last diverging line is more than one line above and the\n // current line is at least line three, add some of the former lines and\n // also add dots to indicate skipped entries.\n if (cur > 1 && i > 2) {\n if (cur > 4) {\n res += \"\\n\".concat(blue, \"...\").concat(white);\n skipped = true;\n } else if (cur > 3) {\n res += \"\\n \".concat(actualLines[i - 2]);\n printedLines++;\n }\n\n res += \"\\n \".concat(actualLines[i - 1]);\n printedLines++;\n } // Mark the current line as the last diverging one.\n\n\n lastPos = i; // Add the actual line to the result.\n\n res += \"\\n\".concat(green, \"+\").concat(white, \" \").concat(actualLines[i]);\n printedLines++; // Lines diverge\n } else {\n var expectedLine = expectedLines[i];\n var actualLine = actualLines[i]; // If the lines diverge, specifically check for lines that only diverge by\n // a trailing comma. In that case it is actually identical and we should\n // mark it as such.\n\n var divergingLines = actualLine !== expectedLine && (!endsWith(actualLine, ',') || actualLine.slice(0, -1) !== expectedLine); // If the expected line has a trailing comma but is otherwise identical,\n // add a comma at the end of the actual line. Otherwise the output could\n // look weird as in:\n //\n // [\n // 1 // No comma at the end!\n // + 2\n // ]\n //\n\n if (divergingLines && endsWith(expectedLine, ',') && expectedLine.slice(0, -1) === actualLine) {\n divergingLines = false;\n actualLine += ',';\n }\n\n if (divergingLines) {\n // If the last diverging line is more than one line above and the\n // current line is at least line three, add some of the former lines and\n // also add dots to indicate skipped entries.\n if (cur > 1 && i > 2) {\n if (cur > 4) {\n res += \"\\n\".concat(blue, \"...\").concat(white);\n skipped = true;\n } else if (cur > 3) {\n res += \"\\n \".concat(actualLines[i - 2]);\n printedLines++;\n }\n\n res += \"\\n \".concat(actualLines[i - 1]);\n printedLines++;\n } // Mark the current line as the last diverging one.\n\n\n lastPos = i; // Add the actual line to the result and cache the expected diverging\n // line so consecutive diverging lines show up as +++--- and not +-+-+-.\n\n res += \"\\n\".concat(green, \"+\").concat(white, \" \").concat(actualLine);\n other += \"\\n\".concat(red, \"-\").concat(white, \" \").concat(expectedLine);\n printedLines += 2; // Lines are identical\n } else {\n // Add all cached information to the result before adding other things\n // and reset the cache.\n res += other;\n other = ''; // If the last diverging line is exactly one line above or if it is the\n // very first line, add the line to the result.\n\n if (cur === 1 || i === 0) {\n res += \"\\n \".concat(actualLine);\n printedLines++;\n }\n }\n } // Inspected object to big (Show ~20 rows max)\n\n\n if (printedLines > 20 && i < maxLines - 2) {\n return \"\".concat(msg).concat(skippedMsg, \"\\n\").concat(res, \"\\n\").concat(blue, \"...\").concat(white).concat(other, \"\\n\") + \"\".concat(blue, \"...\").concat(white);\n }\n }\n\n return \"\".concat(msg).concat(skipped ? skippedMsg : '', \"\\n\").concat(res).concat(other).concat(end).concat(indicator);\n}\n\nvar AssertionError =\n/*#__PURE__*/\nfunction (_Error) {\n _inherits(AssertionError, _Error);\n\n function AssertionError(options) {\n var _this;\n\n _classCallCheck(this, AssertionError);\n\n if (_typeof(options) !== 'object' || options === null) {\n throw new ERR_INVALID_ARG_TYPE('options', 'Object', options);\n }\n\n var message = options.message,\n operator = options.operator,\n stackStartFn = options.stackStartFn;\n var actual = options.actual,\n expected = options.expected;\n var limit = Error.stackTraceLimit;\n Error.stackTraceLimit = 0;\n\n if (message != null) {\n _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError).call(this, String(message)));\n } else {\n if (process.stderr && process.stderr.isTTY) {\n // Reset on each call to make sure we handle dynamically set environment\n // variables correct.\n if (process.stderr && process.stderr.getColorDepth && process.stderr.getColorDepth() !== 1) {\n blue = \"\\x1B[34m\";\n green = \"\\x1B[32m\";\n white = \"\\x1B[39m\";\n red = \"\\x1B[31m\";\n } else {\n blue = '';\n green = '';\n white = '';\n red = '';\n }\n } // Prevent the error stack from being visible by duplicating the error\n // in a very close way to the original in case both sides are actually\n // instances of Error.\n\n\n if (_typeof(actual) === 'object' && actual !== null && _typeof(expected) === 'object' && expected !== null && 'stack' in actual && actual instanceof Error && 'stack' in expected && expected instanceof Error) {\n actual = copyError(actual);\n expected = copyError(expected);\n }\n\n if (operator === 'deepStrictEqual' || operator === 'strictEqual') {\n _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError).call(this, createErrDiff(actual, expected, operator)));\n } else if (operator === 'notDeepStrictEqual' || operator === 'notStrictEqual') {\n // In case the objects are equal but the operator requires unequal, show\n // the first object and say A equals B\n var base = kReadableOperator[operator];\n var res = inspectValue(actual).split('\\n'); // In case \"actual\" is an object, it should not be reference equal.\n\n if (operator === 'notStrictEqual' && _typeof(actual) === 'object' && actual !== null) {\n base = kReadableOperator.notStrictEqualObject;\n } // Only remove lines in case it makes sense to collapse those.\n // TODO: Accept env to always show the full error.\n\n\n if (res.length > 30) {\n res[26] = \"\".concat(blue, \"...\").concat(white);\n\n while (res.length > 27) {\n res.pop();\n }\n } // Only print a single input.\n\n\n if (res.length === 1) {\n _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError).call(this, \"\".concat(base, \" \").concat(res[0])));\n } else {\n _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError).call(this, \"\".concat(base, \"\\n\\n\").concat(res.join('\\n'), \"\\n\")));\n }\n } else {\n var _res = inspectValue(actual);\n\n var other = '';\n var knownOperators = kReadableOperator[operator];\n\n if (operator === 'notDeepEqual' || operator === 'notEqual') {\n _res = \"\".concat(kReadableOperator[operator], \"\\n\\n\").concat(_res);\n\n if (_res.length > 1024) {\n _res = \"\".concat(_res.slice(0, 1021), \"...\");\n }\n } else {\n other = \"\".concat(inspectValue(expected));\n\n if (_res.length > 512) {\n _res = \"\".concat(_res.slice(0, 509), \"...\");\n }\n\n if (other.length > 512) {\n other = \"\".concat(other.slice(0, 509), \"...\");\n }\n\n if (operator === 'deepEqual' || operator === 'equal') {\n _res = \"\".concat(knownOperators, \"\\n\\n\").concat(_res, \"\\n\\nshould equal\\n\\n\");\n } else {\n other = \" \".concat(operator, \" \").concat(other);\n }\n }\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError).call(this, \"\".concat(_res).concat(other)));\n }\n }\n\n Error.stackTraceLimit = limit;\n _this.generatedMessage = !message;\n Object.defineProperty(_assertThisInitialized(_this), 'name', {\n value: 'AssertionError [ERR_ASSERTION]',\n enumerable: false,\n writable: true,\n configurable: true\n });\n _this.code = 'ERR_ASSERTION';\n _this.actual = actual;\n _this.expected = expected;\n _this.operator = operator;\n\n if (Error.captureStackTrace) {\n // eslint-disable-next-line no-restricted-syntax\n Error.captureStackTrace(_assertThisInitialized(_this), stackStartFn);\n } // Create error message including the error code in the name.\n\n\n _this.stack; // Reset the name.\n\n _this.name = 'AssertionError';\n return _possibleConstructorReturn(_this);\n }\n\n _createClass(AssertionError, [{\n key: \"toString\",\n value: function toString() {\n return \"\".concat(this.name, \" [\").concat(this.code, \"]: \").concat(this.message);\n }\n }, {\n key: inspect.custom,\n value: function value(recurseTimes, ctx) {\n // This limits the `actual` and `expected` property default inspection to\n // the minimum depth. Otherwise those values would be too verbose compared\n // to the actual error message which contains a combined view of these two\n // input values.\n return inspect(this, _objectSpread({}, ctx, {\n customInspect: false,\n depth: 0\n }));\n }\n }]);\n\n return AssertionError;\n}(_wrapNativeSuper(Error));\n\nmodule.exports = AssertionError;","// Currently in sync with Node.js lib/internal/errors.js\n// https://github.com/nodejs/node/commit/3b044962c48fe313905877a96b5d0894a5404f6f\n\n/* eslint node-core/documented-errors: \"error\" */\n\n/* eslint node-core/alphabetize-errors: \"error\" */\n\n/* eslint node-core/prefer-util-format-errors: \"error\" */\n'use strict'; // The whole point behind this internal module is to allow Node.js to no\n// longer be forced to treat every error message change as a semver-major\n// change. The NodeError classes here all expose a `code` property whose\n// value statically and permanently identifies the error. While the error\n// message may change, the code should not.\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nvar codes = {}; // Lazy loaded\n\nvar assert;\nvar util;\n\nfunction createErrorType(code, message, Base) {\n if (!Base) {\n Base = Error;\n }\n\n function getMessage(arg1, arg2, arg3) {\n if (typeof message === 'string') {\n return message;\n } else {\n return message(arg1, arg2, arg3);\n }\n }\n\n var NodeError =\n /*#__PURE__*/\n function (_Base) {\n _inherits(NodeError, _Base);\n\n function NodeError(arg1, arg2, arg3) {\n var _this;\n\n _classCallCheck(this, NodeError);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(NodeError).call(this, getMessage(arg1, arg2, arg3)));\n _this.code = code;\n return _this;\n }\n\n return NodeError;\n }(Base);\n\n codes[code] = NodeError;\n} // https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js\n\n\nfunction oneOf(expected, thing) {\n if (Array.isArray(expected)) {\n var len = expected.length;\n expected = expected.map(function (i) {\n return String(i);\n });\n\n if (len > 2) {\n return \"one of \".concat(thing, \" \").concat(expected.slice(0, len - 1).join(', '), \", or \") + expected[len - 1];\n } else if (len === 2) {\n return \"one of \".concat(thing, \" \").concat(expected[0], \" or \").concat(expected[1]);\n } else {\n return \"of \".concat(thing, \" \").concat(expected[0]);\n }\n } else {\n return \"of \".concat(thing, \" \").concat(String(expected));\n }\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith\n\n\nfunction startsWith(str, search, pos) {\n return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\n\n\nfunction endsWith(str, search, this_len) {\n if (this_len === undefined || this_len > str.length) {\n this_len = str.length;\n }\n\n return str.substring(this_len - search.length, this_len) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes\n\n\nfunction includes(str, search, start) {\n if (typeof start !== 'number') {\n start = 0;\n }\n\n if (start + search.length > str.length) {\n return false;\n } else {\n return str.indexOf(search, start) !== -1;\n }\n}\n\ncreateErrorType('ERR_AMBIGUOUS_ARGUMENT', 'The \"%s\" argument is ambiguous. %s', TypeError);\ncreateErrorType('ERR_INVALID_ARG_TYPE', function (name, expected, actual) {\n if (assert === undefined) assert = require('../assert');\n assert(typeof name === 'string', \"'name' must be a string\"); // determiner: 'must be' or 'must not be'\n\n var determiner;\n\n if (typeof expected === 'string' && startsWith(expected, 'not ')) {\n determiner = 'must not be';\n expected = expected.replace(/^not /, '');\n } else {\n determiner = 'must be';\n }\n\n var msg;\n\n if (endsWith(name, ' argument')) {\n // For cases like 'first argument'\n msg = \"The \".concat(name, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n } else {\n var type = includes(name, '.') ? 'property' : 'argument';\n msg = \"The \\\"\".concat(name, \"\\\" \").concat(type, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n } // TODO(BridgeAR): Improve the output by showing `null` and similar.\n\n\n msg += \". Received type \".concat(_typeof(actual));\n return msg;\n}, TypeError);\ncreateErrorType('ERR_INVALID_ARG_VALUE', function (name, value) {\n var reason = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'is invalid';\n if (util === undefined) util = require('util/');\n var inspected = util.inspect(value);\n\n if (inspected.length > 128) {\n inspected = \"\".concat(inspected.slice(0, 128), \"...\");\n }\n\n return \"The argument '\".concat(name, \"' \").concat(reason, \". Received \").concat(inspected);\n}, TypeError, RangeError);\ncreateErrorType('ERR_INVALID_RETURN_VALUE', function (input, name, value) {\n var type;\n\n if (value && value.constructor && value.constructor.name) {\n type = \"instance of \".concat(value.constructor.name);\n } else {\n type = \"type \".concat(_typeof(value));\n }\n\n return \"Expected \".concat(input, \" to be returned from the \\\"\").concat(name, \"\\\"\") + \" function but got \".concat(type, \".\");\n}, TypeError);\ncreateErrorType('ERR_MISSING_ARGS', function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (assert === undefined) assert = require('../assert');\n assert(args.length > 0, 'At least one arg needs to be specified');\n var msg = 'The ';\n var len = args.length;\n args = args.map(function (a) {\n return \"\\\"\".concat(a, \"\\\"\");\n });\n\n switch (len) {\n case 1:\n msg += \"\".concat(args[0], \" argument\");\n break;\n\n case 2:\n msg += \"\".concat(args[0], \" and \").concat(args[1], \" arguments\");\n break;\n\n default:\n msg += args.slice(0, len - 1).join(', ');\n msg += \", and \".concat(args[len - 1], \" arguments\");\n break;\n }\n\n return \"\".concat(msg, \" must be specified\");\n}, TypeError);\nmodule.exports.codes = codes;","// Currently in sync with Node.js lib/internal/util/comparisons.js\n// https://github.com/nodejs/node/commit/112cc7c27551254aa2b17098fb774867f05ed0d9\n'use strict';\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar regexFlagsSupported = /a/g.flags !== undefined;\n\nvar arrayFromSet = function arrayFromSet(set) {\n var array = [];\n set.forEach(function (value) {\n return array.push(value);\n });\n return array;\n};\n\nvar arrayFromMap = function arrayFromMap(map) {\n var array = [];\n map.forEach(function (value, key) {\n return array.push([key, value]);\n });\n return array;\n};\n\nvar objectIs = Object.is ? Object.is : require('object-is');\nvar objectGetOwnPropertySymbols = Object.getOwnPropertySymbols ? Object.getOwnPropertySymbols : function () {\n return [];\n};\nvar numberIsNaN = Number.isNaN ? Number.isNaN : require('is-nan');\n\nfunction uncurryThis(f) {\n return f.call.bind(f);\n}\n\nvar hasOwnProperty = uncurryThis(Object.prototype.hasOwnProperty);\nvar propertyIsEnumerable = uncurryThis(Object.prototype.propertyIsEnumerable);\nvar objectToString = uncurryThis(Object.prototype.toString);\n\nvar _require$types = require('util/').types,\n isAnyArrayBuffer = _require$types.isAnyArrayBuffer,\n isArrayBufferView = _require$types.isArrayBufferView,\n isDate = _require$types.isDate,\n isMap = _require$types.isMap,\n isRegExp = _require$types.isRegExp,\n isSet = _require$types.isSet,\n isNativeError = _require$types.isNativeError,\n isBoxedPrimitive = _require$types.isBoxedPrimitive,\n isNumberObject = _require$types.isNumberObject,\n isStringObject = _require$types.isStringObject,\n isBooleanObject = _require$types.isBooleanObject,\n isBigIntObject = _require$types.isBigIntObject,\n isSymbolObject = _require$types.isSymbolObject,\n isFloat32Array = _require$types.isFloat32Array,\n isFloat64Array = _require$types.isFloat64Array;\n\nfunction isNonIndex(key) {\n if (key.length === 0 || key.length > 10) return true;\n\n for (var i = 0; i < key.length; i++) {\n var code = key.charCodeAt(i);\n if (code < 48 || code > 57) return true;\n } // The maximum size for an array is 2 ** 32 -1.\n\n\n return key.length === 10 && key >= Math.pow(2, 32);\n}\n\nfunction getOwnNonIndexProperties(value) {\n return Object.keys(value).filter(isNonIndex).concat(objectGetOwnPropertySymbols(value).filter(Object.prototype.propertyIsEnumerable.bind(value)));\n} // Taken from https://github.com/feross/buffer/blob/680e9e5e488f22aac27599a57dc844a6315928dd/index.js\n// original notice:\n\n/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>\n * @license MIT\n */\n\n\nfunction compare(a, b) {\n if (a === b) {\n return 0;\n }\n\n var x = a.length;\n var y = b.length;\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i];\n y = b[i];\n break;\n }\n }\n\n if (x < y) {\n return -1;\n }\n\n if (y < x) {\n return 1;\n }\n\n return 0;\n}\n\nvar ONLY_ENUMERABLE = undefined;\nvar kStrict = true;\nvar kLoose = false;\nvar kNoIterator = 0;\nvar kIsArray = 1;\nvar kIsSet = 2;\nvar kIsMap = 3; // Check if they have the same source and flags\n\nfunction areSimilarRegExps(a, b) {\n return regexFlagsSupported ? a.source === b.source && a.flags === b.flags : RegExp.prototype.toString.call(a) === RegExp.prototype.toString.call(b);\n}\n\nfunction areSimilarFloatArrays(a, b) {\n if (a.byteLength !== b.byteLength) {\n return false;\n }\n\n for (var offset = 0; offset < a.byteLength; offset++) {\n if (a[offset] !== b[offset]) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction areSimilarTypedArrays(a, b) {\n if (a.byteLength !== b.byteLength) {\n return false;\n }\n\n return compare(new Uint8Array(a.buffer, a.byteOffset, a.byteLength), new Uint8Array(b.buffer, b.byteOffset, b.byteLength)) === 0;\n}\n\nfunction areEqualArrayBuffers(buf1, buf2) {\n return buf1.byteLength === buf2.byteLength && compare(new Uint8Array(buf1), new Uint8Array(buf2)) === 0;\n}\n\nfunction isEqualBoxedPrimitive(val1, val2) {\n if (isNumberObject(val1)) {\n return isNumberObject(val2) && objectIs(Number.prototype.valueOf.call(val1), Number.prototype.valueOf.call(val2));\n }\n\n if (isStringObject(val1)) {\n return isStringObject(val2) && String.prototype.valueOf.call(val1) === String.prototype.valueOf.call(val2);\n }\n\n if (isBooleanObject(val1)) {\n return isBooleanObject(val2) && Boolean.prototype.valueOf.call(val1) === Boolean.prototype.valueOf.call(val2);\n }\n\n if (isBigIntObject(val1)) {\n return isBigIntObject(val2) && BigInt.prototype.valueOf.call(val1) === BigInt.prototype.valueOf.call(val2);\n }\n\n return isSymbolObject(val2) && Symbol.prototype.valueOf.call(val1) === Symbol.prototype.valueOf.call(val2);\n} // Notes: Type tags are historical [[Class]] properties that can be set by\n// FunctionTemplate::SetClassName() in C++ or Symbol.toStringTag in JS\n// and retrieved using Object.prototype.toString.call(obj) in JS\n// See https://tc39.github.io/ecma262/#sec-object.prototype.tostring\n// for a list of tags pre-defined in the spec.\n// There are some unspecified tags in the wild too (e.g. typed array tags).\n// Since tags can be altered, they only serve fast failures\n//\n// Typed arrays and buffers are checked by comparing the content in their\n// underlying ArrayBuffer. This optimization requires that it's\n// reasonable to interpret their underlying memory in the same way,\n// which is checked by comparing their type tags.\n// (e.g. a Uint8Array and a Uint16Array with the same memory content\n// could still be different because they will be interpreted differently).\n//\n// For strict comparison, objects should have\n// a) The same built-in type tags\n// b) The same prototypes.\n\n\nfunction innerDeepEqual(val1, val2, strict, memos) {\n // All identical values are equivalent, as determined by ===.\n if (val1 === val2) {\n if (val1 !== 0) return true;\n return strict ? objectIs(val1, val2) : true;\n } // Check more closely if val1 and val2 are equal.\n\n\n if (strict) {\n if (_typeof(val1) !== 'object') {\n return typeof val1 === 'number' && numberIsNaN(val1) && numberIsNaN(val2);\n }\n\n if (_typeof(val2) !== 'object' || val1 === null || val2 === null) {\n return false;\n }\n\n if (Object.getPrototypeOf(val1) !== Object.getPrototypeOf(val2)) {\n return false;\n }\n } else {\n if (val1 === null || _typeof(val1) !== 'object') {\n if (val2 === null || _typeof(val2) !== 'object') {\n // eslint-disable-next-line eqeqeq\n return val1 == val2;\n }\n\n return false;\n }\n\n if (val2 === null || _typeof(val2) !== 'object') {\n return false;\n }\n }\n\n var val1Tag = objectToString(val1);\n var val2Tag = objectToString(val2);\n\n if (val1Tag !== val2Tag) {\n return false;\n }\n\n if (Array.isArray(val1)) {\n // Check for sparse arrays and general fast path\n if (val1.length !== val2.length) {\n return false;\n }\n\n var keys1 = getOwnNonIndexProperties(val1, ONLY_ENUMERABLE);\n var keys2 = getOwnNonIndexProperties(val2, ONLY_ENUMERABLE);\n\n if (keys1.length !== keys2.length) {\n return false;\n }\n\n return keyCheck(val1, val2, strict, memos, kIsArray, keys1);\n } // [browserify] This triggers on certain types in IE (Map/Set) so we don't\n // wan't to early return out of the rest of the checks. However we can check\n // if the second value is one of these values and the first isn't.\n\n\n if (val1Tag === '[object Object]') {\n // return keyCheck(val1, val2, strict, memos, kNoIterator);\n if (!isMap(val1) && isMap(val2) || !isSet(val1) && isSet(val2)) {\n return false;\n }\n }\n\n if (isDate(val1)) {\n if (!isDate(val2) || Date.prototype.getTime.call(val1) !== Date.prototype.getTime.call(val2)) {\n return false;\n }\n } else if (isRegExp(val1)) {\n if (!isRegExp(val2) || !areSimilarRegExps(val1, val2)) {\n return false;\n }\n } else if (isNativeError(val1) || val1 instanceof Error) {\n // Do not compare the stack as it might differ even though the error itself\n // is otherwise identical.\n if (val1.message !== val2.message || val1.name !== val2.name) {\n return false;\n }\n } else if (isArrayBufferView(val1)) {\n if (!strict && (isFloat32Array(val1) || isFloat64Array(val1))) {\n if (!areSimilarFloatArrays(val1, val2)) {\n return false;\n }\n } else if (!areSimilarTypedArrays(val1, val2)) {\n return false;\n } // Buffer.compare returns true, so val1.length === val2.length. If they both\n // only contain numeric keys, we don't need to exam further than checking\n // the symbols.\n\n\n var _keys = getOwnNonIndexProperties(val1, ONLY_ENUMERABLE);\n\n var _keys2 = getOwnNonIndexProperties(val2, ONLY_ENUMERABLE);\n\n if (_keys.length !== _keys2.length) {\n return false;\n }\n\n return keyCheck(val1, val2, strict, memos, kNoIterator, _keys);\n } else if (isSet(val1)) {\n if (!isSet(val2) || val1.size !== val2.size) {\n return false;\n }\n\n return keyCheck(val1, val2, strict, memos, kIsSet);\n } else if (isMap(val1)) {\n if (!isMap(val2) || val1.size !== val2.size) {\n return false;\n }\n\n return keyCheck(val1, val2, strict, memos, kIsMap);\n } else if (isAnyArrayBuffer(val1)) {\n if (!areEqualArrayBuffers(val1, val2)) {\n return false;\n }\n } else if (isBoxedPrimitive(val1) && !isEqualBoxedPrimitive(val1, val2)) {\n return false;\n }\n\n return keyCheck(val1, val2, strict, memos, kNoIterator);\n}\n\nfunction getEnumerables(val, keys) {\n return keys.filter(function (k) {\n return propertyIsEnumerable(val, k);\n });\n}\n\nfunction keyCheck(val1, val2, strict, memos, iterationType, aKeys) {\n // For all remaining Object pairs, including Array, objects and Maps,\n // equivalence is determined by having:\n // a) The same number of owned enumerable properties\n // b) The same set of keys/indexes (although not necessarily the same order)\n // c) Equivalent values for every corresponding key/index\n // d) For Sets and Maps, equal contents\n // Note: this accounts for both named and indexed properties on Arrays.\n if (arguments.length === 5) {\n aKeys = Object.keys(val1);\n var bKeys = Object.keys(val2); // The pair must have the same number of owned properties.\n\n if (aKeys.length !== bKeys.length) {\n return false;\n }\n } // Cheap key test\n\n\n var i = 0;\n\n for (; i < aKeys.length; i++) {\n if (!hasOwnProperty(val2, aKeys[i])) {\n return false;\n }\n }\n\n if (strict && arguments.length === 5) {\n var symbolKeysA = objectGetOwnPropertySymbols(val1);\n\n if (symbolKeysA.length !== 0) {\n var count = 0;\n\n for (i = 0; i < symbolKeysA.length; i++) {\n var key = symbolKeysA[i];\n\n if (propertyIsEnumerable(val1, key)) {\n if (!propertyIsEnumerable(val2, key)) {\n return false;\n }\n\n aKeys.push(key);\n count++;\n } else if (propertyIsEnumerable(val2, key)) {\n return false;\n }\n }\n\n var symbolKeysB = objectGetOwnPropertySymbols(val2);\n\n if (symbolKeysA.length !== symbolKeysB.length && getEnumerables(val2, symbolKeysB).length !== count) {\n return false;\n }\n } else {\n var _symbolKeysB = objectGetOwnPropertySymbols(val2);\n\n if (_symbolKeysB.length !== 0 && getEnumerables(val2, _symbolKeysB).length !== 0) {\n return false;\n }\n }\n }\n\n if (aKeys.length === 0 && (iterationType === kNoIterator || iterationType === kIsArray && val1.length === 0 || val1.size === 0)) {\n return true;\n } // Use memos to handle cycles.\n\n\n if (memos === undefined) {\n memos = {\n val1: new Map(),\n val2: new Map(),\n position: 0\n };\n } else {\n // We prevent up to two map.has(x) calls by directly retrieving the value\n // and checking for undefined. The map can only contain numbers, so it is\n // safe to check for undefined only.\n var val2MemoA = memos.val1.get(val1);\n\n if (val2MemoA !== undefined) {\n var val2MemoB = memos.val2.get(val2);\n\n if (val2MemoB !== undefined) {\n return val2MemoA === val2MemoB;\n }\n }\n\n memos.position++;\n }\n\n memos.val1.set(val1, memos.position);\n memos.val2.set(val2, memos.position);\n var areEq = objEquiv(val1, val2, strict, aKeys, memos, iterationType);\n memos.val1.delete(val1);\n memos.val2.delete(val2);\n return areEq;\n}\n\nfunction setHasEqualElement(set, val1, strict, memo) {\n // Go looking.\n var setValues = arrayFromSet(set);\n\n for (var i = 0; i < setValues.length; i++) {\n var val2 = setValues[i];\n\n if (innerDeepEqual(val1, val2, strict, memo)) {\n // Remove the matching element to make sure we do not check that again.\n set.delete(val2);\n return true;\n }\n }\n\n return false;\n} // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Equality_comparisons_and_sameness#Loose_equality_using\n// Sadly it is not possible to detect corresponding values properly in case the\n// type is a string, number, bigint or boolean. The reason is that those values\n// can match lots of different string values (e.g., 1n == '+00001').\n\n\nfunction findLooseMatchingPrimitives(prim) {\n switch (_typeof(prim)) {\n case 'undefined':\n return null;\n\n case 'object':\n // Only pass in null as object!\n return undefined;\n\n case 'symbol':\n return false;\n\n case 'string':\n prim = +prim;\n // Loose equal entries exist only if the string is possible to convert to\n // a regular number and not NaN.\n // Fall through\n\n case 'number':\n if (numberIsNaN(prim)) {\n return false;\n }\n\n }\n\n return true;\n}\n\nfunction setMightHaveLoosePrim(a, b, prim) {\n var altValue = findLooseMatchingPrimitives(prim);\n if (altValue != null) return altValue;\n return b.has(altValue) && !a.has(altValue);\n}\n\nfunction mapMightHaveLoosePrim(a, b, prim, item, memo) {\n var altValue = findLooseMatchingPrimitives(prim);\n\n if (altValue != null) {\n return altValue;\n }\n\n var curB = b.get(altValue);\n\n if (curB === undefined && !b.has(altValue) || !innerDeepEqual(item, curB, false, memo)) {\n return false;\n }\n\n return !a.has(altValue) && innerDeepEqual(item, curB, false, memo);\n}\n\nfunction setEquiv(a, b, strict, memo) {\n // This is a lazily initiated Set of entries which have to be compared\n // pairwise.\n var set = null;\n var aValues = arrayFromSet(a);\n\n for (var i = 0; i < aValues.length; i++) {\n var val = aValues[i]; // Note: Checking for the objects first improves the performance for object\n // heavy sets but it is a minor slow down for primitives. As they are fast\n // to check this improves the worst case scenario instead.\n\n if (_typeof(val) === 'object' && val !== null) {\n if (set === null) {\n set = new Set();\n } // If the specified value doesn't exist in the second set its an not null\n // object (or non strict only: a not matching primitive) we'll need to go\n // hunting for something thats deep-(strict-)equal to it. To make this\n // O(n log n) complexity we have to copy these values in a new set first.\n\n\n set.add(val);\n } else if (!b.has(val)) {\n if (strict) return false; // Fast path to detect missing string, symbol, undefined and null values.\n\n if (!setMightHaveLoosePrim(a, b, val)) {\n return false;\n }\n\n if (set === null) {\n set = new Set();\n }\n\n set.add(val);\n }\n }\n\n if (set !== null) {\n var bValues = arrayFromSet(b);\n\n for (var _i = 0; _i < bValues.length; _i++) {\n var _val = bValues[_i]; // We have to check if a primitive value is already\n // matching and only if it's not, go hunting for it.\n\n if (_typeof(_val) === 'object' && _val !== null) {\n if (!setHasEqualElement(set, _val, strict, memo)) return false;\n } else if (!strict && !a.has(_val) && !setHasEqualElement(set, _val, strict, memo)) {\n return false;\n }\n }\n\n return set.size === 0;\n }\n\n return true;\n}\n\nfunction mapHasEqualEntry(set, map, key1, item1, strict, memo) {\n // To be able to handle cases like:\n // Map([[{}, 'a'], [{}, 'b']]) vs Map([[{}, 'b'], [{}, 'a']])\n // ... we need to consider *all* matching keys, not just the first we find.\n var setValues = arrayFromSet(set);\n\n for (var i = 0; i < setValues.length; i++) {\n var key2 = setValues[i];\n\n if (innerDeepEqual(key1, key2, strict, memo) && innerDeepEqual(item1, map.get(key2), strict, memo)) {\n set.delete(key2);\n return true;\n }\n }\n\n return false;\n}\n\nfunction mapEquiv(a, b, strict, memo) {\n var set = null;\n var aEntries = arrayFromMap(a);\n\n for (var i = 0; i < aEntries.length; i++) {\n var _aEntries$i = _slicedToArray(aEntries[i], 2),\n key = _aEntries$i[0],\n item1 = _aEntries$i[1];\n\n if (_typeof(key) === 'object' && key !== null) {\n if (set === null) {\n set = new Set();\n }\n\n set.add(key);\n } else {\n // By directly retrieving the value we prevent another b.has(key) check in\n // almost all possible cases.\n var item2 = b.get(key);\n\n if (item2 === undefined && !b.has(key) || !innerDeepEqual(item1, item2, strict, memo)) {\n if (strict) return false; // Fast path to detect missing string, symbol, undefined and null\n // keys.\n\n if (!mapMightHaveLoosePrim(a, b, key, item1, memo)) return false;\n\n if (set === null) {\n set = new Set();\n }\n\n set.add(key);\n }\n }\n }\n\n if (set !== null) {\n var bEntries = arrayFromMap(b);\n\n for (var _i2 = 0; _i2 < bEntries.length; _i2++) {\n var _bEntries$_i = _slicedToArray(bEntries[_i2], 2),\n key = _bEntries$_i[0],\n item = _bEntries$_i[1];\n\n if (_typeof(key) === 'object' && key !== null) {\n if (!mapHasEqualEntry(set, a, key, item, strict, memo)) return false;\n } else if (!strict && (!a.has(key) || !innerDeepEqual(a.get(key), item, false, memo)) && !mapHasEqualEntry(set, a, key, item, false, memo)) {\n return false;\n }\n }\n\n return set.size === 0;\n }\n\n return true;\n}\n\nfunction objEquiv(a, b, strict, keys, memos, iterationType) {\n // Sets and maps don't have their entries accessible via normal object\n // properties.\n var i = 0;\n\n if (iterationType === kIsSet) {\n if (!setEquiv(a, b, strict, memos)) {\n return false;\n }\n } else if (iterationType === kIsMap) {\n if (!mapEquiv(a, b, strict, memos)) {\n return false;\n }\n } else if (iterationType === kIsArray) {\n for (; i < a.length; i++) {\n if (hasOwnProperty(a, i)) {\n if (!hasOwnProperty(b, i) || !innerDeepEqual(a[i], b[i], strict, memos)) {\n return false;\n }\n } else if (hasOwnProperty(b, i)) {\n return false;\n } else {\n // Array is sparse.\n var keysA = Object.keys(a);\n\n for (; i < keysA.length; i++) {\n var key = keysA[i];\n\n if (!hasOwnProperty(b, key) || !innerDeepEqual(a[key], b[key], strict, memos)) {\n return false;\n }\n }\n\n if (keysA.length !== Object.keys(b).length) {\n return false;\n }\n\n return true;\n }\n }\n } // The pair must have equivalent values for every corresponding key.\n // Possibly expensive deep test:\n\n\n for (i = 0; i < keys.length; i++) {\n var _key = keys[i];\n\n if (!innerDeepEqual(a[_key], b[_key], strict, memos)) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction isDeepEqual(val1, val2) {\n return innerDeepEqual(val1, val2, kLoose);\n}\n\nfunction isDeepStrictEqual(val1, val2) {\n return innerDeepEqual(val1, val2, kStrict);\n}\n\nmodule.exports = {\n isDeepEqual: isDeepEqual,\n isDeepStrictEqual: isDeepStrictEqual\n};","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n })\n }\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n }\n}\n","module.exports = function isBuffer(arg) {\n return arg && typeof arg === 'object'\n && typeof arg.copy === 'function'\n && typeof arg.fill === 'function'\n && typeof arg.readUInt8 === 'function';\n}","// Currently in sync with Node.js lib/internal/util/types.js\n// https://github.com/nodejs/node/commit/112cc7c27551254aa2b17098fb774867f05ed0d9\n\n'use strict';\n\nvar isArgumentsObject = require('is-arguments');\nvar isGeneratorFunction = require('is-generator-function');\nvar whichTypedArray = require('which-typed-array');\nvar isTypedArray = require('is-typed-array');\n\nfunction uncurryThis(f) {\n return f.call.bind(f);\n}\n\nvar BigIntSupported = typeof BigInt !== 'undefined';\nvar SymbolSupported = typeof Symbol !== 'undefined';\n\nvar ObjectToString = uncurryThis(Object.prototype.toString);\n\nvar numberValue = uncurryThis(Number.prototype.valueOf);\nvar stringValue = uncurryThis(String.prototype.valueOf);\nvar booleanValue = uncurryThis(Boolean.prototype.valueOf);\n\nif (BigIntSupported) {\n var bigIntValue = uncurryThis(BigInt.prototype.valueOf);\n}\n\nif (SymbolSupported) {\n var symbolValue = uncurryThis(Symbol.prototype.valueOf);\n}\n\nfunction checkBoxedPrimitive(value, prototypeValueOf) {\n if (typeof value !== 'object') {\n return false;\n }\n try {\n prototypeValueOf(value);\n return true;\n } catch(e) {\n return false;\n }\n}\n\nexports.isArgumentsObject = isArgumentsObject;\nexports.isGeneratorFunction = isGeneratorFunction;\nexports.isTypedArray = isTypedArray;\n\n// Taken from here and modified for better browser support\n// https://github.com/sindresorhus/p-is-promise/blob/cda35a513bda03f977ad5cde3a079d237e82d7ef/index.js\nfunction isPromise(input) {\n\treturn (\n\t\t(\n\t\t\ttypeof Promise !== 'undefined' &&\n\t\t\tinput instanceof Promise\n\t\t) ||\n\t\t(\n\t\t\tinput !== null &&\n\t\t\ttypeof input === 'object' &&\n\t\t\ttypeof input.then === 'function' &&\n\t\t\ttypeof input.catch === 'function'\n\t\t)\n\t);\n}\nexports.isPromise = isPromise;\n\nfunction isArrayBufferView(value) {\n if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) {\n return ArrayBuffer.isView(value);\n }\n\n return (\n isTypedArray(value) ||\n isDataView(value)\n );\n}\nexports.isArrayBufferView = isArrayBufferView;\n\n\nfunction isUint8Array(value) {\n return whichTypedArray(value) === 'Uint8Array';\n}\nexports.isUint8Array = isUint8Array;\n\nfunction isUint8ClampedArray(value) {\n return whichTypedArray(value) === 'Uint8ClampedArray';\n}\nexports.isUint8ClampedArray = isUint8ClampedArray;\n\nfunction isUint16Array(value) {\n return whichTypedArray(value) === 'Uint16Array';\n}\nexports.isUint16Array = isUint16Array;\n\nfunction isUint32Array(value) {\n return whichTypedArray(value) === 'Uint32Array';\n}\nexports.isUint32Array = isUint32Array;\n\nfunction isInt8Array(value) {\n return whichTypedArray(value) === 'Int8Array';\n}\nexports.isInt8Array = isInt8Array;\n\nfunction isInt16Array(value) {\n return whichTypedArray(value) === 'Int16Array';\n}\nexports.isInt16Array = isInt16Array;\n\nfunction isInt32Array(value) {\n return whichTypedArray(value) === 'Int32Array';\n}\nexports.isInt32Array = isInt32Array;\n\nfunction isFloat32Array(value) {\n return whichTypedArray(value) === 'Float32Array';\n}\nexports.isFloat32Array = isFloat32Array;\n\nfunction isFloat64Array(value) {\n return whichTypedArray(value) === 'Float64Array';\n}\nexports.isFloat64Array = isFloat64Array;\n\nfunction isBigInt64Array(value) {\n return whichTypedArray(value) === 'BigInt64Array';\n}\nexports.isBigInt64Array = isBigInt64Array;\n\nfunction isBigUint64Array(value) {\n return whichTypedArray(value) === 'BigUint64Array';\n}\nexports.isBigUint64Array = isBigUint64Array;\n\nfunction isMapToString(value) {\n return ObjectToString(value) === '[object Map]';\n}\nisMapToString.working = (\n typeof Map !== 'undefined' &&\n isMapToString(new Map())\n);\n\nfunction isMap(value) {\n if (typeof Map === 'undefined') {\n return false;\n }\n\n return isMapToString.working\n ? isMapToString(value)\n : value instanceof Map;\n}\nexports.isMap = isMap;\n\nfunction isSetToString(value) {\n return ObjectToString(value) === '[object Set]';\n}\nisSetToString.working = (\n typeof Set !== 'undefined' &&\n isSetToString(new Set())\n);\nfunction isSet(value) {\n if (typeof Set === 'undefined') {\n return false;\n }\n\n return isSetToString.working\n ? isSetToString(value)\n : value instanceof Set;\n}\nexports.isSet = isSet;\n\nfunction isWeakMapToString(value) {\n return ObjectToString(value) === '[object WeakMap]';\n}\nisWeakMapToString.working = (\n typeof WeakMap !== 'undefined' &&\n isWeakMapToString(new WeakMap())\n);\nfunction isWeakMap(value) {\n if (typeof WeakMap === 'undefined') {\n return false;\n }\n\n return isWeakMapToString.working\n ? isWeakMapToString(value)\n : value instanceof WeakMap;\n}\nexports.isWeakMap = isWeakMap;\n\nfunction isWeakSetToString(value) {\n return ObjectToString(value) === '[object WeakSet]';\n}\nisWeakSetToString.working = (\n typeof WeakSet !== 'undefined' &&\n isWeakSetToString(new WeakSet())\n);\nfunction isWeakSet(value) {\n return isWeakSetToString(value);\n}\nexports.isWeakSet = isWeakSet;\n\nfunction isArrayBufferToString(value) {\n return ObjectToString(value) === '[object ArrayBuffer]';\n}\nisArrayBufferToString.working = (\n typeof ArrayBuffer !== 'undefined' &&\n isArrayBufferToString(new ArrayBuffer())\n);\nfunction isArrayBuffer(value) {\n if (typeof ArrayBuffer === 'undefined') {\n return false;\n }\n\n return isArrayBufferToString.working\n ? isArrayBufferToString(value)\n : value instanceof ArrayBuffer;\n}\nexports.isArrayBuffer = isArrayBuffer;\n\nfunction isDataViewToString(value) {\n return ObjectToString(value) === '[object DataView]';\n}\nisDataViewToString.working = (\n typeof ArrayBuffer !== 'undefined' &&\n typeof DataView !== 'undefined' &&\n isDataViewToString(new DataView(new ArrayBuffer(1), 0, 1))\n);\nfunction isDataView(value) {\n if (typeof DataView === 'undefined') {\n return false;\n }\n\n return isDataViewToString.working\n ? isDataViewToString(value)\n : value instanceof DataView;\n}\nexports.isDataView = isDataView;\n\n// Store a copy of SharedArrayBuffer in case it's deleted elsewhere\nvar SharedArrayBufferCopy = typeof SharedArrayBuffer !== 'undefined' ? SharedArrayBuffer : undefined;\nfunction isSharedArrayBufferToString(value) {\n return ObjectToString(value) === '[object SharedArrayBuffer]';\n}\nfunction isSharedArrayBuffer(value) {\n if (typeof SharedArrayBufferCopy === 'undefined') {\n return false;\n }\n\n if (typeof isSharedArrayBufferToString.working === 'undefined') {\n isSharedArrayBufferToString.working = isSharedArrayBufferToString(new SharedArrayBufferCopy());\n }\n\n return isSharedArrayBufferToString.working\n ? isSharedArrayBufferToString(value)\n : value instanceof SharedArrayBufferCopy;\n}\nexports.isSharedArrayBuffer = isSharedArrayBuffer;\n\nfunction isAsyncFunction(value) {\n return ObjectToString(value) === '[object AsyncFunction]';\n}\nexports.isAsyncFunction = isAsyncFunction;\n\nfunction isMapIterator(value) {\n return ObjectToString(value) === '[object Map Iterator]';\n}\nexports.isMapIterator = isMapIterator;\n\nfunction isSetIterator(value) {\n return ObjectToString(value) === '[object Set Iterator]';\n}\nexports.isSetIterator = isSetIterator;\n\nfunction isGeneratorObject(value) {\n return ObjectToString(value) === '[object Generator]';\n}\nexports.isGeneratorObject = isGeneratorObject;\n\nfunction isWebAssemblyCompiledModule(value) {\n return ObjectToString(value) === '[object WebAssembly.Module]';\n}\nexports.isWebAssemblyCompiledModule = isWebAssemblyCompiledModule;\n\nfunction isNumberObject(value) {\n return checkBoxedPrimitive(value, numberValue);\n}\nexports.isNumberObject = isNumberObject;\n\nfunction isStringObject(value) {\n return checkBoxedPrimitive(value, stringValue);\n}\nexports.isStringObject = isStringObject;\n\nfunction isBooleanObject(value) {\n return checkBoxedPrimitive(value, booleanValue);\n}\nexports.isBooleanObject = isBooleanObject;\n\nfunction isBigIntObject(value) {\n return BigIntSupported && checkBoxedPrimitive(value, bigIntValue);\n}\nexports.isBigIntObject = isBigIntObject;\n\nfunction isSymbolObject(value) {\n return SymbolSupported && checkBoxedPrimitive(value, symbolValue);\n}\nexports.isSymbolObject = isSymbolObject;\n\nfunction isBoxedPrimitive(value) {\n return (\n isNumberObject(value) ||\n isStringObject(value) ||\n isBooleanObject(value) ||\n isBigIntObject(value) ||\n isSymbolObject(value)\n );\n}\nexports.isBoxedPrimitive = isBoxedPrimitive;\n\nfunction isAnyArrayBuffer(value) {\n return typeof Uint8Array !== 'undefined' && (\n isArrayBuffer(value) ||\n isSharedArrayBuffer(value)\n );\n}\nexports.isAnyArrayBuffer = isAnyArrayBuffer;\n\n['isProxy', 'isExternal', 'isModuleNamespaceObject'].forEach(function(method) {\n Object.defineProperty(exports, method, {\n enumerable: false,\n value: function() {\n throw new Error(method + ' is not supported in userland');\n }\n });\n});\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors ||\n function getOwnPropertyDescriptors(obj) {\n var keys = Object.keys(obj);\n var descriptors = {};\n for (var i = 0; i < keys.length; i++) {\n descriptors[keys[i]] = Object.getOwnPropertyDescriptor(obj, keys[i]);\n }\n return descriptors;\n };\n\nvar formatRegExp = /%[sdj%]/g;\nexports.format = function(f) {\n if (!isString(f)) {\n var objects = [];\n for (var i = 0; i < arguments.length; i++) {\n objects.push(inspect(arguments[i]));\n }\n return objects.join(' ');\n }\n\n var i = 1;\n var args = arguments;\n var len = args.length;\n var str = String(f).replace(formatRegExp, function(x) {\n if (x === '%%') return '%';\n if (i >= len) return x;\n switch (x) {\n case '%s': return String(args[i++]);\n case '%d': return Number(args[i++]);\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n default:\n return x;\n }\n });\n for (var x = args[i]; i < len; x = args[++i]) {\n if (isNull(x) || !isObject(x)) {\n str += ' ' + x;\n } else {\n str += ' ' + inspect(x);\n }\n }\n return str;\n};\n\n\n// Mark that a method should not be used.\n// Returns a modified function which warns once by default.\n// If --no-deprecation is set, then it is a no-op.\nexports.deprecate = function(fn, msg) {\n if (typeof process !== 'undefined' && process.noDeprecation === true) {\n return fn;\n }\n\n // Allow for deprecating things in the process of starting up.\n if (typeof process === 'undefined') {\n return function() {\n return exports.deprecate(fn, msg).apply(this, arguments);\n };\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (process.throwDeprecation) {\n throw new Error(msg);\n } else if (process.traceDeprecation) {\n console.trace(msg);\n } else {\n console.error(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n};\n\n\nvar debugs = {};\nvar debugEnvRegex = /^$/;\n\nif (process.env.NODE_DEBUG) {\n var debugEnv = process.env.NODE_DEBUG;\n debugEnv = debugEnv.replace(/[|\\\\{}()[\\]^$+?.]/g, '\\\\$&')\n .replace(/\\*/g, '.*')\n .replace(/,/g, '$|^')\n .toUpperCase();\n debugEnvRegex = new RegExp('^' + debugEnv + '$', 'i');\n}\nexports.debuglog = function(set) {\n set = set.toUpperCase();\n if (!debugs[set]) {\n if (debugEnvRegex.test(set)) {\n var pid = process.pid;\n debugs[set] = function() {\n var msg = exports.format.apply(exports, arguments);\n console.error('%s %d: %s', set, pid, msg);\n };\n } else {\n debugs[set] = function() {};\n }\n }\n return debugs[set];\n};\n\n\n/**\n * Echos the value of a value. Trys to print the value out\n * in the best way possible given the different types.\n *\n * @param {Object} obj The object to print out.\n * @param {Object} opts Optional options object that alters the output.\n */\n/* legacy: obj, showHidden, depth, colors*/\nfunction inspect(obj, opts) {\n // default options\n var ctx = {\n seen: [],\n stylize: stylizeNoColor\n };\n // legacy...\n if (arguments.length >= 3) ctx.depth = arguments[2];\n if (arguments.length >= 4) ctx.colors = arguments[3];\n if (isBoolean(opts)) {\n // legacy...\n ctx.showHidden = opts;\n } else if (opts) {\n // got an \"options\" object\n exports._extend(ctx, opts);\n }\n // set default options\n if (isUndefined(ctx.showHidden)) ctx.showHidden = false;\n if (isUndefined(ctx.depth)) ctx.depth = 2;\n if (isUndefined(ctx.colors)) ctx.colors = false;\n if (isUndefined(ctx.customInspect)) ctx.customInspect = true;\n if (ctx.colors) ctx.stylize = stylizeWithColor;\n return formatValue(ctx, obj, ctx.depth);\n}\nexports.inspect = inspect;\n\n\n// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics\ninspect.colors = {\n 'bold' : [1, 22],\n 'italic' : [3, 23],\n 'underline' : [4, 24],\n 'inverse' : [7, 27],\n 'white' : [37, 39],\n 'grey' : [90, 39],\n 'black' : [30, 39],\n 'blue' : [34, 39],\n 'cyan' : [36, 39],\n 'green' : [32, 39],\n 'magenta' : [35, 39],\n 'red' : [31, 39],\n 'yellow' : [33, 39]\n};\n\n// Don't use 'blue' not visible on cmd.exe\ninspect.styles = {\n 'special': 'cyan',\n 'number': 'yellow',\n 'boolean': 'yellow',\n 'undefined': 'grey',\n 'null': 'bold',\n 'string': 'green',\n 'date': 'magenta',\n // \"name\": intentionally not styling\n 'regexp': 'red'\n};\n\n\nfunction stylizeWithColor(str, styleType) {\n var style = inspect.styles[styleType];\n\n if (style) {\n return '\\u001b[' + inspect.colors[style][0] + 'm' + str +\n '\\u001b[' + inspect.colors[style][1] + 'm';\n } else {\n return str;\n }\n}\n\n\nfunction stylizeNoColor(str, styleType) {\n return str;\n}\n\n\nfunction arrayToHash(array) {\n var hash = {};\n\n array.forEach(function(val, idx) {\n hash[val] = true;\n });\n\n return hash;\n}\n\n\nfunction formatValue(ctx, value, recurseTimes) {\n // Provide a hook for user-specified inspect functions.\n // Check that value is an object with an inspect function on it\n if (ctx.customInspect &&\n value &&\n isFunction(value.inspect) &&\n // Filter out the util module, it's inspect function is special\n value.inspect !== exports.inspect &&\n // Also filter out any prototype objects using the circular check.\n !(value.constructor && value.constructor.prototype === value)) {\n var ret = value.inspect(recurseTimes, ctx);\n if (!isString(ret)) {\n ret = formatValue(ctx, ret, recurseTimes);\n }\n return ret;\n }\n\n // Primitive types cannot have properties\n var primitive = formatPrimitive(ctx, value);\n if (primitive) {\n return primitive;\n }\n\n // Look up the keys of the object.\n var keys = Object.keys(value);\n var visibleKeys = arrayToHash(keys);\n\n if (ctx.showHidden) {\n keys = Object.getOwnPropertyNames(value);\n }\n\n // IE doesn't make error fields non-enumerable\n // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx\n if (isError(value)\n && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {\n return formatError(value);\n }\n\n // Some type of object without properties can be shortcutted.\n if (keys.length === 0) {\n if (isFunction(value)) {\n var name = value.name ? ': ' + value.name : '';\n return ctx.stylize('[Function' + name + ']', 'special');\n }\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n }\n if (isDate(value)) {\n return ctx.stylize(Date.prototype.toString.call(value), 'date');\n }\n if (isError(value)) {\n return formatError(value);\n }\n }\n\n var base = '', array = false, braces = ['{', '}'];\n\n // Make Array say that they are Array\n if (isArray(value)) {\n array = true;\n braces = ['[', ']'];\n }\n\n // Make functions say that they are functions\n if (isFunction(value)) {\n var n = value.name ? ': ' + value.name : '';\n base = ' [Function' + n + ']';\n }\n\n // Make RegExps say that they are RegExps\n if (isRegExp(value)) {\n base = ' ' + RegExp.prototype.toString.call(value);\n }\n\n // Make dates with properties first say the date\n if (isDate(value)) {\n base = ' ' + Date.prototype.toUTCString.call(value);\n }\n\n // Make error with message first say the error\n if (isError(value)) {\n base = ' ' + formatError(value);\n }\n\n if (keys.length === 0 && (!array || value.length == 0)) {\n return braces[0] + base + braces[1];\n }\n\n if (recurseTimes < 0) {\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n } else {\n return ctx.stylize('[Object]', 'special');\n }\n }\n\n ctx.seen.push(value);\n\n var output;\n if (array) {\n output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);\n } else {\n output = keys.map(function(key) {\n return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);\n });\n }\n\n ctx.seen.pop();\n\n return reduceToSingleString(output, base, braces);\n}\n\n\nfunction formatPrimitive(ctx, value) {\n if (isUndefined(value))\n return ctx.stylize('undefined', 'undefined');\n if (isString(value)) {\n var simple = '\\'' + JSON.stringify(value).replace(/^\"|\"$/g, '')\n .replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"') + '\\'';\n return ctx.stylize(simple, 'string');\n }\n if (isNumber(value))\n return ctx.stylize('' + value, 'number');\n if (isBoolean(value))\n return ctx.stylize('' + value, 'boolean');\n // For some reason typeof null is \"object\", so special case here.\n if (isNull(value))\n return ctx.stylize('null', 'null');\n}\n\n\nfunction formatError(value) {\n return '[' + Error.prototype.toString.call(value) + ']';\n}\n\n\nfunction formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n var output = [];\n for (var i = 0, l = value.length; i < l; ++i) {\n if (hasOwnProperty(value, String(i))) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n String(i), true));\n } else {\n output.push('');\n }\n }\n keys.forEach(function(key) {\n if (!key.match(/^\\d+$/)) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n key, true));\n }\n });\n return output;\n}\n\n\nfunction formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n var name, str, desc;\n desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };\n if (desc.get) {\n if (desc.set) {\n str = ctx.stylize('[Getter/Setter]', 'special');\n } else {\n str = ctx.stylize('[Getter]', 'special');\n }\n } else {\n if (desc.set) {\n str = ctx.stylize('[Setter]', 'special');\n }\n }\n if (!hasOwnProperty(visibleKeys, key)) {\n name = '[' + key + ']';\n }\n if (!str) {\n if (ctx.seen.indexOf(desc.value) < 0) {\n if (isNull(recurseTimes)) {\n str = formatValue(ctx, desc.value, null);\n } else {\n str = formatValue(ctx, desc.value, recurseTimes - 1);\n }\n if (str.indexOf('\\n') > -1) {\n if (array) {\n str = str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n').substr(2);\n } else {\n str = '\\n' + str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n');\n }\n }\n } else {\n str = ctx.stylize('[Circular]', 'special');\n }\n }\n if (isUndefined(name)) {\n if (array && key.match(/^\\d+$/)) {\n return str;\n }\n name = JSON.stringify('' + key);\n if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n name = name.substr(1, name.length - 2);\n name = ctx.stylize(name, 'name');\n } else {\n name = name.replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"')\n .replace(/(^\"|\"$)/g, \"'\");\n name = ctx.stylize(name, 'string');\n }\n }\n\n return name + ': ' + str;\n}\n\n\nfunction reduceToSingleString(output, base, braces) {\n var numLinesEst = 0;\n var length = output.reduce(function(prev, cur) {\n numLinesEst++;\n if (cur.indexOf('\\n') >= 0) numLinesEst++;\n return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, '').length + 1;\n }, 0);\n\n if (length > 60) {\n return braces[0] +\n (base === '' ? '' : base + '\\n ') +\n ' ' +\n output.join(',\\n ') +\n ' ' +\n braces[1];\n }\n\n return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];\n}\n\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\nexports.types = require('./support/types');\n\nfunction isArray(ar) {\n return Array.isArray(ar);\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return isObject(re) && objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\nexports.types.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return isObject(d) && objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\nexports.types.isDate = isDate;\n\nfunction isError(e) {\n return isObject(e) &&\n (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\nexports.types.isNativeError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = require('./support/isBuffer');\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n\n\nfunction pad(n) {\n return n < 10 ? '0' + n.toString(10) : n.toString(10);\n}\n\n\nvar months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',\n 'Oct', 'Nov', 'Dec'];\n\n// 26 Feb 16:19:34\nfunction timestamp() {\n var d = new Date();\n var time = [pad(d.getHours()),\n pad(d.getMinutes()),\n pad(d.getSeconds())].join(':');\n return [d.getDate(), months[d.getMonth()], time].join(' ');\n}\n\n\n// log is just a thin wrapper to console.log that prepends a timestamp\nexports.log = function() {\n console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));\n};\n\n\n/**\n * Inherit the prototype methods from one constructor into another.\n *\n * The Function.prototype.inherits from lang.js rewritten as a standalone\n * function (not on Function.prototype). NOTE: If this file is to be loaded\n * during bootstrapping this function needs to be rewritten using some native\n * functions as prototype setup using normal JavaScript does not work as\n * expected during bootstrapping (see mirror.js in r114903).\n *\n * @param {function} ctor Constructor function which needs to inherit the\n * prototype.\n * @param {function} superCtor Constructor function to inherit prototype from.\n */\nexports.inherits = require('inherits');\n\nexports._extend = function(origin, add) {\n // Don't do anything if add isn't an object\n if (!add || !isObject(add)) return origin;\n\n var keys = Object.keys(add);\n var i = keys.length;\n while (i--) {\n origin[keys[i]] = add[keys[i]];\n }\n return origin;\n};\n\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nvar kCustomPromisifiedSymbol = typeof Symbol !== 'undefined' ? Symbol('util.promisify.custom') : undefined;\n\nexports.promisify = function promisify(original) {\n if (typeof original !== 'function')\n throw new TypeError('The \"original\" argument must be of type Function');\n\n if (kCustomPromisifiedSymbol && original[kCustomPromisifiedSymbol]) {\n var fn = original[kCustomPromisifiedSymbol];\n if (typeof fn !== 'function') {\n throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');\n }\n Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return fn;\n }\n\n function fn() {\n var promiseResolve, promiseReject;\n var promise = new Promise(function (resolve, reject) {\n promiseResolve = resolve;\n promiseReject = reject;\n });\n\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n args.push(function (err, value) {\n if (err) {\n promiseReject(err);\n } else {\n promiseResolve(value);\n }\n });\n\n try {\n original.apply(this, args);\n } catch (err) {\n promiseReject(err);\n }\n\n return promise;\n }\n\n Object.setPrototypeOf(fn, Object.getPrototypeOf(original));\n\n if (kCustomPromisifiedSymbol) Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return Object.defineProperties(\n fn,\n getOwnPropertyDescriptors(original)\n );\n}\n\nexports.promisify.custom = kCustomPromisifiedSymbol\n\nfunction callbackifyOnRejected(reason, cb) {\n // `!reason` guard inspired by bluebird (Ref: https://goo.gl/t5IS6M).\n // Because `null` is a special error value in callbacks which means \"no error\n // occurred\", we error-wrap so the callback consumer can distinguish between\n // \"the promise rejected with null\" or \"the promise fulfilled with undefined\".\n if (!reason) {\n var newReason = new Error('Promise was rejected with a falsy value');\n newReason.reason = reason;\n reason = newReason;\n }\n return cb(reason);\n}\n\nfunction callbackify(original) {\n if (typeof original !== 'function') {\n throw new TypeError('The \"original\" argument must be of type Function');\n }\n\n // We DO NOT return the promise as it gives the user a false sense that\n // the promise is actually somehow related to the callback's execution\n // and that the callback throwing will reject the promise.\n function callbackified() {\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n\n var maybeCb = args.pop();\n if (typeof maybeCb !== 'function') {\n throw new TypeError('The last argument must be of type Function');\n }\n var self = this;\n var cb = function() {\n return maybeCb.apply(self, arguments);\n };\n // In true node style we process the callback on `nextTick` with all the\n // implications (stack, `uncaughtException`, `async_hooks`)\n original.apply(this, args)\n .then(function(ret) { process.nextTick(cb.bind(null, null, ret)) },\n function(rej) { process.nextTick(callbackifyOnRejected.bind(null, rej, cb)) });\n }\n\n Object.setPrototypeOf(callbackified, Object.getPrototypeOf(original));\n Object.defineProperties(callbackified,\n getOwnPropertyDescriptors(original));\n return callbackified;\n}\nexports.callbackify = callbackify;\n","'use strict';\n\nvar numberIsNaN = function (value) {\n\treturn value !== value;\n};\n\nmodule.exports = function is(a, b) {\n\tif (a === 0 && b === 0) {\n\t\treturn 1 / a === 1 / b;\n\t}\n\tif (a === b) {\n\t\treturn true;\n\t}\n\tif (numberIsNaN(a) && numberIsNaN(b)) {\n\t\treturn true;\n\t}\n\treturn false;\n};\n\n","'use strict';\n\nvar define = require('define-properties');\nvar callBind = require('call-bind');\n\nvar implementation = require('./implementation');\nvar getPolyfill = require('./polyfill');\nvar shim = require('./shim');\n\nvar polyfill = callBind(getPolyfill(), Object);\n\ndefine(polyfill, {\n\tgetPolyfill: getPolyfill,\n\timplementation: implementation,\n\tshim: shim\n});\n\nmodule.exports = polyfill;\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = function getPolyfill() {\n\treturn typeof Object.is === 'function' ? Object.is : implementation;\n};\n","'use strict';\n\nvar getPolyfill = require('./polyfill');\nvar define = require('define-properties');\n\nmodule.exports = function shimObjectIs() {\n\tvar polyfill = getPolyfill();\n\tdefine(Object, { is: polyfill }, {\n\t\tis: function testObjectIs() {\n\t\t\treturn Object.is !== polyfill;\n\t\t}\n\t});\n\treturn polyfill;\n};\n","'use strict';\n\nvar keysShim;\nif (!Object.keys) {\n\t// modified from https://github.com/es-shims/es5-shim\n\tvar has = Object.prototype.hasOwnProperty;\n\tvar toStr = Object.prototype.toString;\n\tvar isArgs = require('./isArguments'); // eslint-disable-line global-require\n\tvar isEnumerable = Object.prototype.propertyIsEnumerable;\n\tvar hasDontEnumBug = !isEnumerable.call({ toString: null }, 'toString');\n\tvar hasProtoEnumBug = isEnumerable.call(function () {}, 'prototype');\n\tvar dontEnums = [\n\t\t'toString',\n\t\t'toLocaleString',\n\t\t'valueOf',\n\t\t'hasOwnProperty',\n\t\t'isPrototypeOf',\n\t\t'propertyIsEnumerable',\n\t\t'constructor'\n\t];\n\tvar equalsConstructorPrototype = function (o) {\n\t\tvar ctor = o.constructor;\n\t\treturn ctor && ctor.prototype === o;\n\t};\n\tvar excludedKeys = {\n\t\t$applicationCache: true,\n\t\t$console: true,\n\t\t$external: true,\n\t\t$frame: true,\n\t\t$frameElement: true,\n\t\t$frames: true,\n\t\t$innerHeight: true,\n\t\t$innerWidth: true,\n\t\t$onmozfullscreenchange: true,\n\t\t$onmozfullscreenerror: true,\n\t\t$outerHeight: true,\n\t\t$outerWidth: true,\n\t\t$pageXOffset: true,\n\t\t$pageYOffset: true,\n\t\t$parent: true,\n\t\t$scrollLeft: true,\n\t\t$scrollTop: true,\n\t\t$scrollX: true,\n\t\t$scrollY: true,\n\t\t$self: true,\n\t\t$webkitIndexedDB: true,\n\t\t$webkitStorageInfo: true,\n\t\t$window: true\n\t};\n\tvar hasAutomationEqualityBug = (function () {\n\t\t/* global window */\n\t\tif (typeof window === 'undefined') { return false; }\n\t\tfor (var k in window) {\n\t\t\ttry {\n\t\t\t\tif (!excludedKeys['$' + k] && has.call(window, k) && window[k] !== null && typeof window[k] === 'object') {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tequalsConstructorPrototype(window[k]);\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}());\n\tvar equalsConstructorPrototypeIfNotBuggy = function (o) {\n\t\t/* global window */\n\t\tif (typeof window === 'undefined' || !hasAutomationEqualityBug) {\n\t\t\treturn equalsConstructorPrototype(o);\n\t\t}\n\t\ttry {\n\t\t\treturn equalsConstructorPrototype(o);\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t}\n\t};\n\n\tkeysShim = function keys(object) {\n\t\tvar isObject = object !== null && typeof object === 'object';\n\t\tvar isFunction = toStr.call(object) === '[object Function]';\n\t\tvar isArguments = isArgs(object);\n\t\tvar isString = isObject && toStr.call(object) === '[object String]';\n\t\tvar theKeys = [];\n\n\t\tif (!isObject && !isFunction && !isArguments) {\n\t\t\tthrow new TypeError('Object.keys called on a non-object');\n\t\t}\n\n\t\tvar skipProto = hasProtoEnumBug && isFunction;\n\t\tif (isString && object.length > 0 && !has.call(object, 0)) {\n\t\t\tfor (var i = 0; i < object.length; ++i) {\n\t\t\t\ttheKeys.push(String(i));\n\t\t\t}\n\t\t}\n\n\t\tif (isArguments && object.length > 0) {\n\t\t\tfor (var j = 0; j < object.length; ++j) {\n\t\t\t\ttheKeys.push(String(j));\n\t\t\t}\n\t\t} else {\n\t\t\tfor (var name in object) {\n\t\t\t\tif (!(skipProto && name === 'prototype') && has.call(object, name)) {\n\t\t\t\t\ttheKeys.push(String(name));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (hasDontEnumBug) {\n\t\t\tvar skipConstructor = equalsConstructorPrototypeIfNotBuggy(object);\n\n\t\t\tfor (var k = 0; k < dontEnums.length; ++k) {\n\t\t\t\tif (!(skipConstructor && dontEnums[k] === 'constructor') && has.call(object, dontEnums[k])) {\n\t\t\t\t\ttheKeys.push(dontEnums[k]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn theKeys;\n\t};\n}\nmodule.exports = keysShim;\n","'use strict';\n\nvar slice = Array.prototype.slice;\nvar isArgs = require('./isArguments');\n\nvar origKeys = Object.keys;\nvar keysShim = origKeys ? function keys(o) { return origKeys(o); } : require('./implementation');\n\nvar originalKeys = Object.keys;\n\nkeysShim.shim = function shimObjectKeys() {\n\tif (Object.keys) {\n\t\tvar keysWorksWithArguments = (function () {\n\t\t\t// Safari 5.0 bug\n\t\t\tvar args = Object.keys(arguments);\n\t\t\treturn args && args.length === arguments.length;\n\t\t}(1, 2));\n\t\tif (!keysWorksWithArguments) {\n\t\t\tObject.keys = function keys(object) { // eslint-disable-line func-name-matching\n\t\t\t\tif (isArgs(object)) {\n\t\t\t\t\treturn originalKeys(slice.call(object));\n\t\t\t\t}\n\t\t\t\treturn originalKeys(object);\n\t\t\t};\n\t\t}\n\t} else {\n\t\tObject.keys = keysShim;\n\t}\n\treturn Object.keys || keysShim;\n};\n\nmodule.exports = keysShim;\n","'use strict';\n\nvar toStr = Object.prototype.toString;\n\nmodule.exports = function isArguments(value) {\n\tvar str = toStr.call(value);\n\tvar isArgs = str === '[object Arguments]';\n\tif (!isArgs) {\n\t\tisArgs = str !== '[object Array]' &&\n\t\t\tvalue !== null &&\n\t\t\ttypeof value === 'object' &&\n\t\t\ttypeof value.length === 'number' &&\n\t\t\tvalue.length >= 0 &&\n\t\t\ttoStr.call(value.callee) === '[object Function]';\n\t}\n\treturn isArgs;\n};\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","const debug = require('../internal/debug')\nconst { MAX_LENGTH, MAX_SAFE_INTEGER } = require('../internal/constants')\nconst { re, t } = require('../internal/re')\n\nconst parseOptions = require('../internal/parse-options')\nconst { compareIdentifiers } = require('../internal/identifiers')\nclass SemVer {\n constructor (version, options) {\n options = parseOptions(options)\n\n if (version instanceof SemVer) {\n if (version.loose === !!options.loose &&\n version.includePrerelease === !!options.includePrerelease) {\n return version\n } else {\n version = version.version\n }\n } else if (typeof version !== 'string') {\n throw new TypeError(`Invalid Version: ${version}`)\n }\n\n if (version.length > MAX_LENGTH) {\n throw new TypeError(\n `version is longer than ${MAX_LENGTH} characters`\n )\n }\n\n debug('SemVer', version, options)\n this.options = options\n this.loose = !!options.loose\n // this isn't actually relevant for versions, but keep it so that we\n // don't run into trouble passing this.options around.\n this.includePrerelease = !!options.includePrerelease\n\n const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL])\n\n if (!m) {\n throw new TypeError(`Invalid Version: ${version}`)\n }\n\n this.raw = version\n\n // these are actually numbers\n this.major = +m[1]\n this.minor = +m[2]\n this.patch = +m[3]\n\n if (this.major > MAX_SAFE_INTEGER || this.major < 0) {\n throw new TypeError('Invalid major version')\n }\n\n if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {\n throw new TypeError('Invalid minor version')\n }\n\n if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {\n throw new TypeError('Invalid patch version')\n }\n\n // numberify any prerelease numeric ids\n if (!m[4]) {\n this.prerelease = []\n } else {\n this.prerelease = m[4].split('.').map((id) => {\n if (/^[0-9]+$/.test(id)) {\n const num = +id\n if (num >= 0 && num < MAX_SAFE_INTEGER) {\n return num\n }\n }\n return id\n })\n }\n\n this.build = m[5] ? m[5].split('.') : []\n this.format()\n }\n\n format () {\n this.version = `${this.major}.${this.minor}.${this.patch}`\n if (this.prerelease.length) {\n this.version += `-${this.prerelease.join('.')}`\n }\n return this.version\n }\n\n toString () {\n return this.version\n }\n\n compare (other) {\n debug('SemVer.compare', this.version, this.options, other)\n if (!(other instanceof SemVer)) {\n if (typeof other === 'string' && other === this.version) {\n return 0\n }\n other = new SemVer(other, this.options)\n }\n\n if (other.version === this.version) {\n return 0\n }\n\n return this.compareMain(other) || this.comparePre(other)\n }\n\n compareMain (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n return (\n compareIdentifiers(this.major, other.major) ||\n compareIdentifiers(this.minor, other.minor) ||\n compareIdentifiers(this.patch, other.patch)\n )\n }\n\n comparePre (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n // NOT having a prerelease is > having one\n if (this.prerelease.length && !other.prerelease.length) {\n return -1\n } else if (!this.prerelease.length && other.prerelease.length) {\n return 1\n } else if (!this.prerelease.length && !other.prerelease.length) {\n return 0\n }\n\n let i = 0\n do {\n const a = this.prerelease[i]\n const b = other.prerelease[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n compareBuild (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n let i = 0\n do {\n const a = this.build[i]\n const b = other.build[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n // preminor will bump the version up to the next minor release, and immediately\n // down to pre-release. premajor and prepatch work the same way.\n inc (release, identifier) {\n switch (release) {\n case 'premajor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor = 0\n this.major++\n this.inc('pre', identifier)\n break\n case 'preminor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor++\n this.inc('pre', identifier)\n break\n case 'prepatch':\n // If this is already a prerelease, it will bump to the next version\n // drop any prereleases that might already exist, since they are not\n // relevant at this point.\n this.prerelease.length = 0\n this.inc('patch', identifier)\n this.inc('pre', identifier)\n break\n // If the input is a non-prerelease version, this acts the same as\n // prepatch.\n case 'prerelease':\n if (this.prerelease.length === 0) {\n this.inc('patch', identifier)\n }\n this.inc('pre', identifier)\n break\n\n case 'major':\n // If this is a pre-major version, bump up to the same major version.\n // Otherwise increment major.\n // 1.0.0-5 bumps to 1.0.0\n // 1.1.0 bumps to 2.0.0\n if (\n this.minor !== 0 ||\n this.patch !== 0 ||\n this.prerelease.length === 0\n ) {\n this.major++\n }\n this.minor = 0\n this.patch = 0\n this.prerelease = []\n break\n case 'minor':\n // If this is a pre-minor version, bump up to the same minor version.\n // Otherwise increment minor.\n // 1.2.0-5 bumps to 1.2.0\n // 1.2.1 bumps to 1.3.0\n if (this.patch !== 0 || this.prerelease.length === 0) {\n this.minor++\n }\n this.patch = 0\n this.prerelease = []\n break\n case 'patch':\n // If this is not a pre-release version, it will increment the patch.\n // If it is a pre-release it will bump up to the same patch version.\n // 1.2.0-5 patches to 1.2.0\n // 1.2.0 patches to 1.2.1\n if (this.prerelease.length === 0) {\n this.patch++\n }\n this.prerelease = []\n break\n // This probably shouldn't be used publicly.\n // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.\n case 'pre':\n if (this.prerelease.length === 0) {\n this.prerelease = [0]\n } else {\n let i = this.prerelease.length\n while (--i >= 0) {\n if (typeof this.prerelease[i] === 'number') {\n this.prerelease[i]++\n i = -2\n }\n }\n if (i === -1) {\n // didn't increment anything\n this.prerelease.push(0)\n }\n }\n if (identifier) {\n // 1.2.0-beta.1 bumps to 1.2.0-beta.2,\n // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0\n if (this.prerelease[0] === identifier) {\n if (isNaN(this.prerelease[1])) {\n this.prerelease = [identifier, 0]\n }\n } else {\n this.prerelease = [identifier, 0]\n }\n }\n break\n\n default:\n throw new Error(`invalid increment argument: ${release}`)\n }\n this.format()\n this.raw = this.version\n return this\n }\n}\n\nmodule.exports = SemVer\n","const SemVer = require('../classes/semver')\nconst major = (a, loose) => new SemVer(a, loose).major\nmodule.exports = major\n","const {MAX_LENGTH} = require('../internal/constants')\nconst { re, t } = require('../internal/re')\nconst SemVer = require('../classes/semver')\n\nconst parseOptions = require('../internal/parse-options')\nconst parse = (version, options) => {\n options = parseOptions(options)\n\n if (version instanceof SemVer) {\n return version\n }\n\n if (typeof version !== 'string') {\n return null\n }\n\n if (version.length > MAX_LENGTH) {\n return null\n }\n\n const r = options.loose ? re[t.LOOSE] : re[t.FULL]\n if (!r.test(version)) {\n return null\n }\n\n try {\n return new SemVer(version, options)\n } catch (er) {\n return null\n }\n}\n\nmodule.exports = parse\n","const parse = require('./parse')\nconst valid = (version, options) => {\n const v = parse(version, options)\n return v ? v.version : null\n}\nmodule.exports = valid\n","// Note: this is the semver.org version of the spec that it implements\n// Not necessarily the package version of this code.\nconst SEMVER_SPEC_VERSION = '2.0.0'\n\nconst MAX_LENGTH = 256\nconst MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER ||\n /* istanbul ignore next */ 9007199254740991\n\n// Max safe segment length for coercion.\nconst MAX_SAFE_COMPONENT_LENGTH = 16\n\nmodule.exports = {\n SEMVER_SPEC_VERSION,\n MAX_LENGTH,\n MAX_SAFE_INTEGER,\n MAX_SAFE_COMPONENT_LENGTH\n}\n","const debug = (\n typeof process === 'object' &&\n process.env &&\n process.env.NODE_DEBUG &&\n /\\bsemver\\b/i.test(process.env.NODE_DEBUG)\n) ? (...args) => console.error('SEMVER', ...args)\n : () => {}\n\nmodule.exports = debug\n","const numeric = /^[0-9]+$/\nconst compareIdentifiers = (a, b) => {\n const anum = numeric.test(a)\n const bnum = numeric.test(b)\n\n if (anum && bnum) {\n a = +a\n b = +b\n }\n\n return a === b ? 0\n : (anum && !bnum) ? -1\n : (bnum && !anum) ? 1\n : a < b ? -1\n : 1\n}\n\nconst rcompareIdentifiers = (a, b) => compareIdentifiers(b, a)\n\nmodule.exports = {\n compareIdentifiers,\n rcompareIdentifiers\n}\n","// parse out just the options we care about so we always get a consistent\n// obj with keys in a consistent order.\nconst opts = ['includePrerelease', 'loose', 'rtl']\nconst parseOptions = options =>\n !options ? {}\n : typeof options !== 'object' ? { loose: true }\n : opts.filter(k => options[k]).reduce((options, k) => {\n options[k] = true\n return options\n }, {})\nmodule.exports = parseOptions\n","const { MAX_SAFE_COMPONENT_LENGTH } = require('./constants')\nconst debug = require('./debug')\nexports = module.exports = {}\n\n// The actual regexps go on exports.re\nconst re = exports.re = []\nconst src = exports.src = []\nconst t = exports.t = {}\nlet R = 0\n\nconst createToken = (name, value, isGlobal) => {\n const index = R++\n debug(index, value)\n t[name] = index\n src[index] = value\n re[index] = new RegExp(value, isGlobal ? 'g' : undefined)\n}\n\n// The following Regular Expressions can be used for tokenizing,\n// validating, and parsing SemVer version strings.\n\n// ## Numeric Identifier\n// A single `0`, or a non-zero digit followed by zero or more digits.\n\ncreateToken('NUMERICIDENTIFIER', '0|[1-9]\\\\d*')\ncreateToken('NUMERICIDENTIFIERLOOSE', '[0-9]+')\n\n// ## Non-numeric Identifier\n// Zero or more digits, followed by a letter or hyphen, and then zero or\n// more letters, digits, or hyphens.\n\ncreateToken('NONNUMERICIDENTIFIER', '\\\\d*[a-zA-Z-][a-zA-Z0-9-]*')\n\n// ## Main Version\n// Three dot-separated numeric identifiers.\n\ncreateToken('MAINVERSION', `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})`)\n\ncreateToken('MAINVERSIONLOOSE', `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})`)\n\n// ## Pre-release Version Identifier\n// A numeric identifier, or a non-numeric identifier.\n\ncreateToken('PRERELEASEIDENTIFIER', `(?:${src[t.NUMERICIDENTIFIER]\n}|${src[t.NONNUMERICIDENTIFIER]})`)\n\ncreateToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NUMERICIDENTIFIERLOOSE]\n}|${src[t.NONNUMERICIDENTIFIER]})`)\n\n// ## Pre-release Version\n// Hyphen, followed by one or more dot-separated pre-release version\n// identifiers.\n\ncreateToken('PRERELEASE', `(?:-(${src[t.PRERELEASEIDENTIFIER]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIER]})*))`)\n\ncreateToken('PRERELEASELOOSE', `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`)\n\n// ## Build Metadata Identifier\n// Any combination of digits, letters, or hyphens.\n\ncreateToken('BUILDIDENTIFIER', '[0-9A-Za-z-]+')\n\n// ## Build Metadata\n// Plus sign, followed by one or more period-separated build metadata\n// identifiers.\n\ncreateToken('BUILD', `(?:\\\\+(${src[t.BUILDIDENTIFIER]\n}(?:\\\\.${src[t.BUILDIDENTIFIER]})*))`)\n\n// ## Full Version String\n// A main version, followed optionally by a pre-release version and\n// build metadata.\n\n// Note that the only major, minor, patch, and pre-release sections of\n// the version string are capturing groups. The build metadata is not a\n// capturing group, because it should not ever be used in version\n// comparison.\n\ncreateToken('FULLPLAIN', `v?${src[t.MAINVERSION]\n}${src[t.PRERELEASE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('FULL', `^${src[t.FULLPLAIN]}$`)\n\n// like full, but allows v1.2.3 and =1.2.3, which people do sometimes.\n// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty\n// common in the npm registry.\ncreateToken('LOOSEPLAIN', `[v=\\\\s]*${src[t.MAINVERSIONLOOSE]\n}${src[t.PRERELEASELOOSE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('LOOSE', `^${src[t.LOOSEPLAIN]}$`)\n\ncreateToken('GTLT', '((?:<|>)?=?)')\n\n// Something like \"2.*\" or \"1.2.x\".\n// Note that \"x.x\" is a valid xRange identifer, meaning \"any version\"\n// Only the first item is strictly required.\ncreateToken('XRANGEIDENTIFIERLOOSE', `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\\\*`)\ncreateToken('XRANGEIDENTIFIER', `${src[t.NUMERICIDENTIFIER]}|x|X|\\\\*`)\n\ncreateToken('XRANGEPLAIN', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:${src[t.PRERELEASE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGEPLAINLOOSE', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:${src[t.PRERELEASELOOSE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAIN]}$`)\ncreateToken('XRANGELOOSE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Coercion.\n// Extract anything that could conceivably be a part of a valid semver\ncreateToken('COERCE', `${'(^|[^\\\\d])' +\n '(\\\\d{1,'}${MAX_SAFE_COMPONENT_LENGTH}})` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +\n `(?:$|[^\\\\d])`)\ncreateToken('COERCERTL', src[t.COERCE], true)\n\n// Tilde ranges.\n// Meaning is \"reasonably at or greater than\"\ncreateToken('LONETILDE', '(?:~>?)')\n\ncreateToken('TILDETRIM', `(\\\\s*)${src[t.LONETILDE]}\\\\s+`, true)\nexports.tildeTrimReplace = '$1~'\n\ncreateToken('TILDE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('TILDELOOSE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Caret ranges.\n// Meaning is \"at least and backwards compatible with\"\ncreateToken('LONECARET', '(?:\\\\^)')\n\ncreateToken('CARETTRIM', `(\\\\s*)${src[t.LONECARET]}\\\\s+`, true)\nexports.caretTrimReplace = '$1^'\n\ncreateToken('CARET', `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('CARETLOOSE', `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// A simple gt/lt/eq thing, or just \"\" to indicate \"any version\"\ncreateToken('COMPARATORLOOSE', `^${src[t.GTLT]}\\\\s*(${src[t.LOOSEPLAIN]})$|^$`)\ncreateToken('COMPARATOR', `^${src[t.GTLT]}\\\\s*(${src[t.FULLPLAIN]})$|^$`)\n\n// An expression to strip any whitespace between the gtlt and the thing\n// it modifies, so that `> 1.2.3` ==> `>1.2.3`\ncreateToken('COMPARATORTRIM', `(\\\\s*)${src[t.GTLT]\n}\\\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true)\nexports.comparatorTrimReplace = '$1$2$3'\n\n// Something like `1.2.3 - 1.2.4`\n// Note that these all use the loose form, because they'll be\n// checked against either the strict or loose comparator form\n// later.\ncreateToken('HYPHENRANGE', `^\\\\s*(${src[t.XRANGEPLAIN]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAIN]})` +\n `\\\\s*$`)\n\ncreateToken('HYPHENRANGELOOSE', `^\\\\s*(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s*$`)\n\n// Star ranges basically just allow anything at all.\ncreateToken('STAR', '(<|>)?=?\\\\s*\\\\*')\n// >=0.0.0 is like a star\ncreateToken('GTE0', '^\\\\s*>=\\\\s*0\\.0\\.0\\\\s*$')\ncreateToken('GTE0PRE', '^\\\\s*>=\\\\s*0\\.0\\.0-0\\\\s*$')\n","\"use strict\";\n\nvar stylesInDOM = [];\n\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n\n for (var i = 0; i < stylesInDOM.length; i++) {\n if (stylesInDOM[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n\n return result;\n}\n\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var indexByIdentifier = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3],\n supports: item[4],\n layer: item[5]\n };\n\n if (indexByIdentifier !== -1) {\n stylesInDOM[indexByIdentifier].references++;\n stylesInDOM[indexByIdentifier].updater(obj);\n } else {\n var updater = addElementStyle(obj, options);\n options.byIndex = i;\n stylesInDOM.splice(i, 0, {\n identifier: identifier,\n updater: updater,\n references: 1\n });\n }\n\n identifiers.push(identifier);\n }\n\n return identifiers;\n}\n\nfunction addElementStyle(obj, options) {\n var api = options.domAPI(options);\n api.update(obj);\n\n var updater = function updater(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {\n return;\n }\n\n api.update(obj = newObj);\n } else {\n api.remove();\n }\n };\n\n return updater;\n}\n\nmodule.exports = function (list, options) {\n options = options || {};\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDOM[index].references--;\n }\n\n var newLastIdentifiers = modulesToDom(newList, options);\n\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n\n var _index = getIndexByIdentifier(_identifier);\n\n if (stylesInDOM[_index].references === 0) {\n stylesInDOM[_index].updater();\n\n stylesInDOM.splice(_index, 1);\n }\n }\n\n lastIdentifiers = newLastIdentifiers;\n };\n};","\"use strict\";\n\nvar memo = {};\n/* istanbul ignore next */\n\nfunction getTarget(target) {\n if (typeof memo[target] === \"undefined\") {\n var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself\n\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n\n memo[target] = styleTarget;\n }\n\n return memo[target];\n}\n/* istanbul ignore next */\n\n\nfunction insertBySelector(insert, style) {\n var target = getTarget(insert);\n\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n\n target.appendChild(style);\n}\n\nmodule.exports = insertBySelector;","\"use strict\";\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var element = document.createElement(\"style\");\n options.setAttributes(element, options.attributes);\n options.insert(element, options.options);\n return element;\n}\n\nmodule.exports = insertStyleElement;","\"use strict\";\n\n/* istanbul ignore next */\nfunction setAttributesWithoutAttributes(styleElement) {\n var nonce = typeof __webpack_nonce__ !== \"undefined\" ? __webpack_nonce__ : null;\n\n if (nonce) {\n styleElement.setAttribute(\"nonce\", nonce);\n }\n}\n\nmodule.exports = setAttributesWithoutAttributes;","\"use strict\";\n\n/* istanbul ignore next */\nfunction apply(styleElement, options, obj) {\n var css = \"\";\n\n if (obj.supports) {\n css += \"@supports (\".concat(obj.supports, \") {\");\n }\n\n if (obj.media) {\n css += \"@media \".concat(obj.media, \" {\");\n }\n\n var needLayer = typeof obj.layer !== \"undefined\";\n\n if (needLayer) {\n css += \"@layer\".concat(obj.layer.length > 0 ? \" \".concat(obj.layer) : \"\", \" {\");\n }\n\n css += obj.css;\n\n if (needLayer) {\n css += \"}\";\n }\n\n if (obj.media) {\n css += \"}\";\n }\n\n if (obj.supports) {\n css += \"}\";\n }\n\n var sourceMap = obj.sourceMap;\n\n if (sourceMap && typeof btoa !== \"undefined\") {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n } // For old IE\n\n /* istanbul ignore if */\n\n\n options.styleTagTransform(css, styleElement, options.options);\n}\n\nfunction removeStyleElement(styleElement) {\n // istanbul ignore if\n if (styleElement.parentNode === null) {\n return false;\n }\n\n styleElement.parentNode.removeChild(styleElement);\n}\n/* istanbul ignore next */\n\n\nfunction domAPI(options) {\n var styleElement = options.insertStyleElement(options);\n return {\n update: function update(obj) {\n apply(styleElement, options, obj);\n },\n remove: function remove() {\n removeStyleElement(styleElement);\n }\n };\n}\n\nmodule.exports = domAPI;","\"use strict\";\n\n/* istanbul ignore next */\nfunction styleTagTransform(css, styleElement) {\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css;\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild);\n }\n\n styleElement.appendChild(document.createTextNode(css));\n }\n}\n\nmodule.exports = styleTagTransform;","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.16.1\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n\nvar timeoutDuration = function () {\n var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}();\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var window = element.ownerDocument.defaultView;\n var css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\n/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nfunction getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nfunction isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width']) + parseFloat(styles['border' + sideB + 'Width']);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0);\n}\n\nfunction getWindowSizes(document) {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {}\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n var width = sizes.width || element.clientWidth || result.width;\n var height = sizes.height || element.clientHeight || result.height;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop);\n var marginLeft = parseFloat(styles.marginLeft);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n var parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(popper.ownerDocument),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n var isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0;\n boundaries.top += isPaddingNumber ? padding : padding.top || 0;\n boundaries.right -= isPaddingNumber ? padding : padding.right || 0;\n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var window = element.ownerDocument.defaultView;\n var styles = window.getComputedStyle(element);\n var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.<br />\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicitly asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nfunction getRoundedOffsets(data, shouldRound) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n var round = Math.round,\n floor = Math.floor;\n\n var noRound = function noRound(v) {\n return v;\n };\n\n var referenceWidth = round(reference.width);\n var popperWidth = round(popper.width);\n\n var isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n var isVariation = data.placement.indexOf('-') !== -1;\n var sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor;\n var verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right)\n };\n}\n\nvar isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox);\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n // when offsetParent is <html> the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.<br />\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized]);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width']);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.<br />\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.<br />\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n var flippedVariationByRef = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n // flips variation if popper content overflows boundaries\n var flippedVariationByContent = !!options.flipVariationsByContent && (isVertical && variation === 'start' && overflowsRight || isVertical && variation === 'end' && overflowsLeft || !isVertical && variation === 'start' && overflowsBottom || !isVertical && variation === 'end' && overflowsTop);\n\n var flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.<br />\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.<br />\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.<br />\n * It will read the variation of the `placement` property.<br />\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.<br />\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.<br />\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.<br />\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.<br />\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".<br />\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.<br />\n * These can be overridden using the `options` argument of Popper.js.<br />\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.<br />\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n","function getInternetExplorerVersion() {\n var ua = window.navigator.userAgent;\n var msie = ua.indexOf('MSIE ');\n\n if (msie > 0) {\n // IE 10 or older => return version number\n return parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);\n }\n\n var trident = ua.indexOf('Trident/');\n\n if (trident > 0) {\n // IE 11 => return version number\n var rv = ua.indexOf('rv:');\n return parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);\n }\n\n var edge = ua.indexOf('Edge/');\n\n if (edge > 0) {\n // Edge (IE 12+) => return version number\n return parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);\n } // other browser\n\n\n return -1;\n}\n\n//\nvar isIE;\n\nfunction initCompat() {\n if (!initCompat.init) {\n initCompat.init = true;\n isIE = getInternetExplorerVersion() !== -1;\n }\n}\n\nvar script = {\n name: 'ResizeObserver',\n props: {\n emitOnMount: {\n type: Boolean,\n default: false\n },\n ignoreWidth: {\n type: Boolean,\n default: false\n },\n ignoreHeight: {\n type: Boolean,\n default: false\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n initCompat();\n this.$nextTick(function () {\n _this._w = _this.$el.offsetWidth;\n _this._h = _this.$el.offsetHeight;\n\n if (_this.emitOnMount) {\n _this.emitSize();\n }\n });\n var object = document.createElement('object');\n this._resizeObject = object;\n object.setAttribute('aria-hidden', 'true');\n object.setAttribute('tabindex', -1);\n object.onload = this.addResizeHandlers;\n object.type = 'text/html';\n\n if (isIE) {\n this.$el.appendChild(object);\n }\n\n object.data = 'about:blank';\n\n if (!isIE) {\n this.$el.appendChild(object);\n }\n },\n beforeDestroy: function beforeDestroy() {\n this.removeResizeHandlers();\n },\n methods: {\n compareAndNotify: function compareAndNotify() {\n if (!this.ignoreWidth && this._w !== this.$el.offsetWidth || !this.ignoreHeight && this._h !== this.$el.offsetHeight) {\n this._w = this.$el.offsetWidth;\n this._h = this.$el.offsetHeight;\n this.emitSize();\n }\n },\n emitSize: function emitSize() {\n this.$emit('notify', {\n width: this._w,\n height: this._h\n });\n },\n addResizeHandlers: function addResizeHandlers() {\n this._resizeObject.contentDocument.defaultView.addEventListener('resize', this.compareAndNotify);\n\n this.compareAndNotify();\n },\n removeResizeHandlers: function removeResizeHandlers() {\n if (this._resizeObject && this._resizeObject.onload) {\n if (!isIE && this._resizeObject.contentDocument) {\n this._resizeObject.contentDocument.defaultView.removeEventListener('resize', this.compareAndNotify);\n }\n\n this.$el.removeChild(this._resizeObject);\n this._resizeObject.onload = null;\n this._resizeObject = null;\n }\n }\n }\n};\n\nfunction normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier\n/* server only */\n, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\n if (typeof shadowMode !== 'boolean') {\n createInjectorSSR = createInjector;\n createInjector = shadowMode;\n shadowMode = false;\n } // Vue.extend constructor export interop.\n\n\n var options = typeof script === 'function' ? script.options : script; // render functions\n\n if (template && template.render) {\n options.render = template.render;\n options.staticRenderFns = template.staticRenderFns;\n options._compiled = true; // functional template\n\n if (isFunctionalTemplate) {\n options.functional = true;\n }\n } // scopedId\n\n\n if (scopeId) {\n options._scopeId = scopeId;\n }\n\n var hook;\n\n if (moduleIdentifier) {\n // server build\n hook = function hook(context) {\n // 2.3 injection\n context = context || // cached call\n this.$vnode && this.$vnode.ssrContext || // stateful\n this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext; // functional\n // 2.2 with runInNewContext: true\n\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__;\n } // inject component styles\n\n\n if (style) {\n style.call(this, createInjectorSSR(context));\n } // register component module identifier for async chunk inference\n\n\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier);\n }\n }; // used by ssr in case component is cached and beforeCreate\n // never gets called\n\n\n options._ssrRegister = hook;\n } else if (style) {\n hook = shadowMode ? function (context) {\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\n } : function (context) {\n style.call(this, createInjector(context));\n };\n }\n\n if (hook) {\n if (options.functional) {\n // register for functional component in vue file\n var originalRender = options.render;\n\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context);\n return originalRender(h, context);\n };\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate;\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\n }\n }\n\n return script;\n}\n\n/* script */\nvar __vue_script__ = script;\n/* template */\n\nvar __vue_render__ = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c(\"div\", {\n staticClass: \"resize-observer\",\n attrs: {\n tabindex: \"-1\"\n }\n });\n};\n\nvar __vue_staticRenderFns__ = [];\n__vue_render__._withStripped = true;\n/* style */\n\nvar __vue_inject_styles__ = undefined;\n/* scoped */\n\nvar __vue_scope_id__ = \"data-v-8859cc6c\";\n/* module identifier */\n\nvar __vue_module_identifier__ = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__ = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__ = /*#__PURE__*/normalizeComponent({\n render: __vue_render__,\n staticRenderFns: __vue_staticRenderFns__\n}, __vue_inject_styles__, __vue_script__, __vue_scope_id__, __vue_is_functional_template__, __vue_module_identifier__, false, undefined, undefined, undefined);\n\nfunction install(Vue) {\n // eslint-disable-next-line vue/component-definition-name-casing\n Vue.component('resize-observer', __vue_component__);\n Vue.component('ResizeObserver', __vue_component__);\n}\n\nvar plugin = {\n // eslint-disable-next-line no-undef\n version: \"1.0.1\",\n install: install\n};\n\nvar GlobalVue = null;\n\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue;\n}\n\nif (GlobalVue) {\n GlobalVue.use(plugin);\n}\n\nexport default plugin;\nexport { __vue_component__ as ResizeObserver, install };\n//# sourceMappingURL=vue-resize.esm.js.map\n","import _typeof from '@babel/runtime/helpers/typeof';\nimport _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _classCallCheck from '@babel/runtime/helpers/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/createClass';\nimport Popper from 'popper.js';\nimport isEqual from 'lodash/isEqual';\nimport { ResizeObserver } from 'vue-resize';\nimport merge from 'lodash/merge';\n\nvar SVGAnimatedString = function SVGAnimatedString() {};\n\nif (typeof window !== 'undefined') {\n SVGAnimatedString = window.SVGAnimatedString;\n}\n\nfunction convertToArray(value) {\n if (typeof value === 'string') {\n value = value.split(' ');\n }\n\n return value;\n}\n/**\n * Add classes to an element.\n * This method checks to ensure that the classes don't already exist before adding them.\n * It uses el.className rather than classList in order to be IE friendly.\n * @param {object} el - The element to add the classes to.\n * @param {classes} string - List of space separated classes to be added to the element.\n */\n\nfunction addClasses(el, classes) {\n var newClasses = convertToArray(classes);\n var classList;\n\n if (el.className instanceof SVGAnimatedString) {\n classList = convertToArray(el.className.baseVal);\n } else {\n classList = convertToArray(el.className);\n }\n\n newClasses.forEach(function (newClass) {\n if (classList.indexOf(newClass) === -1) {\n classList.push(newClass);\n }\n });\n\n if (el instanceof SVGElement) {\n el.setAttribute('class', classList.join(' '));\n } else {\n el.className = classList.join(' ');\n }\n}\n/**\n * Remove classes from an element.\n * It uses el.className rather than classList in order to be IE friendly.\n * @export\n * @param {any} el The element to remove the classes from.\n * @param {any} classes List of space separated classes to be removed from the element.\n */\n\nfunction removeClasses(el, classes) {\n var newClasses = convertToArray(classes);\n var classList;\n\n if (el.className instanceof SVGAnimatedString) {\n classList = convertToArray(el.className.baseVal);\n } else {\n classList = convertToArray(el.className);\n }\n\n newClasses.forEach(function (newClass) {\n var index = classList.indexOf(newClass);\n\n if (index !== -1) {\n classList.splice(index, 1);\n }\n });\n\n if (el instanceof SVGElement) {\n el.setAttribute('class', classList.join(' '));\n } else {\n el.className = classList.join(' ');\n }\n}\nvar supportsPassive = false;\n\nif (typeof window !== 'undefined') {\n supportsPassive = false;\n\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get: function get() {\n supportsPassive = true;\n }\n });\n window.addEventListener('test', null, opts);\n } catch (e) {}\n}\n\nfunction ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$2(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\nvar DEFAULT_OPTIONS = {\n container: false,\n delay: 0,\n html: false,\n placement: 'top',\n title: '',\n template: '<div class=\"tooltip\" role=\"tooltip\"><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>',\n trigger: 'hover focus',\n offset: 0\n};\nvar openTooltips = [];\n\nvar Tooltip = /*#__PURE__*/function () {\n /**\n * Create a new Tooltip.js instance\n * @class Tooltip\n * @param {HTMLElement} reference - The DOM node used as reference of the tooltip (it can be a jQuery element).\n * @param {Object} options\n * @param {String} options.placement=bottom\n * Placement of the popper accepted values: `top(-start, -end), right(-start, -end), bottom(-start, -end),\n * left(-start, -end)`\n * @param {HTMLElement|String|false} options.container=false - Append the tooltip to a specific element.\n * @param {Number|Object} options.delay=0\n * Delay showing and hiding the tooltip (ms) - does not apply to manual trigger type.\n * If a number is supplied, delay is applied to both hide/show.\n * Object structure is: `{ show: 500, hide: 100 }`\n * @param {Boolean} options.html=false - Insert HTML into the tooltip. If false, the content will inserted with `innerText`.\n * @param {String|PlacementFunction} options.placement='top' - One of the allowed placements, or a function returning one of them.\n * @param {String} [options.template='<div class=\"tooltip\" role=\"tooltip\"><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>']\n * Base HTML to used when creating the tooltip.\n * The tooltip's `title` will be injected into the `.tooltip-inner` or `.tooltip__inner`.\n * `.tooltip-arrow` or `.tooltip__arrow` will become the tooltip's arrow.\n * The outermost wrapper element should have the `.tooltip` class.\n * @param {String|HTMLElement|TitleFunction} options.title='' - Default title value if `title` attribute isn't present.\n * @param {String} [options.trigger='hover focus']\n * How tooltip is triggered - click, hover, focus, manual.\n * You may pass multiple triggers; separate them with a space. `manual` cannot be combined with any other trigger.\n * @param {HTMLElement} options.boundariesElement\n * The element used as boundaries for the tooltip. For more information refer to Popper.js'\n * [boundariesElement docs](https://popper.js.org/popper-documentation.html)\n * @param {Number|String} options.offset=0 - Offset of the tooltip relative to its reference. For more information refer to Popper.js'\n * [offset docs](https://popper.js.org/popper-documentation.html)\n * @param {Object} options.popperOptions={} - Popper options, will be passed directly to popper instance. For more information refer to Popper.js'\n * [options docs](https://popper.js.org/popper-documentation.html)\n * @param {string} [options.ariaId] Id used for accessibility\n * @return {Object} instance - The generated tooltip instance\n */\n function Tooltip(_reference, _options) {\n var _this = this;\n\n _classCallCheck(this, Tooltip);\n\n _defineProperty(this, \"_events\", []);\n\n _defineProperty(this, \"_setTooltipNodeEvent\", function (evt, reference, delay, options) {\n var relatedreference = evt.relatedreference || evt.toElement || evt.relatedTarget;\n\n var callback = function callback(evt2) {\n var relatedreference2 = evt2.relatedreference || evt2.toElement || evt2.relatedTarget; // Remove event listener after call\n\n _this._tooltipNode.removeEventListener(evt.type, callback); // If the new reference is not the reference element\n\n\n if (!reference.contains(relatedreference2)) {\n // Schedule to hide tooltip\n _this._scheduleHide(reference, options.delay, options, evt2);\n }\n };\n\n if (_this._tooltipNode.contains(relatedreference)) {\n // listen to mouseleave on the tooltip element to be able to hide the tooltip\n _this._tooltipNode.addEventListener(evt.type, callback);\n\n return true;\n }\n\n return false;\n });\n\n // apply user options over default ones\n _options = _objectSpread$2(_objectSpread$2({}, DEFAULT_OPTIONS), _options);\n _reference.jquery && (_reference = _reference[0]);\n this.show = this.show.bind(this);\n this.hide = this.hide.bind(this); // cache reference and options\n\n this.reference = _reference;\n this.options = _options; // set initial state\n\n this._isOpen = false;\n\n this._init();\n } //\n // Public methods\n //\n\n /**\n * Reveals an element's tooltip. This is considered a \"manual\" triggering of the tooltip.\n * Tooltips with zero-length titles are never displayed.\n * @method Tooltip#show\n * @memberof Tooltip\n */\n\n\n _createClass(Tooltip, [{\n key: \"show\",\n value: function show() {\n this._show(this.reference, this.options);\n }\n /**\n * Hides an element’s tooltip. This is considered a “manual” triggering of the tooltip.\n * @method Tooltip#hide\n * @memberof Tooltip\n */\n\n }, {\n key: \"hide\",\n value: function hide() {\n this._hide();\n }\n /**\n * Hides and destroys an element’s tooltip.\n * @method Tooltip#dispose\n * @memberof Tooltip\n */\n\n }, {\n key: \"dispose\",\n value: function dispose() {\n this._dispose();\n }\n /**\n * Toggles an element’s tooltip. This is considered a “manual” triggering of the tooltip.\n * @method Tooltip#toggle\n * @memberof Tooltip\n */\n\n }, {\n key: \"toggle\",\n value: function toggle() {\n if (this._isOpen) {\n return this.hide();\n } else {\n return this.show();\n }\n }\n }, {\n key: \"setClasses\",\n value: function setClasses(classes) {\n this._classes = classes;\n }\n }, {\n key: \"setContent\",\n value: function setContent(content) {\n this.options.title = content;\n\n if (this._tooltipNode) {\n this._setContent(content, this.options);\n }\n }\n }, {\n key: \"setOptions\",\n value: function setOptions(options) {\n var classesUpdated = false;\n var classes = options && options.classes || directive.options.defaultClass;\n\n if (!isEqual(this._classes, classes)) {\n this.setClasses(classes);\n classesUpdated = true;\n }\n\n options = getOptions(options);\n var needPopperUpdate = false;\n var needRestart = false;\n\n if (this.options.offset !== options.offset || this.options.placement !== options.placement) {\n needPopperUpdate = true;\n }\n\n if (this.options.template !== options.template || this.options.trigger !== options.trigger || this.options.container !== options.container || classesUpdated) {\n needRestart = true;\n }\n\n for (var key in options) {\n this.options[key] = options[key];\n }\n\n if (this._tooltipNode) {\n if (needRestart) {\n var isOpen = this._isOpen;\n this.dispose();\n\n this._init();\n\n if (isOpen) {\n this.show();\n }\n } else if (needPopperUpdate) {\n this.popperInstance.update();\n }\n }\n } //\n // Private methods\n //\n\n }, {\n key: \"_init\",\n value: function _init() {\n // get events list\n var events = typeof this.options.trigger === 'string' ? this.options.trigger.split(' ') : [];\n this._isDisposed = false;\n this._enableDocumentTouch = events.indexOf('manual') === -1;\n events = events.filter(function (trigger) {\n return ['click', 'hover', 'focus'].indexOf(trigger) !== -1;\n }); // set event listeners\n\n this._setEventListeners(this.reference, events, this.options); // title attribute\n\n\n this.$_originalTitle = this.reference.getAttribute('title');\n this.reference.removeAttribute('title');\n this.reference.setAttribute('data-original-title', this.$_originalTitle);\n }\n /**\n * Creates a new tooltip node\n * @memberof Tooltip\n * @private\n * @param {HTMLElement} reference\n * @param {String} template\n * @param {String|HTMLElement|TitleFunction} title\n * @param {Boolean} allowHtml\n * @return {HTMLelement} tooltipNode\n */\n\n }, {\n key: \"_create\",\n value: function _create(reference, template) {\n var _this2 = this;\n\n // create tooltip element\n var tooltipGenerator = window.document.createElement('div');\n tooltipGenerator.innerHTML = template.trim();\n var tooltipNode = tooltipGenerator.childNodes[0]; // add unique ID to our tooltip (needed for accessibility reasons)\n\n tooltipNode.id = this.options.ariaId || \"tooltip_\".concat(Math.random().toString(36).substr(2, 10)); // Initially hide the tooltip\n // The attribute will be switched in a next frame so\n // CSS transitions can play\n\n tooltipNode.setAttribute('aria-hidden', 'true');\n\n if (this.options.autoHide && this.options.trigger.indexOf('hover') !== -1) {\n tooltipNode.addEventListener('mouseenter', function (evt) {\n return _this2._scheduleHide(reference, _this2.options.delay, _this2.options, evt);\n });\n tooltipNode.addEventListener('click', function (evt) {\n return _this2._scheduleHide(reference, _this2.options.delay, _this2.options, evt);\n });\n } // return the generated tooltip node\n\n\n return tooltipNode;\n }\n }, {\n key: \"_setContent\",\n value: function _setContent(content, options) {\n var _this3 = this;\n\n this.asyncContent = false;\n\n this._applyContent(content, options).then(function () {\n if (!_this3.popperInstance) return;\n\n _this3.popperInstance.update();\n });\n }\n }, {\n key: \"_applyContent\",\n value: function _applyContent(title, options) {\n var _this4 = this;\n\n return new Promise(function (resolve, reject) {\n var allowHtml = options.html;\n var rootNode = _this4._tooltipNode;\n if (!rootNode) return;\n var titleNode = rootNode.querySelector(_this4.options.innerSelector);\n\n if (title.nodeType === 1) {\n // if title is a node, append it only if allowHtml is true\n if (allowHtml) {\n while (titleNode.firstChild) {\n titleNode.removeChild(titleNode.firstChild);\n }\n\n titleNode.appendChild(title);\n }\n } else if (typeof title === 'function') {\n // if title is a function, call it and set innerText or innerHtml depending by `allowHtml` value\n var result = title();\n\n if (result && typeof result.then === 'function') {\n _this4.asyncContent = true;\n options.loadingClass && addClasses(rootNode, options.loadingClass);\n\n if (options.loadingContent) {\n _this4._applyContent(options.loadingContent, options);\n }\n\n result.then(function (asyncResult) {\n options.loadingClass && removeClasses(rootNode, options.loadingClass);\n return _this4._applyContent(asyncResult, options);\n }).then(resolve).catch(reject);\n } else {\n _this4._applyContent(result, options).then(resolve).catch(reject);\n }\n\n return;\n } else {\n // if it's just a simple text, set innerText or innerHtml depending by `allowHtml` value\n allowHtml ? titleNode.innerHTML = title : titleNode.innerText = title;\n }\n\n resolve();\n });\n }\n }, {\n key: \"_show\",\n value: function _show(reference, options) {\n if (options && typeof options.container === 'string') {\n var container = document.querySelector(options.container);\n if (!container) return;\n }\n\n clearTimeout(this._disposeTimer);\n options = Object.assign({}, options);\n delete options.offset;\n var updateClasses = true;\n\n if (this._tooltipNode) {\n addClasses(this._tooltipNode, this._classes);\n updateClasses = false;\n }\n\n var result = this._ensureShown(reference, options);\n\n if (updateClasses && this._tooltipNode) {\n addClasses(this._tooltipNode, this._classes);\n }\n\n addClasses(reference, ['v-tooltip-open']);\n return result;\n }\n }, {\n key: \"_ensureShown\",\n value: function _ensureShown(reference, options) {\n var _this5 = this;\n\n // don't show if it's already visible\n if (this._isOpen) {\n return this;\n }\n\n this._isOpen = true;\n openTooltips.push(this); // if the tooltipNode already exists, just show it\n\n if (this._tooltipNode) {\n this._tooltipNode.style.display = '';\n\n this._tooltipNode.setAttribute('aria-hidden', 'false');\n\n this.popperInstance.enableEventListeners();\n this.popperInstance.update();\n\n if (this.asyncContent) {\n this._setContent(options.title, options);\n }\n\n return this;\n } // get title\n\n\n var title = reference.getAttribute('title') || options.title; // don't show tooltip if no title is defined\n\n if (!title) {\n return this;\n } // create tooltip node\n\n\n var tooltipNode = this._create(reference, options.template);\n\n this._tooltipNode = tooltipNode; // Add `aria-describedby` to our reference element for accessibility reasons\n\n reference.setAttribute('aria-describedby', tooltipNode.id); // append tooltip to container\n\n var container = this._findContainer(options.container, reference);\n\n this._append(tooltipNode, container);\n\n var popperOptions = _objectSpread$2(_objectSpread$2({}, options.popperOptions), {}, {\n placement: options.placement\n });\n\n popperOptions.modifiers = _objectSpread$2(_objectSpread$2({}, popperOptions.modifiers), {}, {\n arrow: {\n element: this.options.arrowSelector\n }\n });\n\n if (options.boundariesElement) {\n popperOptions.modifiers.preventOverflow = {\n boundariesElement: options.boundariesElement\n };\n }\n\n this.popperInstance = new Popper(reference, tooltipNode, popperOptions);\n\n this._setContent(title, options); // Fix position\n\n\n requestAnimationFrame(function () {\n if (!_this5._isDisposed && _this5.popperInstance) {\n _this5.popperInstance.update(); // Show the tooltip\n\n\n requestAnimationFrame(function () {\n if (!_this5._isDisposed) {\n _this5._isOpen && tooltipNode.setAttribute('aria-hidden', 'false');\n } else {\n _this5.dispose();\n }\n });\n } else {\n _this5.dispose();\n }\n });\n return this;\n }\n }, {\n key: \"_noLongerOpen\",\n value: function _noLongerOpen() {\n var index = openTooltips.indexOf(this);\n\n if (index !== -1) {\n openTooltips.splice(index, 1);\n }\n }\n }, {\n key: \"_hide\",\n value: function _hide()\n /* reference, options */\n {\n var _this6 = this;\n\n // don't hide if it's already hidden\n if (!this._isOpen) {\n return this;\n }\n\n this._isOpen = false;\n\n this._noLongerOpen(); // hide tooltipNode\n\n\n this._tooltipNode.style.display = 'none';\n\n this._tooltipNode.setAttribute('aria-hidden', 'true');\n\n if (this.popperInstance) {\n this.popperInstance.disableEventListeners();\n }\n\n clearTimeout(this._disposeTimer);\n var disposeTime = directive.options.disposeTimeout;\n\n if (disposeTime !== null) {\n this._disposeTimer = setTimeout(function () {\n if (_this6._tooltipNode) {\n _this6._tooltipNode.removeEventListener('mouseenter', _this6.hide);\n\n _this6._tooltipNode.removeEventListener('click', _this6.hide); // Don't remove popper instance, just the HTML element\n\n\n _this6._removeTooltipNode();\n }\n }, disposeTime);\n }\n\n removeClasses(this.reference, ['v-tooltip-open']);\n return this;\n }\n }, {\n key: \"_removeTooltipNode\",\n value: function _removeTooltipNode() {\n if (!this._tooltipNode) return;\n var parentNode = this._tooltipNode.parentNode;\n\n if (parentNode) {\n parentNode.removeChild(this._tooltipNode);\n this.reference.removeAttribute('aria-describedby');\n }\n\n this._tooltipNode = null;\n }\n }, {\n key: \"_dispose\",\n value: function _dispose() {\n var _this7 = this;\n\n this._isDisposed = true;\n this.reference.removeAttribute('data-original-title');\n\n if (this.$_originalTitle) {\n this.reference.setAttribute('title', this.$_originalTitle);\n } // remove event listeners first to prevent any unexpected behaviour\n\n\n this._events.forEach(function (_ref) {\n var func = _ref.func,\n event = _ref.event;\n\n _this7.reference.removeEventListener(event, func);\n });\n\n this._events = [];\n\n if (this._tooltipNode) {\n this._hide();\n\n this._tooltipNode.removeEventListener('mouseenter', this.hide);\n\n this._tooltipNode.removeEventListener('click', this.hide); // destroy instance\n\n\n this.popperInstance.destroy(); // destroy tooltipNode if removeOnDestroy is not set, as popperInstance.destroy() already removes the element\n\n if (!this.popperInstance.options.removeOnDestroy) {\n this._removeTooltipNode();\n }\n } else {\n this._noLongerOpen();\n }\n\n return this;\n }\n }, {\n key: \"_findContainer\",\n value: function _findContainer(container, reference) {\n // if container is a query, get the relative element\n if (typeof container === 'string') {\n container = window.document.querySelector(container);\n } else if (container === false) {\n // if container is `false`, set it to reference parent\n container = reference.parentNode;\n }\n\n return container;\n }\n /**\n * Append tooltip to container\n * @memberof Tooltip\n * @private\n * @param {HTMLElement} tooltip\n * @param {HTMLElement|String|false} container\n */\n\n }, {\n key: \"_append\",\n value: function _append(tooltipNode, container) {\n container.appendChild(tooltipNode);\n }\n }, {\n key: \"_setEventListeners\",\n value: function _setEventListeners(reference, events, options) {\n var _this8 = this;\n\n var directEvents = [];\n var oppositeEvents = [];\n events.forEach(function (event) {\n switch (event) {\n case 'hover':\n directEvents.push('mouseenter');\n oppositeEvents.push('mouseleave');\n if (_this8.options.hideOnTargetClick) oppositeEvents.push('click');\n break;\n\n case 'focus':\n directEvents.push('focus');\n oppositeEvents.push('blur');\n if (_this8.options.hideOnTargetClick) oppositeEvents.push('click');\n break;\n\n case 'click':\n directEvents.push('click');\n oppositeEvents.push('click');\n break;\n }\n }); // schedule show tooltip\n\n directEvents.forEach(function (event) {\n var func = function func(evt) {\n if (_this8._isOpen === true) {\n return;\n }\n\n evt.usedByTooltip = true;\n\n _this8._scheduleShow(reference, options.delay, options, evt);\n };\n\n _this8._events.push({\n event: event,\n func: func\n });\n\n reference.addEventListener(event, func);\n }); // schedule hide tooltip\n\n oppositeEvents.forEach(function (event) {\n var func = function func(evt) {\n if (evt.usedByTooltip === true) {\n return;\n }\n\n _this8._scheduleHide(reference, options.delay, options, evt);\n };\n\n _this8._events.push({\n event: event,\n func: func\n });\n\n reference.addEventListener(event, func);\n });\n }\n }, {\n key: \"_onDocumentTouch\",\n value: function _onDocumentTouch(event) {\n if (this._enableDocumentTouch) {\n this._scheduleHide(this.reference, this.options.delay, this.options, event);\n }\n }\n }, {\n key: \"_scheduleShow\",\n value: function _scheduleShow(reference, delay, options\n /*, evt */\n ) {\n var _this9 = this;\n\n // defaults to 0\n var computedDelay = delay && delay.show || delay || 0;\n clearTimeout(this._scheduleTimer);\n this._scheduleTimer = window.setTimeout(function () {\n return _this9._show(reference, options);\n }, computedDelay);\n }\n }, {\n key: \"_scheduleHide\",\n value: function _scheduleHide(reference, delay, options, evt) {\n var _this10 = this;\n\n // defaults to 0\n var computedDelay = delay && delay.hide || delay || 0;\n clearTimeout(this._scheduleTimer);\n this._scheduleTimer = window.setTimeout(function () {\n if (_this10._isOpen === false) {\n return;\n }\n\n if (!_this10._tooltipNode.ownerDocument.body.contains(_this10._tooltipNode)) {\n return;\n } // if we are hiding because of a mouseleave, we must check that the new\n // reference isn't the tooltip, because in this case we don't want to hide it\n\n\n if (evt.type === 'mouseleave') {\n var isSet = _this10._setTooltipNodeEvent(evt, reference, delay, options); // if we set the new event, don't hide the tooltip yet\n // the new event will take care to hide it if necessary\n\n\n if (isSet) {\n return;\n }\n }\n\n _this10._hide(reference, options);\n }, computedDelay);\n }\n }]);\n\n return Tooltip;\n}(); // Hide tooltips on touch devices\n\nif (typeof document !== 'undefined') {\n document.addEventListener('touchstart', function (event) {\n for (var i = 0; i < openTooltips.length; i++) {\n openTooltips[i]._onDocumentTouch(event);\n }\n }, supportsPassive ? {\n passive: true,\n capture: true\n } : true);\n}\n/**\n * Placement function, its context is the Tooltip instance.\n * @memberof Tooltip\n * @callback PlacementFunction\n * @param {HTMLElement} tooltip - tooltip DOM node.\n * @param {HTMLElement} reference - reference DOM node.\n * @return {String} placement - One of the allowed placement options.\n */\n\n/**\n * Title function, its context is the Tooltip instance.\n * @memberof Tooltip\n * @callback TitleFunction\n * @return {String} placement - The desired title.\n */\n\nfunction ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$1(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\nvar state = {\n enabled: true\n};\nvar positions = ['top', 'top-start', 'top-end', 'right', 'right-start', 'right-end', 'bottom', 'bottom-start', 'bottom-end', 'left', 'left-start', 'left-end'];\nvar defaultOptions = {\n // Default tooltip placement relative to target element\n defaultPlacement: 'top',\n // Default CSS classes applied to the tooltip element\n defaultClass: 'vue-tooltip-theme',\n // Default CSS classes applied to the target element of the tooltip\n defaultTargetClass: 'has-tooltip',\n // Is the content HTML by default?\n defaultHtml: true,\n // Default HTML template of the tooltip element\n // It must include `tooltip-arrow` & `tooltip-inner` CSS classes (can be configured, see below)\n // Change if the classes conflict with other libraries (for example bootstrap)\n defaultTemplate: '<div class=\"tooltip\" role=\"tooltip\"><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>',\n // Selector used to get the arrow element in the tooltip template\n defaultArrowSelector: '.tooltip-arrow, .tooltip__arrow',\n // Selector used to get the inner content element in the tooltip template\n defaultInnerSelector: '.tooltip-inner, .tooltip__inner',\n // Delay (ms)\n defaultDelay: 0,\n // Default events that trigger the tooltip\n defaultTrigger: 'hover focus',\n // Default position offset (px)\n defaultOffset: 0,\n // Default container where the tooltip will be appended\n defaultContainer: 'body',\n defaultBoundariesElement: undefined,\n defaultPopperOptions: {},\n // Class added when content is loading\n defaultLoadingClass: 'tooltip-loading',\n // Displayed when tooltip content is loading\n defaultLoadingContent: '...',\n // Hide on mouseover tooltip\n autoHide: true,\n // Close tooltip on click on tooltip target?\n defaultHideOnTargetClick: true,\n // Auto destroy tooltip DOM nodes (ms)\n disposeTimeout: 5000,\n // Options for popover\n popover: {\n defaultPlacement: 'bottom',\n // Use the `popoverClass` prop for theming\n defaultClass: 'vue-popover-theme',\n // Base class (change if conflicts with other libraries)\n defaultBaseClass: 'tooltip popover',\n // Wrapper class (contains arrow and inner)\n defaultWrapperClass: 'wrapper',\n // Inner content class\n defaultInnerClass: 'tooltip-inner popover-inner',\n // Arrow class\n defaultArrowClass: 'tooltip-arrow popover-arrow',\n // Class added when popover is open\n defaultOpenClass: 'open',\n defaultDelay: 0,\n defaultTrigger: 'click',\n defaultOffset: 0,\n defaultContainer: 'body',\n defaultBoundariesElement: undefined,\n defaultPopperOptions: {},\n // Hides if clicked outside of popover\n defaultAutoHide: true,\n // Update popper on content resize\n defaultHandleResize: true\n }\n};\nfunction getOptions(options) {\n var result = {\n placement: typeof options.placement !== 'undefined' ? options.placement : directive.options.defaultPlacement,\n delay: typeof options.delay !== 'undefined' ? options.delay : directive.options.defaultDelay,\n html: typeof options.html !== 'undefined' ? options.html : directive.options.defaultHtml,\n template: typeof options.template !== 'undefined' ? options.template : directive.options.defaultTemplate,\n arrowSelector: typeof options.arrowSelector !== 'undefined' ? options.arrowSelector : directive.options.defaultArrowSelector,\n innerSelector: typeof options.innerSelector !== 'undefined' ? options.innerSelector : directive.options.defaultInnerSelector,\n trigger: typeof options.trigger !== 'undefined' ? options.trigger : directive.options.defaultTrigger,\n offset: typeof options.offset !== 'undefined' ? options.offset : directive.options.defaultOffset,\n container: typeof options.container !== 'undefined' ? options.container : directive.options.defaultContainer,\n boundariesElement: typeof options.boundariesElement !== 'undefined' ? options.boundariesElement : directive.options.defaultBoundariesElement,\n autoHide: typeof options.autoHide !== 'undefined' ? options.autoHide : directive.options.autoHide,\n hideOnTargetClick: typeof options.hideOnTargetClick !== 'undefined' ? options.hideOnTargetClick : directive.options.defaultHideOnTargetClick,\n loadingClass: typeof options.loadingClass !== 'undefined' ? options.loadingClass : directive.options.defaultLoadingClass,\n loadingContent: typeof options.loadingContent !== 'undefined' ? options.loadingContent : directive.options.defaultLoadingContent,\n popperOptions: _objectSpread$1({}, typeof options.popperOptions !== 'undefined' ? options.popperOptions : directive.options.defaultPopperOptions)\n };\n\n if (result.offset) {\n var typeofOffset = _typeof(result.offset);\n\n var offset = result.offset; // One value -> switch\n\n if (typeofOffset === 'number' || typeofOffset === 'string' && offset.indexOf(',') === -1) {\n offset = \"0, \".concat(offset);\n }\n\n if (!result.popperOptions.modifiers) {\n result.popperOptions.modifiers = {};\n }\n\n result.popperOptions.modifiers.offset = {\n offset: offset\n };\n }\n\n if (result.trigger && result.trigger.indexOf('click') !== -1) {\n result.hideOnTargetClick = false;\n }\n\n return result;\n}\nfunction getPlacement(value, modifiers) {\n var placement = value.placement;\n\n for (var i = 0; i < positions.length; i++) {\n var pos = positions[i];\n\n if (modifiers[pos]) {\n placement = pos;\n }\n }\n\n return placement;\n}\nfunction getContent(value) {\n var type = _typeof(value);\n\n if (type === 'string') {\n return value;\n } else if (value && type === 'object') {\n return value.content;\n } else {\n return false;\n }\n}\nfunction createTooltip(el, value) {\n var modifiers = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var content = getContent(value);\n var classes = typeof value.classes !== 'undefined' ? value.classes : directive.options.defaultClass;\n\n var opts = _objectSpread$1({\n title: content\n }, getOptions(_objectSpread$1(_objectSpread$1({}, _typeof(value) === 'object' ? value : {}), {}, {\n placement: getPlacement(value, modifiers)\n })));\n\n var tooltip = el._tooltip = new Tooltip(el, opts);\n tooltip.setClasses(classes);\n tooltip._vueEl = el; // Class on target\n\n var targetClasses = typeof value.targetClasses !== 'undefined' ? value.targetClasses : directive.options.defaultTargetClass;\n el._tooltipTargetClasses = targetClasses;\n addClasses(el, targetClasses);\n return tooltip;\n}\nfunction destroyTooltip(el) {\n if (el._tooltip) {\n el._tooltip.dispose();\n\n delete el._tooltip;\n delete el._tooltipOldShow;\n }\n\n if (el._tooltipTargetClasses) {\n removeClasses(el, el._tooltipTargetClasses);\n delete el._tooltipTargetClasses;\n }\n}\nfunction bind(el, _ref) {\n var value = _ref.value;\n _ref.oldValue;\n var modifiers = _ref.modifiers;\n var content = getContent(value);\n\n if (!content || !state.enabled) {\n destroyTooltip(el);\n } else {\n var tooltip;\n\n if (el._tooltip) {\n tooltip = el._tooltip; // Content\n\n tooltip.setContent(content); // Options\n\n tooltip.setOptions(_objectSpread$1(_objectSpread$1({}, value), {}, {\n placement: getPlacement(value, modifiers)\n }));\n } else {\n tooltip = createTooltip(el, value, modifiers);\n } // Manual show\n\n\n if (typeof value.show !== 'undefined' && value.show !== el._tooltipOldShow) {\n el._tooltipOldShow = value.show;\n value.show ? tooltip.show() : tooltip.hide();\n }\n }\n}\nvar directive = {\n options: defaultOptions,\n bind: bind,\n update: bind,\n unbind: function unbind(el) {\n destroyTooltip(el);\n }\n};\n\nfunction addListeners(el) {\n el.addEventListener('click', onClick);\n el.addEventListener('touchstart', onTouchStart, supportsPassive ? {\n passive: true\n } : false);\n}\n\nfunction removeListeners(el) {\n el.removeEventListener('click', onClick);\n el.removeEventListener('touchstart', onTouchStart);\n el.removeEventListener('touchend', onTouchEnd);\n el.removeEventListener('touchcancel', onTouchCancel);\n}\n\nfunction onClick(event) {\n var el = event.currentTarget;\n event.closePopover = !el.$_vclosepopover_touch;\n event.closeAllPopover = el.$_closePopoverModifiers && !!el.$_closePopoverModifiers.all;\n}\n\nfunction onTouchStart(event) {\n if (event.changedTouches.length === 1) {\n var el = event.currentTarget;\n el.$_vclosepopover_touch = true;\n var touch = event.changedTouches[0];\n el.$_vclosepopover_touchPoint = touch;\n el.addEventListener('touchend', onTouchEnd);\n el.addEventListener('touchcancel', onTouchCancel);\n }\n}\n\nfunction onTouchEnd(event) {\n var el = event.currentTarget;\n el.$_vclosepopover_touch = false;\n\n if (event.changedTouches.length === 1) {\n var touch = event.changedTouches[0];\n var firstTouch = el.$_vclosepopover_touchPoint;\n event.closePopover = Math.abs(touch.screenY - firstTouch.screenY) < 20 && Math.abs(touch.screenX - firstTouch.screenX) < 20;\n event.closeAllPopover = el.$_closePopoverModifiers && !!el.$_closePopoverModifiers.all;\n }\n}\n\nfunction onTouchCancel(event) {\n var el = event.currentTarget;\n el.$_vclosepopover_touch = false;\n}\n\nvar vclosepopover = {\n bind: function bind(el, _ref) {\n var value = _ref.value,\n modifiers = _ref.modifiers;\n el.$_closePopoverModifiers = modifiers;\n\n if (typeof value === 'undefined' || value) {\n addListeners(el);\n }\n },\n update: function update(el, _ref2) {\n var value = _ref2.value,\n oldValue = _ref2.oldValue,\n modifiers = _ref2.modifiers;\n el.$_closePopoverModifiers = modifiers;\n\n if (value !== oldValue) {\n if (typeof value === 'undefined' || value) {\n addListeners(el);\n } else {\n removeListeners(el);\n }\n }\n },\n unbind: function unbind(el) {\n removeListeners(el);\n }\n};\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction getDefault(key) {\n var value = directive.options.popover[key];\n\n if (typeof value === 'undefined') {\n return directive.options[key];\n }\n\n return value;\n}\n\nvar isIOS = false;\n\nif (typeof window !== 'undefined' && typeof navigator !== 'undefined') {\n isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;\n}\n\nvar openPopovers = [];\n\nvar Element = function Element() {};\n\nif (typeof window !== 'undefined') {\n Element = window.Element;\n}\n\nvar script = {\n name: 'VPopover',\n components: {\n ResizeObserver: ResizeObserver\n },\n props: {\n open: {\n type: Boolean,\n default: false\n },\n disabled: {\n type: Boolean,\n default: false\n },\n placement: {\n type: String,\n default: function _default() {\n return getDefault('defaultPlacement');\n }\n },\n delay: {\n type: [String, Number, Object],\n default: function _default() {\n return getDefault('defaultDelay');\n }\n },\n offset: {\n type: [String, Number],\n default: function _default() {\n return getDefault('defaultOffset');\n }\n },\n trigger: {\n type: String,\n default: function _default() {\n return getDefault('defaultTrigger');\n }\n },\n container: {\n type: [String, Object, Element, Boolean],\n default: function _default() {\n return getDefault('defaultContainer');\n }\n },\n boundariesElement: {\n type: [String, Element],\n default: function _default() {\n return getDefault('defaultBoundariesElement');\n }\n },\n popperOptions: {\n type: Object,\n default: function _default() {\n return getDefault('defaultPopperOptions');\n }\n },\n popoverClass: {\n type: [String, Array],\n default: function _default() {\n return getDefault('defaultClass');\n }\n },\n popoverBaseClass: {\n type: [String, Array],\n default: function _default() {\n return directive.options.popover.defaultBaseClass;\n }\n },\n popoverInnerClass: {\n type: [String, Array],\n default: function _default() {\n return directive.options.popover.defaultInnerClass;\n }\n },\n popoverWrapperClass: {\n type: [String, Array],\n default: function _default() {\n return directive.options.popover.defaultWrapperClass;\n }\n },\n popoverArrowClass: {\n type: [String, Array],\n default: function _default() {\n return directive.options.popover.defaultArrowClass;\n }\n },\n autoHide: {\n type: Boolean,\n default: function _default() {\n return directive.options.popover.defaultAutoHide;\n }\n },\n handleResize: {\n type: Boolean,\n default: function _default() {\n return directive.options.popover.defaultHandleResize;\n }\n },\n openGroup: {\n type: String,\n default: null\n },\n openClass: {\n type: [String, Array],\n default: function _default() {\n return directive.options.popover.defaultOpenClass;\n }\n },\n ariaId: {\n default: null\n }\n },\n data: function data() {\n return {\n isOpen: false,\n id: Math.random().toString(36).substr(2, 10)\n };\n },\n computed: {\n cssClass: function cssClass() {\n return _defineProperty({}, this.openClass, this.isOpen);\n },\n popoverId: function popoverId() {\n return \"popover_\".concat(this.ariaId != null ? this.ariaId : this.id);\n }\n },\n watch: {\n open: function open(val) {\n if (val) {\n this.show();\n } else {\n this.hide();\n }\n },\n disabled: function disabled(val, oldVal) {\n if (val !== oldVal) {\n if (val) {\n this.hide();\n } else if (this.open) {\n this.show();\n }\n }\n },\n container: function container(val) {\n if (this.isOpen && this.popperInstance) {\n var popoverNode = this.$refs.popover;\n var reference = this.$refs.trigger;\n var container = this.$_findContainer(this.container, reference);\n\n if (!container) {\n console.warn('No container for popover', this);\n return;\n }\n\n container.appendChild(popoverNode);\n this.popperInstance.scheduleUpdate();\n }\n },\n trigger: function trigger(val) {\n this.$_removeEventListeners();\n this.$_addEventListeners();\n },\n placement: function placement(val) {\n var _this = this;\n\n this.$_updatePopper(function () {\n _this.popperInstance.options.placement = val;\n });\n },\n offset: '$_restartPopper',\n boundariesElement: '$_restartPopper',\n popperOptions: {\n handler: '$_restartPopper',\n deep: true\n }\n },\n created: function created() {\n this.$_isDisposed = false;\n this.$_mounted = false;\n this.$_events = [];\n this.$_preventOpen = false;\n },\n mounted: function mounted() {\n var popoverNode = this.$refs.popover;\n popoverNode.parentNode && popoverNode.parentNode.removeChild(popoverNode);\n this.$_init();\n\n if (this.open) {\n this.show();\n }\n },\n deactivated: function deactivated() {\n this.hide();\n },\n beforeDestroy: function beforeDestroy() {\n this.dispose();\n },\n methods: {\n show: function show() {\n var _this2 = this;\n\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n event = _ref2.event;\n _ref2.skipDelay;\n var _ref2$force = _ref2.force,\n force = _ref2$force === void 0 ? false : _ref2$force;\n\n if (force || !this.disabled) {\n this.$_scheduleShow(event);\n this.$emit('show');\n }\n\n this.$emit('update:open', true);\n this.$_beingShowed = true;\n requestAnimationFrame(function () {\n _this2.$_beingShowed = false;\n });\n },\n hide: function hide() {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n event = _ref3.event;\n _ref3.skipDelay;\n\n this.$_scheduleHide(event);\n this.$emit('hide');\n this.$emit('update:open', false);\n },\n dispose: function dispose() {\n this.$_isDisposed = true;\n this.$_removeEventListeners();\n this.hide({\n skipDelay: true\n });\n\n if (this.popperInstance) {\n this.popperInstance.destroy(); // destroy tooltipNode if removeOnDestroy is not set, as popperInstance.destroy() already removes the element\n\n if (!this.popperInstance.options.removeOnDestroy) {\n var popoverNode = this.$refs.popover;\n popoverNode.parentNode && popoverNode.parentNode.removeChild(popoverNode);\n }\n }\n\n this.$_mounted = false;\n this.popperInstance = null;\n this.isOpen = false;\n this.$emit('dispose');\n },\n $_init: function $_init() {\n if (this.trigger.indexOf('manual') === -1) {\n this.$_addEventListeners();\n }\n },\n $_show: function $_show() {\n var _this3 = this;\n\n var reference = this.$refs.trigger;\n var popoverNode = this.$refs.popover;\n clearTimeout(this.$_disposeTimer); // Already open\n\n if (this.isOpen) {\n return;\n } // Popper is already initialized\n\n\n if (this.popperInstance) {\n this.isOpen = true;\n this.popperInstance.enableEventListeners();\n this.popperInstance.scheduleUpdate();\n }\n\n if (!this.$_mounted) {\n var container = this.$_findContainer(this.container, reference);\n\n if (!container) {\n console.warn('No container for popover', this);\n return;\n }\n\n container.appendChild(popoverNode);\n this.$_mounted = true;\n this.isOpen = false;\n\n if (this.popperInstance) {\n requestAnimationFrame(function () {\n if (!_this3.hidden) {\n _this3.isOpen = true;\n }\n });\n }\n }\n\n if (!this.popperInstance) {\n var popperOptions = _objectSpread(_objectSpread({}, this.popperOptions), {}, {\n placement: this.placement\n });\n\n popperOptions.modifiers = _objectSpread(_objectSpread({}, popperOptions.modifiers), {}, {\n arrow: _objectSpread(_objectSpread({}, popperOptions.modifiers && popperOptions.modifiers.arrow), {}, {\n element: this.$refs.arrow\n })\n });\n\n if (this.offset) {\n var offset = this.$_getOffset();\n popperOptions.modifiers.offset = _objectSpread(_objectSpread({}, popperOptions.modifiers && popperOptions.modifiers.offset), {}, {\n offset: offset\n });\n }\n\n if (this.boundariesElement) {\n popperOptions.modifiers.preventOverflow = _objectSpread(_objectSpread({}, popperOptions.modifiers && popperOptions.modifiers.preventOverflow), {}, {\n boundariesElement: this.boundariesElement\n });\n }\n\n this.popperInstance = new Popper(reference, popoverNode, popperOptions); // Fix position\n\n requestAnimationFrame(function () {\n if (_this3.hidden) {\n _this3.hidden = false;\n\n _this3.$_hide();\n\n return;\n }\n\n if (!_this3.$_isDisposed && _this3.popperInstance) {\n _this3.popperInstance.scheduleUpdate(); // Show the tooltip\n\n\n requestAnimationFrame(function () {\n if (_this3.hidden) {\n _this3.hidden = false;\n\n _this3.$_hide();\n\n return;\n }\n\n if (!_this3.$_isDisposed) {\n _this3.isOpen = true;\n } else {\n _this3.dispose();\n }\n });\n } else {\n _this3.dispose();\n }\n });\n }\n\n var openGroup = this.openGroup;\n\n if (openGroup) {\n var popover;\n\n for (var i = 0; i < openPopovers.length; i++) {\n popover = openPopovers[i];\n\n if (popover.openGroup !== openGroup) {\n popover.hide();\n popover.$emit('close-group');\n }\n }\n }\n\n openPopovers.push(this);\n this.$emit('apply-show');\n },\n $_hide: function $_hide() {\n var _this4 = this;\n\n // Already hidden\n if (!this.isOpen) {\n return;\n }\n\n var index = openPopovers.indexOf(this);\n\n if (index !== -1) {\n openPopovers.splice(index, 1);\n }\n\n this.isOpen = false;\n\n if (this.popperInstance) {\n this.popperInstance.disableEventListeners();\n }\n\n clearTimeout(this.$_disposeTimer);\n var disposeTime = directive.options.popover.disposeTimeout || directive.options.disposeTimeout;\n\n if (disposeTime !== null) {\n this.$_disposeTimer = setTimeout(function () {\n var popoverNode = _this4.$refs.popover;\n\n if (popoverNode) {\n // Don't remove popper instance, just the HTML element\n popoverNode.parentNode && popoverNode.parentNode.removeChild(popoverNode);\n _this4.$_mounted = false;\n }\n }, disposeTime);\n }\n\n this.$emit('apply-hide');\n },\n $_findContainer: function $_findContainer(container, reference) {\n // if container is a query, get the relative element\n if (typeof container === 'string') {\n container = window.document.querySelector(container);\n } else if (container === false) {\n // if container is `false`, set it to reference parent\n container = reference.parentNode;\n }\n\n return container;\n },\n $_getOffset: function $_getOffset() {\n var typeofOffset = _typeof(this.offset);\n\n var offset = this.offset; // One value -> switch\n\n if (typeofOffset === 'number' || typeofOffset === 'string' && offset.indexOf(',') === -1) {\n offset = \"0, \".concat(offset);\n }\n\n return offset;\n },\n $_addEventListeners: function $_addEventListeners() {\n var _this5 = this;\n\n var reference = this.$refs.trigger;\n var directEvents = [];\n var oppositeEvents = [];\n var events = typeof this.trigger === 'string' ? this.trigger.split(' ').filter(function (trigger) {\n return ['click', 'hover', 'focus'].indexOf(trigger) !== -1;\n }) : [];\n events.forEach(function (event) {\n switch (event) {\n case 'hover':\n directEvents.push('mouseenter');\n oppositeEvents.push('mouseleave');\n break;\n\n case 'focus':\n directEvents.push('focus');\n oppositeEvents.push('blur');\n break;\n\n case 'click':\n directEvents.push('click');\n oppositeEvents.push('click');\n break;\n }\n }); // schedule show tooltip\n\n directEvents.forEach(function (event) {\n var func = function func(event) {\n if (_this5.isOpen) {\n return;\n }\n\n event.usedByTooltip = true;\n !_this5.$_preventOpen && _this5.show({\n event: event\n });\n _this5.hidden = false;\n };\n\n _this5.$_events.push({\n event: event,\n func: func\n });\n\n reference.addEventListener(event, func);\n }); // schedule hide tooltip\n\n oppositeEvents.forEach(function (event) {\n var func = function func(event) {\n if (event.usedByTooltip) {\n return;\n }\n\n _this5.hide({\n event: event\n });\n\n _this5.hidden = true;\n };\n\n _this5.$_events.push({\n event: event,\n func: func\n });\n\n reference.addEventListener(event, func);\n });\n },\n $_scheduleShow: function $_scheduleShow() {\n var skipDelay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n clearTimeout(this.$_scheduleTimer);\n\n if (skipDelay) {\n this.$_show();\n } else {\n // defaults to 0\n var computedDelay = parseInt(this.delay && this.delay.show || this.delay || 0);\n this.$_scheduleTimer = setTimeout(this.$_show.bind(this), computedDelay);\n }\n },\n $_scheduleHide: function $_scheduleHide() {\n var _this6 = this;\n\n var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var skipDelay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n clearTimeout(this.$_scheduleTimer);\n\n if (skipDelay) {\n this.$_hide();\n } else {\n // defaults to 0\n var computedDelay = parseInt(this.delay && this.delay.hide || this.delay || 0);\n this.$_scheduleTimer = setTimeout(function () {\n if (!_this6.isOpen) {\n return;\n } // if we are hiding because of a mouseleave, we must check that the new\n // reference isn't the tooltip, because in this case we don't want to hide it\n\n\n if (event && event.type === 'mouseleave') {\n var isSet = _this6.$_setTooltipNodeEvent(event); // if we set the new event, don't hide the tooltip yet\n // the new event will take care to hide it if necessary\n\n\n if (isSet) {\n return;\n }\n }\n\n _this6.$_hide();\n }, computedDelay);\n }\n },\n $_setTooltipNodeEvent: function $_setTooltipNodeEvent(event) {\n var _this7 = this;\n\n var reference = this.$refs.trigger;\n var popoverNode = this.$refs.popover;\n var relatedreference = event.relatedreference || event.toElement || event.relatedTarget;\n\n var callback = function callback(event2) {\n var relatedreference2 = event2.relatedreference || event2.toElement || event2.relatedTarget; // Remove event listener after call\n\n popoverNode.removeEventListener(event.type, callback); // If the new reference is not the reference element\n\n if (!reference.contains(relatedreference2)) {\n // Schedule to hide tooltip\n _this7.hide({\n event: event2\n });\n }\n };\n\n if (popoverNode.contains(relatedreference)) {\n // listen to mouseleave on the tooltip element to be able to hide the tooltip\n popoverNode.addEventListener(event.type, callback);\n return true;\n }\n\n return false;\n },\n $_removeEventListeners: function $_removeEventListeners() {\n var reference = this.$refs.trigger;\n this.$_events.forEach(function (_ref4) {\n var func = _ref4.func,\n event = _ref4.event;\n reference.removeEventListener(event, func);\n });\n this.$_events = [];\n },\n $_updatePopper: function $_updatePopper(cb) {\n if (this.popperInstance) {\n cb();\n if (this.isOpen) this.popperInstance.scheduleUpdate();\n }\n },\n $_restartPopper: function $_restartPopper() {\n if (this.popperInstance) {\n var isOpen = this.isOpen;\n this.dispose();\n this.$_isDisposed = false;\n this.$_init();\n\n if (isOpen) {\n this.show({\n skipDelay: true,\n force: true\n });\n }\n }\n },\n $_handleGlobalClose: function $_handleGlobalClose(event) {\n var _this8 = this;\n\n var touch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n if (this.$_beingShowed) return;\n this.hide({\n event: event\n });\n\n if (event.closePopover) {\n this.$emit('close-directive');\n } else {\n this.$emit('auto-hide');\n }\n\n if (touch) {\n this.$_preventOpen = true;\n setTimeout(function () {\n _this8.$_preventOpen = false;\n }, 300);\n }\n },\n $_handleResize: function $_handleResize() {\n if (this.isOpen && this.popperInstance) {\n this.popperInstance.scheduleUpdate();\n this.$emit('resize');\n }\n }\n }\n};\n\nif (typeof document !== 'undefined' && typeof window !== 'undefined') {\n if (isIOS) {\n document.addEventListener('touchend', handleGlobalTouchend, supportsPassive ? {\n passive: true,\n capture: true\n } : true);\n } else {\n window.addEventListener('click', handleGlobalClick, true);\n }\n}\n\nfunction handleGlobalClick(event) {\n handleGlobalClose(event);\n}\n\nfunction handleGlobalTouchend(event) {\n handleGlobalClose(event, true);\n}\n\nfunction handleGlobalClose(event) {\n var touch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var _loop = function _loop(i) {\n var popover = openPopovers[i];\n\n if (popover.$refs.popover) {\n var contains = popover.$refs.popover.contains(event.target);\n requestAnimationFrame(function () {\n if (event.closeAllPopover || event.closePopover && contains || popover.autoHide && !contains) {\n popover.$_handleGlobalClose(event, touch);\n }\n });\n }\n };\n\n // Delay so that close directive has time to set values\n for (var i = 0; i < openPopovers.length; i++) {\n _loop(i);\n }\n}\n\nfunction normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\r\n if (typeof shadowMode !== 'boolean') {\r\n createInjectorSSR = createInjector;\r\n createInjector = shadowMode;\r\n shadowMode = false;\r\n }\r\n // Vue.extend constructor export interop.\r\n const options = typeof script === 'function' ? script.options : script;\r\n // render functions\r\n if (template && template.render) {\r\n options.render = template.render;\r\n options.staticRenderFns = template.staticRenderFns;\r\n options._compiled = true;\r\n // functional template\r\n if (isFunctionalTemplate) {\r\n options.functional = true;\r\n }\r\n }\r\n // scopedId\r\n if (scopeId) {\r\n options._scopeId = scopeId;\r\n }\r\n let hook;\r\n if (moduleIdentifier) {\r\n // server build\r\n hook = function (context) {\r\n // 2.3 injection\r\n context =\r\n context || // cached call\r\n (this.$vnode && this.$vnode.ssrContext) || // stateful\r\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext); // functional\r\n // 2.2 with runInNewContext: true\r\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\r\n context = __VUE_SSR_CONTEXT__;\r\n }\r\n // inject component styles\r\n if (style) {\r\n style.call(this, createInjectorSSR(context));\r\n }\r\n // register component module identifier for async chunk inference\r\n if (context && context._registeredComponents) {\r\n context._registeredComponents.add(moduleIdentifier);\r\n }\r\n };\r\n // used by ssr in case component is cached and beforeCreate\r\n // never gets called\r\n options._ssrRegister = hook;\r\n }\r\n else if (style) {\r\n hook = shadowMode\r\n ? function (context) {\r\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\r\n }\r\n : function (context) {\r\n style.call(this, createInjector(context));\r\n };\r\n }\r\n if (hook) {\r\n if (options.functional) {\r\n // register for functional component in vue file\r\n const originalRender = options.render;\r\n options.render = function renderWithStyleInjection(h, context) {\r\n hook.call(context);\r\n return originalRender(h, context);\r\n };\r\n }\r\n else {\r\n // inject component registration as beforeCreate hook\r\n const existing = options.beforeCreate;\r\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\r\n }\r\n }\r\n return script;\r\n}\n\n/* script */\nvar __vue_script__ = script;\n/* template */\n\nvar __vue_render__ = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c(\"div\", {\n staticClass: \"v-popover\",\n class: _vm.cssClass\n }, [_c(\"div\", {\n ref: \"trigger\",\n staticClass: \"trigger\",\n staticStyle: {\n display: \"inline-block\"\n },\n attrs: {\n \"aria-describedby\": _vm.isOpen ? _vm.popoverId : undefined,\n tabindex: _vm.trigger.indexOf(\"focus\") !== -1 ? 0 : undefined\n }\n }, [_vm._t(\"default\")], 2), _vm._v(\" \"), _c(\"div\", {\n ref: \"popover\",\n class: [_vm.popoverBaseClass, _vm.popoverClass, _vm.cssClass],\n style: {\n visibility: _vm.isOpen ? \"visible\" : \"hidden\"\n },\n attrs: {\n id: _vm.popoverId,\n \"aria-hidden\": _vm.isOpen ? \"false\" : \"true\",\n tabindex: _vm.autoHide ? 0 : undefined\n },\n on: {\n keyup: function keyup($event) {\n if (!$event.type.indexOf(\"key\") && _vm._k($event.keyCode, \"esc\", 27, $event.key, [\"Esc\", \"Escape\"])) {\n return null;\n }\n\n _vm.autoHide && _vm.hide();\n }\n }\n }, [_c(\"div\", {\n class: _vm.popoverWrapperClass\n }, [_c(\"div\", {\n ref: \"inner\",\n class: _vm.popoverInnerClass,\n staticStyle: {\n position: \"relative\"\n }\n }, [_c(\"div\", [_vm._t(\"popover\", null, {\n isOpen: _vm.isOpen\n })], 2), _vm._v(\" \"), _vm.handleResize ? _c(\"ResizeObserver\", {\n on: {\n notify: _vm.$_handleResize\n }\n }) : _vm._e()], 1), _vm._v(\" \"), _c(\"div\", {\n ref: \"arrow\",\n class: _vm.popoverArrowClass\n })])])]);\n};\n\nvar __vue_staticRenderFns__ = [];\n__vue_render__._withStripped = true;\n/* style */\n\nvar __vue_inject_styles__ = undefined;\n/* scoped */\n\nvar __vue_scope_id__ = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__ = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__ = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__ = /*#__PURE__*/normalizeComponent({\n render: __vue_render__,\n staticRenderFns: __vue_staticRenderFns__\n}, __vue_inject_styles__, __vue_script__, __vue_scope_id__, __vue_is_functional_template__, __vue_module_identifier__, false, undefined, undefined, undefined);\n\nfunction styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nvar css_248z = \".resize-observer[data-v-8859cc6c]{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:transparent;pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer[data-v-8859cc6c] object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}\";\nstyleInject(css_248z);\n\nfunction install(Vue) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (install.installed) return;\n install.installed = true;\n var finalOptions = {};\n merge(finalOptions, defaultOptions, options);\n plugin.options = finalOptions;\n directive.options = finalOptions;\n Vue.directive('tooltip', directive);\n Vue.directive('close-popover', vclosepopover);\n Vue.component('VPopover', __vue_component__);\n}\nvar VTooltip = directive;\nvar VClosePopover = vclosepopover;\nvar VPopover = __vue_component__;\nvar plugin = {\n install: install,\n\n get enabled() {\n return state.enabled;\n },\n\n set enabled(value) {\n state.enabled = value;\n }\n\n}; // Auto-install\n\nvar GlobalVue = null;\n\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue;\n}\n\nif (GlobalVue) {\n GlobalVue.use(plugin);\n}\n\nexport default plugin;\nexport { VClosePopover, VPopover, VTooltip, createTooltip, destroyTooltip, install };\n","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","<template>\n <span :aria-hidden=\"!title\"\n :aria-label=\"title\"\n class=\"material-design-icon chevron-left-icon\"\n role=\"img\"\n v-bind=\"$attrs\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M15.41,16.58L10.83,12L15.41,7.41L14,6L8,12L14,18L15.41,16.58Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"ChevronLeftIcon\",\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./ChevronLeft.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ChevronLeft.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ChevronLeft.vue?vue&type=template&id=5de37570&\"\nimport script from \"./ChevronLeft.vue?vue&type=script&lang=js&\"\nexport * from \"./ChevronLeft.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',_vm._b({staticClass:\"material-design-icon chevron-left-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M15.41,16.58L10.83,12L15.41,7.41L14,6L8,12L14,18L15.41,16.58Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <span :aria-hidden=\"!title\"\n :aria-label=\"title\"\n class=\"material-design-icon chevron-right-icon\"\n role=\"img\"\n v-bind=\"$attrs\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"ChevronRightIcon\",\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./ChevronRight.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./ChevronRight.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ChevronRight.vue?vue&type=template&id=fbe63c02&\"\nimport script from \"./ChevronRight.vue?vue&type=script&lang=js&\"\nexport * from \"./ChevronRight.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',_vm._b({staticClass:\"material-design-icon chevron-right-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <span :aria-hidden=\"!title\"\n :aria-label=\"title\"\n class=\"material-design-icon close-icon\"\n role=\"img\"\n v-bind=\"$attrs\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"CloseIcon\",\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Close.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Close.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Close.vue?vue&type=template&id=6c71068e&\"\nimport script from \"./Close.vue?vue&type=script&lang=js&\"\nexport * from \"./Close.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',_vm._b({staticClass:\"material-design-icon close-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <span :aria-hidden=\"!title\"\n :aria-label=\"title\"\n class=\"material-design-icon dots-horizontal-icon\"\n role=\"img\"\n v-bind=\"$attrs\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M16,12A2,2 0 0,1 18,10A2,2 0 0,1 20,12A2,2 0 0,1 18,14A2,2 0 0,1 16,12M10,12A2,2 0 0,1 12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12M4,12A2,2 0 0,1 6,10A2,2 0 0,1 8,12A2,2 0 0,1 6,14A2,2 0 0,1 4,12Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"DotsHorizontalIcon\",\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./DotsHorizontal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./DotsHorizontal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DotsHorizontal.vue?vue&type=template&id=ea59d84c&\"\nimport script from \"./DotsHorizontal.vue?vue&type=script&lang=js&\"\nexport * from \"./DotsHorizontal.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',_vm._b({staticClass:\"material-design-icon dots-horizontal-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M16,12A2,2 0 0,1 18,10A2,2 0 0,1 20,12A2,2 0 0,1 18,14A2,2 0 0,1 16,12M10,12A2,2 0 0,1 12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12M4,12A2,2 0 0,1 6,10A2,2 0 0,1 8,12A2,2 0 0,1 6,14A2,2 0 0,1 4,12Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <span :aria-hidden=\"!title\"\n :aria-label=\"title\"\n class=\"material-design-icon pause-icon\"\n role=\"img\"\n v-bind=\"$attrs\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M14,19H18V5H14M6,19H10V5H6V19Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"PauseIcon\",\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Pause.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Pause.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Pause.vue?vue&type=template&id=3335ab9e&\"\nimport script from \"./Pause.vue?vue&type=script&lang=js&\"\nexport * from \"./Pause.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',_vm._b({staticClass:\"material-design-icon pause-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M14,19H18V5H14M6,19H10V5H6V19Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <span :aria-hidden=\"!title\"\n :aria-label=\"title\"\n class=\"material-design-icon play-icon\"\n role=\"img\"\n v-bind=\"$attrs\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M8,5.14V19.14L19,12.14L8,5.14Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"PlayIcon\",\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","import mod from \"-!../vue-loader/lib/index.js??vue-loader-options!./Play.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../vue-loader/lib/index.js??vue-loader-options!./Play.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Play.vue?vue&type=template&id=4d9eb9d0&\"\nimport script from \"./Play.vue?vue&type=script&lang=js&\"\nexport * from \"./Play.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',_vm._b({staticClass:\"material-design-icon play-icon\",attrs:{\"aria-hidden\":!_vm.title,\"aria-label\":_vm.title,\"role\":\"img\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},'span',_vm.$attrs,false),[_c('svg',{staticClass:\"material-design-icon__svg\",attrs:{\"fill\":_vm.fillColor,\"width\":_vm.size,\"height\":_vm.size,\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M8,5.14V19.14L19,12.14L8,5.14Z\"}},[(_vm.title)?_c('title',[_vm._v(_vm._s(_vm.title))]):_vm._e()])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","/*!\n * Vue.js v2.6.14\n * (c) 2014-2021 Evan You\n * Released under the MIT License.\n */\n/* */\n\nvar emptyObject = Object.freeze({});\n\n// These helpers produce better VM code in JS engines due to their\n// explicitness and function inlining.\nfunction isUndef (v) {\n return v === undefined || v === null\n}\n\nfunction isDef (v) {\n return v !== undefined && v !== null\n}\n\nfunction isTrue (v) {\n return v === true\n}\n\nfunction isFalse (v) {\n return v === false\n}\n\n/**\n * Check if value is primitive.\n */\nfunction isPrimitive (value) {\n return (\n typeof value === 'string' ||\n typeof value === 'number' ||\n // $flow-disable-line\n typeof value === 'symbol' ||\n typeof value === 'boolean'\n )\n}\n\n/**\n * Quick object check - this is primarily used to tell\n * Objects from primitive values when we know the value\n * is a JSON-compliant type.\n */\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\n/**\n * Get the raw type string of a value, e.g., [object Object].\n */\nvar _toString = Object.prototype.toString;\n\nfunction toRawType (value) {\n return _toString.call(value).slice(8, -1)\n}\n\n/**\n * Strict object type check. Only returns true\n * for plain JavaScript objects.\n */\nfunction isPlainObject (obj) {\n return _toString.call(obj) === '[object Object]'\n}\n\nfunction isRegExp (v) {\n return _toString.call(v) === '[object RegExp]'\n}\n\n/**\n * Check if val is a valid array index.\n */\nfunction isValidArrayIndex (val) {\n var n = parseFloat(String(val));\n return n >= 0 && Math.floor(n) === n && isFinite(val)\n}\n\nfunction isPromise (val) {\n return (\n isDef(val) &&\n typeof val.then === 'function' &&\n typeof val.catch === 'function'\n )\n}\n\n/**\n * Convert a value to a string that is actually rendered.\n */\nfunction toString (val) {\n return val == null\n ? ''\n : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString)\n ? JSON.stringify(val, null, 2)\n : String(val)\n}\n\n/**\n * Convert an input value to a number for persistence.\n * If the conversion fails, return original string.\n */\nfunction toNumber (val) {\n var n = parseFloat(val);\n return isNaN(n) ? val : n\n}\n\n/**\n * Make a map and return a function for checking if a key\n * is in that map.\n */\nfunction makeMap (\n str,\n expectsLowerCase\n) {\n var map = Object.create(null);\n var list = str.split(',');\n for (var i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase\n ? function (val) { return map[val.toLowerCase()]; }\n : function (val) { return map[val]; }\n}\n\n/**\n * Check if a tag is a built-in tag.\n */\nvar isBuiltInTag = makeMap('slot,component', true);\n\n/**\n * Check if an attribute is a reserved attribute.\n */\nvar isReservedAttribute = makeMap('key,ref,slot,slot-scope,is');\n\n/**\n * Remove an item from an array.\n */\nfunction remove (arr, item) {\n if (arr.length) {\n var index = arr.indexOf(item);\n if (index > -1) {\n return arr.splice(index, 1)\n }\n }\n}\n\n/**\n * Check whether an object has the property.\n */\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn (obj, key) {\n return hasOwnProperty.call(obj, key)\n}\n\n/**\n * Create a cached version of a pure function.\n */\nfunction cached (fn) {\n var cache = Object.create(null);\n return (function cachedFn (str) {\n var hit = cache[str];\n return hit || (cache[str] = fn(str))\n })\n}\n\n/**\n * Camelize a hyphen-delimited string.\n */\nvar camelizeRE = /-(\\w)/g;\nvar camelize = cached(function (str) {\n return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; })\n});\n\n/**\n * Capitalize a string.\n */\nvar capitalize = cached(function (str) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n});\n\n/**\n * Hyphenate a camelCase string.\n */\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = cached(function (str) {\n return str.replace(hyphenateRE, '-$1').toLowerCase()\n});\n\n/**\n * Simple bind polyfill for environments that do not support it,\n * e.g., PhantomJS 1.x. Technically, we don't need this anymore\n * since native bind is now performant enough in most browsers.\n * But removing it would mean breaking code that was able to run in\n * PhantomJS 1.x, so this must be kept for backward compatibility.\n */\n\n/* istanbul ignore next */\nfunction polyfillBind (fn, ctx) {\n function boundFn (a) {\n var l = arguments.length;\n return l\n ? l > 1\n ? fn.apply(ctx, arguments)\n : fn.call(ctx, a)\n : fn.call(ctx)\n }\n\n boundFn._length = fn.length;\n return boundFn\n}\n\nfunction nativeBind (fn, ctx) {\n return fn.bind(ctx)\n}\n\nvar bind = Function.prototype.bind\n ? nativeBind\n : polyfillBind;\n\n/**\n * Convert an Array-like object to a real Array.\n */\nfunction toArray (list, start) {\n start = start || 0;\n var i = list.length - start;\n var ret = new Array(i);\n while (i--) {\n ret[i] = list[i + start];\n }\n return ret\n}\n\n/**\n * Mix properties into target object.\n */\nfunction extend (to, _from) {\n for (var key in _from) {\n to[key] = _from[key];\n }\n return to\n}\n\n/**\n * Merge an Array of Objects into a single Object.\n */\nfunction toObject (arr) {\n var res = {};\n for (var i = 0; i < arr.length; i++) {\n if (arr[i]) {\n extend(res, arr[i]);\n }\n }\n return res\n}\n\n/* eslint-disable no-unused-vars */\n\n/**\n * Perform no operation.\n * Stubbing args to make Flow happy without leaving useless transpiled code\n * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/).\n */\nfunction noop (a, b, c) {}\n\n/**\n * Always return false.\n */\nvar no = function (a, b, c) { return false; };\n\n/* eslint-enable no-unused-vars */\n\n/**\n * Return the same value.\n */\nvar identity = function (_) { return _; };\n\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n */\nfunction looseEqual (a, b) {\n if (a === b) { return true }\n var isObjectA = isObject(a);\n var isObjectB = isObject(b);\n if (isObjectA && isObjectB) {\n try {\n var isArrayA = Array.isArray(a);\n var isArrayB = Array.isArray(b);\n if (isArrayA && isArrayB) {\n return a.length === b.length && a.every(function (e, i) {\n return looseEqual(e, b[i])\n })\n } else if (a instanceof Date && b instanceof Date) {\n return a.getTime() === b.getTime()\n } else if (!isArrayA && !isArrayB) {\n var keysA = Object.keys(a);\n var keysB = Object.keys(b);\n return keysA.length === keysB.length && keysA.every(function (key) {\n return looseEqual(a[key], b[key])\n })\n } else {\n /* istanbul ignore next */\n return false\n }\n } catch (e) {\n /* istanbul ignore next */\n return false\n }\n } else if (!isObjectA && !isObjectB) {\n return String(a) === String(b)\n } else {\n return false\n }\n}\n\n/**\n * Return the first index at which a loosely equal value can be\n * found in the array (if value is a plain object, the array must\n * contain an object of the same shape), or -1 if it is not present.\n */\nfunction looseIndexOf (arr, val) {\n for (var i = 0; i < arr.length; i++) {\n if (looseEqual(arr[i], val)) { return i }\n }\n return -1\n}\n\n/**\n * Ensure a function is called only once.\n */\nfunction once (fn) {\n var called = false;\n return function () {\n if (!called) {\n called = true;\n fn.apply(this, arguments);\n }\n }\n}\n\nvar SSR_ATTR = 'data-server-rendered';\n\nvar ASSET_TYPES = [\n 'component',\n 'directive',\n 'filter'\n];\n\nvar LIFECYCLE_HOOKS = [\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeUpdate',\n 'updated',\n 'beforeDestroy',\n 'destroyed',\n 'activated',\n 'deactivated',\n 'errorCaptured',\n 'serverPrefetch'\n];\n\n/* */\n\n\n\nvar config = ({\n /**\n * Option merge strategies (used in core/util/options)\n */\n // $flow-disable-line\n optionMergeStrategies: Object.create(null),\n\n /**\n * Whether to suppress warnings.\n */\n silent: false,\n\n /**\n * Show production mode tip message on boot?\n */\n productionTip: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to enable devtools\n */\n devtools: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to record perf\n */\n performance: false,\n\n /**\n * Error handler for watcher errors\n */\n errorHandler: null,\n\n /**\n * Warn handler for watcher warns\n */\n warnHandler: null,\n\n /**\n * Ignore certain custom elements\n */\n ignoredElements: [],\n\n /**\n * Custom user key aliases for v-on\n */\n // $flow-disable-line\n keyCodes: Object.create(null),\n\n /**\n * Check if a tag is reserved so that it cannot be registered as a\n * component. This is platform-dependent and may be overwritten.\n */\n isReservedTag: no,\n\n /**\n * Check if an attribute is reserved so that it cannot be used as a component\n * prop. This is platform-dependent and may be overwritten.\n */\n isReservedAttr: no,\n\n /**\n * Check if a tag is an unknown element.\n * Platform-dependent.\n */\n isUnknownElement: no,\n\n /**\n * Get the namespace of an element\n */\n getTagNamespace: noop,\n\n /**\n * Parse the real tag name for the specific platform.\n */\n parsePlatformTagName: identity,\n\n /**\n * Check if an attribute must be bound using property, e.g. value\n * Platform-dependent.\n */\n mustUseProp: no,\n\n /**\n * Perform updates asynchronously. Intended to be used by Vue Test Utils\n * This will significantly reduce performance if set to false.\n */\n async: true,\n\n /**\n * Exposed for legacy reasons\n */\n _lifecycleHooks: LIFECYCLE_HOOKS\n});\n\n/* */\n\n/**\n * unicode letters used for parsing html tags, component names and property paths.\n * using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname\n * skipping \\u10000-\\uEFFFF due to it freezing up PhantomJS\n */\nvar unicodeRegExp = /a-zA-Z\\u00B7\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u203F-\\u2040\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD/;\n\n/**\n * Check if a string starts with $ or _\n */\nfunction isReserved (str) {\n var c = (str + '').charCodeAt(0);\n return c === 0x24 || c === 0x5F\n}\n\n/**\n * Define a property.\n */\nfunction def (obj, key, val, enumerable) {\n Object.defineProperty(obj, key, {\n value: val,\n enumerable: !!enumerable,\n writable: true,\n configurable: true\n });\n}\n\n/**\n * Parse simple path.\n */\nvar bailRE = new RegExp((\"[^\" + (unicodeRegExp.source) + \".$_\\\\d]\"));\nfunction parsePath (path) {\n if (bailRE.test(path)) {\n return\n }\n var segments = path.split('.');\n return function (obj) {\n for (var i = 0; i < segments.length; i++) {\n if (!obj) { return }\n obj = obj[segments[i]];\n }\n return obj\n }\n}\n\n/* */\n\n// can we use __proto__?\nvar hasProto = '__proto__' in {};\n\n// Browser environment sniffing\nvar inBrowser = typeof window !== 'undefined';\nvar inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;\nvar weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();\nvar UA = inBrowser && window.navigator.userAgent.toLowerCase();\nvar isIE = UA && /msie|trident/.test(UA);\nvar isIE9 = UA && UA.indexOf('msie 9.0') > 0;\nvar isEdge = UA && UA.indexOf('edge/') > 0;\nvar isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android');\nvar isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios');\nvar isChrome = UA && /chrome\\/\\d+/.test(UA) && !isEdge;\nvar isPhantomJS = UA && /phantomjs/.test(UA);\nvar isFF = UA && UA.match(/firefox\\/(\\d+)/);\n\n// Firefox has a \"watch\" function on Object.prototype...\nvar nativeWatch = ({}).watch;\n\nvar supportsPassive = false;\nif (inBrowser) {\n try {\n var opts = {};\n Object.defineProperty(opts, 'passive', ({\n get: function get () {\n /* istanbul ignore next */\n supportsPassive = true;\n }\n })); // https://github.com/facebook/flow/issues/285\n window.addEventListener('test-passive', null, opts);\n } catch (e) {}\n}\n\n// this needs to be lazy-evaled because vue may be required before\n// vue-server-renderer can set VUE_ENV\nvar _isServer;\nvar isServerRendering = function () {\n if (_isServer === undefined) {\n /* istanbul ignore if */\n if (!inBrowser && !inWeex && typeof global !== 'undefined') {\n // detect presence of vue-server-renderer and avoid\n // Webpack shimming the process\n _isServer = global['process'] && global['process'].env.VUE_ENV === 'server';\n } else {\n _isServer = false;\n }\n }\n return _isServer\n};\n\n// detect devtools\nvar devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\n/* istanbul ignore next */\nfunction isNative (Ctor) {\n return typeof Ctor === 'function' && /native code/.test(Ctor.toString())\n}\n\nvar hasSymbol =\n typeof Symbol !== 'undefined' && isNative(Symbol) &&\n typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys);\n\nvar _Set;\n/* istanbul ignore if */ // $flow-disable-line\nif (typeof Set !== 'undefined' && isNative(Set)) {\n // use native Set when available.\n _Set = Set;\n} else {\n // a non-standard Set polyfill that only works with primitive keys.\n _Set = /*@__PURE__*/(function () {\n function Set () {\n this.set = Object.create(null);\n }\n Set.prototype.has = function has (key) {\n return this.set[key] === true\n };\n Set.prototype.add = function add (key) {\n this.set[key] = true;\n };\n Set.prototype.clear = function clear () {\n this.set = Object.create(null);\n };\n\n return Set;\n }());\n}\n\n/* */\n\nvar warn = noop;\nvar tip = noop;\nvar generateComponentTrace = (noop); // work around flow check\nvar formatComponentName = (noop);\n\nif (process.env.NODE_ENV !== 'production') {\n var hasConsole = typeof console !== 'undefined';\n var classifyRE = /(?:^|[-_])(\\w)/g;\n var classify = function (str) { return str\n .replace(classifyRE, function (c) { return c.toUpperCase(); })\n .replace(/[-_]/g, ''); };\n\n warn = function (msg, vm) {\n var trace = vm ? generateComponentTrace(vm) : '';\n\n if (config.warnHandler) {\n config.warnHandler.call(null, msg, vm, trace);\n } else if (hasConsole && (!config.silent)) {\n console.error((\"[Vue warn]: \" + msg + trace));\n }\n };\n\n tip = function (msg, vm) {\n if (hasConsole && (!config.silent)) {\n console.warn(\"[Vue tip]: \" + msg + (\n vm ? generateComponentTrace(vm) : ''\n ));\n }\n };\n\n formatComponentName = function (vm, includeFile) {\n if (vm.$root === vm) {\n return '<Root>'\n }\n var options = typeof vm === 'function' && vm.cid != null\n ? vm.options\n : vm._isVue\n ? vm.$options || vm.constructor.options\n : vm;\n var name = options.name || options._componentTag;\n var file = options.__file;\n if (!name && file) {\n var match = file.match(/([^/\\\\]+)\\.vue$/);\n name = match && match[1];\n }\n\n return (\n (name ? (\"<\" + (classify(name)) + \">\") : \"<Anonymous>\") +\n (file && includeFile !== false ? (\" at \" + file) : '')\n )\n };\n\n var repeat = function (str, n) {\n var res = '';\n while (n) {\n if (n % 2 === 1) { res += str; }\n if (n > 1) { str += str; }\n n >>= 1;\n }\n return res\n };\n\n generateComponentTrace = function (vm) {\n if (vm._isVue && vm.$parent) {\n var tree = [];\n var currentRecursiveSequence = 0;\n while (vm) {\n if (tree.length > 0) {\n var last = tree[tree.length - 1];\n if (last.constructor === vm.constructor) {\n currentRecursiveSequence++;\n vm = vm.$parent;\n continue\n } else if (currentRecursiveSequence > 0) {\n tree[tree.length - 1] = [last, currentRecursiveSequence];\n currentRecursiveSequence = 0;\n }\n }\n tree.push(vm);\n vm = vm.$parent;\n }\n return '\\n\\nfound in\\n\\n' + tree\n .map(function (vm, i) { return (\"\" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm)\n ? ((formatComponentName(vm[0])) + \"... (\" + (vm[1]) + \" recursive calls)\")\n : formatComponentName(vm))); })\n .join('\\n')\n } else {\n return (\"\\n\\n(found in \" + (formatComponentName(vm)) + \")\")\n }\n };\n}\n\n/* */\n\nvar uid = 0;\n\n/**\n * A dep is an observable that can have multiple\n * directives subscribing to it.\n */\nvar Dep = function Dep () {\n this.id = uid++;\n this.subs = [];\n};\n\nDep.prototype.addSub = function addSub (sub) {\n this.subs.push(sub);\n};\n\nDep.prototype.removeSub = function removeSub (sub) {\n remove(this.subs, sub);\n};\n\nDep.prototype.depend = function depend () {\n if (Dep.target) {\n Dep.target.addDep(this);\n }\n};\n\nDep.prototype.notify = function notify () {\n // stabilize the subscriber list first\n var subs = this.subs.slice();\n if (process.env.NODE_ENV !== 'production' && !config.async) {\n // subs aren't sorted in scheduler if not running async\n // we need to sort them now to make sure they fire in correct\n // order\n subs.sort(function (a, b) { return a.id - b.id; });\n }\n for (var i = 0, l = subs.length; i < l; i++) {\n subs[i].update();\n }\n};\n\n// The current target watcher being evaluated.\n// This is globally unique because only one watcher\n// can be evaluated at a time.\nDep.target = null;\nvar targetStack = [];\n\nfunction pushTarget (target) {\n targetStack.push(target);\n Dep.target = target;\n}\n\nfunction popTarget () {\n targetStack.pop();\n Dep.target = targetStack[targetStack.length - 1];\n}\n\n/* */\n\nvar VNode = function VNode (\n tag,\n data,\n children,\n text,\n elm,\n context,\n componentOptions,\n asyncFactory\n) {\n this.tag = tag;\n this.data = data;\n this.children = children;\n this.text = text;\n this.elm = elm;\n this.ns = undefined;\n this.context = context;\n this.fnContext = undefined;\n this.fnOptions = undefined;\n this.fnScopeId = undefined;\n this.key = data && data.key;\n this.componentOptions = componentOptions;\n this.componentInstance = undefined;\n this.parent = undefined;\n this.raw = false;\n this.isStatic = false;\n this.isRootInsert = true;\n this.isComment = false;\n this.isCloned = false;\n this.isOnce = false;\n this.asyncFactory = asyncFactory;\n this.asyncMeta = undefined;\n this.isAsyncPlaceholder = false;\n};\n\nvar prototypeAccessors = { child: { configurable: true } };\n\n// DEPRECATED: alias for componentInstance for backwards compat.\n/* istanbul ignore next */\nprototypeAccessors.child.get = function () {\n return this.componentInstance\n};\n\nObject.defineProperties( VNode.prototype, prototypeAccessors );\n\nvar createEmptyVNode = function (text) {\n if ( text === void 0 ) text = '';\n\n var node = new VNode();\n node.text = text;\n node.isComment = true;\n return node\n};\n\nfunction createTextVNode (val) {\n return new VNode(undefined, undefined, undefined, String(val))\n}\n\n// optimized shallow clone\n// used for static nodes and slot nodes because they may be reused across\n// multiple renders, cloning them avoids errors when DOM manipulations rely\n// on their elm reference.\nfunction cloneVNode (vnode) {\n var cloned = new VNode(\n vnode.tag,\n vnode.data,\n // #7975\n // clone children array to avoid mutating original in case of cloning\n // a child.\n vnode.children && vnode.children.slice(),\n vnode.text,\n vnode.elm,\n vnode.context,\n vnode.componentOptions,\n vnode.asyncFactory\n );\n cloned.ns = vnode.ns;\n cloned.isStatic = vnode.isStatic;\n cloned.key = vnode.key;\n cloned.isComment = vnode.isComment;\n cloned.fnContext = vnode.fnContext;\n cloned.fnOptions = vnode.fnOptions;\n cloned.fnScopeId = vnode.fnScopeId;\n cloned.asyncMeta = vnode.asyncMeta;\n cloned.isCloned = true;\n return cloned\n}\n\n/*\n * not type checking this file because flow doesn't play well with\n * dynamically accessing methods on Array prototype\n */\n\nvar arrayProto = Array.prototype;\nvar arrayMethods = Object.create(arrayProto);\n\nvar methodsToPatch = [\n 'push',\n 'pop',\n 'shift',\n 'unshift',\n 'splice',\n 'sort',\n 'reverse'\n];\n\n/**\n * Intercept mutating methods and emit events\n */\nmethodsToPatch.forEach(function (method) {\n // cache original method\n var original = arrayProto[method];\n def(arrayMethods, method, function mutator () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var result = original.apply(this, args);\n var ob = this.__ob__;\n var inserted;\n switch (method) {\n case 'push':\n case 'unshift':\n inserted = args;\n break\n case 'splice':\n inserted = args.slice(2);\n break\n }\n if (inserted) { ob.observeArray(inserted); }\n // notify change\n ob.dep.notify();\n return result\n });\n});\n\n/* */\n\nvar arrayKeys = Object.getOwnPropertyNames(arrayMethods);\n\n/**\n * In some cases we may want to disable observation inside a component's\n * update computation.\n */\nvar shouldObserve = true;\n\nfunction toggleObserving (value) {\n shouldObserve = value;\n}\n\n/**\n * Observer class that is attached to each observed\n * object. Once attached, the observer converts the target\n * object's property keys into getter/setters that\n * collect dependencies and dispatch updates.\n */\nvar Observer = function Observer (value) {\n this.value = value;\n this.dep = new Dep();\n this.vmCount = 0;\n def(value, '__ob__', this);\n if (Array.isArray(value)) {\n if (hasProto) {\n protoAugment(value, arrayMethods);\n } else {\n copyAugment(value, arrayMethods, arrayKeys);\n }\n this.observeArray(value);\n } else {\n this.walk(value);\n }\n};\n\n/**\n * Walk through all properties and convert them into\n * getter/setters. This method should only be called when\n * value type is Object.\n */\nObserver.prototype.walk = function walk (obj) {\n var keys = Object.keys(obj);\n for (var i = 0; i < keys.length; i++) {\n defineReactive$$1(obj, keys[i]);\n }\n};\n\n/**\n * Observe a list of Array items.\n */\nObserver.prototype.observeArray = function observeArray (items) {\n for (var i = 0, l = items.length; i < l; i++) {\n observe(items[i]);\n }\n};\n\n// helpers\n\n/**\n * Augment a target Object or Array by intercepting\n * the prototype chain using __proto__\n */\nfunction protoAugment (target, src) {\n /* eslint-disable no-proto */\n target.__proto__ = src;\n /* eslint-enable no-proto */\n}\n\n/**\n * Augment a target Object or Array by defining\n * hidden properties.\n */\n/* istanbul ignore next */\nfunction copyAugment (target, src, keys) {\n for (var i = 0, l = keys.length; i < l; i++) {\n var key = keys[i];\n def(target, key, src[key]);\n }\n}\n\n/**\n * Attempt to create an observer instance for a value,\n * returns the new observer if successfully observed,\n * or the existing observer if the value already has one.\n */\nfunction observe (value, asRootData) {\n if (!isObject(value) || value instanceof VNode) {\n return\n }\n var ob;\n if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {\n ob = value.__ob__;\n } else if (\n shouldObserve &&\n !isServerRendering() &&\n (Array.isArray(value) || isPlainObject(value)) &&\n Object.isExtensible(value) &&\n !value._isVue\n ) {\n ob = new Observer(value);\n }\n if (asRootData && ob) {\n ob.vmCount++;\n }\n return ob\n}\n\n/**\n * Define a reactive property on an Object.\n */\nfunction defineReactive$$1 (\n obj,\n key,\n val,\n customSetter,\n shallow\n) {\n var dep = new Dep();\n\n var property = Object.getOwnPropertyDescriptor(obj, key);\n if (property && property.configurable === false) {\n return\n }\n\n // cater for pre-defined getter/setters\n var getter = property && property.get;\n var setter = property && property.set;\n if ((!getter || setter) && arguments.length === 2) {\n val = obj[key];\n }\n\n var childOb = !shallow && observe(val);\n Object.defineProperty(obj, key, {\n enumerable: true,\n configurable: true,\n get: function reactiveGetter () {\n var value = getter ? getter.call(obj) : val;\n if (Dep.target) {\n dep.depend();\n if (childOb) {\n childOb.dep.depend();\n if (Array.isArray(value)) {\n dependArray(value);\n }\n }\n }\n return value\n },\n set: function reactiveSetter (newVal) {\n var value = getter ? getter.call(obj) : val;\n /* eslint-disable no-self-compare */\n if (newVal === value || (newVal !== newVal && value !== value)) {\n return\n }\n /* eslint-enable no-self-compare */\n if (process.env.NODE_ENV !== 'production' && customSetter) {\n customSetter();\n }\n // #7981: for accessor properties without setter\n if (getter && !setter) { return }\n if (setter) {\n setter.call(obj, newVal);\n } else {\n val = newVal;\n }\n childOb = !shallow && observe(newVal);\n dep.notify();\n }\n });\n}\n\n/**\n * Set a property on an object. Adds the new property and\n * triggers change notification if the property doesn't\n * already exist.\n */\nfunction set (target, key, val) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot set reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.length = Math.max(target.length, key);\n target.splice(key, 1, val);\n return val\n }\n if (key in target && !(key in Object.prototype)) {\n target[key] = val;\n return val\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid adding reactive properties to a Vue instance or its root $data ' +\n 'at runtime - declare it upfront in the data option.'\n );\n return val\n }\n if (!ob) {\n target[key] = val;\n return val\n }\n defineReactive$$1(ob.value, key, val);\n ob.dep.notify();\n return val\n}\n\n/**\n * Delete a property and trigger change if necessary.\n */\nfunction del (target, key) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot delete reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.splice(key, 1);\n return\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid deleting properties on a Vue instance or its root $data ' +\n '- just set it to null.'\n );\n return\n }\n if (!hasOwn(target, key)) {\n return\n }\n delete target[key];\n if (!ob) {\n return\n }\n ob.dep.notify();\n}\n\n/**\n * Collect dependencies on array elements when the array is touched, since\n * we cannot intercept array element access like property getters.\n */\nfunction dependArray (value) {\n for (var e = (void 0), i = 0, l = value.length; i < l; i++) {\n e = value[i];\n e && e.__ob__ && e.__ob__.dep.depend();\n if (Array.isArray(e)) {\n dependArray(e);\n }\n }\n}\n\n/* */\n\n/**\n * Option overwriting strategies are functions that handle\n * how to merge a parent option value and a child option\n * value into the final value.\n */\nvar strats = config.optionMergeStrategies;\n\n/**\n * Options with restrictions\n */\nif (process.env.NODE_ENV !== 'production') {\n strats.el = strats.propsData = function (parent, child, vm, key) {\n if (!vm) {\n warn(\n \"option \\\"\" + key + \"\\\" can only be used during instance \" +\n 'creation with the `new` keyword.'\n );\n }\n return defaultStrat(parent, child)\n };\n}\n\n/**\n * Helper that recursively merges two data objects together.\n */\nfunction mergeData (to, from) {\n if (!from) { return to }\n var key, toVal, fromVal;\n\n var keys = hasSymbol\n ? Reflect.ownKeys(from)\n : Object.keys(from);\n\n for (var i = 0; i < keys.length; i++) {\n key = keys[i];\n // in case the object is already observed...\n if (key === '__ob__') { continue }\n toVal = to[key];\n fromVal = from[key];\n if (!hasOwn(to, key)) {\n set(to, key, fromVal);\n } else if (\n toVal !== fromVal &&\n isPlainObject(toVal) &&\n isPlainObject(fromVal)\n ) {\n mergeData(toVal, fromVal);\n }\n }\n return to\n}\n\n/**\n * Data\n */\nfunction mergeDataOrFn (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n // in a Vue.extend merge, both should be functions\n if (!childVal) {\n return parentVal\n }\n if (!parentVal) {\n return childVal\n }\n // when parentVal & childVal are both present,\n // we need to return a function that returns the\n // merged result of both functions... no need to\n // check if parentVal is a function here because\n // it has to be a function to pass previous merges.\n return function mergedDataFn () {\n return mergeData(\n typeof childVal === 'function' ? childVal.call(this, this) : childVal,\n typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal\n )\n }\n } else {\n return function mergedInstanceDataFn () {\n // instance merge\n var instanceData = typeof childVal === 'function'\n ? childVal.call(vm, vm)\n : childVal;\n var defaultData = typeof parentVal === 'function'\n ? parentVal.call(vm, vm)\n : parentVal;\n if (instanceData) {\n return mergeData(instanceData, defaultData)\n } else {\n return defaultData\n }\n }\n }\n}\n\nstrats.data = function (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n if (childVal && typeof childVal !== 'function') {\n process.env.NODE_ENV !== 'production' && warn(\n 'The \"data\" option should be a function ' +\n 'that returns a per-instance value in component ' +\n 'definitions.',\n vm\n );\n\n return parentVal\n }\n return mergeDataOrFn(parentVal, childVal)\n }\n\n return mergeDataOrFn(parentVal, childVal, vm)\n};\n\n/**\n * Hooks and props are merged as arrays.\n */\nfunction mergeHook (\n parentVal,\n childVal\n) {\n var res = childVal\n ? parentVal\n ? parentVal.concat(childVal)\n : Array.isArray(childVal)\n ? childVal\n : [childVal]\n : parentVal;\n return res\n ? dedupeHooks(res)\n : res\n}\n\nfunction dedupeHooks (hooks) {\n var res = [];\n for (var i = 0; i < hooks.length; i++) {\n if (res.indexOf(hooks[i]) === -1) {\n res.push(hooks[i]);\n }\n }\n return res\n}\n\nLIFECYCLE_HOOKS.forEach(function (hook) {\n strats[hook] = mergeHook;\n});\n\n/**\n * Assets\n *\n * When a vm is present (instance creation), we need to do\n * a three-way merge between constructor options, instance\n * options and parent options.\n */\nfunction mergeAssets (\n parentVal,\n childVal,\n vm,\n key\n) {\n var res = Object.create(parentVal || null);\n if (childVal) {\n process.env.NODE_ENV !== 'production' && assertObjectType(key, childVal, vm);\n return extend(res, childVal)\n } else {\n return res\n }\n}\n\nASSET_TYPES.forEach(function (type) {\n strats[type + 's'] = mergeAssets;\n});\n\n/**\n * Watchers.\n *\n * Watchers hashes should not overwrite one\n * another, so we merge them as arrays.\n */\nstrats.watch = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n // work around Firefox's Object.prototype.watch...\n if (parentVal === nativeWatch) { parentVal = undefined; }\n if (childVal === nativeWatch) { childVal = undefined; }\n /* istanbul ignore if */\n if (!childVal) { return Object.create(parentVal || null) }\n if (process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = {};\n extend(ret, parentVal);\n for (var key$1 in childVal) {\n var parent = ret[key$1];\n var child = childVal[key$1];\n if (parent && !Array.isArray(parent)) {\n parent = [parent];\n }\n ret[key$1] = parent\n ? parent.concat(child)\n : Array.isArray(child) ? child : [child];\n }\n return ret\n};\n\n/**\n * Other object hashes.\n */\nstrats.props =\nstrats.methods =\nstrats.inject =\nstrats.computed = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n if (childVal && process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = Object.create(null);\n extend(ret, parentVal);\n if (childVal) { extend(ret, childVal); }\n return ret\n};\nstrats.provide = mergeDataOrFn;\n\n/**\n * Default strategy.\n */\nvar defaultStrat = function (parentVal, childVal) {\n return childVal === undefined\n ? parentVal\n : childVal\n};\n\n/**\n * Validate component names\n */\nfunction checkComponents (options) {\n for (var key in options.components) {\n validateComponentName(key);\n }\n}\n\nfunction validateComponentName (name) {\n if (!new RegExp((\"^[a-zA-Z][\\\\-\\\\.0-9_\" + (unicodeRegExp.source) + \"]*$\")).test(name)) {\n warn(\n 'Invalid component name: \"' + name + '\". Component names ' +\n 'should conform to valid custom element name in html5 specification.'\n );\n }\n if (isBuiltInTag(name) || config.isReservedTag(name)) {\n warn(\n 'Do not use built-in or reserved HTML elements as component ' +\n 'id: ' + name\n );\n }\n}\n\n/**\n * Ensure all props option syntax are normalized into the\n * Object-based format.\n */\nfunction normalizeProps (options, vm) {\n var props = options.props;\n if (!props) { return }\n var res = {};\n var i, val, name;\n if (Array.isArray(props)) {\n i = props.length;\n while (i--) {\n val = props[i];\n if (typeof val === 'string') {\n name = camelize(val);\n res[name] = { type: null };\n } else if (process.env.NODE_ENV !== 'production') {\n warn('props must be strings when using array syntax.');\n }\n }\n } else if (isPlainObject(props)) {\n for (var key in props) {\n val = props[key];\n name = camelize(key);\n res[name] = isPlainObject(val)\n ? val\n : { type: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"props\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(props)) + \".\",\n vm\n );\n }\n options.props = res;\n}\n\n/**\n * Normalize all injections into Object-based format\n */\nfunction normalizeInject (options, vm) {\n var inject = options.inject;\n if (!inject) { return }\n var normalized = options.inject = {};\n if (Array.isArray(inject)) {\n for (var i = 0; i < inject.length; i++) {\n normalized[inject[i]] = { from: inject[i] };\n }\n } else if (isPlainObject(inject)) {\n for (var key in inject) {\n var val = inject[key];\n normalized[key] = isPlainObject(val)\n ? extend({ from: key }, val)\n : { from: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"inject\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(inject)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Normalize raw function directives into object format.\n */\nfunction normalizeDirectives (options) {\n var dirs = options.directives;\n if (dirs) {\n for (var key in dirs) {\n var def$$1 = dirs[key];\n if (typeof def$$1 === 'function') {\n dirs[key] = { bind: def$$1, update: def$$1 };\n }\n }\n }\n}\n\nfunction assertObjectType (name, value, vm) {\n if (!isPlainObject(value)) {\n warn(\n \"Invalid value for option \\\"\" + name + \"\\\": expected an Object, \" +\n \"but got \" + (toRawType(value)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Merge two option objects into a new one.\n * Core utility used in both instantiation and inheritance.\n */\nfunction mergeOptions (\n parent,\n child,\n vm\n) {\n if (process.env.NODE_ENV !== 'production') {\n checkComponents(child);\n }\n\n if (typeof child === 'function') {\n child = child.options;\n }\n\n normalizeProps(child, vm);\n normalizeInject(child, vm);\n normalizeDirectives(child);\n\n // Apply extends and mixins on the child options,\n // but only if it is a raw options object that isn't\n // the result of another mergeOptions call.\n // Only merged options has the _base property.\n if (!child._base) {\n if (child.extends) {\n parent = mergeOptions(parent, child.extends, vm);\n }\n if (child.mixins) {\n for (var i = 0, l = child.mixins.length; i < l; i++) {\n parent = mergeOptions(parent, child.mixins[i], vm);\n }\n }\n }\n\n var options = {};\n var key;\n for (key in parent) {\n mergeField(key);\n }\n for (key in child) {\n if (!hasOwn(parent, key)) {\n mergeField(key);\n }\n }\n function mergeField (key) {\n var strat = strats[key] || defaultStrat;\n options[key] = strat(parent[key], child[key], vm, key);\n }\n return options\n}\n\n/**\n * Resolve an asset.\n * This function is used because child instances need access\n * to assets defined in its ancestor chain.\n */\nfunction resolveAsset (\n options,\n type,\n id,\n warnMissing\n) {\n /* istanbul ignore if */\n if (typeof id !== 'string') {\n return\n }\n var assets = options[type];\n // check local registration variations first\n if (hasOwn(assets, id)) { return assets[id] }\n var camelizedId = camelize(id);\n if (hasOwn(assets, camelizedId)) { return assets[camelizedId] }\n var PascalCaseId = capitalize(camelizedId);\n if (hasOwn(assets, PascalCaseId)) { return assets[PascalCaseId] }\n // fallback to prototype chain\n var res = assets[id] || assets[camelizedId] || assets[PascalCaseId];\n if (process.env.NODE_ENV !== 'production' && warnMissing && !res) {\n warn(\n 'Failed to resolve ' + type.slice(0, -1) + ': ' + id,\n options\n );\n }\n return res\n}\n\n/* */\n\n\n\nfunction validateProp (\n key,\n propOptions,\n propsData,\n vm\n) {\n var prop = propOptions[key];\n var absent = !hasOwn(propsData, key);\n var value = propsData[key];\n // boolean casting\n var booleanIndex = getTypeIndex(Boolean, prop.type);\n if (booleanIndex > -1) {\n if (absent && !hasOwn(prop, 'default')) {\n value = false;\n } else if (value === '' || value === hyphenate(key)) {\n // only cast empty string / same name to boolean if\n // boolean has higher priority\n var stringIndex = getTypeIndex(String, prop.type);\n if (stringIndex < 0 || booleanIndex < stringIndex) {\n value = true;\n }\n }\n }\n // check default value\n if (value === undefined) {\n value = getPropDefaultValue(vm, prop, key);\n // since the default value is a fresh copy,\n // make sure to observe it.\n var prevShouldObserve = shouldObserve;\n toggleObserving(true);\n observe(value);\n toggleObserving(prevShouldObserve);\n }\n if (\n process.env.NODE_ENV !== 'production' &&\n // skip validation for weex recycle-list child component props\n !(false)\n ) {\n assertProp(prop, key, value, vm, absent);\n }\n return value\n}\n\n/**\n * Get the default value of a prop.\n */\nfunction getPropDefaultValue (vm, prop, key) {\n // no default, return undefined\n if (!hasOwn(prop, 'default')) {\n return undefined\n }\n var def = prop.default;\n // warn against non-factory defaults for Object & Array\n if (process.env.NODE_ENV !== 'production' && isObject(def)) {\n warn(\n 'Invalid default value for prop \"' + key + '\": ' +\n 'Props with type Object/Array must use a factory function ' +\n 'to return the default value.',\n vm\n );\n }\n // the raw prop value was also undefined from previous render,\n // return previous default value to avoid unnecessary watcher trigger\n if (vm && vm.$options.propsData &&\n vm.$options.propsData[key] === undefined &&\n vm._props[key] !== undefined\n ) {\n return vm._props[key]\n }\n // call factory function for non-Function types\n // a value is Function if its prototype is function even across different execution context\n return typeof def === 'function' && getType(prop.type) !== 'Function'\n ? def.call(vm)\n : def\n}\n\n/**\n * Assert whether a prop is valid.\n */\nfunction assertProp (\n prop,\n name,\n value,\n vm,\n absent\n) {\n if (prop.required && absent) {\n warn(\n 'Missing required prop: \"' + name + '\"',\n vm\n );\n return\n }\n if (value == null && !prop.required) {\n return\n }\n var type = prop.type;\n var valid = !type || type === true;\n var expectedTypes = [];\n if (type) {\n if (!Array.isArray(type)) {\n type = [type];\n }\n for (var i = 0; i < type.length && !valid; i++) {\n var assertedType = assertType(value, type[i], vm);\n expectedTypes.push(assertedType.expectedType || '');\n valid = assertedType.valid;\n }\n }\n\n var haveExpectedTypes = expectedTypes.some(function (t) { return t; });\n if (!valid && haveExpectedTypes) {\n warn(\n getInvalidTypeMessage(name, value, expectedTypes),\n vm\n );\n return\n }\n var validator = prop.validator;\n if (validator) {\n if (!validator(value)) {\n warn(\n 'Invalid prop: custom validator check failed for prop \"' + name + '\".',\n vm\n );\n }\n }\n}\n\nvar simpleCheckRE = /^(String|Number|Boolean|Function|Symbol|BigInt)$/;\n\nfunction assertType (value, type, vm) {\n var valid;\n var expectedType = getType(type);\n if (simpleCheckRE.test(expectedType)) {\n var t = typeof value;\n valid = t === expectedType.toLowerCase();\n // for primitive wrapper objects\n if (!valid && t === 'object') {\n valid = value instanceof type;\n }\n } else if (expectedType === 'Object') {\n valid = isPlainObject(value);\n } else if (expectedType === 'Array') {\n valid = Array.isArray(value);\n } else {\n try {\n valid = value instanceof type;\n } catch (e) {\n warn('Invalid prop type: \"' + String(type) + '\" is not a constructor', vm);\n valid = false;\n }\n }\n return {\n valid: valid,\n expectedType: expectedType\n }\n}\n\nvar functionTypeCheckRE = /^\\s*function (\\w+)/;\n\n/**\n * Use function string name to check built-in types,\n * because a simple equality check will fail when running\n * across different vms / iframes.\n */\nfunction getType (fn) {\n var match = fn && fn.toString().match(functionTypeCheckRE);\n return match ? match[1] : ''\n}\n\nfunction isSameType (a, b) {\n return getType(a) === getType(b)\n}\n\nfunction getTypeIndex (type, expectedTypes) {\n if (!Array.isArray(expectedTypes)) {\n return isSameType(expectedTypes, type) ? 0 : -1\n }\n for (var i = 0, len = expectedTypes.length; i < len; i++) {\n if (isSameType(expectedTypes[i], type)) {\n return i\n }\n }\n return -1\n}\n\nfunction getInvalidTypeMessage (name, value, expectedTypes) {\n var message = \"Invalid prop: type check failed for prop \\\"\" + name + \"\\\".\" +\n \" Expected \" + (expectedTypes.map(capitalize).join(', '));\n var expectedType = expectedTypes[0];\n var receivedType = toRawType(value);\n // check if we need to specify expected value\n if (\n expectedTypes.length === 1 &&\n isExplicable(expectedType) &&\n isExplicable(typeof value) &&\n !isBoolean(expectedType, receivedType)\n ) {\n message += \" with value \" + (styleValue(value, expectedType));\n }\n message += \", got \" + receivedType + \" \";\n // check if we need to specify received value\n if (isExplicable(receivedType)) {\n message += \"with value \" + (styleValue(value, receivedType)) + \".\";\n }\n return message\n}\n\nfunction styleValue (value, type) {\n if (type === 'String') {\n return (\"\\\"\" + value + \"\\\"\")\n } else if (type === 'Number') {\n return (\"\" + (Number(value)))\n } else {\n return (\"\" + value)\n }\n}\n\nvar EXPLICABLE_TYPES = ['string', 'number', 'boolean'];\nfunction isExplicable (value) {\n return EXPLICABLE_TYPES.some(function (elem) { return value.toLowerCase() === elem; })\n}\n\nfunction isBoolean () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return args.some(function (elem) { return elem.toLowerCase() === 'boolean'; })\n}\n\n/* */\n\nfunction handleError (err, vm, info) {\n // Deactivate deps tracking while processing error handler to avoid possible infinite rendering.\n // See: https://github.com/vuejs/vuex/issues/1505\n pushTarget();\n try {\n if (vm) {\n var cur = vm;\n while ((cur = cur.$parent)) {\n var hooks = cur.$options.errorCaptured;\n if (hooks) {\n for (var i = 0; i < hooks.length; i++) {\n try {\n var capture = hooks[i].call(cur, err, vm, info) === false;\n if (capture) { return }\n } catch (e) {\n globalHandleError(e, cur, 'errorCaptured hook');\n }\n }\n }\n }\n }\n globalHandleError(err, vm, info);\n } finally {\n popTarget();\n }\n}\n\nfunction invokeWithErrorHandling (\n handler,\n context,\n args,\n vm,\n info\n) {\n var res;\n try {\n res = args ? handler.apply(context, args) : handler.call(context);\n if (res && !res._isVue && isPromise(res) && !res._handled) {\n res.catch(function (e) { return handleError(e, vm, info + \" (Promise/async)\"); });\n // issue #9511\n // avoid catch triggering multiple times when nested calls\n res._handled = true;\n }\n } catch (e) {\n handleError(e, vm, info);\n }\n return res\n}\n\nfunction globalHandleError (err, vm, info) {\n if (config.errorHandler) {\n try {\n return config.errorHandler.call(null, err, vm, info)\n } catch (e) {\n // if the user intentionally throws the original error in the handler,\n // do not log it twice\n if (e !== err) {\n logError(e, null, 'config.errorHandler');\n }\n }\n }\n logError(err, vm, info);\n}\n\nfunction logError (err, vm, info) {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Error in \" + info + \": \\\"\" + (err.toString()) + \"\\\"\"), vm);\n }\n /* istanbul ignore else */\n if ((inBrowser || inWeex) && typeof console !== 'undefined') {\n console.error(err);\n } else {\n throw err\n }\n}\n\n/* */\n\nvar isUsingMicroTask = false;\n\nvar callbacks = [];\nvar pending = false;\n\nfunction flushCallbacks () {\n pending = false;\n var copies = callbacks.slice(0);\n callbacks.length = 0;\n for (var i = 0; i < copies.length; i++) {\n copies[i]();\n }\n}\n\n// Here we have async deferring wrappers using microtasks.\n// In 2.5 we used (macro) tasks (in combination with microtasks).\n// However, it has subtle problems when state is changed right before repaint\n// (e.g. #6813, out-in transitions).\n// Also, using (macro) tasks in event handler would cause some weird behaviors\n// that cannot be circumvented (e.g. #7109, #7153, #7546, #7834, #8109).\n// So we now use microtasks everywhere, again.\n// A major drawback of this tradeoff is that there are some scenarios\n// where microtasks have too high a priority and fire in between supposedly\n// sequential events (e.g. #4521, #6690, which have workarounds)\n// or even between bubbling of the same event (#6566).\nvar timerFunc;\n\n// The nextTick behavior leverages the microtask queue, which can be accessed\n// via either native Promise.then or MutationObserver.\n// MutationObserver has wider support, however it is seriously bugged in\n// UIWebView in iOS >= 9.3.3 when triggered in touch event handlers. It\n// completely stops working after triggering a few times... so, if native\n// Promise is available, we will use it:\n/* istanbul ignore next, $flow-disable-line */\nif (typeof Promise !== 'undefined' && isNative(Promise)) {\n var p = Promise.resolve();\n timerFunc = function () {\n p.then(flushCallbacks);\n // In problematic UIWebViews, Promise.then doesn't completely break, but\n // it can get stuck in a weird state where callbacks are pushed into the\n // microtask queue but the queue isn't being flushed, until the browser\n // needs to do some other work, e.g. handle a timer. Therefore we can\n // \"force\" the microtask queue to be flushed by adding an empty timer.\n if (isIOS) { setTimeout(noop); }\n };\n isUsingMicroTask = true;\n} else if (!isIE && typeof MutationObserver !== 'undefined' && (\n isNative(MutationObserver) ||\n // PhantomJS and iOS 7.x\n MutationObserver.toString() === '[object MutationObserverConstructor]'\n)) {\n // Use MutationObserver where native Promise is not available,\n // e.g. PhantomJS, iOS7, Android 4.4\n // (#6466 MutationObserver is unreliable in IE11)\n var counter = 1;\n var observer = new MutationObserver(flushCallbacks);\n var textNode = document.createTextNode(String(counter));\n observer.observe(textNode, {\n characterData: true\n });\n timerFunc = function () {\n counter = (counter + 1) % 2;\n textNode.data = String(counter);\n };\n isUsingMicroTask = true;\n} else if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) {\n // Fallback to setImmediate.\n // Technically it leverages the (macro) task queue,\n // but it is still a better choice than setTimeout.\n timerFunc = function () {\n setImmediate(flushCallbacks);\n };\n} else {\n // Fallback to setTimeout.\n timerFunc = function () {\n setTimeout(flushCallbacks, 0);\n };\n}\n\nfunction nextTick (cb, ctx) {\n var _resolve;\n callbacks.push(function () {\n if (cb) {\n try {\n cb.call(ctx);\n } catch (e) {\n handleError(e, ctx, 'nextTick');\n }\n } else if (_resolve) {\n _resolve(ctx);\n }\n });\n if (!pending) {\n pending = true;\n timerFunc();\n }\n // $flow-disable-line\n if (!cb && typeof Promise !== 'undefined') {\n return new Promise(function (resolve) {\n _resolve = resolve;\n })\n }\n}\n\n/* */\n\n/* not type checking this file because flow doesn't play well with Proxy */\n\nvar initProxy;\n\nif (process.env.NODE_ENV !== 'production') {\n var allowedGlobals = makeMap(\n 'Infinity,undefined,NaN,isFinite,isNaN,' +\n 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' +\n 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,' +\n 'require' // for Webpack/Browserify\n );\n\n var warnNonPresent = function (target, key) {\n warn(\n \"Property or method \\\"\" + key + \"\\\" is not defined on the instance but \" +\n 'referenced during render. Make sure that this property is reactive, ' +\n 'either in the data option, or for class-based components, by ' +\n 'initializing the property. ' +\n 'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.',\n target\n );\n };\n\n var warnReservedPrefix = function (target, key) {\n warn(\n \"Property \\\"\" + key + \"\\\" must be accessed with \\\"$data.\" + key + \"\\\" because \" +\n 'properties starting with \"$\" or \"_\" are not proxied in the Vue instance to ' +\n 'prevent conflicts with Vue internals. ' +\n 'See: https://vuejs.org/v2/api/#data',\n target\n );\n };\n\n var hasProxy =\n typeof Proxy !== 'undefined' && isNative(Proxy);\n\n if (hasProxy) {\n var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact');\n config.keyCodes = new Proxy(config.keyCodes, {\n set: function set (target, key, value) {\n if (isBuiltInModifier(key)) {\n warn((\"Avoid overwriting built-in modifier in config.keyCodes: .\" + key));\n return false\n } else {\n target[key] = value;\n return true\n }\n }\n });\n }\n\n var hasHandler = {\n has: function has (target, key) {\n var has = key in target;\n var isAllowed = allowedGlobals(key) ||\n (typeof key === 'string' && key.charAt(0) === '_' && !(key in target.$data));\n if (!has && !isAllowed) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return has || !isAllowed\n }\n };\n\n var getHandler = {\n get: function get (target, key) {\n if (typeof key === 'string' && !(key in target)) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return target[key]\n }\n };\n\n initProxy = function initProxy (vm) {\n if (hasProxy) {\n // determine which proxy handler to use\n var options = vm.$options;\n var handlers = options.render && options.render._withStripped\n ? getHandler\n : hasHandler;\n vm._renderProxy = new Proxy(vm, handlers);\n } else {\n vm._renderProxy = vm;\n }\n };\n}\n\n/* */\n\nvar seenObjects = new _Set();\n\n/**\n * Recursively traverse an object to evoke all converted\n * getters, so that every nested property inside the object\n * is collected as a \"deep\" dependency.\n */\nfunction traverse (val) {\n _traverse(val, seenObjects);\n seenObjects.clear();\n}\n\nfunction _traverse (val, seen) {\n var i, keys;\n var isA = Array.isArray(val);\n if ((!isA && !isObject(val)) || Object.isFrozen(val) || val instanceof VNode) {\n return\n }\n if (val.__ob__) {\n var depId = val.__ob__.dep.id;\n if (seen.has(depId)) {\n return\n }\n seen.add(depId);\n }\n if (isA) {\n i = val.length;\n while (i--) { _traverse(val[i], seen); }\n } else {\n keys = Object.keys(val);\n i = keys.length;\n while (i--) { _traverse(val[keys[i]], seen); }\n }\n}\n\nvar mark;\nvar measure;\n\nif (process.env.NODE_ENV !== 'production') {\n var perf = inBrowser && window.performance;\n /* istanbul ignore if */\n if (\n perf &&\n perf.mark &&\n perf.measure &&\n perf.clearMarks &&\n perf.clearMeasures\n ) {\n mark = function (tag) { return perf.mark(tag); };\n measure = function (name, startTag, endTag) {\n perf.measure(name, startTag, endTag);\n perf.clearMarks(startTag);\n perf.clearMarks(endTag);\n // perf.clearMeasures(name)\n };\n }\n}\n\n/* */\n\nvar normalizeEvent = cached(function (name) {\n var passive = name.charAt(0) === '&';\n name = passive ? name.slice(1) : name;\n var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first\n name = once$$1 ? name.slice(1) : name;\n var capture = name.charAt(0) === '!';\n name = capture ? name.slice(1) : name;\n return {\n name: name,\n once: once$$1,\n capture: capture,\n passive: passive\n }\n});\n\nfunction createFnInvoker (fns, vm) {\n function invoker () {\n var arguments$1 = arguments;\n\n var fns = invoker.fns;\n if (Array.isArray(fns)) {\n var cloned = fns.slice();\n for (var i = 0; i < cloned.length; i++) {\n invokeWithErrorHandling(cloned[i], null, arguments$1, vm, \"v-on handler\");\n }\n } else {\n // return handler return value for single handlers\n return invokeWithErrorHandling(fns, null, arguments, vm, \"v-on handler\")\n }\n }\n invoker.fns = fns;\n return invoker\n}\n\nfunction updateListeners (\n on,\n oldOn,\n add,\n remove$$1,\n createOnceHandler,\n vm\n) {\n var name, def$$1, cur, old, event;\n for (name in on) {\n def$$1 = cur = on[name];\n old = oldOn[name];\n event = normalizeEvent(name);\n if (isUndef(cur)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Invalid handler for event \\\"\" + (event.name) + \"\\\": got \" + String(cur),\n vm\n );\n } else if (isUndef(old)) {\n if (isUndef(cur.fns)) {\n cur = on[name] = createFnInvoker(cur, vm);\n }\n if (isTrue(event.once)) {\n cur = on[name] = createOnceHandler(event.name, cur, event.capture);\n }\n add(event.name, cur, event.capture, event.passive, event.params);\n } else if (cur !== old) {\n old.fns = cur;\n on[name] = old;\n }\n }\n for (name in oldOn) {\n if (isUndef(on[name])) {\n event = normalizeEvent(name);\n remove$$1(event.name, oldOn[name], event.capture);\n }\n }\n}\n\n/* */\n\nfunction mergeVNodeHook (def, hookKey, hook) {\n if (def instanceof VNode) {\n def = def.data.hook || (def.data.hook = {});\n }\n var invoker;\n var oldHook = def[hookKey];\n\n function wrappedHook () {\n hook.apply(this, arguments);\n // important: remove merged hook to ensure it's called only once\n // and prevent memory leak\n remove(invoker.fns, wrappedHook);\n }\n\n if (isUndef(oldHook)) {\n // no existing hook\n invoker = createFnInvoker([wrappedHook]);\n } else {\n /* istanbul ignore if */\n if (isDef(oldHook.fns) && isTrue(oldHook.merged)) {\n // already a merged invoker\n invoker = oldHook;\n invoker.fns.push(wrappedHook);\n } else {\n // existing plain hook\n invoker = createFnInvoker([oldHook, wrappedHook]);\n }\n }\n\n invoker.merged = true;\n def[hookKey] = invoker;\n}\n\n/* */\n\nfunction extractPropsFromVNodeData (\n data,\n Ctor,\n tag\n) {\n // we are only extracting raw values here.\n // validation and default values are handled in the child\n // component itself.\n var propOptions = Ctor.options.props;\n if (isUndef(propOptions)) {\n return\n }\n var res = {};\n var attrs = data.attrs;\n var props = data.props;\n if (isDef(attrs) || isDef(props)) {\n for (var key in propOptions) {\n var altKey = hyphenate(key);\n if (process.env.NODE_ENV !== 'production') {\n var keyInLowerCase = key.toLowerCase();\n if (\n key !== keyInLowerCase &&\n attrs && hasOwn(attrs, keyInLowerCase)\n ) {\n tip(\n \"Prop \\\"\" + keyInLowerCase + \"\\\" is passed to component \" +\n (formatComponentName(tag || Ctor)) + \", but the declared prop name is\" +\n \" \\\"\" + key + \"\\\". \" +\n \"Note that HTML attributes are case-insensitive and camelCased \" +\n \"props need to use their kebab-case equivalents when using in-DOM \" +\n \"templates. You should probably use \\\"\" + altKey + \"\\\" instead of \\\"\" + key + \"\\\".\"\n );\n }\n }\n checkProp(res, props, key, altKey, true) ||\n checkProp(res, attrs, key, altKey, false);\n }\n }\n return res\n}\n\nfunction checkProp (\n res,\n hash,\n key,\n altKey,\n preserve\n) {\n if (isDef(hash)) {\n if (hasOwn(hash, key)) {\n res[key] = hash[key];\n if (!preserve) {\n delete hash[key];\n }\n return true\n } else if (hasOwn(hash, altKey)) {\n res[key] = hash[altKey];\n if (!preserve) {\n delete hash[altKey];\n }\n return true\n }\n }\n return false\n}\n\n/* */\n\n// The template compiler attempts to minimize the need for normalization by\n// statically analyzing the template at compile time.\n//\n// For plain HTML markup, normalization can be completely skipped because the\n// generated render function is guaranteed to return Array<VNode>. There are\n// two cases where extra normalization is needed:\n\n// 1. When the children contains components - because a functional component\n// may return an Array instead of a single root. In this case, just a simple\n// normalization is needed - if any child is an Array, we flatten the whole\n// thing with Array.prototype.concat. It is guaranteed to be only 1-level deep\n// because functional components already normalize their own children.\nfunction simpleNormalizeChildren (children) {\n for (var i = 0; i < children.length; i++) {\n if (Array.isArray(children[i])) {\n return Array.prototype.concat.apply([], children)\n }\n }\n return children\n}\n\n// 2. When the children contains constructs that always generated nested Arrays,\n// e.g. <template>, <slot>, v-for, or when the children is provided by user\n// with hand-written render functions / JSX. In such cases a full normalization\n// is needed to cater to all possible types of children values.\nfunction normalizeChildren (children) {\n return isPrimitive(children)\n ? [createTextVNode(children)]\n : Array.isArray(children)\n ? normalizeArrayChildren(children)\n : undefined\n}\n\nfunction isTextNode (node) {\n return isDef(node) && isDef(node.text) && isFalse(node.isComment)\n}\n\nfunction normalizeArrayChildren (children, nestedIndex) {\n var res = [];\n var i, c, lastIndex, last;\n for (i = 0; i < children.length; i++) {\n c = children[i];\n if (isUndef(c) || typeof c === 'boolean') { continue }\n lastIndex = res.length - 1;\n last = res[lastIndex];\n // nested\n if (Array.isArray(c)) {\n if (c.length > 0) {\n c = normalizeArrayChildren(c, ((nestedIndex || '') + \"_\" + i));\n // merge adjacent text nodes\n if (isTextNode(c[0]) && isTextNode(last)) {\n res[lastIndex] = createTextVNode(last.text + (c[0]).text);\n c.shift();\n }\n res.push.apply(res, c);\n }\n } else if (isPrimitive(c)) {\n if (isTextNode(last)) {\n // merge adjacent text nodes\n // this is necessary for SSR hydration because text nodes are\n // essentially merged when rendered to HTML strings\n res[lastIndex] = createTextVNode(last.text + c);\n } else if (c !== '') {\n // convert primitive to vnode\n res.push(createTextVNode(c));\n }\n } else {\n if (isTextNode(c) && isTextNode(last)) {\n // merge adjacent text nodes\n res[lastIndex] = createTextVNode(last.text + c.text);\n } else {\n // default key for nested array children (likely generated by v-for)\n if (isTrue(children._isVList) &&\n isDef(c.tag) &&\n isUndef(c.key) &&\n isDef(nestedIndex)) {\n c.key = \"__vlist\" + nestedIndex + \"_\" + i + \"__\";\n }\n res.push(c);\n }\n }\n }\n return res\n}\n\n/* */\n\nfunction initProvide (vm) {\n var provide = vm.$options.provide;\n if (provide) {\n vm._provided = typeof provide === 'function'\n ? provide.call(vm)\n : provide;\n }\n}\n\nfunction initInjections (vm) {\n var result = resolveInject(vm.$options.inject, vm);\n if (result) {\n toggleObserving(false);\n Object.keys(result).forEach(function (key) {\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n defineReactive$$1(vm, key, result[key], function () {\n warn(\n \"Avoid mutating an injected value directly since the changes will be \" +\n \"overwritten whenever the provided component re-renders. \" +\n \"injection being mutated: \\\"\" + key + \"\\\"\",\n vm\n );\n });\n } else {\n defineReactive$$1(vm, key, result[key]);\n }\n });\n toggleObserving(true);\n }\n}\n\nfunction resolveInject (inject, vm) {\n if (inject) {\n // inject is :any because flow is not smart enough to figure out cached\n var result = Object.create(null);\n var keys = hasSymbol\n ? Reflect.ownKeys(inject)\n : Object.keys(inject);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n // #6574 in case the inject object is observed...\n if (key === '__ob__') { continue }\n var provideKey = inject[key].from;\n var source = vm;\n while (source) {\n if (source._provided && hasOwn(source._provided, provideKey)) {\n result[key] = source._provided[provideKey];\n break\n }\n source = source.$parent;\n }\n if (!source) {\n if ('default' in inject[key]) {\n var provideDefault = inject[key].default;\n result[key] = typeof provideDefault === 'function'\n ? provideDefault.call(vm)\n : provideDefault;\n } else if (process.env.NODE_ENV !== 'production') {\n warn((\"Injection \\\"\" + key + \"\\\" not found\"), vm);\n }\n }\n }\n return result\n }\n}\n\n/* */\n\n\n\n/**\n * Runtime helper for resolving raw children VNodes into a slot object.\n */\nfunction resolveSlots (\n children,\n context\n) {\n if (!children || !children.length) {\n return {}\n }\n var slots = {};\n for (var i = 0, l = children.length; i < l; i++) {\n var child = children[i];\n var data = child.data;\n // remove slot attribute if the node is resolved as a Vue slot node\n if (data && data.attrs && data.attrs.slot) {\n delete data.attrs.slot;\n }\n // named slots should only be respected if the vnode was rendered in the\n // same context.\n if ((child.context === context || child.fnContext === context) &&\n data && data.slot != null\n ) {\n var name = data.slot;\n var slot = (slots[name] || (slots[name] = []));\n if (child.tag === 'template') {\n slot.push.apply(slot, child.children || []);\n } else {\n slot.push(child);\n }\n } else {\n (slots.default || (slots.default = [])).push(child);\n }\n }\n // ignore slots that contains only whitespace\n for (var name$1 in slots) {\n if (slots[name$1].every(isWhitespace)) {\n delete slots[name$1];\n }\n }\n return slots\n}\n\nfunction isWhitespace (node) {\n return (node.isComment && !node.asyncFactory) || node.text === ' '\n}\n\n/* */\n\nfunction isAsyncPlaceholder (node) {\n return node.isComment && node.asyncFactory\n}\n\n/* */\n\nfunction normalizeScopedSlots (\n slots,\n normalSlots,\n prevSlots\n) {\n var res;\n var hasNormalSlots = Object.keys(normalSlots).length > 0;\n var isStable = slots ? !!slots.$stable : !hasNormalSlots;\n var key = slots && slots.$key;\n if (!slots) {\n res = {};\n } else if (slots._normalized) {\n // fast path 1: child component re-render only, parent did not change\n return slots._normalized\n } else if (\n isStable &&\n prevSlots &&\n prevSlots !== emptyObject &&\n key === prevSlots.$key &&\n !hasNormalSlots &&\n !prevSlots.$hasNormal\n ) {\n // fast path 2: stable scoped slots w/ no normal slots to proxy,\n // only need to normalize once\n return prevSlots\n } else {\n res = {};\n for (var key$1 in slots) {\n if (slots[key$1] && key$1[0] !== '$') {\n res[key$1] = normalizeScopedSlot(normalSlots, key$1, slots[key$1]);\n }\n }\n }\n // expose normal slots on scopedSlots\n for (var key$2 in normalSlots) {\n if (!(key$2 in res)) {\n res[key$2] = proxyNormalSlot(normalSlots, key$2);\n }\n }\n // avoriaz seems to mock a non-extensible $scopedSlots object\n // and when that is passed down this would cause an error\n if (slots && Object.isExtensible(slots)) {\n (slots)._normalized = res;\n }\n def(res, '$stable', isStable);\n def(res, '$key', key);\n def(res, '$hasNormal', hasNormalSlots);\n return res\n}\n\nfunction normalizeScopedSlot(normalSlots, key, fn) {\n var normalized = function () {\n var res = arguments.length ? fn.apply(null, arguments) : fn({});\n res = res && typeof res === 'object' && !Array.isArray(res)\n ? [res] // single vnode\n : normalizeChildren(res);\n var vnode = res && res[0];\n return res && (\n !vnode ||\n (res.length === 1 && vnode.isComment && !isAsyncPlaceholder(vnode)) // #9658, #10391\n ) ? undefined\n : res\n };\n // this is a slot using the new v-slot syntax without scope. although it is\n // compiled as a scoped slot, render fn users would expect it to be present\n // on this.$slots because the usage is semantically a normal slot.\n if (fn.proxy) {\n Object.defineProperty(normalSlots, key, {\n get: normalized,\n enumerable: true,\n configurable: true\n });\n }\n return normalized\n}\n\nfunction proxyNormalSlot(slots, key) {\n return function () { return slots[key]; }\n}\n\n/* */\n\n/**\n * Runtime helper for rendering v-for lists.\n */\nfunction renderList (\n val,\n render\n) {\n var ret, i, l, keys, key;\n if (Array.isArray(val) || typeof val === 'string') {\n ret = new Array(val.length);\n for (i = 0, l = val.length; i < l; i++) {\n ret[i] = render(val[i], i);\n }\n } else if (typeof val === 'number') {\n ret = new Array(val);\n for (i = 0; i < val; i++) {\n ret[i] = render(i + 1, i);\n }\n } else if (isObject(val)) {\n if (hasSymbol && val[Symbol.iterator]) {\n ret = [];\n var iterator = val[Symbol.iterator]();\n var result = iterator.next();\n while (!result.done) {\n ret.push(render(result.value, ret.length));\n result = iterator.next();\n }\n } else {\n keys = Object.keys(val);\n ret = new Array(keys.length);\n for (i = 0, l = keys.length; i < l; i++) {\n key = keys[i];\n ret[i] = render(val[key], key, i);\n }\n }\n }\n if (!isDef(ret)) {\n ret = [];\n }\n (ret)._isVList = true;\n return ret\n}\n\n/* */\n\n/**\n * Runtime helper for rendering <slot>\n */\nfunction renderSlot (\n name,\n fallbackRender,\n props,\n bindObject\n) {\n var scopedSlotFn = this.$scopedSlots[name];\n var nodes;\n if (scopedSlotFn) {\n // scoped slot\n props = props || {};\n if (bindObject) {\n if (process.env.NODE_ENV !== 'production' && !isObject(bindObject)) {\n warn('slot v-bind without argument expects an Object', this);\n }\n props = extend(extend({}, bindObject), props);\n }\n nodes =\n scopedSlotFn(props) ||\n (typeof fallbackRender === 'function' ? fallbackRender() : fallbackRender);\n } else {\n nodes =\n this.$slots[name] ||\n (typeof fallbackRender === 'function' ? fallbackRender() : fallbackRender);\n }\n\n var target = props && props.slot;\n if (target) {\n return this.$createElement('template', { slot: target }, nodes)\n } else {\n return nodes\n }\n}\n\n/* */\n\n/**\n * Runtime helper for resolving filters\n */\nfunction resolveFilter (id) {\n return resolveAsset(this.$options, 'filters', id, true) || identity\n}\n\n/* */\n\nfunction isKeyNotMatch (expect, actual) {\n if (Array.isArray(expect)) {\n return expect.indexOf(actual) === -1\n } else {\n return expect !== actual\n }\n}\n\n/**\n * Runtime helper for checking keyCodes from config.\n * exposed as Vue.prototype._k\n * passing in eventKeyName as last argument separately for backwards compat\n */\nfunction checkKeyCodes (\n eventKeyCode,\n key,\n builtInKeyCode,\n eventKeyName,\n builtInKeyName\n) {\n var mappedKeyCode = config.keyCodes[key] || builtInKeyCode;\n if (builtInKeyName && eventKeyName && !config.keyCodes[key]) {\n return isKeyNotMatch(builtInKeyName, eventKeyName)\n } else if (mappedKeyCode) {\n return isKeyNotMatch(mappedKeyCode, eventKeyCode)\n } else if (eventKeyName) {\n return hyphenate(eventKeyName) !== key\n }\n return eventKeyCode === undefined\n}\n\n/* */\n\n/**\n * Runtime helper for merging v-bind=\"object\" into a VNode's data.\n */\nfunction bindObjectProps (\n data,\n tag,\n value,\n asProp,\n isSync\n) {\n if (value) {\n if (!isObject(value)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'v-bind without argument expects an Object or Array value',\n this\n );\n } else {\n if (Array.isArray(value)) {\n value = toObject(value);\n }\n var hash;\n var loop = function ( key ) {\n if (\n key === 'class' ||\n key === 'style' ||\n isReservedAttribute(key)\n ) {\n hash = data;\n } else {\n var type = data.attrs && data.attrs.type;\n hash = asProp || config.mustUseProp(tag, type, key)\n ? data.domProps || (data.domProps = {})\n : data.attrs || (data.attrs = {});\n }\n var camelizedKey = camelize(key);\n var hyphenatedKey = hyphenate(key);\n if (!(camelizedKey in hash) && !(hyphenatedKey in hash)) {\n hash[key] = value[key];\n\n if (isSync) {\n var on = data.on || (data.on = {});\n on[(\"update:\" + key)] = function ($event) {\n value[key] = $event;\n };\n }\n }\n };\n\n for (var key in value) loop( key );\n }\n }\n return data\n}\n\n/* */\n\n/**\n * Runtime helper for rendering static trees.\n */\nfunction renderStatic (\n index,\n isInFor\n) {\n var cached = this._staticTrees || (this._staticTrees = []);\n var tree = cached[index];\n // if has already-rendered static tree and not inside v-for,\n // we can reuse the same tree.\n if (tree && !isInFor) {\n return tree\n }\n // otherwise, render a fresh tree.\n tree = cached[index] = this.$options.staticRenderFns[index].call(\n this._renderProxy,\n null,\n this // for render fns generated for functional component templates\n );\n markStatic(tree, (\"__static__\" + index), false);\n return tree\n}\n\n/**\n * Runtime helper for v-once.\n * Effectively it means marking the node as static with a unique key.\n */\nfunction markOnce (\n tree,\n index,\n key\n) {\n markStatic(tree, (\"__once__\" + index + (key ? (\"_\" + key) : \"\")), true);\n return tree\n}\n\nfunction markStatic (\n tree,\n key,\n isOnce\n) {\n if (Array.isArray(tree)) {\n for (var i = 0; i < tree.length; i++) {\n if (tree[i] && typeof tree[i] !== 'string') {\n markStaticNode(tree[i], (key + \"_\" + i), isOnce);\n }\n }\n } else {\n markStaticNode(tree, key, isOnce);\n }\n}\n\nfunction markStaticNode (node, key, isOnce) {\n node.isStatic = true;\n node.key = key;\n node.isOnce = isOnce;\n}\n\n/* */\n\nfunction bindObjectListeners (data, value) {\n if (value) {\n if (!isPlainObject(value)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'v-on without argument expects an Object value',\n this\n );\n } else {\n var on = data.on = data.on ? extend({}, data.on) : {};\n for (var key in value) {\n var existing = on[key];\n var ours = value[key];\n on[key] = existing ? [].concat(existing, ours) : ours;\n }\n }\n }\n return data\n}\n\n/* */\n\nfunction resolveScopedSlots (\n fns, // see flow/vnode\n res,\n // the following are added in 2.6\n hasDynamicKeys,\n contentHashKey\n) {\n res = res || { $stable: !hasDynamicKeys };\n for (var i = 0; i < fns.length; i++) {\n var slot = fns[i];\n if (Array.isArray(slot)) {\n resolveScopedSlots(slot, res, hasDynamicKeys);\n } else if (slot) {\n // marker for reverse proxying v-slot without scope on this.$slots\n if (slot.proxy) {\n slot.fn.proxy = true;\n }\n res[slot.key] = slot.fn;\n }\n }\n if (contentHashKey) {\n (res).$key = contentHashKey;\n }\n return res\n}\n\n/* */\n\nfunction bindDynamicKeys (baseObj, values) {\n for (var i = 0; i < values.length; i += 2) {\n var key = values[i];\n if (typeof key === 'string' && key) {\n baseObj[values[i]] = values[i + 1];\n } else if (process.env.NODE_ENV !== 'production' && key !== '' && key !== null) {\n // null is a special value for explicitly removing a binding\n warn(\n (\"Invalid value for dynamic directive argument (expected string or null): \" + key),\n this\n );\n }\n }\n return baseObj\n}\n\n// helper to dynamically append modifier runtime markers to event names.\n// ensure only append when value is already string, otherwise it will be cast\n// to string and cause the type check to miss.\nfunction prependModifier (value, symbol) {\n return typeof value === 'string' ? symbol + value : value\n}\n\n/* */\n\nfunction installRenderHelpers (target) {\n target._o = markOnce;\n target._n = toNumber;\n target._s = toString;\n target._l = renderList;\n target._t = renderSlot;\n target._q = looseEqual;\n target._i = looseIndexOf;\n target._m = renderStatic;\n target._f = resolveFilter;\n target._k = checkKeyCodes;\n target._b = bindObjectProps;\n target._v = createTextVNode;\n target._e = createEmptyVNode;\n target._u = resolveScopedSlots;\n target._g = bindObjectListeners;\n target._d = bindDynamicKeys;\n target._p = prependModifier;\n}\n\n/* */\n\nfunction FunctionalRenderContext (\n data,\n props,\n children,\n parent,\n Ctor\n) {\n var this$1 = this;\n\n var options = Ctor.options;\n // ensure the createElement function in functional components\n // gets a unique context - this is necessary for correct named slot check\n var contextVm;\n if (hasOwn(parent, '_uid')) {\n contextVm = Object.create(parent);\n // $flow-disable-line\n contextVm._original = parent;\n } else {\n // the context vm passed in is a functional context as well.\n // in this case we want to make sure we are able to get a hold to the\n // real context instance.\n contextVm = parent;\n // $flow-disable-line\n parent = parent._original;\n }\n var isCompiled = isTrue(options._compiled);\n var needNormalization = !isCompiled;\n\n this.data = data;\n this.props = props;\n this.children = children;\n this.parent = parent;\n this.listeners = data.on || emptyObject;\n this.injections = resolveInject(options.inject, parent);\n this.slots = function () {\n if (!this$1.$slots) {\n normalizeScopedSlots(\n data.scopedSlots,\n this$1.$slots = resolveSlots(children, parent)\n );\n }\n return this$1.$slots\n };\n\n Object.defineProperty(this, 'scopedSlots', ({\n enumerable: true,\n get: function get () {\n return normalizeScopedSlots(data.scopedSlots, this.slots())\n }\n }));\n\n // support for compiled functional template\n if (isCompiled) {\n // exposing $options for renderStatic()\n this.$options = options;\n // pre-resolve slots for renderSlot()\n this.$slots = this.slots();\n this.$scopedSlots = normalizeScopedSlots(data.scopedSlots, this.$slots);\n }\n\n if (options._scopeId) {\n this._c = function (a, b, c, d) {\n var vnode = createElement(contextVm, a, b, c, d, needNormalization);\n if (vnode && !Array.isArray(vnode)) {\n vnode.fnScopeId = options._scopeId;\n vnode.fnContext = parent;\n }\n return vnode\n };\n } else {\n this._c = function (a, b, c, d) { return createElement(contextVm, a, b, c, d, needNormalization); };\n }\n}\n\ninstallRenderHelpers(FunctionalRenderContext.prototype);\n\nfunction createFunctionalComponent (\n Ctor,\n propsData,\n data,\n contextVm,\n children\n) {\n var options = Ctor.options;\n var props = {};\n var propOptions = options.props;\n if (isDef(propOptions)) {\n for (var key in propOptions) {\n props[key] = validateProp(key, propOptions, propsData || emptyObject);\n }\n } else {\n if (isDef(data.attrs)) { mergeProps(props, data.attrs); }\n if (isDef(data.props)) { mergeProps(props, data.props); }\n }\n\n var renderContext = new FunctionalRenderContext(\n data,\n props,\n children,\n contextVm,\n Ctor\n );\n\n var vnode = options.render.call(null, renderContext._c, renderContext);\n\n if (vnode instanceof VNode) {\n return cloneAndMarkFunctionalResult(vnode, data, renderContext.parent, options, renderContext)\n } else if (Array.isArray(vnode)) {\n var vnodes = normalizeChildren(vnode) || [];\n var res = new Array(vnodes.length);\n for (var i = 0; i < vnodes.length; i++) {\n res[i] = cloneAndMarkFunctionalResult(vnodes[i], data, renderContext.parent, options, renderContext);\n }\n return res\n }\n}\n\nfunction cloneAndMarkFunctionalResult (vnode, data, contextVm, options, renderContext) {\n // #7817 clone node before setting fnContext, otherwise if the node is reused\n // (e.g. it was from a cached normal slot) the fnContext causes named slots\n // that should not be matched to match.\n var clone = cloneVNode(vnode);\n clone.fnContext = contextVm;\n clone.fnOptions = options;\n if (process.env.NODE_ENV !== 'production') {\n (clone.devtoolsMeta = clone.devtoolsMeta || {}).renderContext = renderContext;\n }\n if (data.slot) {\n (clone.data || (clone.data = {})).slot = data.slot;\n }\n return clone\n}\n\nfunction mergeProps (to, from) {\n for (var key in from) {\n to[camelize(key)] = from[key];\n }\n}\n\n/* */\n\n/* */\n\n/* */\n\n/* */\n\n// inline hooks to be invoked on component VNodes during patch\nvar componentVNodeHooks = {\n init: function init (vnode, hydrating) {\n if (\n vnode.componentInstance &&\n !vnode.componentInstance._isDestroyed &&\n vnode.data.keepAlive\n ) {\n // kept-alive components, treat as a patch\n var mountedNode = vnode; // work around flow\n componentVNodeHooks.prepatch(mountedNode, mountedNode);\n } else {\n var child = vnode.componentInstance = createComponentInstanceForVnode(\n vnode,\n activeInstance\n );\n child.$mount(hydrating ? vnode.elm : undefined, hydrating);\n }\n },\n\n prepatch: function prepatch (oldVnode, vnode) {\n var options = vnode.componentOptions;\n var child = vnode.componentInstance = oldVnode.componentInstance;\n updateChildComponent(\n child,\n options.propsData, // updated props\n options.listeners, // updated listeners\n vnode, // new parent vnode\n options.children // new children\n );\n },\n\n insert: function insert (vnode) {\n var context = vnode.context;\n var componentInstance = vnode.componentInstance;\n if (!componentInstance._isMounted) {\n componentInstance._isMounted = true;\n callHook(componentInstance, 'mounted');\n }\n if (vnode.data.keepAlive) {\n if (context._isMounted) {\n // vue-router#1212\n // During updates, a kept-alive component's child components may\n // change, so directly walking the tree here may call activated hooks\n // on incorrect children. Instead we push them into a queue which will\n // be processed after the whole patch process ended.\n queueActivatedComponent(componentInstance);\n } else {\n activateChildComponent(componentInstance, true /* direct */);\n }\n }\n },\n\n destroy: function destroy (vnode) {\n var componentInstance = vnode.componentInstance;\n if (!componentInstance._isDestroyed) {\n if (!vnode.data.keepAlive) {\n componentInstance.$destroy();\n } else {\n deactivateChildComponent(componentInstance, true /* direct */);\n }\n }\n }\n};\n\nvar hooksToMerge = Object.keys(componentVNodeHooks);\n\nfunction createComponent (\n Ctor,\n data,\n context,\n children,\n tag\n) {\n if (isUndef(Ctor)) {\n return\n }\n\n var baseCtor = context.$options._base;\n\n // plain options object: turn it into a constructor\n if (isObject(Ctor)) {\n Ctor = baseCtor.extend(Ctor);\n }\n\n // if at this stage it's not a constructor or an async component factory,\n // reject.\n if (typeof Ctor !== 'function') {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Invalid Component definition: \" + (String(Ctor))), context);\n }\n return\n }\n\n // async component\n var asyncFactory;\n if (isUndef(Ctor.cid)) {\n asyncFactory = Ctor;\n Ctor = resolveAsyncComponent(asyncFactory, baseCtor);\n if (Ctor === undefined) {\n // return a placeholder node for async component, which is rendered\n // as a comment node but preserves all the raw information for the node.\n // the information will be used for async server-rendering and hydration.\n return createAsyncPlaceholder(\n asyncFactory,\n data,\n context,\n children,\n tag\n )\n }\n }\n\n data = data || {};\n\n // resolve constructor options in case global mixins are applied after\n // component constructor creation\n resolveConstructorOptions(Ctor);\n\n // transform component v-model data into props & events\n if (isDef(data.model)) {\n transformModel(Ctor.options, data);\n }\n\n // extract props\n var propsData = extractPropsFromVNodeData(data, Ctor, tag);\n\n // functional component\n if (isTrue(Ctor.options.functional)) {\n return createFunctionalComponent(Ctor, propsData, data, context, children)\n }\n\n // extract listeners, since these needs to be treated as\n // child component listeners instead of DOM listeners\n var listeners = data.on;\n // replace with listeners with .native modifier\n // so it gets processed during parent component patch.\n data.on = data.nativeOn;\n\n if (isTrue(Ctor.options.abstract)) {\n // abstract components do not keep anything\n // other than props & listeners & slot\n\n // work around flow\n var slot = data.slot;\n data = {};\n if (slot) {\n data.slot = slot;\n }\n }\n\n // install component management hooks onto the placeholder node\n installComponentHooks(data);\n\n // return a placeholder vnode\n var name = Ctor.options.name || tag;\n var vnode = new VNode(\n (\"vue-component-\" + (Ctor.cid) + (name ? (\"-\" + name) : '')),\n data, undefined, undefined, undefined, context,\n { Ctor: Ctor, propsData: propsData, listeners: listeners, tag: tag, children: children },\n asyncFactory\n );\n\n return vnode\n}\n\nfunction createComponentInstanceForVnode (\n // we know it's MountedComponentVNode but flow doesn't\n vnode,\n // activeInstance in lifecycle state\n parent\n) {\n var options = {\n _isComponent: true,\n _parentVnode: vnode,\n parent: parent\n };\n // check inline-template render functions\n var inlineTemplate = vnode.data.inlineTemplate;\n if (isDef(inlineTemplate)) {\n options.render = inlineTemplate.render;\n options.staticRenderFns = inlineTemplate.staticRenderFns;\n }\n return new vnode.componentOptions.Ctor(options)\n}\n\nfunction installComponentHooks (data) {\n var hooks = data.hook || (data.hook = {});\n for (var i = 0; i < hooksToMerge.length; i++) {\n var key = hooksToMerge[i];\n var existing = hooks[key];\n var toMerge = componentVNodeHooks[key];\n if (existing !== toMerge && !(existing && existing._merged)) {\n hooks[key] = existing ? mergeHook$1(toMerge, existing) : toMerge;\n }\n }\n}\n\nfunction mergeHook$1 (f1, f2) {\n var merged = function (a, b) {\n // flow complains about extra args which is why we use any\n f1(a, b);\n f2(a, b);\n };\n merged._merged = true;\n return merged\n}\n\n// transform component v-model info (value and callback) into\n// prop and event handler respectively.\nfunction transformModel (options, data) {\n var prop = (options.model && options.model.prop) || 'value';\n var event = (options.model && options.model.event) || 'input'\n ;(data.attrs || (data.attrs = {}))[prop] = data.model.value;\n var on = data.on || (data.on = {});\n var existing = on[event];\n var callback = data.model.callback;\n if (isDef(existing)) {\n if (\n Array.isArray(existing)\n ? existing.indexOf(callback) === -1\n : existing !== callback\n ) {\n on[event] = [callback].concat(existing);\n }\n } else {\n on[event] = callback;\n }\n}\n\n/* */\n\nvar SIMPLE_NORMALIZE = 1;\nvar ALWAYS_NORMALIZE = 2;\n\n// wrapper function for providing a more flexible interface\n// without getting yelled at by flow\nfunction createElement (\n context,\n tag,\n data,\n children,\n normalizationType,\n alwaysNormalize\n) {\n if (Array.isArray(data) || isPrimitive(data)) {\n normalizationType = children;\n children = data;\n data = undefined;\n }\n if (isTrue(alwaysNormalize)) {\n normalizationType = ALWAYS_NORMALIZE;\n }\n return _createElement(context, tag, data, children, normalizationType)\n}\n\nfunction _createElement (\n context,\n tag,\n data,\n children,\n normalizationType\n) {\n if (isDef(data) && isDef((data).__ob__)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Avoid using observed data object as vnode data: \" + (JSON.stringify(data)) + \"\\n\" +\n 'Always create fresh vnode data objects in each render!',\n context\n );\n return createEmptyVNode()\n }\n // object syntax in v-bind\n if (isDef(data) && isDef(data.is)) {\n tag = data.is;\n }\n if (!tag) {\n // in case of component :is set to falsy value\n return createEmptyVNode()\n }\n // warn against non-primitive key\n if (process.env.NODE_ENV !== 'production' &&\n isDef(data) && isDef(data.key) && !isPrimitive(data.key)\n ) {\n {\n warn(\n 'Avoid using non-primitive value as key, ' +\n 'use string/number value instead.',\n context\n );\n }\n }\n // support single function children as default scoped slot\n if (Array.isArray(children) &&\n typeof children[0] === 'function'\n ) {\n data = data || {};\n data.scopedSlots = { default: children[0] };\n children.length = 0;\n }\n if (normalizationType === ALWAYS_NORMALIZE) {\n children = normalizeChildren(children);\n } else if (normalizationType === SIMPLE_NORMALIZE) {\n children = simpleNormalizeChildren(children);\n }\n var vnode, ns;\n if (typeof tag === 'string') {\n var Ctor;\n ns = (context.$vnode && context.$vnode.ns) || config.getTagNamespace(tag);\n if (config.isReservedTag(tag)) {\n // platform built-in elements\n if (process.env.NODE_ENV !== 'production' && isDef(data) && isDef(data.nativeOn) && data.tag !== 'component') {\n warn(\n (\"The .native modifier for v-on is only valid on components but it was used on <\" + tag + \">.\"),\n context\n );\n }\n vnode = new VNode(\n config.parsePlatformTagName(tag), data, children,\n undefined, undefined, context\n );\n } else if ((!data || !data.pre) && isDef(Ctor = resolveAsset(context.$options, 'components', tag))) {\n // component\n vnode = createComponent(Ctor, data, context, children, tag);\n } else {\n // unknown or unlisted namespaced elements\n // check at runtime because it may get assigned a namespace when its\n // parent normalizes children\n vnode = new VNode(\n tag, data, children,\n undefined, undefined, context\n );\n }\n } else {\n // direct component options / constructor\n vnode = createComponent(tag, data, context, children);\n }\n if (Array.isArray(vnode)) {\n return vnode\n } else if (isDef(vnode)) {\n if (isDef(ns)) { applyNS(vnode, ns); }\n if (isDef(data)) { registerDeepBindings(data); }\n return vnode\n } else {\n return createEmptyVNode()\n }\n}\n\nfunction applyNS (vnode, ns, force) {\n vnode.ns = ns;\n if (vnode.tag === 'foreignObject') {\n // use default namespace inside foreignObject\n ns = undefined;\n force = true;\n }\n if (isDef(vnode.children)) {\n for (var i = 0, l = vnode.children.length; i < l; i++) {\n var child = vnode.children[i];\n if (isDef(child.tag) && (\n isUndef(child.ns) || (isTrue(force) && child.tag !== 'svg'))) {\n applyNS(child, ns, force);\n }\n }\n }\n}\n\n// ref #5318\n// necessary to ensure parent re-render when deep bindings like :style and\n// :class are used on slot nodes\nfunction registerDeepBindings (data) {\n if (isObject(data.style)) {\n traverse(data.style);\n }\n if (isObject(data.class)) {\n traverse(data.class);\n }\n}\n\n/* */\n\nfunction initRender (vm) {\n vm._vnode = null; // the root of the child tree\n vm._staticTrees = null; // v-once cached trees\n var options = vm.$options;\n var parentVnode = vm.$vnode = options._parentVnode; // the placeholder node in parent tree\n var renderContext = parentVnode && parentVnode.context;\n vm.$slots = resolveSlots(options._renderChildren, renderContext);\n vm.$scopedSlots = emptyObject;\n // bind the createElement fn to this instance\n // so that we get proper render context inside it.\n // args order: tag, data, children, normalizationType, alwaysNormalize\n // internal version is used by render functions compiled from templates\n vm._c = function (a, b, c, d) { return createElement(vm, a, b, c, d, false); };\n // normalization is always applied for the public version, used in\n // user-written render functions.\n vm.$createElement = function (a, b, c, d) { return createElement(vm, a, b, c, d, true); };\n\n // $attrs & $listeners are exposed for easier HOC creation.\n // they need to be reactive so that HOCs using them are always updated\n var parentData = parentVnode && parentVnode.data;\n\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n defineReactive$$1(vm, '$attrs', parentData && parentData.attrs || emptyObject, function () {\n !isUpdatingChildComponent && warn(\"$attrs is readonly.\", vm);\n }, true);\n defineReactive$$1(vm, '$listeners', options._parentListeners || emptyObject, function () {\n !isUpdatingChildComponent && warn(\"$listeners is readonly.\", vm);\n }, true);\n } else {\n defineReactive$$1(vm, '$attrs', parentData && parentData.attrs || emptyObject, null, true);\n defineReactive$$1(vm, '$listeners', options._parentListeners || emptyObject, null, true);\n }\n}\n\nvar currentRenderingInstance = null;\n\nfunction renderMixin (Vue) {\n // install runtime convenience helpers\n installRenderHelpers(Vue.prototype);\n\n Vue.prototype.$nextTick = function (fn) {\n return nextTick(fn, this)\n };\n\n Vue.prototype._render = function () {\n var vm = this;\n var ref = vm.$options;\n var render = ref.render;\n var _parentVnode = ref._parentVnode;\n\n if (_parentVnode) {\n vm.$scopedSlots = normalizeScopedSlots(\n _parentVnode.data.scopedSlots,\n vm.$slots,\n vm.$scopedSlots\n );\n }\n\n // set parent vnode. this allows render functions to have access\n // to the data on the placeholder node.\n vm.$vnode = _parentVnode;\n // render self\n var vnode;\n try {\n // There's no need to maintain a stack because all render fns are called\n // separately from one another. Nested component's render fns are called\n // when parent component is patched.\n currentRenderingInstance = vm;\n vnode = render.call(vm._renderProxy, vm.$createElement);\n } catch (e) {\n handleError(e, vm, \"render\");\n // return error render result,\n // or previous vnode to prevent render error causing blank component\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production' && vm.$options.renderError) {\n try {\n vnode = vm.$options.renderError.call(vm._renderProxy, vm.$createElement, e);\n } catch (e) {\n handleError(e, vm, \"renderError\");\n vnode = vm._vnode;\n }\n } else {\n vnode = vm._vnode;\n }\n } finally {\n currentRenderingInstance = null;\n }\n // if the returned array contains only a single node, allow it\n if (Array.isArray(vnode) && vnode.length === 1) {\n vnode = vnode[0];\n }\n // return empty vnode in case the render function errored out\n if (!(vnode instanceof VNode)) {\n if (process.env.NODE_ENV !== 'production' && Array.isArray(vnode)) {\n warn(\n 'Multiple root nodes returned from render function. Render function ' +\n 'should return a single root node.',\n vm\n );\n }\n vnode = createEmptyVNode();\n }\n // set parent\n vnode.parent = _parentVnode;\n return vnode\n };\n}\n\n/* */\n\nfunction ensureCtor (comp, base) {\n if (\n comp.__esModule ||\n (hasSymbol && comp[Symbol.toStringTag] === 'Module')\n ) {\n comp = comp.default;\n }\n return isObject(comp)\n ? base.extend(comp)\n : comp\n}\n\nfunction createAsyncPlaceholder (\n factory,\n data,\n context,\n children,\n tag\n) {\n var node = createEmptyVNode();\n node.asyncFactory = factory;\n node.asyncMeta = { data: data, context: context, children: children, tag: tag };\n return node\n}\n\nfunction resolveAsyncComponent (\n factory,\n baseCtor\n) {\n if (isTrue(factory.error) && isDef(factory.errorComp)) {\n return factory.errorComp\n }\n\n if (isDef(factory.resolved)) {\n return factory.resolved\n }\n\n var owner = currentRenderingInstance;\n if (owner && isDef(factory.owners) && factory.owners.indexOf(owner) === -1) {\n // already pending\n factory.owners.push(owner);\n }\n\n if (isTrue(factory.loading) && isDef(factory.loadingComp)) {\n return factory.loadingComp\n }\n\n if (owner && !isDef(factory.owners)) {\n var owners = factory.owners = [owner];\n var sync = true;\n var timerLoading = null;\n var timerTimeout = null\n\n ;(owner).$on('hook:destroyed', function () { return remove(owners, owner); });\n\n var forceRender = function (renderCompleted) {\n for (var i = 0, l = owners.length; i < l; i++) {\n (owners[i]).$forceUpdate();\n }\n\n if (renderCompleted) {\n owners.length = 0;\n if (timerLoading !== null) {\n clearTimeout(timerLoading);\n timerLoading = null;\n }\n if (timerTimeout !== null) {\n clearTimeout(timerTimeout);\n timerTimeout = null;\n }\n }\n };\n\n var resolve = once(function (res) {\n // cache resolved\n factory.resolved = ensureCtor(res, baseCtor);\n // invoke callbacks only if this is not a synchronous resolve\n // (async resolves are shimmed as synchronous during SSR)\n if (!sync) {\n forceRender(true);\n } else {\n owners.length = 0;\n }\n });\n\n var reject = once(function (reason) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Failed to resolve async component: \" + (String(factory)) +\n (reason ? (\"\\nReason: \" + reason) : '')\n );\n if (isDef(factory.errorComp)) {\n factory.error = true;\n forceRender(true);\n }\n });\n\n var res = factory(resolve, reject);\n\n if (isObject(res)) {\n if (isPromise(res)) {\n // () => Promise\n if (isUndef(factory.resolved)) {\n res.then(resolve, reject);\n }\n } else if (isPromise(res.component)) {\n res.component.then(resolve, reject);\n\n if (isDef(res.error)) {\n factory.errorComp = ensureCtor(res.error, baseCtor);\n }\n\n if (isDef(res.loading)) {\n factory.loadingComp = ensureCtor(res.loading, baseCtor);\n if (res.delay === 0) {\n factory.loading = true;\n } else {\n timerLoading = setTimeout(function () {\n timerLoading = null;\n if (isUndef(factory.resolved) && isUndef(factory.error)) {\n factory.loading = true;\n forceRender(false);\n }\n }, res.delay || 200);\n }\n }\n\n if (isDef(res.timeout)) {\n timerTimeout = setTimeout(function () {\n timerTimeout = null;\n if (isUndef(factory.resolved)) {\n reject(\n process.env.NODE_ENV !== 'production'\n ? (\"timeout (\" + (res.timeout) + \"ms)\")\n : null\n );\n }\n }, res.timeout);\n }\n }\n }\n\n sync = false;\n // return in case resolved synchronously\n return factory.loading\n ? factory.loadingComp\n : factory.resolved\n }\n}\n\n/* */\n\nfunction getFirstComponentChild (children) {\n if (Array.isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n var c = children[i];\n if (isDef(c) && (isDef(c.componentOptions) || isAsyncPlaceholder(c))) {\n return c\n }\n }\n }\n}\n\n/* */\n\n/* */\n\nfunction initEvents (vm) {\n vm._events = Object.create(null);\n vm._hasHookEvent = false;\n // init parent attached events\n var listeners = vm.$options._parentListeners;\n if (listeners) {\n updateComponentListeners(vm, listeners);\n }\n}\n\nvar target;\n\nfunction add (event, fn) {\n target.$on(event, fn);\n}\n\nfunction remove$1 (event, fn) {\n target.$off(event, fn);\n}\n\nfunction createOnceHandler (event, fn) {\n var _target = target;\n return function onceHandler () {\n var res = fn.apply(null, arguments);\n if (res !== null) {\n _target.$off(event, onceHandler);\n }\n }\n}\n\nfunction updateComponentListeners (\n vm,\n listeners,\n oldListeners\n) {\n target = vm;\n updateListeners(listeners, oldListeners || {}, add, remove$1, createOnceHandler, vm);\n target = undefined;\n}\n\nfunction eventsMixin (Vue) {\n var hookRE = /^hook:/;\n Vue.prototype.$on = function (event, fn) {\n var vm = this;\n if (Array.isArray(event)) {\n for (var i = 0, l = event.length; i < l; i++) {\n vm.$on(event[i], fn);\n }\n } else {\n (vm._events[event] || (vm._events[event] = [])).push(fn);\n // optimize hook:event cost by using a boolean flag marked at registration\n // instead of a hash lookup\n if (hookRE.test(event)) {\n vm._hasHookEvent = true;\n }\n }\n return vm\n };\n\n Vue.prototype.$once = function (event, fn) {\n var vm = this;\n function on () {\n vm.$off(event, on);\n fn.apply(vm, arguments);\n }\n on.fn = fn;\n vm.$on(event, on);\n return vm\n };\n\n Vue.prototype.$off = function (event, fn) {\n var vm = this;\n // all\n if (!arguments.length) {\n vm._events = Object.create(null);\n return vm\n }\n // array of events\n if (Array.isArray(event)) {\n for (var i$1 = 0, l = event.length; i$1 < l; i$1++) {\n vm.$off(event[i$1], fn);\n }\n return vm\n }\n // specific event\n var cbs = vm._events[event];\n if (!cbs) {\n return vm\n }\n if (!fn) {\n vm._events[event] = null;\n return vm\n }\n // specific handler\n var cb;\n var i = cbs.length;\n while (i--) {\n cb = cbs[i];\n if (cb === fn || cb.fn === fn) {\n cbs.splice(i, 1);\n break\n }\n }\n return vm\n };\n\n Vue.prototype.$emit = function (event) {\n var vm = this;\n if (process.env.NODE_ENV !== 'production') {\n var lowerCaseEvent = event.toLowerCase();\n if (lowerCaseEvent !== event && vm._events[lowerCaseEvent]) {\n tip(\n \"Event \\\"\" + lowerCaseEvent + \"\\\" is emitted in component \" +\n (formatComponentName(vm)) + \" but the handler is registered for \\\"\" + event + \"\\\". \" +\n \"Note that HTML attributes are case-insensitive and you cannot use \" +\n \"v-on to listen to camelCase events when using in-DOM templates. \" +\n \"You should probably use \\\"\" + (hyphenate(event)) + \"\\\" instead of \\\"\" + event + \"\\\".\"\n );\n }\n }\n var cbs = vm._events[event];\n if (cbs) {\n cbs = cbs.length > 1 ? toArray(cbs) : cbs;\n var args = toArray(arguments, 1);\n var info = \"event handler for \\\"\" + event + \"\\\"\";\n for (var i = 0, l = cbs.length; i < l; i++) {\n invokeWithErrorHandling(cbs[i], vm, args, vm, info);\n }\n }\n return vm\n };\n}\n\n/* */\n\nvar activeInstance = null;\nvar isUpdatingChildComponent = false;\n\nfunction setActiveInstance(vm) {\n var prevActiveInstance = activeInstance;\n activeInstance = vm;\n return function () {\n activeInstance = prevActiveInstance;\n }\n}\n\nfunction initLifecycle (vm) {\n var options = vm.$options;\n\n // locate first non-abstract parent\n var parent = options.parent;\n if (parent && !options.abstract) {\n while (parent.$options.abstract && parent.$parent) {\n parent = parent.$parent;\n }\n parent.$children.push(vm);\n }\n\n vm.$parent = parent;\n vm.$root = parent ? parent.$root : vm;\n\n vm.$children = [];\n vm.$refs = {};\n\n vm._watcher = null;\n vm._inactive = null;\n vm._directInactive = false;\n vm._isMounted = false;\n vm._isDestroyed = false;\n vm._isBeingDestroyed = false;\n}\n\nfunction lifecycleMixin (Vue) {\n Vue.prototype._update = function (vnode, hydrating) {\n var vm = this;\n var prevEl = vm.$el;\n var prevVnode = vm._vnode;\n var restoreActiveInstance = setActiveInstance(vm);\n vm._vnode = vnode;\n // Vue.prototype.__patch__ is injected in entry points\n // based on the rendering backend used.\n if (!prevVnode) {\n // initial render\n vm.$el = vm.__patch__(vm.$el, vnode, hydrating, false /* removeOnly */);\n } else {\n // updates\n vm.$el = vm.__patch__(prevVnode, vnode);\n }\n restoreActiveInstance();\n // update __vue__ reference\n if (prevEl) {\n prevEl.__vue__ = null;\n }\n if (vm.$el) {\n vm.$el.__vue__ = vm;\n }\n // if parent is an HOC, update its $el as well\n if (vm.$vnode && vm.$parent && vm.$vnode === vm.$parent._vnode) {\n vm.$parent.$el = vm.$el;\n }\n // updated hook is called by the scheduler to ensure that children are\n // updated in a parent's updated hook.\n };\n\n Vue.prototype.$forceUpdate = function () {\n var vm = this;\n if (vm._watcher) {\n vm._watcher.update();\n }\n };\n\n Vue.prototype.$destroy = function () {\n var vm = this;\n if (vm._isBeingDestroyed) {\n return\n }\n callHook(vm, 'beforeDestroy');\n vm._isBeingDestroyed = true;\n // remove self from parent\n var parent = vm.$parent;\n if (parent && !parent._isBeingDestroyed && !vm.$options.abstract) {\n remove(parent.$children, vm);\n }\n // teardown watchers\n if (vm._watcher) {\n vm._watcher.teardown();\n }\n var i = vm._watchers.length;\n while (i--) {\n vm._watchers[i].teardown();\n }\n // remove reference from data ob\n // frozen object may not have observer.\n if (vm._data.__ob__) {\n vm._data.__ob__.vmCount--;\n }\n // call the last hook...\n vm._isDestroyed = true;\n // invoke destroy hooks on current rendered tree\n vm.__patch__(vm._vnode, null);\n // fire destroyed hook\n callHook(vm, 'destroyed');\n // turn off all instance listeners.\n vm.$off();\n // remove __vue__ reference\n if (vm.$el) {\n vm.$el.__vue__ = null;\n }\n // release circular reference (#6759)\n if (vm.$vnode) {\n vm.$vnode.parent = null;\n }\n };\n}\n\nfunction mountComponent (\n vm,\n el,\n hydrating\n) {\n vm.$el = el;\n if (!vm.$options.render) {\n vm.$options.render = createEmptyVNode;\n if (process.env.NODE_ENV !== 'production') {\n /* istanbul ignore if */\n if ((vm.$options.template && vm.$options.template.charAt(0) !== '#') ||\n vm.$options.el || el) {\n warn(\n 'You are using the runtime-only build of Vue where the template ' +\n 'compiler is not available. Either pre-compile the templates into ' +\n 'render functions, or use the compiler-included build.',\n vm\n );\n } else {\n warn(\n 'Failed to mount component: template or render function not defined.',\n vm\n );\n }\n }\n }\n callHook(vm, 'beforeMount');\n\n var updateComponent;\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n updateComponent = function () {\n var name = vm._name;\n var id = vm._uid;\n var startTag = \"vue-perf-start:\" + id;\n var endTag = \"vue-perf-end:\" + id;\n\n mark(startTag);\n var vnode = vm._render();\n mark(endTag);\n measure((\"vue \" + name + \" render\"), startTag, endTag);\n\n mark(startTag);\n vm._update(vnode, hydrating);\n mark(endTag);\n measure((\"vue \" + name + \" patch\"), startTag, endTag);\n };\n } else {\n updateComponent = function () {\n vm._update(vm._render(), hydrating);\n };\n }\n\n // we set this to vm._watcher inside the watcher's constructor\n // since the watcher's initial patch may call $forceUpdate (e.g. inside child\n // component's mounted hook), which relies on vm._watcher being already defined\n new Watcher(vm, updateComponent, noop, {\n before: function before () {\n if (vm._isMounted && !vm._isDestroyed) {\n callHook(vm, 'beforeUpdate');\n }\n }\n }, true /* isRenderWatcher */);\n hydrating = false;\n\n // manually mounted instance, call mounted on self\n // mounted is called for render-created child components in its inserted hook\n if (vm.$vnode == null) {\n vm._isMounted = true;\n callHook(vm, 'mounted');\n }\n return vm\n}\n\nfunction updateChildComponent (\n vm,\n propsData,\n listeners,\n parentVnode,\n renderChildren\n) {\n if (process.env.NODE_ENV !== 'production') {\n isUpdatingChildComponent = true;\n }\n\n // determine whether component has slot children\n // we need to do this before overwriting $options._renderChildren.\n\n // check if there are dynamic scopedSlots (hand-written or compiled but with\n // dynamic slot names). Static scoped slots compiled from template has the\n // \"$stable\" marker.\n var newScopedSlots = parentVnode.data.scopedSlots;\n var oldScopedSlots = vm.$scopedSlots;\n var hasDynamicScopedSlot = !!(\n (newScopedSlots && !newScopedSlots.$stable) ||\n (oldScopedSlots !== emptyObject && !oldScopedSlots.$stable) ||\n (newScopedSlots && vm.$scopedSlots.$key !== newScopedSlots.$key) ||\n (!newScopedSlots && vm.$scopedSlots.$key)\n );\n\n // Any static slot children from the parent may have changed during parent's\n // update. Dynamic scoped slots may also have changed. In such cases, a forced\n // update is necessary to ensure correctness.\n var needsForceUpdate = !!(\n renderChildren || // has new static slots\n vm.$options._renderChildren || // has old static slots\n hasDynamicScopedSlot\n );\n\n vm.$options._parentVnode = parentVnode;\n vm.$vnode = parentVnode; // update vm's placeholder node without re-render\n\n if (vm._vnode) { // update child tree's parent\n vm._vnode.parent = parentVnode;\n }\n vm.$options._renderChildren = renderChildren;\n\n // update $attrs and $listeners hash\n // these are also reactive so they may trigger child update if the child\n // used them during render\n vm.$attrs = parentVnode.data.attrs || emptyObject;\n vm.$listeners = listeners || emptyObject;\n\n // update props\n if (propsData && vm.$options.props) {\n toggleObserving(false);\n var props = vm._props;\n var propKeys = vm.$options._propKeys || [];\n for (var i = 0; i < propKeys.length; i++) {\n var key = propKeys[i];\n var propOptions = vm.$options.props; // wtf flow?\n props[key] = validateProp(key, propOptions, propsData, vm);\n }\n toggleObserving(true);\n // keep a copy of raw propsData\n vm.$options.propsData = propsData;\n }\n\n // update listeners\n listeners = listeners || emptyObject;\n var oldListeners = vm.$options._parentListeners;\n vm.$options._parentListeners = listeners;\n updateComponentListeners(vm, listeners, oldListeners);\n\n // resolve slots + force update if has children\n if (needsForceUpdate) {\n vm.$slots = resolveSlots(renderChildren, parentVnode.context);\n vm.$forceUpdate();\n }\n\n if (process.env.NODE_ENV !== 'production') {\n isUpdatingChildComponent = false;\n }\n}\n\nfunction isInInactiveTree (vm) {\n while (vm && (vm = vm.$parent)) {\n if (vm._inactive) { return true }\n }\n return false\n}\n\nfunction activateChildComponent (vm, direct) {\n if (direct) {\n vm._directInactive = false;\n if (isInInactiveTree(vm)) {\n return\n }\n } else if (vm._directInactive) {\n return\n }\n if (vm._inactive || vm._inactive === null) {\n vm._inactive = false;\n for (var i = 0; i < vm.$children.length; i++) {\n activateChildComponent(vm.$children[i]);\n }\n callHook(vm, 'activated');\n }\n}\n\nfunction deactivateChildComponent (vm, direct) {\n if (direct) {\n vm._directInactive = true;\n if (isInInactiveTree(vm)) {\n return\n }\n }\n if (!vm._inactive) {\n vm._inactive = true;\n for (var i = 0; i < vm.$children.length; i++) {\n deactivateChildComponent(vm.$children[i]);\n }\n callHook(vm, 'deactivated');\n }\n}\n\nfunction callHook (vm, hook) {\n // #7573 disable dep collection when invoking lifecycle hooks\n pushTarget();\n var handlers = vm.$options[hook];\n var info = hook + \" hook\";\n if (handlers) {\n for (var i = 0, j = handlers.length; i < j; i++) {\n invokeWithErrorHandling(handlers[i], vm, null, vm, info);\n }\n }\n if (vm._hasHookEvent) {\n vm.$emit('hook:' + hook);\n }\n popTarget();\n}\n\n/* */\n\nvar MAX_UPDATE_COUNT = 100;\n\nvar queue = [];\nvar activatedChildren = [];\nvar has = {};\nvar circular = {};\nvar waiting = false;\nvar flushing = false;\nvar index = 0;\n\n/**\n * Reset the scheduler's state.\n */\nfunction resetSchedulerState () {\n index = queue.length = activatedChildren.length = 0;\n has = {};\n if (process.env.NODE_ENV !== 'production') {\n circular = {};\n }\n waiting = flushing = false;\n}\n\n// Async edge case #6566 requires saving the timestamp when event listeners are\n// attached. However, calling performance.now() has a perf overhead especially\n// if the page has thousands of event listeners. Instead, we take a timestamp\n// every time the scheduler flushes and use that for all event listeners\n// attached during that flush.\nvar currentFlushTimestamp = 0;\n\n// Async edge case fix requires storing an event listener's attach timestamp.\nvar getNow = Date.now;\n\n// Determine what event timestamp the browser is using. Annoyingly, the\n// timestamp can either be hi-res (relative to page load) or low-res\n// (relative to UNIX epoch), so in order to compare time we have to use the\n// same timestamp type when saving the flush timestamp.\n// All IE versions use low-res event timestamps, and have problematic clock\n// implementations (#9632)\nif (inBrowser && !isIE) {\n var performance = window.performance;\n if (\n performance &&\n typeof performance.now === 'function' &&\n getNow() > document.createEvent('Event').timeStamp\n ) {\n // if the event timestamp, although evaluated AFTER the Date.now(), is\n // smaller than it, it means the event is using a hi-res timestamp,\n // and we need to use the hi-res version for event listener timestamps as\n // well.\n getNow = function () { return performance.now(); };\n }\n}\n\n/**\n * Flush both queues and run the watchers.\n */\nfunction flushSchedulerQueue () {\n currentFlushTimestamp = getNow();\n flushing = true;\n var watcher, id;\n\n // Sort queue before flush.\n // This ensures that:\n // 1. Components are updated from parent to child. (because parent is always\n // created before the child)\n // 2. A component's user watchers are run before its render watcher (because\n // user watchers are created before the render watcher)\n // 3. If a component is destroyed during a parent component's watcher run,\n // its watchers can be skipped.\n queue.sort(function (a, b) { return a.id - b.id; });\n\n // do not cache length because more watchers might be pushed\n // as we run existing watchers\n for (index = 0; index < queue.length; index++) {\n watcher = queue[index];\n if (watcher.before) {\n watcher.before();\n }\n id = watcher.id;\n has[id] = null;\n watcher.run();\n // in dev build, check and stop circular updates.\n if (process.env.NODE_ENV !== 'production' && has[id] != null) {\n circular[id] = (circular[id] || 0) + 1;\n if (circular[id] > MAX_UPDATE_COUNT) {\n warn(\n 'You may have an infinite update loop ' + (\n watcher.user\n ? (\"in watcher with expression \\\"\" + (watcher.expression) + \"\\\"\")\n : \"in a component render function.\"\n ),\n watcher.vm\n );\n break\n }\n }\n }\n\n // keep copies of post queues before resetting state\n var activatedQueue = activatedChildren.slice();\n var updatedQueue = queue.slice();\n\n resetSchedulerState();\n\n // call component updated and activated hooks\n callActivatedHooks(activatedQueue);\n callUpdatedHooks(updatedQueue);\n\n // devtool hook\n /* istanbul ignore if */\n if (devtools && config.devtools) {\n devtools.emit('flush');\n }\n}\n\nfunction callUpdatedHooks (queue) {\n var i = queue.length;\n while (i--) {\n var watcher = queue[i];\n var vm = watcher.vm;\n if (vm._watcher === watcher && vm._isMounted && !vm._isDestroyed) {\n callHook(vm, 'updated');\n }\n }\n}\n\n/**\n * Queue a kept-alive component that was activated during patch.\n * The queue will be processed after the entire tree has been patched.\n */\nfunction queueActivatedComponent (vm) {\n // setting _inactive to false here so that a render function can\n // rely on checking whether it's in an inactive tree (e.g. router-view)\n vm._inactive = false;\n activatedChildren.push(vm);\n}\n\nfunction callActivatedHooks (queue) {\n for (var i = 0; i < queue.length; i++) {\n queue[i]._inactive = true;\n activateChildComponent(queue[i], true /* true */);\n }\n}\n\n/**\n * Push a watcher into the watcher queue.\n * Jobs with duplicate IDs will be skipped unless it's\n * pushed when the queue is being flushed.\n */\nfunction queueWatcher (watcher) {\n var id = watcher.id;\n if (has[id] == null) {\n has[id] = true;\n if (!flushing) {\n queue.push(watcher);\n } else {\n // if already flushing, splice the watcher based on its id\n // if already past its id, it will be run next immediately.\n var i = queue.length - 1;\n while (i > index && queue[i].id > watcher.id) {\n i--;\n }\n queue.splice(i + 1, 0, watcher);\n }\n // queue the flush\n if (!waiting) {\n waiting = true;\n\n if (process.env.NODE_ENV !== 'production' && !config.async) {\n flushSchedulerQueue();\n return\n }\n nextTick(flushSchedulerQueue);\n }\n }\n}\n\n/* */\n\n\n\nvar uid$2 = 0;\n\n/**\n * A watcher parses an expression, collects dependencies,\n * and fires callback when the expression value changes.\n * This is used for both the $watch() api and directives.\n */\nvar Watcher = function Watcher (\n vm,\n expOrFn,\n cb,\n options,\n isRenderWatcher\n) {\n this.vm = vm;\n if (isRenderWatcher) {\n vm._watcher = this;\n }\n vm._watchers.push(this);\n // options\n if (options) {\n this.deep = !!options.deep;\n this.user = !!options.user;\n this.lazy = !!options.lazy;\n this.sync = !!options.sync;\n this.before = options.before;\n } else {\n this.deep = this.user = this.lazy = this.sync = false;\n }\n this.cb = cb;\n this.id = ++uid$2; // uid for batching\n this.active = true;\n this.dirty = this.lazy; // for lazy watchers\n this.deps = [];\n this.newDeps = [];\n this.depIds = new _Set();\n this.newDepIds = new _Set();\n this.expression = process.env.NODE_ENV !== 'production'\n ? expOrFn.toString()\n : '';\n // parse expression for getter\n if (typeof expOrFn === 'function') {\n this.getter = expOrFn;\n } else {\n this.getter = parsePath(expOrFn);\n if (!this.getter) {\n this.getter = noop;\n process.env.NODE_ENV !== 'production' && warn(\n \"Failed watching path: \\\"\" + expOrFn + \"\\\" \" +\n 'Watcher only accepts simple dot-delimited paths. ' +\n 'For full control, use a function instead.',\n vm\n );\n }\n }\n this.value = this.lazy\n ? undefined\n : this.get();\n};\n\n/**\n * Evaluate the getter, and re-collect dependencies.\n */\nWatcher.prototype.get = function get () {\n pushTarget(this);\n var value;\n var vm = this.vm;\n try {\n value = this.getter.call(vm, vm);\n } catch (e) {\n if (this.user) {\n handleError(e, vm, (\"getter for watcher \\\"\" + (this.expression) + \"\\\"\"));\n } else {\n throw e\n }\n } finally {\n // \"touch\" every property so they are all tracked as\n // dependencies for deep watching\n if (this.deep) {\n traverse(value);\n }\n popTarget();\n this.cleanupDeps();\n }\n return value\n};\n\n/**\n * Add a dependency to this directive.\n */\nWatcher.prototype.addDep = function addDep (dep) {\n var id = dep.id;\n if (!this.newDepIds.has(id)) {\n this.newDepIds.add(id);\n this.newDeps.push(dep);\n if (!this.depIds.has(id)) {\n dep.addSub(this);\n }\n }\n};\n\n/**\n * Clean up for dependency collection.\n */\nWatcher.prototype.cleanupDeps = function cleanupDeps () {\n var i = this.deps.length;\n while (i--) {\n var dep = this.deps[i];\n if (!this.newDepIds.has(dep.id)) {\n dep.removeSub(this);\n }\n }\n var tmp = this.depIds;\n this.depIds = this.newDepIds;\n this.newDepIds = tmp;\n this.newDepIds.clear();\n tmp = this.deps;\n this.deps = this.newDeps;\n this.newDeps = tmp;\n this.newDeps.length = 0;\n};\n\n/**\n * Subscriber interface.\n * Will be called when a dependency changes.\n */\nWatcher.prototype.update = function update () {\n /* istanbul ignore else */\n if (this.lazy) {\n this.dirty = true;\n } else if (this.sync) {\n this.run();\n } else {\n queueWatcher(this);\n }\n};\n\n/**\n * Scheduler job interface.\n * Will be called by the scheduler.\n */\nWatcher.prototype.run = function run () {\n if (this.active) {\n var value = this.get();\n if (\n value !== this.value ||\n // Deep watchers and watchers on Object/Arrays should fire even\n // when the value is the same, because the value may\n // have mutated.\n isObject(value) ||\n this.deep\n ) {\n // set new value\n var oldValue = this.value;\n this.value = value;\n if (this.user) {\n var info = \"callback for watcher \\\"\" + (this.expression) + \"\\\"\";\n invokeWithErrorHandling(this.cb, this.vm, [value, oldValue], this.vm, info);\n } else {\n this.cb.call(this.vm, value, oldValue);\n }\n }\n }\n};\n\n/**\n * Evaluate the value of the watcher.\n * This only gets called for lazy watchers.\n */\nWatcher.prototype.evaluate = function evaluate () {\n this.value = this.get();\n this.dirty = false;\n};\n\n/**\n * Depend on all deps collected by this watcher.\n */\nWatcher.prototype.depend = function depend () {\n var i = this.deps.length;\n while (i--) {\n this.deps[i].depend();\n }\n};\n\n/**\n * Remove self from all dependencies' subscriber list.\n */\nWatcher.prototype.teardown = function teardown () {\n if (this.active) {\n // remove self from vm's watcher list\n // this is a somewhat expensive operation so we skip it\n // if the vm is being destroyed.\n if (!this.vm._isBeingDestroyed) {\n remove(this.vm._watchers, this);\n }\n var i = this.deps.length;\n while (i--) {\n this.deps[i].removeSub(this);\n }\n this.active = false;\n }\n};\n\n/* */\n\nvar sharedPropertyDefinition = {\n enumerable: true,\n configurable: true,\n get: noop,\n set: noop\n};\n\nfunction proxy (target, sourceKey, key) {\n sharedPropertyDefinition.get = function proxyGetter () {\n return this[sourceKey][key]\n };\n sharedPropertyDefinition.set = function proxySetter (val) {\n this[sourceKey][key] = val;\n };\n Object.defineProperty(target, key, sharedPropertyDefinition);\n}\n\nfunction initState (vm) {\n vm._watchers = [];\n var opts = vm.$options;\n if (opts.props) { initProps(vm, opts.props); }\n if (opts.methods) { initMethods(vm, opts.methods); }\n if (opts.data) {\n initData(vm);\n } else {\n observe(vm._data = {}, true /* asRootData */);\n }\n if (opts.computed) { initComputed(vm, opts.computed); }\n if (opts.watch && opts.watch !== nativeWatch) {\n initWatch(vm, opts.watch);\n }\n}\n\nfunction initProps (vm, propsOptions) {\n var propsData = vm.$options.propsData || {};\n var props = vm._props = {};\n // cache prop keys so that future props updates can iterate using Array\n // instead of dynamic object key enumeration.\n var keys = vm.$options._propKeys = [];\n var isRoot = !vm.$parent;\n // root instance props should be converted\n if (!isRoot) {\n toggleObserving(false);\n }\n var loop = function ( key ) {\n keys.push(key);\n var value = validateProp(key, propsOptions, propsData, vm);\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n var hyphenatedKey = hyphenate(key);\n if (isReservedAttribute(hyphenatedKey) ||\n config.isReservedAttr(hyphenatedKey)) {\n warn(\n (\"\\\"\" + hyphenatedKey + \"\\\" is a reserved attribute and cannot be used as component prop.\"),\n vm\n );\n }\n defineReactive$$1(props, key, value, function () {\n if (!isRoot && !isUpdatingChildComponent) {\n warn(\n \"Avoid mutating a prop directly since the value will be \" +\n \"overwritten whenever the parent component re-renders. \" +\n \"Instead, use a data or computed property based on the prop's \" +\n \"value. Prop being mutated: \\\"\" + key + \"\\\"\",\n vm\n );\n }\n });\n } else {\n defineReactive$$1(props, key, value);\n }\n // static props are already proxied on the component's prototype\n // during Vue.extend(). We only need to proxy props defined at\n // instantiation here.\n if (!(key in vm)) {\n proxy(vm, \"_props\", key);\n }\n };\n\n for (var key in propsOptions) loop( key );\n toggleObserving(true);\n}\n\nfunction initData (vm) {\n var data = vm.$options.data;\n data = vm._data = typeof data === 'function'\n ? getData(data, vm)\n : data || {};\n if (!isPlainObject(data)) {\n data = {};\n process.env.NODE_ENV !== 'production' && warn(\n 'data functions should return an object:\\n' +\n 'https://vuejs.org/v2/guide/components.html#data-Must-Be-a-Function',\n vm\n );\n }\n // proxy data on instance\n var keys = Object.keys(data);\n var props = vm.$options.props;\n var methods = vm.$options.methods;\n var i = keys.length;\n while (i--) {\n var key = keys[i];\n if (process.env.NODE_ENV !== 'production') {\n if (methods && hasOwn(methods, key)) {\n warn(\n (\"Method \\\"\" + key + \"\\\" has already been defined as a data property.\"),\n vm\n );\n }\n }\n if (props && hasOwn(props, key)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"The data property \\\"\" + key + \"\\\" is already declared as a prop. \" +\n \"Use prop default value instead.\",\n vm\n );\n } else if (!isReserved(key)) {\n proxy(vm, \"_data\", key);\n }\n }\n // observe data\n observe(data, true /* asRootData */);\n}\n\nfunction getData (data, vm) {\n // #7573 disable dep collection when invoking data getters\n pushTarget();\n try {\n return data.call(vm, vm)\n } catch (e) {\n handleError(e, vm, \"data()\");\n return {}\n } finally {\n popTarget();\n }\n}\n\nvar computedWatcherOptions = { lazy: true };\n\nfunction initComputed (vm, computed) {\n // $flow-disable-line\n var watchers = vm._computedWatchers = Object.create(null);\n // computed properties are just getters during SSR\n var isSSR = isServerRendering();\n\n for (var key in computed) {\n var userDef = computed[key];\n var getter = typeof userDef === 'function' ? userDef : userDef.get;\n if (process.env.NODE_ENV !== 'production' && getter == null) {\n warn(\n (\"Getter is missing for computed property \\\"\" + key + \"\\\".\"),\n vm\n );\n }\n\n if (!isSSR) {\n // create internal watcher for the computed property.\n watchers[key] = new Watcher(\n vm,\n getter || noop,\n noop,\n computedWatcherOptions\n );\n }\n\n // component-defined computed properties are already defined on the\n // component prototype. We only need to define computed properties defined\n // at instantiation here.\n if (!(key in vm)) {\n defineComputed(vm, key, userDef);\n } else if (process.env.NODE_ENV !== 'production') {\n if (key in vm.$data) {\n warn((\"The computed property \\\"\" + key + \"\\\" is already defined in data.\"), vm);\n } else if (vm.$options.props && key in vm.$options.props) {\n warn((\"The computed property \\\"\" + key + \"\\\" is already defined as a prop.\"), vm);\n } else if (vm.$options.methods && key in vm.$options.methods) {\n warn((\"The computed property \\\"\" + key + \"\\\" is already defined as a method.\"), vm);\n }\n }\n }\n}\n\nfunction defineComputed (\n target,\n key,\n userDef\n) {\n var shouldCache = !isServerRendering();\n if (typeof userDef === 'function') {\n sharedPropertyDefinition.get = shouldCache\n ? createComputedGetter(key)\n : createGetterInvoker(userDef);\n sharedPropertyDefinition.set = noop;\n } else {\n sharedPropertyDefinition.get = userDef.get\n ? shouldCache && userDef.cache !== false\n ? createComputedGetter(key)\n : createGetterInvoker(userDef.get)\n : noop;\n sharedPropertyDefinition.set = userDef.set || noop;\n }\n if (process.env.NODE_ENV !== 'production' &&\n sharedPropertyDefinition.set === noop) {\n sharedPropertyDefinition.set = function () {\n warn(\n (\"Computed property \\\"\" + key + \"\\\" was assigned to but it has no setter.\"),\n this\n );\n };\n }\n Object.defineProperty(target, key, sharedPropertyDefinition);\n}\n\nfunction createComputedGetter (key) {\n return function computedGetter () {\n var watcher = this._computedWatchers && this._computedWatchers[key];\n if (watcher) {\n if (watcher.dirty) {\n watcher.evaluate();\n }\n if (Dep.target) {\n watcher.depend();\n }\n return watcher.value\n }\n }\n}\n\nfunction createGetterInvoker(fn) {\n return function computedGetter () {\n return fn.call(this, this)\n }\n}\n\nfunction initMethods (vm, methods) {\n var props = vm.$options.props;\n for (var key in methods) {\n if (process.env.NODE_ENV !== 'production') {\n if (typeof methods[key] !== 'function') {\n warn(\n \"Method \\\"\" + key + \"\\\" has type \\\"\" + (typeof methods[key]) + \"\\\" in the component definition. \" +\n \"Did you reference the function correctly?\",\n vm\n );\n }\n if (props && hasOwn(props, key)) {\n warn(\n (\"Method \\\"\" + key + \"\\\" has already been defined as a prop.\"),\n vm\n );\n }\n if ((key in vm) && isReserved(key)) {\n warn(\n \"Method \\\"\" + key + \"\\\" conflicts with an existing Vue instance method. \" +\n \"Avoid defining component methods that start with _ or $.\"\n );\n }\n }\n vm[key] = typeof methods[key] !== 'function' ? noop : bind(methods[key], vm);\n }\n}\n\nfunction initWatch (vm, watch) {\n for (var key in watch) {\n var handler = watch[key];\n if (Array.isArray(handler)) {\n for (var i = 0; i < handler.length; i++) {\n createWatcher(vm, key, handler[i]);\n }\n } else {\n createWatcher(vm, key, handler);\n }\n }\n}\n\nfunction createWatcher (\n vm,\n expOrFn,\n handler,\n options\n) {\n if (isPlainObject(handler)) {\n options = handler;\n handler = handler.handler;\n }\n if (typeof handler === 'string') {\n handler = vm[handler];\n }\n return vm.$watch(expOrFn, handler, options)\n}\n\nfunction stateMixin (Vue) {\n // flow somehow has problems with directly declared definition object\n // when using Object.defineProperty, so we have to procedurally build up\n // the object here.\n var dataDef = {};\n dataDef.get = function () { return this._data };\n var propsDef = {};\n propsDef.get = function () { return this._props };\n if (process.env.NODE_ENV !== 'production') {\n dataDef.set = function () {\n warn(\n 'Avoid replacing instance root $data. ' +\n 'Use nested data properties instead.',\n this\n );\n };\n propsDef.set = function () {\n warn(\"$props is readonly.\", this);\n };\n }\n Object.defineProperty(Vue.prototype, '$data', dataDef);\n Object.defineProperty(Vue.prototype, '$props', propsDef);\n\n Vue.prototype.$set = set;\n Vue.prototype.$delete = del;\n\n Vue.prototype.$watch = function (\n expOrFn,\n cb,\n options\n ) {\n var vm = this;\n if (isPlainObject(cb)) {\n return createWatcher(vm, expOrFn, cb, options)\n }\n options = options || {};\n options.user = true;\n var watcher = new Watcher(vm, expOrFn, cb, options);\n if (options.immediate) {\n var info = \"callback for immediate watcher \\\"\" + (watcher.expression) + \"\\\"\";\n pushTarget();\n invokeWithErrorHandling(cb, vm, [watcher.value], vm, info);\n popTarget();\n }\n return function unwatchFn () {\n watcher.teardown();\n }\n };\n}\n\n/* */\n\nvar uid$3 = 0;\n\nfunction initMixin (Vue) {\n Vue.prototype._init = function (options) {\n var vm = this;\n // a uid\n vm._uid = uid$3++;\n\n var startTag, endTag;\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n startTag = \"vue-perf-start:\" + (vm._uid);\n endTag = \"vue-perf-end:\" + (vm._uid);\n mark(startTag);\n }\n\n // a flag to avoid this being observed\n vm._isVue = true;\n // merge options\n if (options && options._isComponent) {\n // optimize internal component instantiation\n // since dynamic options merging is pretty slow, and none of the\n // internal component options needs special treatment.\n initInternalComponent(vm, options);\n } else {\n vm.$options = mergeOptions(\n resolveConstructorOptions(vm.constructor),\n options || {},\n vm\n );\n }\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n initProxy(vm);\n } else {\n vm._renderProxy = vm;\n }\n // expose real self\n vm._self = vm;\n initLifecycle(vm);\n initEvents(vm);\n initRender(vm);\n callHook(vm, 'beforeCreate');\n initInjections(vm); // resolve injections before data/props\n initState(vm);\n initProvide(vm); // resolve provide after data/props\n callHook(vm, 'created');\n\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n vm._name = formatComponentName(vm, false);\n mark(endTag);\n measure((\"vue \" + (vm._name) + \" init\"), startTag, endTag);\n }\n\n if (vm.$options.el) {\n vm.$mount(vm.$options.el);\n }\n };\n}\n\nfunction initInternalComponent (vm, options) {\n var opts = vm.$options = Object.create(vm.constructor.options);\n // doing this because it's faster than dynamic enumeration.\n var parentVnode = options._parentVnode;\n opts.parent = options.parent;\n opts._parentVnode = parentVnode;\n\n var vnodeComponentOptions = parentVnode.componentOptions;\n opts.propsData = vnodeComponentOptions.propsData;\n opts._parentListeners = vnodeComponentOptions.listeners;\n opts._renderChildren = vnodeComponentOptions.children;\n opts._componentTag = vnodeComponentOptions.tag;\n\n if (options.render) {\n opts.render = options.render;\n opts.staticRenderFns = options.staticRenderFns;\n }\n}\n\nfunction resolveConstructorOptions (Ctor) {\n var options = Ctor.options;\n if (Ctor.super) {\n var superOptions = resolveConstructorOptions(Ctor.super);\n var cachedSuperOptions = Ctor.superOptions;\n if (superOptions !== cachedSuperOptions) {\n // super option changed,\n // need to resolve new options.\n Ctor.superOptions = superOptions;\n // check if there are any late-modified/attached options (#4976)\n var modifiedOptions = resolveModifiedOptions(Ctor);\n // update base extend options\n if (modifiedOptions) {\n extend(Ctor.extendOptions, modifiedOptions);\n }\n options = Ctor.options = mergeOptions(superOptions, Ctor.extendOptions);\n if (options.name) {\n options.components[options.name] = Ctor;\n }\n }\n }\n return options\n}\n\nfunction resolveModifiedOptions (Ctor) {\n var modified;\n var latest = Ctor.options;\n var sealed = Ctor.sealedOptions;\n for (var key in latest) {\n if (latest[key] !== sealed[key]) {\n if (!modified) { modified = {}; }\n modified[key] = latest[key];\n }\n }\n return modified\n}\n\nfunction Vue (options) {\n if (process.env.NODE_ENV !== 'production' &&\n !(this instanceof Vue)\n ) {\n warn('Vue is a constructor and should be called with the `new` keyword');\n }\n this._init(options);\n}\n\ninitMixin(Vue);\nstateMixin(Vue);\neventsMixin(Vue);\nlifecycleMixin(Vue);\nrenderMixin(Vue);\n\n/* */\n\nfunction initUse (Vue) {\n Vue.use = function (plugin) {\n var installedPlugins = (this._installedPlugins || (this._installedPlugins = []));\n if (installedPlugins.indexOf(plugin) > -1) {\n return this\n }\n\n // additional parameters\n var args = toArray(arguments, 1);\n args.unshift(this);\n if (typeof plugin.install === 'function') {\n plugin.install.apply(plugin, args);\n } else if (typeof plugin === 'function') {\n plugin.apply(null, args);\n }\n installedPlugins.push(plugin);\n return this\n };\n}\n\n/* */\n\nfunction initMixin$1 (Vue) {\n Vue.mixin = function (mixin) {\n this.options = mergeOptions(this.options, mixin);\n return this\n };\n}\n\n/* */\n\nfunction initExtend (Vue) {\n /**\n * Each instance constructor, including Vue, has a unique\n * cid. This enables us to create wrapped \"child\n * constructors\" for prototypal inheritance and cache them.\n */\n Vue.cid = 0;\n var cid = 1;\n\n /**\n * Class inheritance\n */\n Vue.extend = function (extendOptions) {\n extendOptions = extendOptions || {};\n var Super = this;\n var SuperId = Super.cid;\n var cachedCtors = extendOptions._Ctor || (extendOptions._Ctor = {});\n if (cachedCtors[SuperId]) {\n return cachedCtors[SuperId]\n }\n\n var name = extendOptions.name || Super.options.name;\n if (process.env.NODE_ENV !== 'production' && name) {\n validateComponentName(name);\n }\n\n var Sub = function VueComponent (options) {\n this._init(options);\n };\n Sub.prototype = Object.create(Super.prototype);\n Sub.prototype.constructor = Sub;\n Sub.cid = cid++;\n Sub.options = mergeOptions(\n Super.options,\n extendOptions\n );\n Sub['super'] = Super;\n\n // For props and computed properties, we define the proxy getters on\n // the Vue instances at extension time, on the extended prototype. This\n // avoids Object.defineProperty calls for each instance created.\n if (Sub.options.props) {\n initProps$1(Sub);\n }\n if (Sub.options.computed) {\n initComputed$1(Sub);\n }\n\n // allow further extension/mixin/plugin usage\n Sub.extend = Super.extend;\n Sub.mixin = Super.mixin;\n Sub.use = Super.use;\n\n // create asset registers, so extended classes\n // can have their private assets too.\n ASSET_TYPES.forEach(function (type) {\n Sub[type] = Super[type];\n });\n // enable recursive self-lookup\n if (name) {\n Sub.options.components[name] = Sub;\n }\n\n // keep a reference to the super options at extension time.\n // later at instantiation we can check if Super's options have\n // been updated.\n Sub.superOptions = Super.options;\n Sub.extendOptions = extendOptions;\n Sub.sealedOptions = extend({}, Sub.options);\n\n // cache constructor\n cachedCtors[SuperId] = Sub;\n return Sub\n };\n}\n\nfunction initProps$1 (Comp) {\n var props = Comp.options.props;\n for (var key in props) {\n proxy(Comp.prototype, \"_props\", key);\n }\n}\n\nfunction initComputed$1 (Comp) {\n var computed = Comp.options.computed;\n for (var key in computed) {\n defineComputed(Comp.prototype, key, computed[key]);\n }\n}\n\n/* */\n\nfunction initAssetRegisters (Vue) {\n /**\n * Create asset registration methods.\n */\n ASSET_TYPES.forEach(function (type) {\n Vue[type] = function (\n id,\n definition\n ) {\n if (!definition) {\n return this.options[type + 's'][id]\n } else {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && type === 'component') {\n validateComponentName(id);\n }\n if (type === 'component' && isPlainObject(definition)) {\n definition.name = definition.name || id;\n definition = this.options._base.extend(definition);\n }\n if (type === 'directive' && typeof definition === 'function') {\n definition = { bind: definition, update: definition };\n }\n this.options[type + 's'][id] = definition;\n return definition\n }\n };\n });\n}\n\n/* */\n\n\n\n\n\nfunction getComponentName (opts) {\n return opts && (opts.Ctor.options.name || opts.tag)\n}\n\nfunction matches (pattern, name) {\n if (Array.isArray(pattern)) {\n return pattern.indexOf(name) > -1\n } else if (typeof pattern === 'string') {\n return pattern.split(',').indexOf(name) > -1\n } else if (isRegExp(pattern)) {\n return pattern.test(name)\n }\n /* istanbul ignore next */\n return false\n}\n\nfunction pruneCache (keepAliveInstance, filter) {\n var cache = keepAliveInstance.cache;\n var keys = keepAliveInstance.keys;\n var _vnode = keepAliveInstance._vnode;\n for (var key in cache) {\n var entry = cache[key];\n if (entry) {\n var name = entry.name;\n if (name && !filter(name)) {\n pruneCacheEntry(cache, key, keys, _vnode);\n }\n }\n }\n}\n\nfunction pruneCacheEntry (\n cache,\n key,\n keys,\n current\n) {\n var entry = cache[key];\n if (entry && (!current || entry.tag !== current.tag)) {\n entry.componentInstance.$destroy();\n }\n cache[key] = null;\n remove(keys, key);\n}\n\nvar patternTypes = [String, RegExp, Array];\n\nvar KeepAlive = {\n name: 'keep-alive',\n abstract: true,\n\n props: {\n include: patternTypes,\n exclude: patternTypes,\n max: [String, Number]\n },\n\n methods: {\n cacheVNode: function cacheVNode() {\n var ref = this;\n var cache = ref.cache;\n var keys = ref.keys;\n var vnodeToCache = ref.vnodeToCache;\n var keyToCache = ref.keyToCache;\n if (vnodeToCache) {\n var tag = vnodeToCache.tag;\n var componentInstance = vnodeToCache.componentInstance;\n var componentOptions = vnodeToCache.componentOptions;\n cache[keyToCache] = {\n name: getComponentName(componentOptions),\n tag: tag,\n componentInstance: componentInstance,\n };\n keys.push(keyToCache);\n // prune oldest entry\n if (this.max && keys.length > parseInt(this.max)) {\n pruneCacheEntry(cache, keys[0], keys, this._vnode);\n }\n this.vnodeToCache = null;\n }\n }\n },\n\n created: function created () {\n this.cache = Object.create(null);\n this.keys = [];\n },\n\n destroyed: function destroyed () {\n for (var key in this.cache) {\n pruneCacheEntry(this.cache, key, this.keys);\n }\n },\n\n mounted: function mounted () {\n var this$1 = this;\n\n this.cacheVNode();\n this.$watch('include', function (val) {\n pruneCache(this$1, function (name) { return matches(val, name); });\n });\n this.$watch('exclude', function (val) {\n pruneCache(this$1, function (name) { return !matches(val, name); });\n });\n },\n\n updated: function updated () {\n this.cacheVNode();\n },\n\n render: function render () {\n var slot = this.$slots.default;\n var vnode = getFirstComponentChild(slot);\n var componentOptions = vnode && vnode.componentOptions;\n if (componentOptions) {\n // check pattern\n var name = getComponentName(componentOptions);\n var ref = this;\n var include = ref.include;\n var exclude = ref.exclude;\n if (\n // not included\n (include && (!name || !matches(include, name))) ||\n // excluded\n (exclude && name && matches(exclude, name))\n ) {\n return vnode\n }\n\n var ref$1 = this;\n var cache = ref$1.cache;\n var keys = ref$1.keys;\n var key = vnode.key == null\n // same constructor may get registered as different local components\n // so cid alone is not enough (#3269)\n ? componentOptions.Ctor.cid + (componentOptions.tag ? (\"::\" + (componentOptions.tag)) : '')\n : vnode.key;\n if (cache[key]) {\n vnode.componentInstance = cache[key].componentInstance;\n // make current key freshest\n remove(keys, key);\n keys.push(key);\n } else {\n // delay setting the cache until update\n this.vnodeToCache = vnode;\n this.keyToCache = key;\n }\n\n vnode.data.keepAlive = true;\n }\n return vnode || (slot && slot[0])\n }\n};\n\nvar builtInComponents = {\n KeepAlive: KeepAlive\n};\n\n/* */\n\nfunction initGlobalAPI (Vue) {\n // config\n var configDef = {};\n configDef.get = function () { return config; };\n if (process.env.NODE_ENV !== 'production') {\n configDef.set = function () {\n warn(\n 'Do not replace the Vue.config object, set individual fields instead.'\n );\n };\n }\n Object.defineProperty(Vue, 'config', configDef);\n\n // exposed util methods.\n // NOTE: these are not considered part of the public API - avoid relying on\n // them unless you are aware of the risk.\n Vue.util = {\n warn: warn,\n extend: extend,\n mergeOptions: mergeOptions,\n defineReactive: defineReactive$$1\n };\n\n Vue.set = set;\n Vue.delete = del;\n Vue.nextTick = nextTick;\n\n // 2.6 explicit observable API\n Vue.observable = function (obj) {\n observe(obj);\n return obj\n };\n\n Vue.options = Object.create(null);\n ASSET_TYPES.forEach(function (type) {\n Vue.options[type + 's'] = Object.create(null);\n });\n\n // this is used to identify the \"base\" constructor to extend all plain-object\n // components with in Weex's multi-instance scenarios.\n Vue.options._base = Vue;\n\n extend(Vue.options.components, builtInComponents);\n\n initUse(Vue);\n initMixin$1(Vue);\n initExtend(Vue);\n initAssetRegisters(Vue);\n}\n\ninitGlobalAPI(Vue);\n\nObject.defineProperty(Vue.prototype, '$isServer', {\n get: isServerRendering\n});\n\nObject.defineProperty(Vue.prototype, '$ssrContext', {\n get: function get () {\n /* istanbul ignore next */\n return this.$vnode && this.$vnode.ssrContext\n }\n});\n\n// expose FunctionalRenderContext for ssr runtime helper installation\nObject.defineProperty(Vue, 'FunctionalRenderContext', {\n value: FunctionalRenderContext\n});\n\nVue.version = '2.6.14';\n\n/* */\n\n// these are reserved for web because they are directly compiled away\n// during template compilation\nvar isReservedAttr = makeMap('style,class');\n\n// attributes that should be using props for binding\nvar acceptValue = makeMap('input,textarea,option,select,progress');\nvar mustUseProp = function (tag, type, attr) {\n return (\n (attr === 'value' && acceptValue(tag)) && type !== 'button' ||\n (attr === 'selected' && tag === 'option') ||\n (attr === 'checked' && tag === 'input') ||\n (attr === 'muted' && tag === 'video')\n )\n};\n\nvar isEnumeratedAttr = makeMap('contenteditable,draggable,spellcheck');\n\nvar isValidContentEditableValue = makeMap('events,caret,typing,plaintext-only');\n\nvar convertEnumeratedValue = function (key, value) {\n return isFalsyAttrValue(value) || value === 'false'\n ? 'false'\n // allow arbitrary string value for contenteditable\n : key === 'contenteditable' && isValidContentEditableValue(value)\n ? value\n : 'true'\n};\n\nvar isBooleanAttr = makeMap(\n 'allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,' +\n 'default,defaultchecked,defaultmuted,defaultselected,defer,disabled,' +\n 'enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,' +\n 'muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,' +\n 'required,reversed,scoped,seamless,selected,sortable,' +\n 'truespeed,typemustmatch,visible'\n);\n\nvar xlinkNS = 'http://www.w3.org/1999/xlink';\n\nvar isXlink = function (name) {\n return name.charAt(5) === ':' && name.slice(0, 5) === 'xlink'\n};\n\nvar getXlinkProp = function (name) {\n return isXlink(name) ? name.slice(6, name.length) : ''\n};\n\nvar isFalsyAttrValue = function (val) {\n return val == null || val === false\n};\n\n/* */\n\nfunction genClassForVnode (vnode) {\n var data = vnode.data;\n var parentNode = vnode;\n var childNode = vnode;\n while (isDef(childNode.componentInstance)) {\n childNode = childNode.componentInstance._vnode;\n if (childNode && childNode.data) {\n data = mergeClassData(childNode.data, data);\n }\n }\n while (isDef(parentNode = parentNode.parent)) {\n if (parentNode && parentNode.data) {\n data = mergeClassData(data, parentNode.data);\n }\n }\n return renderClass(data.staticClass, data.class)\n}\n\nfunction mergeClassData (child, parent) {\n return {\n staticClass: concat(child.staticClass, parent.staticClass),\n class: isDef(child.class)\n ? [child.class, parent.class]\n : parent.class\n }\n}\n\nfunction renderClass (\n staticClass,\n dynamicClass\n) {\n if (isDef(staticClass) || isDef(dynamicClass)) {\n return concat(staticClass, stringifyClass(dynamicClass))\n }\n /* istanbul ignore next */\n return ''\n}\n\nfunction concat (a, b) {\n return a ? b ? (a + ' ' + b) : a : (b || '')\n}\n\nfunction stringifyClass (value) {\n if (Array.isArray(value)) {\n return stringifyArray(value)\n }\n if (isObject(value)) {\n return stringifyObject(value)\n }\n if (typeof value === 'string') {\n return value\n }\n /* istanbul ignore next */\n return ''\n}\n\nfunction stringifyArray (value) {\n var res = '';\n var stringified;\n for (var i = 0, l = value.length; i < l; i++) {\n if (isDef(stringified = stringifyClass(value[i])) && stringified !== '') {\n if (res) { res += ' '; }\n res += stringified;\n }\n }\n return res\n}\n\nfunction stringifyObject (value) {\n var res = '';\n for (var key in value) {\n if (value[key]) {\n if (res) { res += ' '; }\n res += key;\n }\n }\n return res\n}\n\n/* */\n\nvar namespaceMap = {\n svg: 'http://www.w3.org/2000/svg',\n math: 'http://www.w3.org/1998/Math/MathML'\n};\n\nvar isHTMLTag = makeMap(\n 'html,body,base,head,link,meta,style,title,' +\n 'address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,' +\n 'div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,' +\n 'a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,' +\n 's,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,' +\n 'embed,object,param,source,canvas,script,noscript,del,ins,' +\n 'caption,col,colgroup,table,thead,tbody,td,th,tr,' +\n 'button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,' +\n 'output,progress,select,textarea,' +\n 'details,dialog,menu,menuitem,summary,' +\n 'content,element,shadow,template,blockquote,iframe,tfoot'\n);\n\n// this map is intentionally selective, only covering SVG elements that may\n// contain child elements.\nvar isSVG = makeMap(\n 'svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,' +\n 'foreignobject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,' +\n 'polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view',\n true\n);\n\nvar isReservedTag = function (tag) {\n return isHTMLTag(tag) || isSVG(tag)\n};\n\nfunction getTagNamespace (tag) {\n if (isSVG(tag)) {\n return 'svg'\n }\n // basic support for MathML\n // note it doesn't support other MathML elements being component roots\n if (tag === 'math') {\n return 'math'\n }\n}\n\nvar unknownElementCache = Object.create(null);\nfunction isUnknownElement (tag) {\n /* istanbul ignore if */\n if (!inBrowser) {\n return true\n }\n if (isReservedTag(tag)) {\n return false\n }\n tag = tag.toLowerCase();\n /* istanbul ignore if */\n if (unknownElementCache[tag] != null) {\n return unknownElementCache[tag]\n }\n var el = document.createElement(tag);\n if (tag.indexOf('-') > -1) {\n // http://stackoverflow.com/a/28210364/1070244\n return (unknownElementCache[tag] = (\n el.constructor === window.HTMLUnknownElement ||\n el.constructor === window.HTMLElement\n ))\n } else {\n return (unknownElementCache[tag] = /HTMLUnknownElement/.test(el.toString()))\n }\n}\n\nvar isTextInputType = makeMap('text,number,password,search,email,tel,url');\n\n/* */\n\n/**\n * Query an element selector if it's not an element already.\n */\nfunction query (el) {\n if (typeof el === 'string') {\n var selected = document.querySelector(el);\n if (!selected) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Cannot find element: ' + el\n );\n return document.createElement('div')\n }\n return selected\n } else {\n return el\n }\n}\n\n/* */\n\nfunction createElement$1 (tagName, vnode) {\n var elm = document.createElement(tagName);\n if (tagName !== 'select') {\n return elm\n }\n // false or null will remove the attribute but undefined will not\n if (vnode.data && vnode.data.attrs && vnode.data.attrs.multiple !== undefined) {\n elm.setAttribute('multiple', 'multiple');\n }\n return elm\n}\n\nfunction createElementNS (namespace, tagName) {\n return document.createElementNS(namespaceMap[namespace], tagName)\n}\n\nfunction createTextNode (text) {\n return document.createTextNode(text)\n}\n\nfunction createComment (text) {\n return document.createComment(text)\n}\n\nfunction insertBefore (parentNode, newNode, referenceNode) {\n parentNode.insertBefore(newNode, referenceNode);\n}\n\nfunction removeChild (node, child) {\n node.removeChild(child);\n}\n\nfunction appendChild (node, child) {\n node.appendChild(child);\n}\n\nfunction parentNode (node) {\n return node.parentNode\n}\n\nfunction nextSibling (node) {\n return node.nextSibling\n}\n\nfunction tagName (node) {\n return node.tagName\n}\n\nfunction setTextContent (node, text) {\n node.textContent = text;\n}\n\nfunction setStyleScope (node, scopeId) {\n node.setAttribute(scopeId, '');\n}\n\nvar nodeOps = /*#__PURE__*/Object.freeze({\n createElement: createElement$1,\n createElementNS: createElementNS,\n createTextNode: createTextNode,\n createComment: createComment,\n insertBefore: insertBefore,\n removeChild: removeChild,\n appendChild: appendChild,\n parentNode: parentNode,\n nextSibling: nextSibling,\n tagName: tagName,\n setTextContent: setTextContent,\n setStyleScope: setStyleScope\n});\n\n/* */\n\nvar ref = {\n create: function create (_, vnode) {\n registerRef(vnode);\n },\n update: function update (oldVnode, vnode) {\n if (oldVnode.data.ref !== vnode.data.ref) {\n registerRef(oldVnode, true);\n registerRef(vnode);\n }\n },\n destroy: function destroy (vnode) {\n registerRef(vnode, true);\n }\n};\n\nfunction registerRef (vnode, isRemoval) {\n var key = vnode.data.ref;\n if (!isDef(key)) { return }\n\n var vm = vnode.context;\n var ref = vnode.componentInstance || vnode.elm;\n var refs = vm.$refs;\n if (isRemoval) {\n if (Array.isArray(refs[key])) {\n remove(refs[key], ref);\n } else if (refs[key] === ref) {\n refs[key] = undefined;\n }\n } else {\n if (vnode.data.refInFor) {\n if (!Array.isArray(refs[key])) {\n refs[key] = [ref];\n } else if (refs[key].indexOf(ref) < 0) {\n // $flow-disable-line\n refs[key].push(ref);\n }\n } else {\n refs[key] = ref;\n }\n }\n}\n\n/**\n * Virtual DOM patching algorithm based on Snabbdom by\n * Simon Friis Vindum (@paldepind)\n * Licensed under the MIT License\n * https://github.com/paldepind/snabbdom/blob/master/LICENSE\n *\n * modified by Evan You (@yyx990803)\n *\n * Not type-checking this because this file is perf-critical and the cost\n * of making flow understand it is not worth it.\n */\n\nvar emptyNode = new VNode('', {}, []);\n\nvar hooks = ['create', 'activate', 'update', 'remove', 'destroy'];\n\nfunction sameVnode (a, b) {\n return (\n a.key === b.key &&\n a.asyncFactory === b.asyncFactory && (\n (\n a.tag === b.tag &&\n a.isComment === b.isComment &&\n isDef(a.data) === isDef(b.data) &&\n sameInputType(a, b)\n ) || (\n isTrue(a.isAsyncPlaceholder) &&\n isUndef(b.asyncFactory.error)\n )\n )\n )\n}\n\nfunction sameInputType (a, b) {\n if (a.tag !== 'input') { return true }\n var i;\n var typeA = isDef(i = a.data) && isDef(i = i.attrs) && i.type;\n var typeB = isDef(i = b.data) && isDef(i = i.attrs) && i.type;\n return typeA === typeB || isTextInputType(typeA) && isTextInputType(typeB)\n}\n\nfunction createKeyToOldIdx (children, beginIdx, endIdx) {\n var i, key;\n var map = {};\n for (i = beginIdx; i <= endIdx; ++i) {\n key = children[i].key;\n if (isDef(key)) { map[key] = i; }\n }\n return map\n}\n\nfunction createPatchFunction (backend) {\n var i, j;\n var cbs = {};\n\n var modules = backend.modules;\n var nodeOps = backend.nodeOps;\n\n for (i = 0; i < hooks.length; ++i) {\n cbs[hooks[i]] = [];\n for (j = 0; j < modules.length; ++j) {\n if (isDef(modules[j][hooks[i]])) {\n cbs[hooks[i]].push(modules[j][hooks[i]]);\n }\n }\n }\n\n function emptyNodeAt (elm) {\n return new VNode(nodeOps.tagName(elm).toLowerCase(), {}, [], undefined, elm)\n }\n\n function createRmCb (childElm, listeners) {\n function remove$$1 () {\n if (--remove$$1.listeners === 0) {\n removeNode(childElm);\n }\n }\n remove$$1.listeners = listeners;\n return remove$$1\n }\n\n function removeNode (el) {\n var parent = nodeOps.parentNode(el);\n // element may have already been removed due to v-html / v-text\n if (isDef(parent)) {\n nodeOps.removeChild(parent, el);\n }\n }\n\n function isUnknownElement$$1 (vnode, inVPre) {\n return (\n !inVPre &&\n !vnode.ns &&\n !(\n config.ignoredElements.length &&\n config.ignoredElements.some(function (ignore) {\n return isRegExp(ignore)\n ? ignore.test(vnode.tag)\n : ignore === vnode.tag\n })\n ) &&\n config.isUnknownElement(vnode.tag)\n )\n }\n\n var creatingElmInVPre = 0;\n\n function createElm (\n vnode,\n insertedVnodeQueue,\n parentElm,\n refElm,\n nested,\n ownerArray,\n index\n ) {\n if (isDef(vnode.elm) && isDef(ownerArray)) {\n // This vnode was used in a previous render!\n // now it's used as a new node, overwriting its elm would cause\n // potential patch errors down the road when it's used as an insertion\n // reference node. Instead, we clone the node on-demand before creating\n // associated DOM element for it.\n vnode = ownerArray[index] = cloneVNode(vnode);\n }\n\n vnode.isRootInsert = !nested; // for transition enter check\n if (createComponent(vnode, insertedVnodeQueue, parentElm, refElm)) {\n return\n }\n\n var data = vnode.data;\n var children = vnode.children;\n var tag = vnode.tag;\n if (isDef(tag)) {\n if (process.env.NODE_ENV !== 'production') {\n if (data && data.pre) {\n creatingElmInVPre++;\n }\n if (isUnknownElement$$1(vnode, creatingElmInVPre)) {\n warn(\n 'Unknown custom element: <' + tag + '> - did you ' +\n 'register the component correctly? For recursive components, ' +\n 'make sure to provide the \"name\" option.',\n vnode.context\n );\n }\n }\n\n vnode.elm = vnode.ns\n ? nodeOps.createElementNS(vnode.ns, tag)\n : nodeOps.createElement(tag, vnode);\n setScope(vnode);\n\n /* istanbul ignore if */\n {\n createChildren(vnode, children, insertedVnodeQueue);\n if (isDef(data)) {\n invokeCreateHooks(vnode, insertedVnodeQueue);\n }\n insert(parentElm, vnode.elm, refElm);\n }\n\n if (process.env.NODE_ENV !== 'production' && data && data.pre) {\n creatingElmInVPre--;\n }\n } else if (isTrue(vnode.isComment)) {\n vnode.elm = nodeOps.createComment(vnode.text);\n insert(parentElm, vnode.elm, refElm);\n } else {\n vnode.elm = nodeOps.createTextNode(vnode.text);\n insert(parentElm, vnode.elm, refElm);\n }\n }\n\n function createComponent (vnode, insertedVnodeQueue, parentElm, refElm) {\n var i = vnode.data;\n if (isDef(i)) {\n var isReactivated = isDef(vnode.componentInstance) && i.keepAlive;\n if (isDef(i = i.hook) && isDef(i = i.init)) {\n i(vnode, false /* hydrating */);\n }\n // after calling the init hook, if the vnode is a child component\n // it should've created a child instance and mounted it. the child\n // component also has set the placeholder vnode's elm.\n // in that case we can just return the element and be done.\n if (isDef(vnode.componentInstance)) {\n initComponent(vnode, insertedVnodeQueue);\n insert(parentElm, vnode.elm, refElm);\n if (isTrue(isReactivated)) {\n reactivateComponent(vnode, insertedVnodeQueue, parentElm, refElm);\n }\n return true\n }\n }\n }\n\n function initComponent (vnode, insertedVnodeQueue) {\n if (isDef(vnode.data.pendingInsert)) {\n insertedVnodeQueue.push.apply(insertedVnodeQueue, vnode.data.pendingInsert);\n vnode.data.pendingInsert = null;\n }\n vnode.elm = vnode.componentInstance.$el;\n if (isPatchable(vnode)) {\n invokeCreateHooks(vnode, insertedVnodeQueue);\n setScope(vnode);\n } else {\n // empty component root.\n // skip all element-related modules except for ref (#3455)\n registerRef(vnode);\n // make sure to invoke the insert hook\n insertedVnodeQueue.push(vnode);\n }\n }\n\n function reactivateComponent (vnode, insertedVnodeQueue, parentElm, refElm) {\n var i;\n // hack for #4339: a reactivated component with inner transition\n // does not trigger because the inner node's created hooks are not called\n // again. It's not ideal to involve module-specific logic in here but\n // there doesn't seem to be a better way to do it.\n var innerNode = vnode;\n while (innerNode.componentInstance) {\n innerNode = innerNode.componentInstance._vnode;\n if (isDef(i = innerNode.data) && isDef(i = i.transition)) {\n for (i = 0; i < cbs.activate.length; ++i) {\n cbs.activate[i](emptyNode, innerNode);\n }\n insertedVnodeQueue.push(innerNode);\n break\n }\n }\n // unlike a newly created component,\n // a reactivated keep-alive component doesn't insert itself\n insert(parentElm, vnode.elm, refElm);\n }\n\n function insert (parent, elm, ref$$1) {\n if (isDef(parent)) {\n if (isDef(ref$$1)) {\n if (nodeOps.parentNode(ref$$1) === parent) {\n nodeOps.insertBefore(parent, elm, ref$$1);\n }\n } else {\n nodeOps.appendChild(parent, elm);\n }\n }\n }\n\n function createChildren (vnode, children, insertedVnodeQueue) {\n if (Array.isArray(children)) {\n if (process.env.NODE_ENV !== 'production') {\n checkDuplicateKeys(children);\n }\n for (var i = 0; i < children.length; ++i) {\n createElm(children[i], insertedVnodeQueue, vnode.elm, null, true, children, i);\n }\n } else if (isPrimitive(vnode.text)) {\n nodeOps.appendChild(vnode.elm, nodeOps.createTextNode(String(vnode.text)));\n }\n }\n\n function isPatchable (vnode) {\n while (vnode.componentInstance) {\n vnode = vnode.componentInstance._vnode;\n }\n return isDef(vnode.tag)\n }\n\n function invokeCreateHooks (vnode, insertedVnodeQueue) {\n for (var i$1 = 0; i$1 < cbs.create.length; ++i$1) {\n cbs.create[i$1](emptyNode, vnode);\n }\n i = vnode.data.hook; // Reuse variable\n if (isDef(i)) {\n if (isDef(i.create)) { i.create(emptyNode, vnode); }\n if (isDef(i.insert)) { insertedVnodeQueue.push(vnode); }\n }\n }\n\n // set scope id attribute for scoped CSS.\n // this is implemented as a special case to avoid the overhead\n // of going through the normal attribute patching process.\n function setScope (vnode) {\n var i;\n if (isDef(i = vnode.fnScopeId)) {\n nodeOps.setStyleScope(vnode.elm, i);\n } else {\n var ancestor = vnode;\n while (ancestor) {\n if (isDef(i = ancestor.context) && isDef(i = i.$options._scopeId)) {\n nodeOps.setStyleScope(vnode.elm, i);\n }\n ancestor = ancestor.parent;\n }\n }\n // for slot content they should also get the scopeId from the host instance.\n if (isDef(i = activeInstance) &&\n i !== vnode.context &&\n i !== vnode.fnContext &&\n isDef(i = i.$options._scopeId)\n ) {\n nodeOps.setStyleScope(vnode.elm, i);\n }\n }\n\n function addVnodes (parentElm, refElm, vnodes, startIdx, endIdx, insertedVnodeQueue) {\n for (; startIdx <= endIdx; ++startIdx) {\n createElm(vnodes[startIdx], insertedVnodeQueue, parentElm, refElm, false, vnodes, startIdx);\n }\n }\n\n function invokeDestroyHook (vnode) {\n var i, j;\n var data = vnode.data;\n if (isDef(data)) {\n if (isDef(i = data.hook) && isDef(i = i.destroy)) { i(vnode); }\n for (i = 0; i < cbs.destroy.length; ++i) { cbs.destroy[i](vnode); }\n }\n if (isDef(i = vnode.children)) {\n for (j = 0; j < vnode.children.length; ++j) {\n invokeDestroyHook(vnode.children[j]);\n }\n }\n }\n\n function removeVnodes (vnodes, startIdx, endIdx) {\n for (; startIdx <= endIdx; ++startIdx) {\n var ch = vnodes[startIdx];\n if (isDef(ch)) {\n if (isDef(ch.tag)) {\n removeAndInvokeRemoveHook(ch);\n invokeDestroyHook(ch);\n } else { // Text node\n removeNode(ch.elm);\n }\n }\n }\n }\n\n function removeAndInvokeRemoveHook (vnode, rm) {\n if (isDef(rm) || isDef(vnode.data)) {\n var i;\n var listeners = cbs.remove.length + 1;\n if (isDef(rm)) {\n // we have a recursively passed down rm callback\n // increase the listeners count\n rm.listeners += listeners;\n } else {\n // directly removing\n rm = createRmCb(vnode.elm, listeners);\n }\n // recursively invoke hooks on child component root node\n if (isDef(i = vnode.componentInstance) && isDef(i = i._vnode) && isDef(i.data)) {\n removeAndInvokeRemoveHook(i, rm);\n }\n for (i = 0; i < cbs.remove.length; ++i) {\n cbs.remove[i](vnode, rm);\n }\n if (isDef(i = vnode.data.hook) && isDef(i = i.remove)) {\n i(vnode, rm);\n } else {\n rm();\n }\n } else {\n removeNode(vnode.elm);\n }\n }\n\n function updateChildren (parentElm, oldCh, newCh, insertedVnodeQueue, removeOnly) {\n var oldStartIdx = 0;\n var newStartIdx = 0;\n var oldEndIdx = oldCh.length - 1;\n var oldStartVnode = oldCh[0];\n var oldEndVnode = oldCh[oldEndIdx];\n var newEndIdx = newCh.length - 1;\n var newStartVnode = newCh[0];\n var newEndVnode = newCh[newEndIdx];\n var oldKeyToIdx, idxInOld, vnodeToMove, refElm;\n\n // removeOnly is a special flag used only by <transition-group>\n // to ensure removed elements stay in correct relative positions\n // during leaving transitions\n var canMove = !removeOnly;\n\n if (process.env.NODE_ENV !== 'production') {\n checkDuplicateKeys(newCh);\n }\n\n while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) {\n if (isUndef(oldStartVnode)) {\n oldStartVnode = oldCh[++oldStartIdx]; // Vnode has been moved left\n } else if (isUndef(oldEndVnode)) {\n oldEndVnode = oldCh[--oldEndIdx];\n } else if (sameVnode(oldStartVnode, newStartVnode)) {\n patchVnode(oldStartVnode, newStartVnode, insertedVnodeQueue, newCh, newStartIdx);\n oldStartVnode = oldCh[++oldStartIdx];\n newStartVnode = newCh[++newStartIdx];\n } else if (sameVnode(oldEndVnode, newEndVnode)) {\n patchVnode(oldEndVnode, newEndVnode, insertedVnodeQueue, newCh, newEndIdx);\n oldEndVnode = oldCh[--oldEndIdx];\n newEndVnode = newCh[--newEndIdx];\n } else if (sameVnode(oldStartVnode, newEndVnode)) { // Vnode moved right\n patchVnode(oldStartVnode, newEndVnode, insertedVnodeQueue, newCh, newEndIdx);\n canMove && nodeOps.insertBefore(parentElm, oldStartVnode.elm, nodeOps.nextSibling(oldEndVnode.elm));\n oldStartVnode = oldCh[++oldStartIdx];\n newEndVnode = newCh[--newEndIdx];\n } else if (sameVnode(oldEndVnode, newStartVnode)) { // Vnode moved left\n patchVnode(oldEndVnode, newStartVnode, insertedVnodeQueue, newCh, newStartIdx);\n canMove && nodeOps.insertBefore(parentElm, oldEndVnode.elm, oldStartVnode.elm);\n oldEndVnode = oldCh[--oldEndIdx];\n newStartVnode = newCh[++newStartIdx];\n } else {\n if (isUndef(oldKeyToIdx)) { oldKeyToIdx = createKeyToOldIdx(oldCh, oldStartIdx, oldEndIdx); }\n idxInOld = isDef(newStartVnode.key)\n ? oldKeyToIdx[newStartVnode.key]\n : findIdxInOld(newStartVnode, oldCh, oldStartIdx, oldEndIdx);\n if (isUndef(idxInOld)) { // New element\n createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm, false, newCh, newStartIdx);\n } else {\n vnodeToMove = oldCh[idxInOld];\n if (sameVnode(vnodeToMove, newStartVnode)) {\n patchVnode(vnodeToMove, newStartVnode, insertedVnodeQueue, newCh, newStartIdx);\n oldCh[idxInOld] = undefined;\n canMove && nodeOps.insertBefore(parentElm, vnodeToMove.elm, oldStartVnode.elm);\n } else {\n // same key but different element. treat as new element\n createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm, false, newCh, newStartIdx);\n }\n }\n newStartVnode = newCh[++newStartIdx];\n }\n }\n if (oldStartIdx > oldEndIdx) {\n refElm = isUndef(newCh[newEndIdx + 1]) ? null : newCh[newEndIdx + 1].elm;\n addVnodes(parentElm, refElm, newCh, newStartIdx, newEndIdx, insertedVnodeQueue);\n } else if (newStartIdx > newEndIdx) {\n removeVnodes(oldCh, oldStartIdx, oldEndIdx);\n }\n }\n\n function checkDuplicateKeys (children) {\n var seenKeys = {};\n for (var i = 0; i < children.length; i++) {\n var vnode = children[i];\n var key = vnode.key;\n if (isDef(key)) {\n if (seenKeys[key]) {\n warn(\n (\"Duplicate keys detected: '\" + key + \"'. This may cause an update error.\"),\n vnode.context\n );\n } else {\n seenKeys[key] = true;\n }\n }\n }\n }\n\n function findIdxInOld (node, oldCh, start, end) {\n for (var i = start; i < end; i++) {\n var c = oldCh[i];\n if (isDef(c) && sameVnode(node, c)) { return i }\n }\n }\n\n function patchVnode (\n oldVnode,\n vnode,\n insertedVnodeQueue,\n ownerArray,\n index,\n removeOnly\n ) {\n if (oldVnode === vnode) {\n return\n }\n\n if (isDef(vnode.elm) && isDef(ownerArray)) {\n // clone reused vnode\n vnode = ownerArray[index] = cloneVNode(vnode);\n }\n\n var elm = vnode.elm = oldVnode.elm;\n\n if (isTrue(oldVnode.isAsyncPlaceholder)) {\n if (isDef(vnode.asyncFactory.resolved)) {\n hydrate(oldVnode.elm, vnode, insertedVnodeQueue);\n } else {\n vnode.isAsyncPlaceholder = true;\n }\n return\n }\n\n // reuse element for static trees.\n // note we only do this if the vnode is cloned -\n // if the new node is not cloned it means the render functions have been\n // reset by the hot-reload-api and we need to do a proper re-render.\n if (isTrue(vnode.isStatic) &&\n isTrue(oldVnode.isStatic) &&\n vnode.key === oldVnode.key &&\n (isTrue(vnode.isCloned) || isTrue(vnode.isOnce))\n ) {\n vnode.componentInstance = oldVnode.componentInstance;\n return\n }\n\n var i;\n var data = vnode.data;\n if (isDef(data) && isDef(i = data.hook) && isDef(i = i.prepatch)) {\n i(oldVnode, vnode);\n }\n\n var oldCh = oldVnode.children;\n var ch = vnode.children;\n if (isDef(data) && isPatchable(vnode)) {\n for (i = 0; i < cbs.update.length; ++i) { cbs.update[i](oldVnode, vnode); }\n if (isDef(i = data.hook) && isDef(i = i.update)) { i(oldVnode, vnode); }\n }\n if (isUndef(vnode.text)) {\n if (isDef(oldCh) && isDef(ch)) {\n if (oldCh !== ch) { updateChildren(elm, oldCh, ch, insertedVnodeQueue, removeOnly); }\n } else if (isDef(ch)) {\n if (process.env.NODE_ENV !== 'production') {\n checkDuplicateKeys(ch);\n }\n if (isDef(oldVnode.text)) { nodeOps.setTextContent(elm, ''); }\n addVnodes(elm, null, ch, 0, ch.length - 1, insertedVnodeQueue);\n } else if (isDef(oldCh)) {\n removeVnodes(oldCh, 0, oldCh.length - 1);\n } else if (isDef(oldVnode.text)) {\n nodeOps.setTextContent(elm, '');\n }\n } else if (oldVnode.text !== vnode.text) {\n nodeOps.setTextContent(elm, vnode.text);\n }\n if (isDef(data)) {\n if (isDef(i = data.hook) && isDef(i = i.postpatch)) { i(oldVnode, vnode); }\n }\n }\n\n function invokeInsertHook (vnode, queue, initial) {\n // delay insert hooks for component root nodes, invoke them after the\n // element is really inserted\n if (isTrue(initial) && isDef(vnode.parent)) {\n vnode.parent.data.pendingInsert = queue;\n } else {\n for (var i = 0; i < queue.length; ++i) {\n queue[i].data.hook.insert(queue[i]);\n }\n }\n }\n\n var hydrationBailed = false;\n // list of modules that can skip create hook during hydration because they\n // are already rendered on the client or has no need for initialization\n // Note: style is excluded because it relies on initial clone for future\n // deep updates (#7063).\n var isRenderedModule = makeMap('attrs,class,staticClass,staticStyle,key');\n\n // Note: this is a browser-only function so we can assume elms are DOM nodes.\n function hydrate (elm, vnode, insertedVnodeQueue, inVPre) {\n var i;\n var tag = vnode.tag;\n var data = vnode.data;\n var children = vnode.children;\n inVPre = inVPre || (data && data.pre);\n vnode.elm = elm;\n\n if (isTrue(vnode.isComment) && isDef(vnode.asyncFactory)) {\n vnode.isAsyncPlaceholder = true;\n return true\n }\n // assert node match\n if (process.env.NODE_ENV !== 'production') {\n if (!assertNodeMatch(elm, vnode, inVPre)) {\n return false\n }\n }\n if (isDef(data)) {\n if (isDef(i = data.hook) && isDef(i = i.init)) { i(vnode, true /* hydrating */); }\n if (isDef(i = vnode.componentInstance)) {\n // child component. it should have hydrated its own tree.\n initComponent(vnode, insertedVnodeQueue);\n return true\n }\n }\n if (isDef(tag)) {\n if (isDef(children)) {\n // empty element, allow client to pick up and populate children\n if (!elm.hasChildNodes()) {\n createChildren(vnode, children, insertedVnodeQueue);\n } else {\n // v-html and domProps: innerHTML\n if (isDef(i = data) && isDef(i = i.domProps) && isDef(i = i.innerHTML)) {\n if (i !== elm.innerHTML) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' &&\n typeof console !== 'undefined' &&\n !hydrationBailed\n ) {\n hydrationBailed = true;\n console.warn('Parent: ', elm);\n console.warn('server innerHTML: ', i);\n console.warn('client innerHTML: ', elm.innerHTML);\n }\n return false\n }\n } else {\n // iterate and compare children lists\n var childrenMatch = true;\n var childNode = elm.firstChild;\n for (var i$1 = 0; i$1 < children.length; i$1++) {\n if (!childNode || !hydrate(childNode, children[i$1], insertedVnodeQueue, inVPre)) {\n childrenMatch = false;\n break\n }\n childNode = childNode.nextSibling;\n }\n // if childNode is not null, it means the actual childNodes list is\n // longer than the virtual children list.\n if (!childrenMatch || childNode) {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' &&\n typeof console !== 'undefined' &&\n !hydrationBailed\n ) {\n hydrationBailed = true;\n console.warn('Parent: ', elm);\n console.warn('Mismatching childNodes vs. VNodes: ', elm.childNodes, children);\n }\n return false\n }\n }\n }\n }\n if (isDef(data)) {\n var fullInvoke = false;\n for (var key in data) {\n if (!isRenderedModule(key)) {\n fullInvoke = true;\n invokeCreateHooks(vnode, insertedVnodeQueue);\n break\n }\n }\n if (!fullInvoke && data['class']) {\n // ensure collecting deps for deep class bindings for future updates\n traverse(data['class']);\n }\n }\n } else if (elm.data !== vnode.text) {\n elm.data = vnode.text;\n }\n return true\n }\n\n function assertNodeMatch (node, vnode, inVPre) {\n if (isDef(vnode.tag)) {\n return vnode.tag.indexOf('vue-component') === 0 || (\n !isUnknownElement$$1(vnode, inVPre) &&\n vnode.tag.toLowerCase() === (node.tagName && node.tagName.toLowerCase())\n )\n } else {\n return node.nodeType === (vnode.isComment ? 8 : 3)\n }\n }\n\n return function patch (oldVnode, vnode, hydrating, removeOnly) {\n if (isUndef(vnode)) {\n if (isDef(oldVnode)) { invokeDestroyHook(oldVnode); }\n return\n }\n\n var isInitialPatch = false;\n var insertedVnodeQueue = [];\n\n if (isUndef(oldVnode)) {\n // empty mount (likely as component), create new root element\n isInitialPatch = true;\n createElm(vnode, insertedVnodeQueue);\n } else {\n var isRealElement = isDef(oldVnode.nodeType);\n if (!isRealElement && sameVnode(oldVnode, vnode)) {\n // patch existing root node\n patchVnode(oldVnode, vnode, insertedVnodeQueue, null, null, removeOnly);\n } else {\n if (isRealElement) {\n // mounting to a real element\n // check if this is server-rendered content and if we can perform\n // a successful hydration.\n if (oldVnode.nodeType === 1 && oldVnode.hasAttribute(SSR_ATTR)) {\n oldVnode.removeAttribute(SSR_ATTR);\n hydrating = true;\n }\n if (isTrue(hydrating)) {\n if (hydrate(oldVnode, vnode, insertedVnodeQueue)) {\n invokeInsertHook(vnode, insertedVnodeQueue, true);\n return oldVnode\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n 'The client-side rendered virtual DOM tree is not matching ' +\n 'server-rendered content. This is likely caused by incorrect ' +\n 'HTML markup, for example nesting block-level elements inside ' +\n '<p>, or missing <tbody>. Bailing hydration and performing ' +\n 'full client-side render.'\n );\n }\n }\n // either not server-rendered, or hydration failed.\n // create an empty node and replace it\n oldVnode = emptyNodeAt(oldVnode);\n }\n\n // replacing existing element\n var oldElm = oldVnode.elm;\n var parentElm = nodeOps.parentNode(oldElm);\n\n // create new node\n createElm(\n vnode,\n insertedVnodeQueue,\n // extremely rare edge case: do not insert if old element is in a\n // leaving transition. Only happens when combining transition +\n // keep-alive + HOCs. (#4590)\n oldElm._leaveCb ? null : parentElm,\n nodeOps.nextSibling(oldElm)\n );\n\n // update parent placeholder node element, recursively\n if (isDef(vnode.parent)) {\n var ancestor = vnode.parent;\n var patchable = isPatchable(vnode);\n while (ancestor) {\n for (var i = 0; i < cbs.destroy.length; ++i) {\n cbs.destroy[i](ancestor);\n }\n ancestor.elm = vnode.elm;\n if (patchable) {\n for (var i$1 = 0; i$1 < cbs.create.length; ++i$1) {\n cbs.create[i$1](emptyNode, ancestor);\n }\n // #6513\n // invoke insert hooks that may have been merged by create hooks.\n // e.g. for directives that uses the \"inserted\" hook.\n var insert = ancestor.data.hook.insert;\n if (insert.merged) {\n // start at index 1 to avoid re-invoking component mounted hook\n for (var i$2 = 1; i$2 < insert.fns.length; i$2++) {\n insert.fns[i$2]();\n }\n }\n } else {\n registerRef(ancestor);\n }\n ancestor = ancestor.parent;\n }\n }\n\n // destroy old node\n if (isDef(parentElm)) {\n removeVnodes([oldVnode], 0, 0);\n } else if (isDef(oldVnode.tag)) {\n invokeDestroyHook(oldVnode);\n }\n }\n }\n\n invokeInsertHook(vnode, insertedVnodeQueue, isInitialPatch);\n return vnode.elm\n }\n}\n\n/* */\n\nvar directives = {\n create: updateDirectives,\n update: updateDirectives,\n destroy: function unbindDirectives (vnode) {\n updateDirectives(vnode, emptyNode);\n }\n};\n\nfunction updateDirectives (oldVnode, vnode) {\n if (oldVnode.data.directives || vnode.data.directives) {\n _update(oldVnode, vnode);\n }\n}\n\nfunction _update (oldVnode, vnode) {\n var isCreate = oldVnode === emptyNode;\n var isDestroy = vnode === emptyNode;\n var oldDirs = normalizeDirectives$1(oldVnode.data.directives, oldVnode.context);\n var newDirs = normalizeDirectives$1(vnode.data.directives, vnode.context);\n\n var dirsWithInsert = [];\n var dirsWithPostpatch = [];\n\n var key, oldDir, dir;\n for (key in newDirs) {\n oldDir = oldDirs[key];\n dir = newDirs[key];\n if (!oldDir) {\n // new directive, bind\n callHook$1(dir, 'bind', vnode, oldVnode);\n if (dir.def && dir.def.inserted) {\n dirsWithInsert.push(dir);\n }\n } else {\n // existing directive, update\n dir.oldValue = oldDir.value;\n dir.oldArg = oldDir.arg;\n callHook$1(dir, 'update', vnode, oldVnode);\n if (dir.def && dir.def.componentUpdated) {\n dirsWithPostpatch.push(dir);\n }\n }\n }\n\n if (dirsWithInsert.length) {\n var callInsert = function () {\n for (var i = 0; i < dirsWithInsert.length; i++) {\n callHook$1(dirsWithInsert[i], 'inserted', vnode, oldVnode);\n }\n };\n if (isCreate) {\n mergeVNodeHook(vnode, 'insert', callInsert);\n } else {\n callInsert();\n }\n }\n\n if (dirsWithPostpatch.length) {\n mergeVNodeHook(vnode, 'postpatch', function () {\n for (var i = 0; i < dirsWithPostpatch.length; i++) {\n callHook$1(dirsWithPostpatch[i], 'componentUpdated', vnode, oldVnode);\n }\n });\n }\n\n if (!isCreate) {\n for (key in oldDirs) {\n if (!newDirs[key]) {\n // no longer present, unbind\n callHook$1(oldDirs[key], 'unbind', oldVnode, oldVnode, isDestroy);\n }\n }\n }\n}\n\nvar emptyModifiers = Object.create(null);\n\nfunction normalizeDirectives$1 (\n dirs,\n vm\n) {\n var res = Object.create(null);\n if (!dirs) {\n // $flow-disable-line\n return res\n }\n var i, dir;\n for (i = 0; i < dirs.length; i++) {\n dir = dirs[i];\n if (!dir.modifiers) {\n // $flow-disable-line\n dir.modifiers = emptyModifiers;\n }\n res[getRawDirName(dir)] = dir;\n dir.def = resolveAsset(vm.$options, 'directives', dir.name, true);\n }\n // $flow-disable-line\n return res\n}\n\nfunction getRawDirName (dir) {\n return dir.rawName || ((dir.name) + \".\" + (Object.keys(dir.modifiers || {}).join('.')))\n}\n\nfunction callHook$1 (dir, hook, vnode, oldVnode, isDestroy) {\n var fn = dir.def && dir.def[hook];\n if (fn) {\n try {\n fn(vnode.elm, dir, vnode, oldVnode, isDestroy);\n } catch (e) {\n handleError(e, vnode.context, (\"directive \" + (dir.name) + \" \" + hook + \" hook\"));\n }\n }\n}\n\nvar baseModules = [\n ref,\n directives\n];\n\n/* */\n\nfunction updateAttrs (oldVnode, vnode) {\n var opts = vnode.componentOptions;\n if (isDef(opts) && opts.Ctor.options.inheritAttrs === false) {\n return\n }\n if (isUndef(oldVnode.data.attrs) && isUndef(vnode.data.attrs)) {\n return\n }\n var key, cur, old;\n var elm = vnode.elm;\n var oldAttrs = oldVnode.data.attrs || {};\n var attrs = vnode.data.attrs || {};\n // clone observed objects, as the user probably wants to mutate it\n if (isDef(attrs.__ob__)) {\n attrs = vnode.data.attrs = extend({}, attrs);\n }\n\n for (key in attrs) {\n cur = attrs[key];\n old = oldAttrs[key];\n if (old !== cur) {\n setAttr(elm, key, cur, vnode.data.pre);\n }\n }\n // #4391: in IE9, setting type can reset value for input[type=radio]\n // #6666: IE/Edge forces progress value down to 1 before setting a max\n /* istanbul ignore if */\n if ((isIE || isEdge) && attrs.value !== oldAttrs.value) {\n setAttr(elm, 'value', attrs.value);\n }\n for (key in oldAttrs) {\n if (isUndef(attrs[key])) {\n if (isXlink(key)) {\n elm.removeAttributeNS(xlinkNS, getXlinkProp(key));\n } else if (!isEnumeratedAttr(key)) {\n elm.removeAttribute(key);\n }\n }\n }\n}\n\nfunction setAttr (el, key, value, isInPre) {\n if (isInPre || el.tagName.indexOf('-') > -1) {\n baseSetAttr(el, key, value);\n } else if (isBooleanAttr(key)) {\n // set attribute for blank value\n // e.g. <option disabled>Select one</option>\n if (isFalsyAttrValue(value)) {\n el.removeAttribute(key);\n } else {\n // technically allowfullscreen is a boolean attribute for <iframe>,\n // but Flash expects a value of \"true\" when used on <embed> tag\n value = key === 'allowfullscreen' && el.tagName === 'EMBED'\n ? 'true'\n : key;\n el.setAttribute(key, value);\n }\n } else if (isEnumeratedAttr(key)) {\n el.setAttribute(key, convertEnumeratedValue(key, value));\n } else if (isXlink(key)) {\n if (isFalsyAttrValue(value)) {\n el.removeAttributeNS(xlinkNS, getXlinkProp(key));\n } else {\n el.setAttributeNS(xlinkNS, key, value);\n }\n } else {\n baseSetAttr(el, key, value);\n }\n}\n\nfunction baseSetAttr (el, key, value) {\n if (isFalsyAttrValue(value)) {\n el.removeAttribute(key);\n } else {\n // #7138: IE10 & 11 fires input event when setting placeholder on\n // <textarea>... block the first input event and remove the blocker\n // immediately.\n /* istanbul ignore if */\n if (\n isIE && !isIE9 &&\n el.tagName === 'TEXTAREA' &&\n key === 'placeholder' && value !== '' && !el.__ieph\n ) {\n var blocker = function (e) {\n e.stopImmediatePropagation();\n el.removeEventListener('input', blocker);\n };\n el.addEventListener('input', blocker);\n // $flow-disable-line\n el.__ieph = true; /* IE placeholder patched */\n }\n el.setAttribute(key, value);\n }\n}\n\nvar attrs = {\n create: updateAttrs,\n update: updateAttrs\n};\n\n/* */\n\nfunction updateClass (oldVnode, vnode) {\n var el = vnode.elm;\n var data = vnode.data;\n var oldData = oldVnode.data;\n if (\n isUndef(data.staticClass) &&\n isUndef(data.class) && (\n isUndef(oldData) || (\n isUndef(oldData.staticClass) &&\n isUndef(oldData.class)\n )\n )\n ) {\n return\n }\n\n var cls = genClassForVnode(vnode);\n\n // handle transition classes\n var transitionClass = el._transitionClasses;\n if (isDef(transitionClass)) {\n cls = concat(cls, stringifyClass(transitionClass));\n }\n\n // set the class\n if (cls !== el._prevClass) {\n el.setAttribute('class', cls);\n el._prevClass = cls;\n }\n}\n\nvar klass = {\n create: updateClass,\n update: updateClass\n};\n\n/* */\n\n/* */\n\n/* */\n\n/* */\n\n// in some cases, the event used has to be determined at runtime\n// so we used some reserved tokens during compile.\nvar RANGE_TOKEN = '__r';\nvar CHECKBOX_RADIO_TOKEN = '__c';\n\n/* */\n\n// normalize v-model event tokens that can only be determined at runtime.\n// it's important to place the event as the first in the array because\n// the whole point is ensuring the v-model callback gets called before\n// user-attached handlers.\nfunction normalizeEvents (on) {\n /* istanbul ignore if */\n if (isDef(on[RANGE_TOKEN])) {\n // IE input[type=range] only supports `change` event\n var event = isIE ? 'change' : 'input';\n on[event] = [].concat(on[RANGE_TOKEN], on[event] || []);\n delete on[RANGE_TOKEN];\n }\n // This was originally intended to fix #4521 but no longer necessary\n // after 2.5. Keeping it for backwards compat with generated code from < 2.4\n /* istanbul ignore if */\n if (isDef(on[CHECKBOX_RADIO_TOKEN])) {\n on.change = [].concat(on[CHECKBOX_RADIO_TOKEN], on.change || []);\n delete on[CHECKBOX_RADIO_TOKEN];\n }\n}\n\nvar target$1;\n\nfunction createOnceHandler$1 (event, handler, capture) {\n var _target = target$1; // save current target element in closure\n return function onceHandler () {\n var res = handler.apply(null, arguments);\n if (res !== null) {\n remove$2(event, onceHandler, capture, _target);\n }\n }\n}\n\n// #9446: Firefox <= 53 (in particular, ESR 52) has incorrect Event.timeStamp\n// implementation and does not fire microtasks in between event propagation, so\n// safe to exclude.\nvar useMicrotaskFix = isUsingMicroTask && !(isFF && Number(isFF[1]) <= 53);\n\nfunction add$1 (\n name,\n handler,\n capture,\n passive\n) {\n // async edge case #6566: inner click event triggers patch, event handler\n // attached to outer element during patch, and triggered again. This\n // happens because browsers fire microtask ticks between event propagation.\n // the solution is simple: we save the timestamp when a handler is attached,\n // and the handler would only fire if the event passed to it was fired\n // AFTER it was attached.\n if (useMicrotaskFix) {\n var attachedTimestamp = currentFlushTimestamp;\n var original = handler;\n handler = original._wrapper = function (e) {\n if (\n // no bubbling, should always fire.\n // this is just a safety net in case event.timeStamp is unreliable in\n // certain weird environments...\n e.target === e.currentTarget ||\n // event is fired after handler attachment\n e.timeStamp >= attachedTimestamp ||\n // bail for environments that have buggy event.timeStamp implementations\n // #9462 iOS 9 bug: event.timeStamp is 0 after history.pushState\n // #9681 QtWebEngine event.timeStamp is negative value\n e.timeStamp <= 0 ||\n // #9448 bail if event is fired in another document in a multi-page\n // electron/nw.js app, since event.timeStamp will be using a different\n // starting reference\n e.target.ownerDocument !== document\n ) {\n return original.apply(this, arguments)\n }\n };\n }\n target$1.addEventListener(\n name,\n handler,\n supportsPassive\n ? { capture: capture, passive: passive }\n : capture\n );\n}\n\nfunction remove$2 (\n name,\n handler,\n capture,\n _target\n) {\n (_target || target$1).removeEventListener(\n name,\n handler._wrapper || handler,\n capture\n );\n}\n\nfunction updateDOMListeners (oldVnode, vnode) {\n if (isUndef(oldVnode.data.on) && isUndef(vnode.data.on)) {\n return\n }\n var on = vnode.data.on || {};\n var oldOn = oldVnode.data.on || {};\n target$1 = vnode.elm;\n normalizeEvents(on);\n updateListeners(on, oldOn, add$1, remove$2, createOnceHandler$1, vnode.context);\n target$1 = undefined;\n}\n\nvar events = {\n create: updateDOMListeners,\n update: updateDOMListeners\n};\n\n/* */\n\nvar svgContainer;\n\nfunction updateDOMProps (oldVnode, vnode) {\n if (isUndef(oldVnode.data.domProps) && isUndef(vnode.data.domProps)) {\n return\n }\n var key, cur;\n var elm = vnode.elm;\n var oldProps = oldVnode.data.domProps || {};\n var props = vnode.data.domProps || {};\n // clone observed objects, as the user probably wants to mutate it\n if (isDef(props.__ob__)) {\n props = vnode.data.domProps = extend({}, props);\n }\n\n for (key in oldProps) {\n if (!(key in props)) {\n elm[key] = '';\n }\n }\n\n for (key in props) {\n cur = props[key];\n // ignore children if the node has textContent or innerHTML,\n // as these will throw away existing DOM nodes and cause removal errors\n // on subsequent patches (#3360)\n if (key === 'textContent' || key === 'innerHTML') {\n if (vnode.children) { vnode.children.length = 0; }\n if (cur === oldProps[key]) { continue }\n // #6601 work around Chrome version <= 55 bug where single textNode\n // replaced by innerHTML/textContent retains its parentNode property\n if (elm.childNodes.length === 1) {\n elm.removeChild(elm.childNodes[0]);\n }\n }\n\n if (key === 'value' && elm.tagName !== 'PROGRESS') {\n // store value as _value as well since\n // non-string values will be stringified\n elm._value = cur;\n // avoid resetting cursor position when value is the same\n var strCur = isUndef(cur) ? '' : String(cur);\n if (shouldUpdateValue(elm, strCur)) {\n elm.value = strCur;\n }\n } else if (key === 'innerHTML' && isSVG(elm.tagName) && isUndef(elm.innerHTML)) {\n // IE doesn't support innerHTML for SVG elements\n svgContainer = svgContainer || document.createElement('div');\n svgContainer.innerHTML = \"<svg>\" + cur + \"</svg>\";\n var svg = svgContainer.firstChild;\n while (elm.firstChild) {\n elm.removeChild(elm.firstChild);\n }\n while (svg.firstChild) {\n elm.appendChild(svg.firstChild);\n }\n } else if (\n // skip the update if old and new VDOM state is the same.\n // `value` is handled separately because the DOM value may be temporarily\n // out of sync with VDOM state due to focus, composition and modifiers.\n // This #4521 by skipping the unnecessary `checked` update.\n cur !== oldProps[key]\n ) {\n // some property updates can throw\n // e.g. `value` on <progress> w/ non-finite value\n try {\n elm[key] = cur;\n } catch (e) {}\n }\n }\n}\n\n// check platforms/web/util/attrs.js acceptValue\n\n\nfunction shouldUpdateValue (elm, checkVal) {\n return (!elm.composing && (\n elm.tagName === 'OPTION' ||\n isNotInFocusAndDirty(elm, checkVal) ||\n isDirtyWithModifiers(elm, checkVal)\n ))\n}\n\nfunction isNotInFocusAndDirty (elm, checkVal) {\n // return true when textbox (.number and .trim) loses focus and its value is\n // not equal to the updated value\n var notInFocus = true;\n // #6157\n // work around IE bug when accessing document.activeElement in an iframe\n try { notInFocus = document.activeElement !== elm; } catch (e) {}\n return notInFocus && elm.value !== checkVal\n}\n\nfunction isDirtyWithModifiers (elm, newVal) {\n var value = elm.value;\n var modifiers = elm._vModifiers; // injected by v-model runtime\n if (isDef(modifiers)) {\n if (modifiers.number) {\n return toNumber(value) !== toNumber(newVal)\n }\n if (modifiers.trim) {\n return value.trim() !== newVal.trim()\n }\n }\n return value !== newVal\n}\n\nvar domProps = {\n create: updateDOMProps,\n update: updateDOMProps\n};\n\n/* */\n\nvar parseStyleText = cached(function (cssText) {\n var res = {};\n var listDelimiter = /;(?![^(]*\\))/g;\n var propertyDelimiter = /:(.+)/;\n cssText.split(listDelimiter).forEach(function (item) {\n if (item) {\n var tmp = item.split(propertyDelimiter);\n tmp.length > 1 && (res[tmp[0].trim()] = tmp[1].trim());\n }\n });\n return res\n});\n\n// merge static and dynamic style data on the same vnode\nfunction normalizeStyleData (data) {\n var style = normalizeStyleBinding(data.style);\n // static style is pre-processed into an object during compilation\n // and is always a fresh object, so it's safe to merge into it\n return data.staticStyle\n ? extend(data.staticStyle, style)\n : style\n}\n\n// normalize possible array / string values into Object\nfunction normalizeStyleBinding (bindingStyle) {\n if (Array.isArray(bindingStyle)) {\n return toObject(bindingStyle)\n }\n if (typeof bindingStyle === 'string') {\n return parseStyleText(bindingStyle)\n }\n return bindingStyle\n}\n\n/**\n * parent component style should be after child's\n * so that parent component's style could override it\n */\nfunction getStyle (vnode, checkChild) {\n var res = {};\n var styleData;\n\n if (checkChild) {\n var childNode = vnode;\n while (childNode.componentInstance) {\n childNode = childNode.componentInstance._vnode;\n if (\n childNode && childNode.data &&\n (styleData = normalizeStyleData(childNode.data))\n ) {\n extend(res, styleData);\n }\n }\n }\n\n if ((styleData = normalizeStyleData(vnode.data))) {\n extend(res, styleData);\n }\n\n var parentNode = vnode;\n while ((parentNode = parentNode.parent)) {\n if (parentNode.data && (styleData = normalizeStyleData(parentNode.data))) {\n extend(res, styleData);\n }\n }\n return res\n}\n\n/* */\n\nvar cssVarRE = /^--/;\nvar importantRE = /\\s*!important$/;\nvar setProp = function (el, name, val) {\n /* istanbul ignore if */\n if (cssVarRE.test(name)) {\n el.style.setProperty(name, val);\n } else if (importantRE.test(val)) {\n el.style.setProperty(hyphenate(name), val.replace(importantRE, ''), 'important');\n } else {\n var normalizedName = normalize(name);\n if (Array.isArray(val)) {\n // Support values array created by autoprefixer, e.g.\n // {display: [\"-webkit-box\", \"-ms-flexbox\", \"flex\"]}\n // Set them one by one, and the browser will only set those it can recognize\n for (var i = 0, len = val.length; i < len; i++) {\n el.style[normalizedName] = val[i];\n }\n } else {\n el.style[normalizedName] = val;\n }\n }\n};\n\nvar vendorNames = ['Webkit', 'Moz', 'ms'];\n\nvar emptyStyle;\nvar normalize = cached(function (prop) {\n emptyStyle = emptyStyle || document.createElement('div').style;\n prop = camelize(prop);\n if (prop !== 'filter' && (prop in emptyStyle)) {\n return prop\n }\n var capName = prop.charAt(0).toUpperCase() + prop.slice(1);\n for (var i = 0; i < vendorNames.length; i++) {\n var name = vendorNames[i] + capName;\n if (name in emptyStyle) {\n return name\n }\n }\n});\n\nfunction updateStyle (oldVnode, vnode) {\n var data = vnode.data;\n var oldData = oldVnode.data;\n\n if (isUndef(data.staticStyle) && isUndef(data.style) &&\n isUndef(oldData.staticStyle) && isUndef(oldData.style)\n ) {\n return\n }\n\n var cur, name;\n var el = vnode.elm;\n var oldStaticStyle = oldData.staticStyle;\n var oldStyleBinding = oldData.normalizedStyle || oldData.style || {};\n\n // if static style exists, stylebinding already merged into it when doing normalizeStyleData\n var oldStyle = oldStaticStyle || oldStyleBinding;\n\n var style = normalizeStyleBinding(vnode.data.style) || {};\n\n // store normalized style under a different key for next diff\n // make sure to clone it if it's reactive, since the user likely wants\n // to mutate it.\n vnode.data.normalizedStyle = isDef(style.__ob__)\n ? extend({}, style)\n : style;\n\n var newStyle = getStyle(vnode, true);\n\n for (name in oldStyle) {\n if (isUndef(newStyle[name])) {\n setProp(el, name, '');\n }\n }\n for (name in newStyle) {\n cur = newStyle[name];\n if (cur !== oldStyle[name]) {\n // ie9 setting to null has no effect, must use empty string\n setProp(el, name, cur == null ? '' : cur);\n }\n }\n}\n\nvar style = {\n create: updateStyle,\n update: updateStyle\n};\n\n/* */\n\nvar whitespaceRE = /\\s+/;\n\n/**\n * Add class with compatibility for SVG since classList is not supported on\n * SVG elements in IE\n */\nfunction addClass (el, cls) {\n /* istanbul ignore if */\n if (!cls || !(cls = cls.trim())) {\n return\n }\n\n /* istanbul ignore else */\n if (el.classList) {\n if (cls.indexOf(' ') > -1) {\n cls.split(whitespaceRE).forEach(function (c) { return el.classList.add(c); });\n } else {\n el.classList.add(cls);\n }\n } else {\n var cur = \" \" + (el.getAttribute('class') || '') + \" \";\n if (cur.indexOf(' ' + cls + ' ') < 0) {\n el.setAttribute('class', (cur + cls).trim());\n }\n }\n}\n\n/**\n * Remove class with compatibility for SVG since classList is not supported on\n * SVG elements in IE\n */\nfunction removeClass (el, cls) {\n /* istanbul ignore if */\n if (!cls || !(cls = cls.trim())) {\n return\n }\n\n /* istanbul ignore else */\n if (el.classList) {\n if (cls.indexOf(' ') > -1) {\n cls.split(whitespaceRE).forEach(function (c) { return el.classList.remove(c); });\n } else {\n el.classList.remove(cls);\n }\n if (!el.classList.length) {\n el.removeAttribute('class');\n }\n } else {\n var cur = \" \" + (el.getAttribute('class') || '') + \" \";\n var tar = ' ' + cls + ' ';\n while (cur.indexOf(tar) >= 0) {\n cur = cur.replace(tar, ' ');\n }\n cur = cur.trim();\n if (cur) {\n el.setAttribute('class', cur);\n } else {\n el.removeAttribute('class');\n }\n }\n}\n\n/* */\n\nfunction resolveTransition (def$$1) {\n if (!def$$1) {\n return\n }\n /* istanbul ignore else */\n if (typeof def$$1 === 'object') {\n var res = {};\n if (def$$1.css !== false) {\n extend(res, autoCssTransition(def$$1.name || 'v'));\n }\n extend(res, def$$1);\n return res\n } else if (typeof def$$1 === 'string') {\n return autoCssTransition(def$$1)\n }\n}\n\nvar autoCssTransition = cached(function (name) {\n return {\n enterClass: (name + \"-enter\"),\n enterToClass: (name + \"-enter-to\"),\n enterActiveClass: (name + \"-enter-active\"),\n leaveClass: (name + \"-leave\"),\n leaveToClass: (name + \"-leave-to\"),\n leaveActiveClass: (name + \"-leave-active\")\n }\n});\n\nvar hasTransition = inBrowser && !isIE9;\nvar TRANSITION = 'transition';\nvar ANIMATION = 'animation';\n\n// Transition property/event sniffing\nvar transitionProp = 'transition';\nvar transitionEndEvent = 'transitionend';\nvar animationProp = 'animation';\nvar animationEndEvent = 'animationend';\nif (hasTransition) {\n /* istanbul ignore if */\n if (window.ontransitionend === undefined &&\n window.onwebkittransitionend !== undefined\n ) {\n transitionProp = 'WebkitTransition';\n transitionEndEvent = 'webkitTransitionEnd';\n }\n if (window.onanimationend === undefined &&\n window.onwebkitanimationend !== undefined\n ) {\n animationProp = 'WebkitAnimation';\n animationEndEvent = 'webkitAnimationEnd';\n }\n}\n\n// binding to window is necessary to make hot reload work in IE in strict mode\nvar raf = inBrowser\n ? window.requestAnimationFrame\n ? window.requestAnimationFrame.bind(window)\n : setTimeout\n : /* istanbul ignore next */ function (fn) { return fn(); };\n\nfunction nextFrame (fn) {\n raf(function () {\n raf(fn);\n });\n}\n\nfunction addTransitionClass (el, cls) {\n var transitionClasses = el._transitionClasses || (el._transitionClasses = []);\n if (transitionClasses.indexOf(cls) < 0) {\n transitionClasses.push(cls);\n addClass(el, cls);\n }\n}\n\nfunction removeTransitionClass (el, cls) {\n if (el._transitionClasses) {\n remove(el._transitionClasses, cls);\n }\n removeClass(el, cls);\n}\n\nfunction whenTransitionEnds (\n el,\n expectedType,\n cb\n) {\n var ref = getTransitionInfo(el, expectedType);\n var type = ref.type;\n var timeout = ref.timeout;\n var propCount = ref.propCount;\n if (!type) { return cb() }\n var event = type === TRANSITION ? transitionEndEvent : animationEndEvent;\n var ended = 0;\n var end = function () {\n el.removeEventListener(event, onEnd);\n cb();\n };\n var onEnd = function (e) {\n if (e.target === el) {\n if (++ended >= propCount) {\n end();\n }\n }\n };\n setTimeout(function () {\n if (ended < propCount) {\n end();\n }\n }, timeout + 1);\n el.addEventListener(event, onEnd);\n}\n\nvar transformRE = /\\b(transform|all)(,|$)/;\n\nfunction getTransitionInfo (el, expectedType) {\n var styles = window.getComputedStyle(el);\n // JSDOM may return undefined for transition properties\n var transitionDelays = (styles[transitionProp + 'Delay'] || '').split(', ');\n var transitionDurations = (styles[transitionProp + 'Duration'] || '').split(', ');\n var transitionTimeout = getTimeout(transitionDelays, transitionDurations);\n var animationDelays = (styles[animationProp + 'Delay'] || '').split(', ');\n var animationDurations = (styles[animationProp + 'Duration'] || '').split(', ');\n var animationTimeout = getTimeout(animationDelays, animationDurations);\n\n var type;\n var timeout = 0;\n var propCount = 0;\n /* istanbul ignore if */\n if (expectedType === TRANSITION) {\n if (transitionTimeout > 0) {\n type = TRANSITION;\n timeout = transitionTimeout;\n propCount = transitionDurations.length;\n }\n } else if (expectedType === ANIMATION) {\n if (animationTimeout > 0) {\n type = ANIMATION;\n timeout = animationTimeout;\n propCount = animationDurations.length;\n }\n } else {\n timeout = Math.max(transitionTimeout, animationTimeout);\n type = timeout > 0\n ? transitionTimeout > animationTimeout\n ? TRANSITION\n : ANIMATION\n : null;\n propCount = type\n ? type === TRANSITION\n ? transitionDurations.length\n : animationDurations.length\n : 0;\n }\n var hasTransform =\n type === TRANSITION &&\n transformRE.test(styles[transitionProp + 'Property']);\n return {\n type: type,\n timeout: timeout,\n propCount: propCount,\n hasTransform: hasTransform\n }\n}\n\nfunction getTimeout (delays, durations) {\n /* istanbul ignore next */\n while (delays.length < durations.length) {\n delays = delays.concat(delays);\n }\n\n return Math.max.apply(null, durations.map(function (d, i) {\n return toMs(d) + toMs(delays[i])\n }))\n}\n\n// Old versions of Chromium (below 61.0.3163.100) formats floating pointer numbers\n// in a locale-dependent way, using a comma instead of a dot.\n// If comma is not replaced with a dot, the input will be rounded down (i.e. acting\n// as a floor function) causing unexpected behaviors\nfunction toMs (s) {\n return Number(s.slice(0, -1).replace(',', '.')) * 1000\n}\n\n/* */\n\nfunction enter (vnode, toggleDisplay) {\n var el = vnode.elm;\n\n // call leave callback now\n if (isDef(el._leaveCb)) {\n el._leaveCb.cancelled = true;\n el._leaveCb();\n }\n\n var data = resolveTransition(vnode.data.transition);\n if (isUndef(data)) {\n return\n }\n\n /* istanbul ignore if */\n if (isDef(el._enterCb) || el.nodeType !== 1) {\n return\n }\n\n var css = data.css;\n var type = data.type;\n var enterClass = data.enterClass;\n var enterToClass = data.enterToClass;\n var enterActiveClass = data.enterActiveClass;\n var appearClass = data.appearClass;\n var appearToClass = data.appearToClass;\n var appearActiveClass = data.appearActiveClass;\n var beforeEnter = data.beforeEnter;\n var enter = data.enter;\n var afterEnter = data.afterEnter;\n var enterCancelled = data.enterCancelled;\n var beforeAppear = data.beforeAppear;\n var appear = data.appear;\n var afterAppear = data.afterAppear;\n var appearCancelled = data.appearCancelled;\n var duration = data.duration;\n\n // activeInstance will always be the <transition> component managing this\n // transition. One edge case to check is when the <transition> is placed\n // as the root node of a child component. In that case we need to check\n // <transition>'s parent for appear check.\n var context = activeInstance;\n var transitionNode = activeInstance.$vnode;\n while (transitionNode && transitionNode.parent) {\n context = transitionNode.context;\n transitionNode = transitionNode.parent;\n }\n\n var isAppear = !context._isMounted || !vnode.isRootInsert;\n\n if (isAppear && !appear && appear !== '') {\n return\n }\n\n var startClass = isAppear && appearClass\n ? appearClass\n : enterClass;\n var activeClass = isAppear && appearActiveClass\n ? appearActiveClass\n : enterActiveClass;\n var toClass = isAppear && appearToClass\n ? appearToClass\n : enterToClass;\n\n var beforeEnterHook = isAppear\n ? (beforeAppear || beforeEnter)\n : beforeEnter;\n var enterHook = isAppear\n ? (typeof appear === 'function' ? appear : enter)\n : enter;\n var afterEnterHook = isAppear\n ? (afterAppear || afterEnter)\n : afterEnter;\n var enterCancelledHook = isAppear\n ? (appearCancelled || enterCancelled)\n : enterCancelled;\n\n var explicitEnterDuration = toNumber(\n isObject(duration)\n ? duration.enter\n : duration\n );\n\n if (process.env.NODE_ENV !== 'production' && explicitEnterDuration != null) {\n checkDuration(explicitEnterDuration, 'enter', vnode);\n }\n\n var expectsCSS = css !== false && !isIE9;\n var userWantsControl = getHookArgumentsLength(enterHook);\n\n var cb = el._enterCb = once(function () {\n if (expectsCSS) {\n removeTransitionClass(el, toClass);\n removeTransitionClass(el, activeClass);\n }\n if (cb.cancelled) {\n if (expectsCSS) {\n removeTransitionClass(el, startClass);\n }\n enterCancelledHook && enterCancelledHook(el);\n } else {\n afterEnterHook && afterEnterHook(el);\n }\n el._enterCb = null;\n });\n\n if (!vnode.data.show) {\n // remove pending leave element on enter by injecting an insert hook\n mergeVNodeHook(vnode, 'insert', function () {\n var parent = el.parentNode;\n var pendingNode = parent && parent._pending && parent._pending[vnode.key];\n if (pendingNode &&\n pendingNode.tag === vnode.tag &&\n pendingNode.elm._leaveCb\n ) {\n pendingNode.elm._leaveCb();\n }\n enterHook && enterHook(el, cb);\n });\n }\n\n // start enter transition\n beforeEnterHook && beforeEnterHook(el);\n if (expectsCSS) {\n addTransitionClass(el, startClass);\n addTransitionClass(el, activeClass);\n nextFrame(function () {\n removeTransitionClass(el, startClass);\n if (!cb.cancelled) {\n addTransitionClass(el, toClass);\n if (!userWantsControl) {\n if (isValidDuration(explicitEnterDuration)) {\n setTimeout(cb, explicitEnterDuration);\n } else {\n whenTransitionEnds(el, type, cb);\n }\n }\n }\n });\n }\n\n if (vnode.data.show) {\n toggleDisplay && toggleDisplay();\n enterHook && enterHook(el, cb);\n }\n\n if (!expectsCSS && !userWantsControl) {\n cb();\n }\n}\n\nfunction leave (vnode, rm) {\n var el = vnode.elm;\n\n // call enter callback now\n if (isDef(el._enterCb)) {\n el._enterCb.cancelled = true;\n el._enterCb();\n }\n\n var data = resolveTransition(vnode.data.transition);\n if (isUndef(data) || el.nodeType !== 1) {\n return rm()\n }\n\n /* istanbul ignore if */\n if (isDef(el._leaveCb)) {\n return\n }\n\n var css = data.css;\n var type = data.type;\n var leaveClass = data.leaveClass;\n var leaveToClass = data.leaveToClass;\n var leaveActiveClass = data.leaveActiveClass;\n var beforeLeave = data.beforeLeave;\n var leave = data.leave;\n var afterLeave = data.afterLeave;\n var leaveCancelled = data.leaveCancelled;\n var delayLeave = data.delayLeave;\n var duration = data.duration;\n\n var expectsCSS = css !== false && !isIE9;\n var userWantsControl = getHookArgumentsLength(leave);\n\n var explicitLeaveDuration = toNumber(\n isObject(duration)\n ? duration.leave\n : duration\n );\n\n if (process.env.NODE_ENV !== 'production' && isDef(explicitLeaveDuration)) {\n checkDuration(explicitLeaveDuration, 'leave', vnode);\n }\n\n var cb = el._leaveCb = once(function () {\n if (el.parentNode && el.parentNode._pending) {\n el.parentNode._pending[vnode.key] = null;\n }\n if (expectsCSS) {\n removeTransitionClass(el, leaveToClass);\n removeTransitionClass(el, leaveActiveClass);\n }\n if (cb.cancelled) {\n if (expectsCSS) {\n removeTransitionClass(el, leaveClass);\n }\n leaveCancelled && leaveCancelled(el);\n } else {\n rm();\n afterLeave && afterLeave(el);\n }\n el._leaveCb = null;\n });\n\n if (delayLeave) {\n delayLeave(performLeave);\n } else {\n performLeave();\n }\n\n function performLeave () {\n // the delayed leave may have already been cancelled\n if (cb.cancelled) {\n return\n }\n // record leaving element\n if (!vnode.data.show && el.parentNode) {\n (el.parentNode._pending || (el.parentNode._pending = {}))[(vnode.key)] = vnode;\n }\n beforeLeave && beforeLeave(el);\n if (expectsCSS) {\n addTransitionClass(el, leaveClass);\n addTransitionClass(el, leaveActiveClass);\n nextFrame(function () {\n removeTransitionClass(el, leaveClass);\n if (!cb.cancelled) {\n addTransitionClass(el, leaveToClass);\n if (!userWantsControl) {\n if (isValidDuration(explicitLeaveDuration)) {\n setTimeout(cb, explicitLeaveDuration);\n } else {\n whenTransitionEnds(el, type, cb);\n }\n }\n }\n });\n }\n leave && leave(el, cb);\n if (!expectsCSS && !userWantsControl) {\n cb();\n }\n }\n}\n\n// only used in dev mode\nfunction checkDuration (val, name, vnode) {\n if (typeof val !== 'number') {\n warn(\n \"<transition> explicit \" + name + \" duration is not a valid number - \" +\n \"got \" + (JSON.stringify(val)) + \".\",\n vnode.context\n );\n } else if (isNaN(val)) {\n warn(\n \"<transition> explicit \" + name + \" duration is NaN - \" +\n 'the duration expression might be incorrect.',\n vnode.context\n );\n }\n}\n\nfunction isValidDuration (val) {\n return typeof val === 'number' && !isNaN(val)\n}\n\n/**\n * Normalize a transition hook's argument length. The hook may be:\n * - a merged hook (invoker) with the original in .fns\n * - a wrapped component method (check ._length)\n * - a plain function (.length)\n */\nfunction getHookArgumentsLength (fn) {\n if (isUndef(fn)) {\n return false\n }\n var invokerFns = fn.fns;\n if (isDef(invokerFns)) {\n // invoker\n return getHookArgumentsLength(\n Array.isArray(invokerFns)\n ? invokerFns[0]\n : invokerFns\n )\n } else {\n return (fn._length || fn.length) > 1\n }\n}\n\nfunction _enter (_, vnode) {\n if (vnode.data.show !== true) {\n enter(vnode);\n }\n}\n\nvar transition = inBrowser ? {\n create: _enter,\n activate: _enter,\n remove: function remove$$1 (vnode, rm) {\n /* istanbul ignore else */\n if (vnode.data.show !== true) {\n leave(vnode, rm);\n } else {\n rm();\n }\n }\n} : {};\n\nvar platformModules = [\n attrs,\n klass,\n events,\n domProps,\n style,\n transition\n];\n\n/* */\n\n// the directive module should be applied last, after all\n// built-in modules have been applied.\nvar modules = platformModules.concat(baseModules);\n\nvar patch = createPatchFunction({ nodeOps: nodeOps, modules: modules });\n\n/**\n * Not type checking this file because flow doesn't like attaching\n * properties to Elements.\n */\n\n/* istanbul ignore if */\nif (isIE9) {\n // http://www.matts411.com/post/internet-explorer-9-oninput/\n document.addEventListener('selectionchange', function () {\n var el = document.activeElement;\n if (el && el.vmodel) {\n trigger(el, 'input');\n }\n });\n}\n\nvar directive = {\n inserted: function inserted (el, binding, vnode, oldVnode) {\n if (vnode.tag === 'select') {\n // #6903\n if (oldVnode.elm && !oldVnode.elm._vOptions) {\n mergeVNodeHook(vnode, 'postpatch', function () {\n directive.componentUpdated(el, binding, vnode);\n });\n } else {\n setSelected(el, binding, vnode.context);\n }\n el._vOptions = [].map.call(el.options, getValue);\n } else if (vnode.tag === 'textarea' || isTextInputType(el.type)) {\n el._vModifiers = binding.modifiers;\n if (!binding.modifiers.lazy) {\n el.addEventListener('compositionstart', onCompositionStart);\n el.addEventListener('compositionend', onCompositionEnd);\n // Safari < 10.2 & UIWebView doesn't fire compositionend when\n // switching focus before confirming composition choice\n // this also fixes the issue where some browsers e.g. iOS Chrome\n // fires \"change\" instead of \"input\" on autocomplete.\n el.addEventListener('change', onCompositionEnd);\n /* istanbul ignore if */\n if (isIE9) {\n el.vmodel = true;\n }\n }\n }\n },\n\n componentUpdated: function componentUpdated (el, binding, vnode) {\n if (vnode.tag === 'select') {\n setSelected(el, binding, vnode.context);\n // in case the options rendered by v-for have changed,\n // it's possible that the value is out-of-sync with the rendered options.\n // detect such cases and filter out values that no longer has a matching\n // option in the DOM.\n var prevOptions = el._vOptions;\n var curOptions = el._vOptions = [].map.call(el.options, getValue);\n if (curOptions.some(function (o, i) { return !looseEqual(o, prevOptions[i]); })) {\n // trigger change event if\n // no matching option found for at least one value\n var needReset = el.multiple\n ? binding.value.some(function (v) { return hasNoMatchingOption(v, curOptions); })\n : binding.value !== binding.oldValue && hasNoMatchingOption(binding.value, curOptions);\n if (needReset) {\n trigger(el, 'change');\n }\n }\n }\n }\n};\n\nfunction setSelected (el, binding, vm) {\n actuallySetSelected(el, binding, vm);\n /* istanbul ignore if */\n if (isIE || isEdge) {\n setTimeout(function () {\n actuallySetSelected(el, binding, vm);\n }, 0);\n }\n}\n\nfunction actuallySetSelected (el, binding, vm) {\n var value = binding.value;\n var isMultiple = el.multiple;\n if (isMultiple && !Array.isArray(value)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"<select multiple v-model=\\\"\" + (binding.expression) + \"\\\"> \" +\n \"expects an Array value for its binding, but got \" + (Object.prototype.toString.call(value).slice(8, -1)),\n vm\n );\n return\n }\n var selected, option;\n for (var i = 0, l = el.options.length; i < l; i++) {\n option = el.options[i];\n if (isMultiple) {\n selected = looseIndexOf(value, getValue(option)) > -1;\n if (option.selected !== selected) {\n option.selected = selected;\n }\n } else {\n if (looseEqual(getValue(option), value)) {\n if (el.selectedIndex !== i) {\n el.selectedIndex = i;\n }\n return\n }\n }\n }\n if (!isMultiple) {\n el.selectedIndex = -1;\n }\n}\n\nfunction hasNoMatchingOption (value, options) {\n return options.every(function (o) { return !looseEqual(o, value); })\n}\n\nfunction getValue (option) {\n return '_value' in option\n ? option._value\n : option.value\n}\n\nfunction onCompositionStart (e) {\n e.target.composing = true;\n}\n\nfunction onCompositionEnd (e) {\n // prevent triggering an input event for no reason\n if (!e.target.composing) { return }\n e.target.composing = false;\n trigger(e.target, 'input');\n}\n\nfunction trigger (el, type) {\n var e = document.createEvent('HTMLEvents');\n e.initEvent(type, true, true);\n el.dispatchEvent(e);\n}\n\n/* */\n\n// recursively search for possible transition defined inside the component root\nfunction locateNode (vnode) {\n return vnode.componentInstance && (!vnode.data || !vnode.data.transition)\n ? locateNode(vnode.componentInstance._vnode)\n : vnode\n}\n\nvar show = {\n bind: function bind (el, ref, vnode) {\n var value = ref.value;\n\n vnode = locateNode(vnode);\n var transition$$1 = vnode.data && vnode.data.transition;\n var originalDisplay = el.__vOriginalDisplay =\n el.style.display === 'none' ? '' : el.style.display;\n if (value && transition$$1) {\n vnode.data.show = true;\n enter(vnode, function () {\n el.style.display = originalDisplay;\n });\n } else {\n el.style.display = value ? originalDisplay : 'none';\n }\n },\n\n update: function update (el, ref, vnode) {\n var value = ref.value;\n var oldValue = ref.oldValue;\n\n /* istanbul ignore if */\n if (!value === !oldValue) { return }\n vnode = locateNode(vnode);\n var transition$$1 = vnode.data && vnode.data.transition;\n if (transition$$1) {\n vnode.data.show = true;\n if (value) {\n enter(vnode, function () {\n el.style.display = el.__vOriginalDisplay;\n });\n } else {\n leave(vnode, function () {\n el.style.display = 'none';\n });\n }\n } else {\n el.style.display = value ? el.__vOriginalDisplay : 'none';\n }\n },\n\n unbind: function unbind (\n el,\n binding,\n vnode,\n oldVnode,\n isDestroy\n ) {\n if (!isDestroy) {\n el.style.display = el.__vOriginalDisplay;\n }\n }\n};\n\nvar platformDirectives = {\n model: directive,\n show: show\n};\n\n/* */\n\nvar transitionProps = {\n name: String,\n appear: Boolean,\n css: Boolean,\n mode: String,\n type: String,\n enterClass: String,\n leaveClass: String,\n enterToClass: String,\n leaveToClass: String,\n enterActiveClass: String,\n leaveActiveClass: String,\n appearClass: String,\n appearActiveClass: String,\n appearToClass: String,\n duration: [Number, String, Object]\n};\n\n// in case the child is also an abstract component, e.g. <keep-alive>\n// we want to recursively retrieve the real component to be rendered\nfunction getRealChild (vnode) {\n var compOptions = vnode && vnode.componentOptions;\n if (compOptions && compOptions.Ctor.options.abstract) {\n return getRealChild(getFirstComponentChild(compOptions.children))\n } else {\n return vnode\n }\n}\n\nfunction extractTransitionData (comp) {\n var data = {};\n var options = comp.$options;\n // props\n for (var key in options.propsData) {\n data[key] = comp[key];\n }\n // events.\n // extract listeners and pass them directly to the transition methods\n var listeners = options._parentListeners;\n for (var key$1 in listeners) {\n data[camelize(key$1)] = listeners[key$1];\n }\n return data\n}\n\nfunction placeholder (h, rawChild) {\n if (/\\d-keep-alive$/.test(rawChild.tag)) {\n return h('keep-alive', {\n props: rawChild.componentOptions.propsData\n })\n }\n}\n\nfunction hasParentTransition (vnode) {\n while ((vnode = vnode.parent)) {\n if (vnode.data.transition) {\n return true\n }\n }\n}\n\nfunction isSameChild (child, oldChild) {\n return oldChild.key === child.key && oldChild.tag === child.tag\n}\n\nvar isNotTextNode = function (c) { return c.tag || isAsyncPlaceholder(c); };\n\nvar isVShowDirective = function (d) { return d.name === 'show'; };\n\nvar Transition = {\n name: 'transition',\n props: transitionProps,\n abstract: true,\n\n render: function render (h) {\n var this$1 = this;\n\n var children = this.$slots.default;\n if (!children) {\n return\n }\n\n // filter out text nodes (possible whitespaces)\n children = children.filter(isNotTextNode);\n /* istanbul ignore if */\n if (!children.length) {\n return\n }\n\n // warn multiple elements\n if (process.env.NODE_ENV !== 'production' && children.length > 1) {\n warn(\n '<transition> can only be used on a single element. Use ' +\n '<transition-group> for lists.',\n this.$parent\n );\n }\n\n var mode = this.mode;\n\n // warn invalid mode\n if (process.env.NODE_ENV !== 'production' &&\n mode && mode !== 'in-out' && mode !== 'out-in'\n ) {\n warn(\n 'invalid <transition> mode: ' + mode,\n this.$parent\n );\n }\n\n var rawChild = children[0];\n\n // if this is a component root node and the component's\n // parent container node also has transition, skip.\n if (hasParentTransition(this.$vnode)) {\n return rawChild\n }\n\n // apply transition data to child\n // use getRealChild() to ignore abstract components e.g. keep-alive\n var child = getRealChild(rawChild);\n /* istanbul ignore if */\n if (!child) {\n return rawChild\n }\n\n if (this._leaving) {\n return placeholder(h, rawChild)\n }\n\n // ensure a key that is unique to the vnode type and to this transition\n // component instance. This key will be used to remove pending leaving nodes\n // during entering.\n var id = \"__transition-\" + (this._uid) + \"-\";\n child.key = child.key == null\n ? child.isComment\n ? id + 'comment'\n : id + child.tag\n : isPrimitive(child.key)\n ? (String(child.key).indexOf(id) === 0 ? child.key : id + child.key)\n : child.key;\n\n var data = (child.data || (child.data = {})).transition = extractTransitionData(this);\n var oldRawChild = this._vnode;\n var oldChild = getRealChild(oldRawChild);\n\n // mark v-show\n // so that the transition module can hand over the control to the directive\n if (child.data.directives && child.data.directives.some(isVShowDirective)) {\n child.data.show = true;\n }\n\n if (\n oldChild &&\n oldChild.data &&\n !isSameChild(child, oldChild) &&\n !isAsyncPlaceholder(oldChild) &&\n // #6687 component root is a comment node\n !(oldChild.componentInstance && oldChild.componentInstance._vnode.isComment)\n ) {\n // replace old child transition data with fresh one\n // important for dynamic transitions!\n var oldData = oldChild.data.transition = extend({}, data);\n // handle transition mode\n if (mode === 'out-in') {\n // return placeholder node and queue update when leave finishes\n this._leaving = true;\n mergeVNodeHook(oldData, 'afterLeave', function () {\n this$1._leaving = false;\n this$1.$forceUpdate();\n });\n return placeholder(h, rawChild)\n } else if (mode === 'in-out') {\n if (isAsyncPlaceholder(child)) {\n return oldRawChild\n }\n var delayedLeave;\n var performLeave = function () { delayedLeave(); };\n mergeVNodeHook(data, 'afterEnter', performLeave);\n mergeVNodeHook(data, 'enterCancelled', performLeave);\n mergeVNodeHook(oldData, 'delayLeave', function (leave) { delayedLeave = leave; });\n }\n }\n\n return rawChild\n }\n};\n\n/* */\n\nvar props = extend({\n tag: String,\n moveClass: String\n}, transitionProps);\n\ndelete props.mode;\n\nvar TransitionGroup = {\n props: props,\n\n beforeMount: function beforeMount () {\n var this$1 = this;\n\n var update = this._update;\n this._update = function (vnode, hydrating) {\n var restoreActiveInstance = setActiveInstance(this$1);\n // force removing pass\n this$1.__patch__(\n this$1._vnode,\n this$1.kept,\n false, // hydrating\n true // removeOnly (!important, avoids unnecessary moves)\n );\n this$1._vnode = this$1.kept;\n restoreActiveInstance();\n update.call(this$1, vnode, hydrating);\n };\n },\n\n render: function render (h) {\n var tag = this.tag || this.$vnode.data.tag || 'span';\n var map = Object.create(null);\n var prevChildren = this.prevChildren = this.children;\n var rawChildren = this.$slots.default || [];\n var children = this.children = [];\n var transitionData = extractTransitionData(this);\n\n for (var i = 0; i < rawChildren.length; i++) {\n var c = rawChildren[i];\n if (c.tag) {\n if (c.key != null && String(c.key).indexOf('__vlist') !== 0) {\n children.push(c);\n map[c.key] = c\n ;(c.data || (c.data = {})).transition = transitionData;\n } else if (process.env.NODE_ENV !== 'production') {\n var opts = c.componentOptions;\n var name = opts ? (opts.Ctor.options.name || opts.tag || '') : c.tag;\n warn((\"<transition-group> children must be keyed: <\" + name + \">\"));\n }\n }\n }\n\n if (prevChildren) {\n var kept = [];\n var removed = [];\n for (var i$1 = 0; i$1 < prevChildren.length; i$1++) {\n var c$1 = prevChildren[i$1];\n c$1.data.transition = transitionData;\n c$1.data.pos = c$1.elm.getBoundingClientRect();\n if (map[c$1.key]) {\n kept.push(c$1);\n } else {\n removed.push(c$1);\n }\n }\n this.kept = h(tag, null, kept);\n this.removed = removed;\n }\n\n return h(tag, null, children)\n },\n\n updated: function updated () {\n var children = this.prevChildren;\n var moveClass = this.moveClass || ((this.name || 'v') + '-move');\n if (!children.length || !this.hasMove(children[0].elm, moveClass)) {\n return\n }\n\n // we divide the work into three loops to avoid mixing DOM reads and writes\n // in each iteration - which helps prevent layout thrashing.\n children.forEach(callPendingCbs);\n children.forEach(recordPosition);\n children.forEach(applyTranslation);\n\n // force reflow to put everything in position\n // assign to this to avoid being removed in tree-shaking\n // $flow-disable-line\n this._reflow = document.body.offsetHeight;\n\n children.forEach(function (c) {\n if (c.data.moved) {\n var el = c.elm;\n var s = el.style;\n addTransitionClass(el, moveClass);\n s.transform = s.WebkitTransform = s.transitionDuration = '';\n el.addEventListener(transitionEndEvent, el._moveCb = function cb (e) {\n if (e && e.target !== el) {\n return\n }\n if (!e || /transform$/.test(e.propertyName)) {\n el.removeEventListener(transitionEndEvent, cb);\n el._moveCb = null;\n removeTransitionClass(el, moveClass);\n }\n });\n }\n });\n },\n\n methods: {\n hasMove: function hasMove (el, moveClass) {\n /* istanbul ignore if */\n if (!hasTransition) {\n return false\n }\n /* istanbul ignore if */\n if (this._hasMove) {\n return this._hasMove\n }\n // Detect whether an element with the move class applied has\n // CSS transitions. Since the element may be inside an entering\n // transition at this very moment, we make a clone of it and remove\n // all other transition classes applied to ensure only the move class\n // is applied.\n var clone = el.cloneNode();\n if (el._transitionClasses) {\n el._transitionClasses.forEach(function (cls) { removeClass(clone, cls); });\n }\n addClass(clone, moveClass);\n clone.style.display = 'none';\n this.$el.appendChild(clone);\n var info = getTransitionInfo(clone);\n this.$el.removeChild(clone);\n return (this._hasMove = info.hasTransform)\n }\n }\n};\n\nfunction callPendingCbs (c) {\n /* istanbul ignore if */\n if (c.elm._moveCb) {\n c.elm._moveCb();\n }\n /* istanbul ignore if */\n if (c.elm._enterCb) {\n c.elm._enterCb();\n }\n}\n\nfunction recordPosition (c) {\n c.data.newPos = c.elm.getBoundingClientRect();\n}\n\nfunction applyTranslation (c) {\n var oldPos = c.data.pos;\n var newPos = c.data.newPos;\n var dx = oldPos.left - newPos.left;\n var dy = oldPos.top - newPos.top;\n if (dx || dy) {\n c.data.moved = true;\n var s = c.elm.style;\n s.transform = s.WebkitTransform = \"translate(\" + dx + \"px,\" + dy + \"px)\";\n s.transitionDuration = '0s';\n }\n}\n\nvar platformComponents = {\n Transition: Transition,\n TransitionGroup: TransitionGroup\n};\n\n/* */\n\n// install platform specific utils\nVue.config.mustUseProp = mustUseProp;\nVue.config.isReservedTag = isReservedTag;\nVue.config.isReservedAttr = isReservedAttr;\nVue.config.getTagNamespace = getTagNamespace;\nVue.config.isUnknownElement = isUnknownElement;\n\n// install platform runtime directives & components\nextend(Vue.options.directives, platformDirectives);\nextend(Vue.options.components, platformComponents);\n\n// install platform patch function\nVue.prototype.__patch__ = inBrowser ? patch : noop;\n\n// public mount method\nVue.prototype.$mount = function (\n el,\n hydrating\n) {\n el = el && inBrowser ? query(el) : undefined;\n return mountComponent(this, el, hydrating)\n};\n\n// devtools global hook\n/* istanbul ignore next */\nif (inBrowser) {\n setTimeout(function () {\n if (config.devtools) {\n if (devtools) {\n devtools.emit('init', Vue);\n } else if (\n process.env.NODE_ENV !== 'production' &&\n process.env.NODE_ENV !== 'test'\n ) {\n console[console.info ? 'info' : 'log'](\n 'Download the Vue Devtools extension for a better development experience:\\n' +\n 'https://github.com/vuejs/vue-devtools'\n );\n }\n }\n if (process.env.NODE_ENV !== 'production' &&\n process.env.NODE_ENV !== 'test' &&\n config.productionTip !== false &&\n typeof console !== 'undefined'\n ) {\n console[console.info ? 'info' : 'log'](\n \"You are running Vue in development mode.\\n\" +\n \"Make sure to turn on production mode when deploying for production.\\n\" +\n \"See more tips at https://vuejs.org/guide/deployment.html\"\n );\n }\n }, 0);\n}\n\n/* */\n\nexport default Vue;\n","'use strict';\n\nvar forEach = require('foreach');\nvar availableTypedArrays = require('available-typed-arrays');\nvar callBound = require('call-bind/callBound');\n\nvar $toString = callBound('Object.prototype.toString');\nvar hasToStringTag = require('has-tostringtag/shams')();\n\nvar g = typeof globalThis === 'undefined' ? global : globalThis;\nvar typedArrays = availableTypedArrays();\n\nvar $slice = callBound('String.prototype.slice');\nvar toStrTags = {};\nvar gOPD = require('es-abstract/helpers/getOwnPropertyDescriptor');\nvar getPrototypeOf = Object.getPrototypeOf; // require('getprototypeof');\nif (hasToStringTag && gOPD && getPrototypeOf) {\n\tforEach(typedArrays, function (typedArray) {\n\t\tif (typeof g[typedArray] === 'function') {\n\t\t\tvar arr = new g[typedArray]();\n\t\t\tif (Symbol.toStringTag in arr) {\n\t\t\t\tvar proto = getPrototypeOf(arr);\n\t\t\t\tvar descriptor = gOPD(proto, Symbol.toStringTag);\n\t\t\t\tif (!descriptor) {\n\t\t\t\t\tvar superProto = getPrototypeOf(proto);\n\t\t\t\t\tdescriptor = gOPD(superProto, Symbol.toStringTag);\n\t\t\t\t}\n\t\t\t\ttoStrTags[typedArray] = descriptor.get;\n\t\t\t}\n\t\t}\n\t});\n}\n\nvar tryTypedArrays = function tryAllTypedArrays(value) {\n\tvar foundName = false;\n\tforEach(toStrTags, function (getter, typedArray) {\n\t\tif (!foundName) {\n\t\t\ttry {\n\t\t\t\tvar name = getter.call(value);\n\t\t\t\tif (name === typedArray) {\n\t\t\t\t\tfoundName = name;\n\t\t\t\t}\n\t\t\t} catch (e) {}\n\t\t}\n\t});\n\treturn foundName;\n};\n\nvar isTypedArray = require('is-typed-array');\n\nmodule.exports = function whichTypedArray(value) {\n\tif (!isTypedArray(value)) { return false; }\n\tif (!hasToStringTag || !(Symbol.toStringTag in value)) { return $slice($toString(value), 8, -1); }\n\treturn tryTypedArrays(value);\n};\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/apps/firstrunwizard/js/\";","<!--\n - @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n -\n - @author Julius Härtl <jus@bitgrid.net>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<div class=\"video-wrapper\">\n\t\t<video ref=\"video\"\n\t\t\tplaysinline\n\t\t\tautoplay\n\t\t\tmuted>\n\t\t\t<source :src=\"videoWebm\" type=\"video/webm\">\n\t\t\t<source :src=\"videoMp4\" type=\"video/mp4\">\n\t\t\t{{ videoFallbackText }}\n\t\t</video>\n\t</div>\n</template>\n\n<script>\nimport { generateFilePath } from '@nextcloud/router'\n\nexport default {\n\tname: 'IntroVideo',\n\tdata() {\n\t\treturn {\n\t\t\tvideoMp4: generateFilePath('firstrunwizard', 'img', 'Nextcloud.mp4'),\n\t\t\tvideoWebm: generateFilePath('firstrunwizard', 'img', 'Nextcloud.webm'),\n\t\t}\n\t},\n\tcomputed: {\n\t\tvideoFallbackText() {\n\t\t\treturn t('firstrunwizard', 'Welcome to {cloudName}!', { cloudName: window.OC.theme.name })\n\t\t},\n\t},\n}\n</script>\n\n<style scoped lang=\"scss\">\n\tvideo {\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tobject-fit: cover;\n\t}\n\n\t.video-wrapper {\n\t\tbackground-color: var(--color-primary);\n\t}\n</style>\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IntroVideo.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IntroVideo.vue?vue&type=script&lang=js&\"","\n import API from \"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IntroVideo.vue?vue&type=style&index=0&id=70de3a6e&scoped=true&lang=scss&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/sass-loader/dist/cjs.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IntroVideo.vue?vue&type=style&index=0&id=70de3a6e&scoped=true&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./IntroVideo.vue?vue&type=template&id=70de3a6e&scoped=true&\"\nimport script from \"./IntroVideo.vue?vue&type=script&lang=js&\"\nexport * from \"./IntroVideo.vue?vue&type=script&lang=js&\"\nimport style0 from \"./IntroVideo.vue?vue&type=style&index=0&id=70de3a6e&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"70de3a6e\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"video-wrapper\"},[_c('video',{ref:\"video\",attrs:{\"playsinline\":\"\",\"autoplay\":\"\",\"muted\":\"\"},domProps:{\"muted\":true}},[_c('source',{attrs:{\"src\":_vm.videoWebm,\"type\":\"video/webm\"}}),_vm._v(\" \"),_c('source',{attrs:{\"src\":_vm.videoMp4,\"type\":\"video/mp4\"}}),_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.videoFallbackText)+\"\\n\\t\")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<Modal\n\t\tv-if=\"showModal && slideList.length > 0\"\n\t\tid=\"firstrunwizard\"\n\t\tsize=\"large\"\n\t\t:has-previous=\"hasPrevious\"\n\t\t:has-next=\"hasNext\"\n\t\t:clear-view-delay=\"-1 /* disable fade-out because of accessibility reasons */\"\n\t\tname=\"modal\"\n\t\t@previous=\"previous\"\n\t\t@next=\"next\"\n\t\t@close=\"close\">\n\t\t<div v-if=\"currentSlide !== 0 || !withIntro\" class=\"modal-header\">\n\t\t\t<div class=\"firstrunwizard-header\">\n\t\t\t\t<div class=\"logo\">\n\t\t\t\t\t<p class=\"hidden-visually\">\n\t\t\t\t\t\t{{ oc_defaults.name }}\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<!-- eslint-disable-next-line vue/no-v-html -->\n\t\t\t\t<h2 v-html=\"oc_defaults.slogan\" />\n\t\t\t\t<p />\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"modal-body\">\n\t\t\t<slot v-if=\"slideList.length > 0\" name=\"body\">\n\t\t\t\t<transition :name=\"fadeDirection\" mode=\"out-in\">\n\t\t\t\t\t<!-- eslint-disable-next-line vue/no-v-html -->\n\t\t\t\t\t<div v-if=\"slideList[currentSlide].type === 'inline'\" :key=\"currentSlide\" v-html=\"slideList[currentSlide].content\" />\n\t\t\t\t\t<div :is=\"slideList[currentSlide]\" v-else @finished=\"currentSlide++\" />\n\t\t\t\t</transition>\n\t\t\t</slot>\n\t\t</div>\n\t\t<div class=\"modal-footer\">\n\t\t\t<button v-if=\"isLast\" class=\"primary modal-default-button\" @click=\"close\">\n\t\t\t\t{{ startButtonText }}\n\t\t\t</button>\n\t\t</div>\n\t</Modal>\n</template>\n<style lang=\"scss\">\n\t/* Page styling needs to be unscoped, since we load it separately from the server */\n\t#firstrunwizard {\n\n\t\t.page {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: row;\n\t\t\tflex-wrap: wrap;\n\t\t\tmargin: auto;\n\n\t\t\th3 {\n\t\t\t\tmargin: 10px 0 10px;\n\t\t\t\tline-height: 120%;\n\t\t\t\tpadding: 0;\n\t\t\t}\n\t\t\t.image {\n\t\t\t\tpadding: 20px;\n\t\t\t\tmax-width: calc(50% - 40px);\n\t\t\t\tflex-grow: 1;\n\t\t\t\timg {\n\t\t\t\t\twidth: 100%;\n\t\t\t\t}\n\t\t\t}\n\t\t\t.content {\n\t\t\t\tpadding: 20px;\n\t\t\t\twidth: 100%;\n\t\t\t}\n\t\t\tp {\n\t\t\t\tmargin-bottom: 20px;\n\t\t\t}\n\t\t\t.description-block:first-child {\n\t\t\t\tmargin-bottom: 20px;\n\t\t\t}\n\t\t\t.description {\n\t\t\t\tmargin: 20px;\n\t\t\t\twidth: auto;\n\t\t\t\tflex-grow: 1;\n\t\t\t\tmax-width: calc(50% - 40px);\n\t\t\t}\n\t\t\tul {\n\t\t\t\tmargin: 10px;\n\t\t\t\tli {\n\t\t\t\t\tmargin-left: 20px;\n\t\t\t\t\tmargin-bottom: 10px;\n\t\t\t\t\tlist-style: circle outside;\n\t\t\t\t}\n\t\t\t}\n\t\t\ta:not(.button) {\n\t\t\t\t&:hover,\n\t\t\t\t&:focus {\n\t\t\t\t\ttext-decoration: underline;\n\t\t\t\t}\n\t\t\t}\n\t\t\t.button {\n\t\t\t\tdisplay: inline-block;\n\n\t\t\t\timg {\n\t\t\t\t\twidth: 16px;\n\t\t\t\t\theight: 16px;\n\t\t\t\t\topacity: .5;\n\t\t\t\t\tmargin-top: -3px;\n\t\t\t\t\tvertical-align: middle;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t.content-clients {\n\t\t\twidth: 100%;\n\t\t\ttext-align: center;\n\t\t\ta {\n\t\t\t\ttext-decoration: none;\n\t\t\t\tdisplay: inline-block;\n\t\t\t}\n\t\t\t.clientslinks .appsmall {\n\t\t\t\theight: 32px;\n\t\t\t\twidth: 32px;\n\t\t\t\tposition: relative;\n\t\t\t\topacity: .5;\n\t\t\t\tvertical-align: middle;\n\t\t\t}\n\t\t\t.clientslinks .button {\n\t\t\t\tdisplay: inline-block;\n\t\t\t\tpadding: 8px;\n\t\t\t\tfont-weight: normal;\n\t\t\t\tfont-size: 14px;\n\t\t\t}\n\t\t}\n\t\t.content-final {\n\t\t\th3 {\n\t\t\t\tbackground-position: 0;\n\t\t\t\tbackground-size: 16px 16px;\n\t\t\t\tpadding-left: 26px;\n\t\t\t\topacity: .7;\n\t\t\t}\n\t\t}\n\t\tp a {\n\t\t\tfont-weight: bold;\n\t\t\tcolor: var(--color-primary);\n\t\t\t&:hover,\n\t\t\t&:focus {\n\t\t\t\tcolor: var(color-text-light);\n\t\t\t}\n\t\t}\n\n\t\t.footnote {\n\t\t\tmargin-top: 40px;\n\t\t}\n\n\t\t// primary on next button\n\t\t.modal-wrapper {\n\t\t\t.icon-next {\n\t\t\t\tbackground-color: var(--color-primary);\n\t\t\t\tcolor: var(--color-primary-text);\n\t\t\t\tbox-shadow: 0 2px 8px rgba(0, 0, 0, .33);\n\t\t\t\tleft: 22px;\n\t\t\t\tborder-radius: 40px;\n\t\t\t}\n\n\t\t\t.icon-previous {\n\t\t\t\tbackground-color: var(--color-primary-light);\n\t\t\t\tcolor: var(--color-primary-light-text);\n\t\t\t\tbox-shadow: 0 2px 8px rgba(0, 0, 0, .33);\n\t\t\t\tleft: 22px;\n\t\t\t\tborder-radius: 40px;\n\t\t\t}\n\t\t}\n\t}\n\n\t.clientslinks {\n\t\tmargin-top: 20px;\n\t\tmargin-bottom: 20px;\n\t}\n\n\t#wizard-values {\n\t\tlist-style-type: none;\n\t\tdisplay: flex;\n\t\tflex-wrap: wrap;\n\t\tmargin: 0;\n\t\tli {\n\t\t\tdisplay: block;\n\t\t\tmin-width: 250px;\n\t\t\twidth: 33%;\n\t\t\tflex-grow: 1;\n\t\t\tmargin: 20px 0 20px 0;\n\t\t\tspan {\n\t\t\t\topacity: .7;\n\t\t\t\tdisplay: block;\n\t\t\t\theight: 50px;\n\t\t\t\twidth: 50px;\n\t\t\t\tbackground-size: 40px;\n\t\t\t\tmargin: auto;\n\t\t\t}\n\t\t\th3 {\n\t\t\t\tmargin: 10px 0 10px 0;\n\t\t\t\tfont-size: 130%;\n\t\t\t\ttext-align: center;\n\t\t\t}\n\t\t}\n\t}\n\n\t.details-link {\n\t\ttext-align: center;\n\t}\n\n\t@media only screen and (max-width: 680px) {\n\t\t#firstrunwizard {\n\t\t\t.firstrunwizard-header div.logo {\n\t\t\t\tbackground-size: 120px;\n\t\t\t}\n\t\t\th2 {\n\t\t\t\tfont-size: 20px;\n\t\t\t}\n\t\t\t.page > div {\n\t\t\t\tmax-width: 100% !important;\n\t\t\t\twidth: 100%;\n\t\t\t}\n\t\t\t.page {\n\t\t\t\t#wizard-values li {\n\t\t\t\t\tmin-width: 100%;\n\t\t\t\t\toverflow: hidden;\n\t\t\t\t\tdisplay: flex;\n\t\t\t\t\tspan {\n\t\t\t\t\t\twidth: 44px !important;\n\t\t\t\t\t\tpadding-right: 20px;\n\t\t\t\t\t\tflex-grow: 0;\n\t\t\t\t\t}\n\t\t\t\t\th3 {\n\t\t\t\t\t\tfont-size: 12px;\n\t\t\t\t\t\ttext-align: left;\n\t\t\t\t\t\tflex-grow: 1;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t&.content-final {\n\t\t\t\t\tpadding-bottom: 50px;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t// fix button position on mobile (so that they don't overlap with text)\n\t\t.modal-mask .modal-wrapper .next, .prev {\n\t\t\ttop: 220px;\n\t\t\talign-items: start !important;\n\t\t}\n\t}\n</style>\n\n<style lang=\"scss\" scoped>\n\t.modal-mask {\n\t\tbackground-color: rgba(0, 0, 0, 0.7);\n\n\t\t&::v-deep .modal-wrapper {\n\t\t\tposition: relative;\n\t\t}\n\n\t\t&::v-deep .modal-container {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\tposition: relative;\n\t\t}\n\n\t\t.modal-body {\n\t\t\tflex-grow: 1;\n\t\t\tdisplay: flex;\n\t\t\toverflow-x: hidden;\n\t\t\toverflow-y: auto;\n\n\t\t\t& > div {\n\t\t\t\tdisplay: flex;\n\t\t\t\tflex-grow: 1;\n\t\t\t\talign-items: center;\n\t\t\t\tjustify-content: center;\n\t\t\t}\n\t\t}\n\t}\n\n\t.modal-header {\n\t\tflex-shrink: 0;\n\n\t\t.firstrunwizard-header {\n\t\t\tpadding: 20px 12px;\n\t\t\tbackground: var(--color-primary) var(--image-login-background) no-repeat 50% 50%;\n\t\t\tbackground-size: cover;\n\t\t\tcolor: var(--color-primary-text);\n\t\t\ttext-align: center;\n\t\t\t.logo {\n\t\t\t\tbackground: var(--image-logo) no-repeat center;\n\t\t\t\tbackground-size: contain;\n\t\t\t\twidth: 175px;\n\t\t\t\theight: 100px;\n\t\t\t\tmax-height: 20vh;\n\t\t\t\tmargin: 0 auto;\n\t\t\t}\n\t\t\th2 {\n\t\t\t\tfont-size: 20px;\n\t\t\t\tmargin-top: 7px;\n\t\t\t\tline-height: 150%;\n\t\t\t\tcolor: var(--color-primary-text);\n\t\t\t\tfont-weight: 300;\n\t\t\t\tpadding: 0 0 10px;\n\t\t\t}\n\t\t}\n\t}\n\n\t.modal-default-button {\n\t\talign-self: flex-end;\n\t}\n\n\t.modal-footer {\n\t\toverflow: hidden;\n\t\tposition: absolute;\n\t\tdisplay: flex;\n\t\tbottom: 0;\n\t\tright: 0;\n\t}\n\n\t.modal-footer button {\n\t\tmargin: 10px;\n\t}\n\n\t/* Transitions */\n\t.next-enter-active, .next-leave-active,\n\t.previous-enter-active, .previous-leave-active {\n\t\ttransition: transform .1s, opacity .25s;\n\t}\n\n\t.next-enter {\n\t\ttransform: translateX(50%);\n\t\topacity: 0;\n\t}\n\n\t.next-leave-to {\n\t\ttransform: translateX(-50%);\n\t\topacity: 0;\n\t}\n\n\t.previous-enter {\n\t\ttransform: translateX(-50%);\n\t\topacity: 0;\n\t}\n\n\t.previous-leave-to {\n\t\ttransform: translateX(50%);\n\t\topacity: 0;\n\t}\n</style>\n<script>\nimport Modal from '@nextcloud/vue/dist/Components/Modal'\nimport axios from '@nextcloud/axios'\nimport { generateUrl } from '@nextcloud/router'\nimport IntroVideo from './components/IntroVideo'\n\nexport default {\n\tname: 'App',\n\tcomponents: {\n\t\tModal,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tshowModal: false,\n\t\t\twithIntro: true,\n\t\t\tslides: [],\n\t\t\tcurrentSlide: 0,\n\t\t\tfadeDirection: 'next',\n\t\t\tslidesLoaded: false,\n\t\t}\n\t},\n\tcomputed: {\n\t\tslideList() {\n\t\t\tif (this.withIntro) {\n\t\t\t\treturn this.slides\n\t\t\t}\n\t\t\tconst slides = this.slides\n\t\t\treturn slides.slice(1)\n\t\t},\n\t\thasNext() {\n\t\t\treturn this.currentSlide < this.slideList.length - 1\n\t\t},\n\t\thasPrevious() {\n\t\t\treturn this.currentSlide > 0\n\t\t},\n\t\tisLast() {\n\t\t\treturn this.currentSlide === this.slideList.length - 1\n\t\t},\n\t\tisFirst() {\n\t\t\treturn this.currentSlide === 0\n\t\t},\n\t\tstartButtonText() {\n\t\t\treturn t('firstrunwizard', 'Start using {cloudName}', { cloudName: window.OC.theme.name })\n\t\t},\n\t},\n\tasync created() {\n\t\tthis.slides = [IntroVideo]\n\t\twindow.addEventListener('resize', this.onResize)\n\t},\n\tbeforeDestroy() {\n\t\twindow.removeEventListener('resize', this.onResize)\n\t},\n\tmethods: {\n\t\tasync loadStaticSlides() {\n\t\t\tif (this.slidesLoaded) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tconst response = await axios.get(generateUrl('/apps/firstrunwizard/wizard'))\n\t\t\t\tthis.slides.push(...response.data.slides)\n\t\t\t\tthis.withIntro = response.data.hasVideo\n\t\t\t\tthis.slidesLoaded = true\n\t\t\t} catch (e) {\n\t\t\t\tconsole.error('Failed to load slides')\n\t\t\t}\n\t\t},\n\t\tasync open(withIntro = true) {\n\t\t\tawait this.loadStaticSlides()\n\t\t\tthis.withIntro = this.withIntro & withIntro\n\t\t\tthis.showModal = true\n\t\t\tthis.currentSlide = 0\n\t\t},\n\t\tclose() {\n\t\t\tthis.showModal = false\n\t\t\taxios.delete(generateUrl('/apps/firstrunwizard/wizard'))\n\t\t},\n\t\tnext() {\n\t\t\tthis.fadeDirection = 'next'\n\t\t\tif (this.isLast) {\n\t\t\t\tthis.close()\n\t\t\t\treturn\n\t\t\t}\n\t\t\tthis.currentSlide += 1\n\t\t},\n\t\tprevious() {\n\t\t\tthis.fadeDirection = 'previous'\n\t\t\tif (this.isFirst) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tthis.currentSlide -= 1\n\t\t},\n\t},\n}\n</script>\n","import mod from \"-!../node_modules/babel-loader/lib/index.js!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/babel-loader/lib/index.js!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","\n import API from \"!../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../node_modules/css-loader/dist/cjs.js!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/sass-loader/dist/cjs.js!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=scss&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../node_modules/css-loader/dist/cjs.js!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/sass-loader/dist/cjs.js!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\n","\n import API from \"!../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../node_modules/css-loader/dist/cjs.js!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/sass-loader/dist/cjs.js!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=1&id=dd9f3cba&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../node_modules/css-loader/dist/cjs.js!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/sass-loader/dist/cjs.js!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=1&id=dd9f3cba&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=dd9f3cba&scoped=true&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=scss&\"\nimport style1 from \"./App.vue?vue&type=style&index=1&id=dd9f3cba&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"dd9f3cba\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.showModal && _vm.slideList.length > 0)?_c('Modal',{attrs:{\"id\":\"firstrunwizard\",\"size\":\"large\",\"has-previous\":_vm.hasPrevious,\"has-next\":_vm.hasNext,\"clear-view-delay\":-1 /* disable fade-out because of accessibility reasons */,\"name\":\"modal\"},on:{\"previous\":_vm.previous,\"next\":_vm.next,\"close\":_vm.close}},[(_vm.currentSlide !== 0 || !_vm.withIntro)?_c('div',{staticClass:\"modal-header\"},[_c('div',{staticClass:\"firstrunwizard-header\"},[_c('div',{staticClass:\"logo\"},[_c('p',{staticClass:\"hidden-visually\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.oc_defaults.name)+\"\\n\\t\\t\\t\\t\")])]),_vm._v(\" \"),_c('h2',{domProps:{\"innerHTML\":_vm._s(_vm.oc_defaults.slogan)}}),_vm._v(\" \"),_c('p')])]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"modal-body\"},[(_vm.slideList.length > 0)?_vm._t(\"body\",function(){return [_c('transition',{attrs:{\"name\":_vm.fadeDirection,\"mode\":\"out-in\"}},[(_vm.slideList[_vm.currentSlide].type === 'inline')?_c('div',{key:_vm.currentSlide,domProps:{\"innerHTML\":_vm._s(_vm.slideList[_vm.currentSlide].content)}}):_c(_vm.slideList[_vm.currentSlide],{tag:\"div\",on:{\"finished\":function($event){_vm.currentSlide++}}})],1)]}):_vm._e()],2),_vm._v(\" \"),_c('div',{staticClass:\"modal-footer\"},[(_vm.isLast)?_c('button',{staticClass:\"primary modal-default-button\",on:{\"click\":_vm.close}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.startButtonText)+\"\\n\\t\\t\")]):_vm._e()])]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Vue from 'vue'\nimport { generateFilePath } from '@nextcloud/router'\nimport { translate, translatePlural } from '@nextcloud/l10n'\n\nimport App from './App.vue'\n// eslint-disable-next-line\n__webpack_public_path__ = generateFilePath('firstrunwizard', '', 'js/');\n\nVue.prototype.t = translate\nVue.prototype.n = translatePlural\n// eslint-disable-next-line\nVue.prototype.oc_defaults = window.oc_defaults\n\nconst el = document.createElement('div')\nel.id = 'firstrunwizard'\ndocument.querySelector('body').appendChild(el)\n\nconst View = Vue.extend(App)\nconst vm = new View().$mount(el)\n\nwindow.OCA.FirstRunWizard = {\n\topen: vm.open,\n}\n"],"sourceRoot":""} \ No newline at end of file
diff --git a/src/App.vue b/src/App.vue
index aed30a92..e1b5e415 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -153,6 +153,7 @@
color: var(--color-primary-text);
box-shadow: 0 2px 8px rgba(0, 0, 0, .33);
left: 22px;
+ border-radius: 40px;
}
.icon-previous {
@@ -160,6 +161,7 @@
color: var(--color-primary-light-text);
box-shadow: 0 2px 8px rgba(0, 0, 0, .33);
left: 22px;
+ border-radius: 40px;
}
}
}