diff --git a/js/firstrunwizard-main.js b/js/firstrunwizard-main.js index 46ab827e7..3022bfecb 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";n(9601),e.Z=void 0;var r,o=(r=n(9669))&&r.__esModule?r:{default:r},i=n(2200);var a=o.default.create({headers:{requesttoken:(0,i.getRequestToken)()}}),s=Object.assign(a,{CancelToken:o.default.CancelToken,isCancel:o.default.isCancel});(0,i.onRequestTokenUpdate)((function(t){return a.defaults.headers.requesttoken=t}));var l=s;e.Z=l},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{"use strict";var r=n(5108);function o(t,e){for(var n=0;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 c};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;n1&&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=129)}([function(t,e,n){"use strict";function r(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t)){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(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
'),r.VTooltip.options.defaultHtml=!1,e.default=r.VTooltip},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,".vue-tooltip[data-v-6b494fc]{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-6b494fc][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-6b494fc][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-6b494fc][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-6b494fc][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-6b494fc][aria-hidden='true']{visibility:hidden;transition:opacity .15s, visibility .15s;opacity:0}.vue-tooltip[data-v-6b494fc][aria-hidden='false']{visibility:visible;transition:opacity .15s;opacity:1}.vue-tooltip[data-v-6b494fc] .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-6b494fc] .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://./index.scss"],names:[],mappings:"AAeA,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:["$scope_version:\"6b494fc\"; @import 'variables';\n/**\n* @copyright Copyright (c) 2016, John Molakvoæ \n* @copyright Copyright (c) 2016, Robin Appelman \n* @copyright Copyright (c) 2016, Jan-Christoph Borchardt \n* @copyright Copyright (c) 2016, Erik Pellikka \n* @copyright Copyright (c) 2015, Vincent Petry \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){t.exports=n(5306)},function(t,e){t.exports=n(9714)},function(t,e){t.exports=n(4747)},function(t,e){t.exports=n(2222)},function(t,e,n){"use strict";var r={name:"Popover",components:{VPopover:n(7).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(19),s={insert:"head",singleton:!1},l=(i()(a.a,s),a.a.locals,n(3)),c=n(20),u=n.n(c),p=Object(l.a)(r,(function(){var t=this.$createElement,e=this._self._c||t;return e("VPopover",this._g(this._b({ref:"popover",attrs:{"popover-base-class":"popover","popover-wrapper-class":"popover__wrapper","popover-arrow-class":"popover__arrow","popover-inner-class":"popover__inner"}},"VPopover",this.$attrs,!1),this.$listeners),[this._t("trigger"),this._v(" "),e("template",{slot:"popover"},[this._t("default")],2)],2)}),[],!1,null,null,null);"function"==typeof u.a&&u()(p),e.a=p.exports},,function(t,e){t.exports=n(3210)},function(t,e){t.exports=n(9653)},function(t,e){t.exports=n(2526)},function(t,e){t.exports=n(3955)},function(t,e,n){"use strict";n(24),n(15),n(6),n(25),e.a=function(t){return Math.random().toString(36).replace(/[^a-z]+/g,"").substr(0,t||5)}},,,,function(t,e){t.exports=n(1817)},function(t,e,n){"use strict";n(30),n(14);var r=n(5),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){t.exports=n(285)},function(t,e){t.exports=n(7042)},,,,,function(t,e){t.exports=n(2165)},function(t,e,n){"use strict";n.r(e);var r=n(28);e.default=r.a},,function(t,e,n){"use strict";n(40),n(6),n(16),n(17),n(18);var r=n(39),o=(n(14),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";n(27),n(14),n(101);var r=n(5),o=n.n(r);e.a=function(t,e,n){if(void 0!==t)for(var r=t.length-1;r>=0;r--){var i=t[r],a=!i.componentOptions&&i.tag&&-1===e.indexOf(i.tag),s=!!i.componentOptions&&"string"==typeof i.componentOptions.tag,l=s&&-1===e.indexOf(i.componentOptions.tag);(a||!s||l)&&((a||l)&&o.a.util.warn("".concat(a?i.tag:i.componentOptions.tag," is not allowed inside the ").concat(n.$options.name," component"),n),t.splice(r,1))}}},function(t,e){t.exports=n(7327)},function(t,e){t.exports=n(1038)},,,,,,,,,function(t,e,n){"use strict";var r=n(12);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),s=n(4),l=n.n(s),c=n(8),u=n(9),p=n(10),A=n(11),f=a()(o.a),d=l()(c.a),h=l()(u.a),m=l()(p.a),g=l()(A.a);f.push([t.i,'@font-face{font-family:"iconfont-vue-6b494fc";src:url('+d+");src:url("+d+') format("embedded-opentype"),url('+h+') format("woff"),url('+m+') format("truetype"),url('+g+') format("svg")}.icon[data-v-551c21fd]{font-style:normal;font-weight:400}.icon.arrow-left-double[data-v-551c21fd]:before{font-family:"iconfont-vue-6b494fc";content:""}.icon.arrow-left[data-v-551c21fd]:before{font-family:"iconfont-vue-6b494fc";content:""}.icon.arrow-right-double[data-v-551c21fd]:before{font-family:"iconfont-vue-6b494fc";content:""}.icon.arrow-right[data-v-551c21fd]:before{font-family:"iconfont-vue-6b494fc";content:""}.icon.breadcrumb[data-v-551c21fd]:before{font-family:"iconfont-vue-6b494fc";content:""}.icon.checkmark[data-v-551c21fd]:before{font-family:"iconfont-vue-6b494fc";content:""}.icon.close[data-v-551c21fd]:before{font-family:"iconfont-vue-6b494fc";content:""}.icon.confirm[data-v-551c21fd]:before{font-family:"iconfont-vue-6b494fc";content:""}.icon.info[data-v-551c21fd]:before{font-family:"iconfont-vue-6b494fc";content:""}.icon.menu[data-v-551c21fd]:before{font-family:"iconfont-vue-6b494fc";content:""}.icon.more[data-v-551c21fd]:before{font-family:"iconfont-vue-6b494fc";content:""}.icon.pause[data-v-551c21fd]:before{font-family:"iconfont-vue-6b494fc";content:""}.icon.play[data-v-551c21fd]:before{font-family:"iconfont-vue-6b494fc";content:""}.icon.triangle-s[data-v-551c21fd]:before{font-family:"iconfont-vue-6b494fc";content:""}.icon.user-status-away[data-v-551c21fd]:before{font-family:"iconfont-vue-6b494fc";content:""}.icon.user-status-dnd[data-v-551c21fd]:before{font-family:"iconfont-vue-6b494fc";content:""}.icon.user-status-invisible[data-v-551c21fd]:before{font-family:"iconfont-vue-6b494fc";content:""}.icon.user-status-online[data-v-551c21fd]:before{font-family:"iconfont-vue-6b494fc";content:""}.action-item[data-v-551c21fd]{position:relative;display:inline-block}.action-item--single[data-v-551c21fd]:hover,.action-item--single[data-v-551c21fd]:focus,.action-item--single[data-v-551c21fd]:active,.action-item__menutoggle[data-v-551c21fd]:hover,.action-item__menutoggle[data-v-551c21fd]:focus,.action-item__menutoggle[data-v-551c21fd]:active{opacity:1;background-color:rgba(127,127,127,0.25)}.action-item__menutoggle[data-v-551c21fd]:disabled,.action-item--single[data-v-551c21fd]:disabled{opacity:.3 !important}.action-item.action-item--open .action-item__menutoggle[data-v-551c21fd]{opacity:1;background-color:rgba(127,127,127,0.25)}.action-item--single[data-v-551c21fd],.action-item__menutoggle[data-v-551c21fd]{box-sizing:border-box;width:auto;min-width:44px;height:44px;margin:0;padding:14px;cursor:pointer;border:none;border-radius:22px;background-color:transparent}.action-item__menutoggle[data-v-551c21fd]{display:flex;align-items:center;justify-content:center;opacity:.7;font-weight:bold;line-height:16px}.action-item__menutoggle[data-v-551c21fd] span{width:16px;height:16px;line-height:16px}.action-item__menutoggle[data-v-551c21fd]:before{content:\'\'}.action-item__menutoggle--default-icon[data-v-551c21fd]:before{font-family:"iconfont-vue-6b494fc";font-style:normal;font-weight:400;content:""}.action-item__menutoggle--default-icon[data-v-551c21fd]::before{font-size:16px}.action-item__menutoggle--with-title[data-v-551c21fd]{position:relative;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__menutoggle--with-title[data-v-551c21fd]:before{position:absolute;top:14px;left:14px}.action-item__menutoggle--primary[data-v-551c21fd]{opacity:1;color:var(--color-primary-text);border:none;background-color:var(--color-primary-element)}.action-item--open .action-item__menutoggle--primary[data-v-551c21fd],.action-item__menutoggle--primary[data-v-551c21fd]:hover,.action-item__menutoggle--primary[data-v-551c21fd]:focus,.action-item__menutoggle--primary[data-v-551c21fd]:active{color:var(--color-primary-text) !important;background-color:var(--color-primary-element-light) !important}.action-item--single[data-v-551c21fd]{opacity:.7}.action-item--single[data-v-551c21fd]:hover,.action-item--single[data-v-551c21fd]:focus,.action-item--single[data-v-551c21fd]:active{opacity:1}.action-item--single>[hidden][data-v-551c21fd]{display:none}.ie .action-item__menu[data-v-551c21fd],.ie .action-item__menu .action-item__menu_arrow[data-v-551c21fd],.edge .action-item__menu[data-v-551c21fd],.edge .action-item__menu .action-item__menu_arrow[data-v-551c21fd]{border:1px solid var(--color-border)}\n',"",{version:3,sources:["webpack://./../../fonts/scss/iconfont-vue.scss","webpack://./Actions.vue","webpack://./../../assets/variables.scss"],names:[],mappings:"AA2FE,WACC,kCAAmC,CACnC,2CAAuC,CACvC,+OAGmD,CAMpD,uBACE,iBAAkB,CAClB,eAAgB,CAFlB,gDAMM,kCAAmC,CACnC,WA5Ge,CAAO,yCA0GL,kCACJ,CAAsB,WA1G3B,CAAA,iDAyGU,kCACL,CAAA,WAzGG,CAAA,0CAwGL,kCACE,CAAA,WAxGJ,CAAA,yCAuGC,kCACG,CAAA,WACN,CAxGC,wCAsGC,kCACI,CAAA,WACb,CAAO,oCAFF,kCACQ,CAAA,WACb,CAAA,sCAFO,kCACM,CAAA,WACb,CAAA,mCAFI,kCACS,CAAA,WACb,CAAA,mCAPD,kCAMc,CAAA,WACb,CAAA,mCAPD,kCAMc,CAAA,WACb,CAAA,oCAPD,kCAMc,CAAA,WACb,CAAA,mCAPD,kCAMc,CAAA,WAAsB,CACnC,yCAPD,kCAMc,CAAA,WAAA,CAAsB,+CANpC,kCAMc,CAAA,WAAA,CAAA,8CANd,kCAMc,CAAA,WAAA,CAAA,oDANd,kCAMc,CAAA,WAAA,CAAA,iDANd,kCAMc,CAAA,WAAA,CAAA,8BA1FG,iBC6nBZ,CACX,oBACA,CAAA,sRASC,SAAA,CAAY,uCCvnBE,CAAA,kGD+nBd,qBACA,CAAA,yEAGmB,SAAA,CAAA,uCCvnBK,CAAA,gFD8nBxB,qBACA,CAAA,UAAY,CAAA,cACL,CAAA,WACP,CAAS,QACT,CAAA,YACA,CAAA,cClpBY,CAAA,WDopBJ,CAAA,kBAER,CAAA,4BACA,CAAA,0CACA,YAAA,CAAA,kBAMA,CAAA,sBACA,CAAA,UAAe,CAAE,gBCrpBF,CAAE,gBDupBJ,CAAI,+CANjB,UAUA,CAAA,WACC,CAAK,gBC1qBI,CAAI,iDD+pBd,UAAY,CAAA,+DAkBX,kCD7sBF,CAAA,iBAAsB,CAkFnB,eAAY,CAAA,WACZ,CAAA,gEC4nBD,cAAc,CAAA,sDAIb,iBAAA,CAGW,iBACF,CAAQ,kBC/rBA,CDisBlB,SAAA,CAAA,yCAEkB,CAAA,6CAEA,CAAA,+BAClB,CAAA,iBAAkC,CAAM,6DARxC,iBAAY,CAWJ,QACP,CAAQ,SAAU,CAClB,mDAEA,SAAA,CAAA,+BAKM,CAAA,WAAA,CAAA,6CAEW,CAAA,kPAJlB,0CASQ,CAAA,8DACW,CAAA,sCAClB,UAAA,CAAA,qIAIF,SAAA,CAAA,+CAAA,YAQI,CAAA,sNASc,oCACA",sourcesContent:['$__iconfont__data: map-merge(if(global_variable_exists(\'__iconfont__data\'), $__iconfont__data, ()), (\n\t"iconfont-vue-6b494fc": (\n\t\t"arrow-left-double": "\\ea01",\n\t\t"arrow-left": "\\ea02",\n\t\t"arrow-right-double": "\\ea03",\n\t\t"arrow-right": "\\ea04",\n\t\t"breadcrumb": "\\ea05",\n\t\t"checkmark": "\\ea06",\n\t\t"close": "\\ea07",\n\t\t"confirm": "\\ea08",\n\t\t"info": "\\ea09",\n\t\t"menu": "\\ea0a",\n\t\t"more": "\\ea0b",\n\t\t"pause": "\\ea0c",\n\t\t"play": "\\ea0d",\n\t\t"triangle-s": "\\ea0e",\n\t\t"user-status-away": "\\ea0f",\n\t\t"user-status-dnd": "\\ea10",\n\t\t"user-status-invisible": "\\ea11",\n\t\t"user-status-online": "\\ea12"\n\t)\n));\n\n\n$create-font-face: true !default; // should the @font-face tag get created?\n\n// should there be a custom class for each icon? will be .filename\n$create-icon-classes: true !default; \n\n// what is the common class name that icons share? in this case icons need to have .icon.filename in their classes\n// this requires you to have 2 classes on each icon html element, but reduced redeclaration of the font family\n// for each icon\n$icon-common-class: \'icon\' !default;\n\n// if you whish to prefix your filenames, here you can do so.\n// if this string stays empty, your classes will use the filename, for example\n// an icon called star.svg will result in a class called .star\n// if you use the prefix to be \'icon-\' it would result in .icon-star\n$icon-prefix: \'\' !default; \n\n// helper function to get the correct font group\n@function iconfont-group($group: null) {\n @if (null == $group) {\n $group: nth(map-keys($__iconfont__data), 1);\n }\n @if (false == map-has-key($__iconfont__data, $group)) {\n @warn \'Undefined Iconfont Family!\';\n @return ();\n }\n @return map-get($__iconfont__data, $group);\n}\n\n// helper function to get the correct icon of a group\n@function iconfont-item($name) {\n $slash: str-index($name, \'/\');\n $group: null;\n @if ($slash) {\n $group: str-slice($name, 0, $slash - 1);\n $name: str-slice($name, $slash + 1);\n } @else {\n $group: nth(map-keys($__iconfont__data), 1);\n }\n $group: iconfont-group($group);\n @if (false == map-has-key($group, $name)) {\n @warn \'Undefined Iconfont Glyph!\';\n @return \'\';\n }\n @return map-get($group, $name);\n}\n\n// complete mixing to include the icon\n// usage:\n// .my_icon{ @include iconfont(\'star\') }\n@mixin iconfont($icon) {\n $slash: str-index($icon, \'/\');\n $group: null;\n @if ($slash) {\n $group: str-slice($icon, 0, $slash - 1);\n } @else {\n $group: nth(map-keys($__iconfont__data), 1);\n }\n &:before {\n font-family: $group;\n font-style: normal;\n font-weight: 400;\n content: iconfont-item($icon);\n }\n}\n\n// creates the font face tag if the variable is set to true (default)\n@if $create-font-face == true {\n @font-face {\n font-family: "iconfont-vue-6b494fc";\n src: url(\'../iconfont-vue-6b494fc.eot\'); /* IE9 Compat Modes */\n src: url(\'../iconfont-vue-6b494fc.eot?#iefix\') format(\'embedded-opentype\'), /* IE6-IE8 */\n url(\'../iconfont-vue-6b494fc.woff\') format(\'woff\'), /* Pretty Modern Browsers */\n url(\'../iconfont-vue-6b494fc.ttf\') format(\'truetype\'), /* Safari, Android, iOS */\n url(\'../iconfont-vue-6b494fc.svg\') format(\'svg\'); /* Legacy iOS */\n }\n}\n\n// creates icon classes for each individual loaded svg (default)\n@if $create-icon-classes == true {\n .#{$icon-common-class} {\n font-style: normal;\n font-weight: 400;\n\n @each $icon, $content in map-get($__iconfont__data, "iconfont-vue-6b494fc") {\n &.#{$icon-prefix}#{$icon}:before {\n font-family: "iconfont-vue-6b494fc";\n content: iconfont-item("iconfont-vue-6b494fc/#{$icon}");\n }\n }\n }\n}\n',"$scope_version:\"6b494fc\"; @import 'variables';\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n@import '../../fonts/scss/iconfont-vue';\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\n\t\tbackground-color: $icon-focus-bg;\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: $icon-margin;\n\t\tcursor: pointer;\n\t\tborder: none;\n\t\tborder-radius: $clickable-area / 2;\n\t\tbackground-color: transparent;\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// image slot\n\t\t/deep/ span {\n\t\t\twidth: $icon-size;\n\t\t\theight: $icon-size;\n\t\t\tline-height: $icon-size;\n\t\t}\n\n\t\t&:before {\n\t\t\tcontent: '';\n\t\t}\n\n\t\t&--default-icon {\n\t\t\t@include iconfont('more');\n\t\t\t&::before {\n\t\t\t\tfont-size: $icon-size;\n\t\t\t}\n\t\t}\n\n\t\t&--with-title {\n\t\t\tposition: relative;\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\t\t\t// non-background icon class\n\t\t\t&:before {\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: $icon-margin;\n\t\t\t\tleft: $icon-margin;\n\t\t\t}\n\t\t}\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æ \n *\n * @author John Molakvoæ \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 .\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=f},function(t,e){},function(t,e){t.exports=n(7941)},,function(t,e){t.exports=n(5003)},function(t,e){t.exports=n(9337)},function(t,e,n){"use strict";n.r(e);var r=n(85);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("6b494fc"),"")}))}},,function(t,e,n){"use strict";n(27),n(51),n(69),n(32),n(71),n(26),n(72),n(38),n(6),n(46),n(16),n(17),n(18),n(52),n(41),n(14);var r=n(21),o=n(34),i=n(50),a=n(12),s=n(47);function l(t){return function(t){if(Array.isArray(t))return c(t)}(t)||function(t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t))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);n1},isValidSingleAction:function(){return 1===this.actions.length&&null!==this.firstActionElement},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 p(p({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 p(p({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 p(p({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(){var t=this.firstActionVNode&&this.firstActionVNode.data.staticClass,e=this.firstActionVNode&&this.firstActionVNode.data.class;return"".concat(t," ").concat(e)},iconSlotIsPopulated:function(){return!!this.$slots.icon}},watch:{open:function(t){t!==this.opened&&(this.opened=t)}},beforeMount:function(){this.initActions(),Object(i.a)(this.$slots.default,f,this)},beforeUpdate:function(){this.initActions(),Object(i.a)(this.$slots.default,f,this)},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=l(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)}}},h=n(2),m=n.n(h),g=n(67),v={insert:"head",singleton:!1},y=(m()(g.a,v),g.a.locals,n(3)),b=n(68),C=n.n(b),w=Object(y.a)(d,(function(){var t,e,n=this,r=n.$createElement,o=n._self._c||r;return n.isValidSingleAction&&!n.forceMenu?o("element",n._b({directives:[{name:"tooltip",rawName:"v-tooltip.auto",value:n.firstAction.text,expression:"firstAction.text",modifiers:{auto:!0}}],staticClass:"action-item action-item--single",class:(t={},t[n.firstAction.icon]=!n.iconSlotIsPopulated,t[n.firstActionClass]=!n.iconSlotIsPopulated,t),attrs:{rel:"noreferrer noopener",disabled:n.disabled},on:n._d({focus:n.onFocus,blur:n.onBlur},[n.firstActionEventBinding,n.execFirstAction])},"element",n.firstActionBinding,!1),[o("VNodes",{attrs:{vnodes:n.firstActionIconSlot}}),n._v(" "),o("span",{attrs:{"aria-hidden":!0,hidden:""}},[n._t("default")],2)],1):o("div",{directives:[{name:"show",rawName:"v-show",value:n.hasMultipleActions||n.forceMenu,expression:"hasMultipleActions || forceMenu"}],staticClass:"action-item",class:{"action-item--open":n.opened}},[o("Popover",{attrs:{delay:0,"handle-resize":!0,open:n.opened,placement:n.placement,"boundaries-element":n.boundariesElement,container:n.container},on:{"update:open":function(t){n.opened=t},show:n.openMenu,"after-show":n.onOpen,hide:n.closeMenu}},[o("button",{ref:"menuButton",staticClass:"icon action-item__menutoggle",class:(e={},e[n.defaultIcon]=!n.iconSlotIsPopulated,e["action-item__menutoggle--with-title"]=n.menuTitle,e["action-item__menutoggle--primary"]=n.primary,e),attrs:{slot:"trigger",disabled:n.disabled,"aria-label":n.ariaLabel,"aria-haspopup":"true","aria-controls":n.randomId,"test-attr":"1","aria-expanded":n.opened?"true":"false"},on:{focus:n.onFocus,blur:n.onBlur},slot:"trigger"},[n._t("icon"),n._v("\n\t\t\t"+n._s(n.menuTitle)+"\n\t\t")],2),n._v(" "),o("div",{directives:[{name:"show",rawName:"v-show",value:n.opened,expression:"opened"}],ref:"menu",class:{open:n.opened},attrs:{tabindex:"-1"},on:{keydown:[function(t){return!t.type.indexOf("key")&&n._k(t.keyCode,"up",38,t.key,["Up","ArrowUp"])||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:n.focusPreviousAction(t)},function(t){return!t.type.indexOf("key")&&n._k(t.keyCode,"down",40,t.key,["Down","ArrowDown"])||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:n.focusNextAction(t)},function(t){return!t.type.indexOf("key")&&n._k(t.keyCode,"tab",9,t.key,"Tab")||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:n.focusNextAction(t)},function(t){return!t.type.indexOf("key")&&n._k(t.keyCode,"tab",9,t.key,"Tab")?null:t.shiftKey?t.ctrlKey||t.altKey||t.metaKey?null:n.focusPreviousAction(t):null},function(t){return!t.type.indexOf("key")&&n._k(t.keyCode,"page-up",void 0,t.key,void 0)||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:n.focusFirstAction(t)},function(t){return!t.type.indexOf("key")&&n._k(t.keyCode,"page-down",void 0,t.key,void 0)||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:n.focusLastAction(t)},function(t){return!t.type.indexOf("key")&&n._k(t.keyCode,"esc",27,t.key,["Esc","Escape"])||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),n.closeMenu(t))}],mousemove:n.onMouseFocusAction}},[o("ul",{attrs:{id:n.randomId,tabindex:"-1"}},[n.opened?[n._t("default")]:n._e()],2)])])],1)}),[],!1,null,"551c21fd",null);"function"==typeof C.a&&C()(w),e.a=w.exports},,,,,,,,,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,"li.active[data-v-42b28436]{background-color:var(--color-background-hover)}.action--disabled[data-v-42b28436]{pointer-events:none;opacity:.5}.action--disabled[data-v-42b28436]:hover,.action--disabled[data-v-42b28436]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-42b28436]{opacity:1 !important}.action-button[data-v-42b28436]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;padding-right:14px;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-42b28436]:hover,.action-button[data-v-42b28436]:focus{opacity:1}.action-button>span[data-v-42b28436]{cursor:pointer;white-space:nowrap}.action-button__icon[data-v-42b28436]{width:44px;height:44px;opacity:1;background-position:14px center;background-size:16px;background-repeat:no-repeat}.action-button .material-design-icon[data-v-42b28436]{width:44px;height:44px;opacity:1}.action-button .material-design-icon .material-design-icon__svg[data-v-42b28436]{vertical-align:middle}.action-button p[data-v-42b28436]{width:220px;padding:7px 0;cursor:pointer;text-align:left;line-height:1.6em;overflow:hidden;text-overflow:ellipsis}.action-button__longtext[data-v-42b28436]{cursor:pointer;white-space:pre-wrap}.action-button__title[data-v-42b28436]{font-weight:bold;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%;display:inline-block}\n","",{version:3,sources:["webpack://./../../assets/action.scss","webpack://./../../assets/variables.scss"],names:[],mappings:"AAwBC,2BAEE,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,CDwB9C,cAAe,CACf,kBAAmB,CAEnB,UCjBiB,CDkBjB,4BAA6B,CAC7B,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,eAAgB,CAEhB,kBAAmB,CACnB,kCAAmC,CACnC,gBC5CmB,CDsBpB,4EA0BE,SC7Ba,CDGf,qCA8BE,cAAe,CACf,kBAAmB,CACnB,sCAGA,UCzDkB,CD0DlB,WC1DkB,CD2DlB,SCxCa,CDyCb,+BAAwC,CACxC,oBCzDa,CD0Db,2BAA4B,CAxC9B,sDA4CE,UClEkB,CDmElB,WCnEkB,CDoElB,SCjDa,CDGf,iFAiDG,qBAAsB,CAjDzB,kCAuDE,WAAY,CACZ,aAA8B,CAE9B,cAAe,CACf,eAAgB,CAEhB,iBAAkB,CAGlB,eAAgB,CAChB,sBAAuB,CACvB,0CAGA,cAAe,CAEf,oBAAqB,CACrB,uCAGA,gBAAiB,CACjB,sBAAuB,CACvB,eAAgB,CAChB,kBAAmB,CACnB,cAAe,CACf,oBAAqB",sourcesContent:["/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n * @author Marco Ambrosini \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 .\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\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.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\twidth: 220px;\n\t\t\tpadding: #{$icon-margin / 2} 0;\n\n\t\t\tcursor: pointer;\n\t\t\ttext-align: left;\n\n\t\t\tline-height: 1.6em;\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æ \n *\n * @author John Molakvoæ \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 .\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){t.exports=n(561)},function(t,e,n){"use strict";var r={name:"ActionButton",mixins:[n(49).a],props:{disabled:{type:Boolean,default:!1}},computed:{isFocusable:function(){return!this.disabled}}},o=n(2),i=n.n(o),a=n(94),s={insert:"head",singleton:!1},l=(i()(a.a,s),a.a.locals,n(3)),c=n(95),u=n.n(c),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},on:{click:t.onClick}},[n("span",{staticClass:"action-button__icon",class:[t.isIconUrl?"action-button__icon--url":t.icon],style:{backgroundImage:t.isIconUrl?"url("+t.icon+")":null}},[t._t("icon")],2),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,"42b28436",null);"function"==typeof u.a&&u()(p),e.a=p.exports},,,,,,,function(t,e){t.exports=n(840)},function(t,e,n){"use strict";n.r(e);var r=n(102);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),s=n(4),l=n.n(s),c=n(8),u=n(9),p=n(10),A=n(11),f=a()(o.a),d=l()(c.a),h=l()(u.a),m=l()(p.a),g=l()(A.a);f.push([t.i,'@font-face{font-family:"iconfont-vue-6b494fc";src:url('+d+");src:url("+d+') format("embedded-opentype"),url('+h+') format("woff"),url('+m+') format("truetype"),url('+g+') format("svg")}.icon[data-v-3e0b109b]{font-style:normal;font-weight:400}.icon.arrow-left-double[data-v-3e0b109b]:before{font-family:"iconfont-vue-6b494fc";content:""}.icon.arrow-left[data-v-3e0b109b]:before{font-family:"iconfont-vue-6b494fc";content:""}.icon.arrow-right-double[data-v-3e0b109b]:before{font-family:"iconfont-vue-6b494fc";content:""}.icon.arrow-right[data-v-3e0b109b]:before{font-family:"iconfont-vue-6b494fc";content:""}.icon.breadcrumb[data-v-3e0b109b]:before{font-family:"iconfont-vue-6b494fc";content:""}.icon.checkmark[data-v-3e0b109b]:before{font-family:"iconfont-vue-6b494fc";content:""}.icon.close[data-v-3e0b109b]:before{font-family:"iconfont-vue-6b494fc";content:""}.icon.confirm[data-v-3e0b109b]:before{font-family:"iconfont-vue-6b494fc";content:""}.icon.info[data-v-3e0b109b]:before{font-family:"iconfont-vue-6b494fc";content:""}.icon.menu[data-v-3e0b109b]:before{font-family:"iconfont-vue-6b494fc";content:""}.icon.more[data-v-3e0b109b]:before{font-family:"iconfont-vue-6b494fc";content:""}.icon.pause[data-v-3e0b109b]:before{font-family:"iconfont-vue-6b494fc";content:""}.icon.play[data-v-3e0b109b]:before{font-family:"iconfont-vue-6b494fc";content:""}.icon.triangle-s[data-v-3e0b109b]:before{font-family:"iconfont-vue-6b494fc";content:""}.icon.user-status-away[data-v-3e0b109b]:before{font-family:"iconfont-vue-6b494fc";content:""}.icon.user-status-dnd[data-v-3e0b109b]:before{font-family:"iconfont-vue-6b494fc";content:""}.icon.user-status-invisible[data-v-3e0b109b]:before{font-family:"iconfont-vue-6b494fc";content:""}.icon.user-status-online[data-v-3e0b109b]:before{font-family:"iconfont-vue-6b494fc";content:""}.modal-mask[data-v-3e0b109b]{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-3e0b109b]{background-color:rgba(0,0,0,0.92)}.modal-header[data-v-3e0b109b]{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-3e0b109b],.modal-header.invisible[style*=\'display: none\'][data-v-3e0b109b]{visibility:hidden}.modal-header .modal-title[data-v-3e0b109b]{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-3e0b109b]{text-align:center;padding-left:132px}}.modal-header .icons-menu[data-v-3e0b109b]{position:absolute;right:0;display:flex;align-items:center;justify-content:flex-end}.modal-header .icons-menu .icon-close[data-v-3e0b109b]{box-sizing:border-box;margin:3px;padding:10px 11px;color:#fff;background-image:none;font-size:23px}.modal-header .icons-menu .icon-close[data-v-3e0b109b]:before{font-family:"iconfont-vue-6b494fc";font-style:normal;font-weight:400;content:""}.modal-header .icons-menu .play-pause[data-v-3e0b109b]{position:relative;width:50px;height:50px;margin:0;padding:0;cursor:pointer;color:white;border:none;background-color:transparent;font-size:22px}.modal-header .icons-menu .play-pause:hover .icon-play[data-v-3e0b109b],.modal-header .icons-menu .play-pause:hover .icon-pause[data-v-3e0b109b],.modal-header .icons-menu .play-pause:focus .icon-play[data-v-3e0b109b],.modal-header .icons-menu .play-pause:focus .icon-pause[data-v-3e0b109b]{opacity:1;border-radius:22px;background-color:rgba(127,127,127,0.25)}.modal-header .icons-menu .play-pause .icon-play[data-v-3e0b109b],.modal-header .icons-menu .play-pause .icon-pause[data-v-3e0b109b]{box-sizing:border-box;width:44px;height:44px;margin:3px;opacity:.7;background-image:none;cursor:pointer}.modal-header .icons-menu .play-pause .icon-play[data-v-3e0b109b]{padding:11px 13px}.modal-header .icons-menu .play-pause .icon-play[data-v-3e0b109b]:before{font-family:"iconfont-vue-6b494fc";font-style:normal;font-weight:400;content:""}.modal-header .icons-menu .play-pause .icon-pause[data-v-3e0b109b]{padding:12px;font-size:19.5px}.modal-header .icons-menu .play-pause .icon-pause[data-v-3e0b109b]:before{font-family:"iconfont-vue-6b494fc";font-style:normal;font-weight:400;content:""}.modal-header .icons-menu .header-actions[data-v-3e0b109b]{margin:3px;color:white}.modal-header .icons-menu .action-item--single[data-v-3e0b109b]{box-sizing:border-box;width:44px;height:44px;cursor:pointer;background-position:center;background-size:22px}.modal-header .icons-menu[data-v-3e0b109b] .action-item__menutoggle{padding:13px 11px;color:#fff;font-size:22px}.modal-wrapper[data-v-3e0b109b]{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;height:100%}.modal-wrapper .prev[data-v-3e0b109b],.modal-wrapper .next[data-v-3e0b109b]{z-index:10000;display:flex !important;align-items:center;justify-content:center;width:15%;min-width:60px;height:100%;transition:opacity 250ms, visibility 250ms}.modal-wrapper .prev.invisible[style*=\'display:none\'][data-v-3e0b109b],.modal-wrapper .prev.invisible[style*=\'display: none\'][data-v-3e0b109b],.modal-wrapper .next.invisible[style*=\'display:none\'][data-v-3e0b109b],.modal-wrapper .next.invisible[style*=\'display: none\'][data-v-3e0b109b]{visibility:hidden}.modal-wrapper .icon-next[data-v-3e0b109b],.modal-wrapper .icon-previous[data-v-3e0b109b]{box-sizing:border-box;width:44px;height:44px;padding:12px 11px;color:white;border-radius:22px;background-image:none;font-size:24px}.modal-wrapper .icon-previous[data-v-3e0b109b]:before{font-family:"iconfont-vue-6b494fc";font-style:normal;font-weight:400;content:""}.modal-wrapper .icon-next[data-v-3e0b109b]:before{font-family:"iconfont-vue-6b494fc";font-style:normal;font-weight:400;content:""}.modal-wrapper .modal-container[data-v-3e0b109b]{display:block;overflow:hidden;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:not(.modal-wrapper--large):not(.modal-wrapper--full) .modal-container[data-v-3e0b109b]{max-width:900px;max-height:80%}.modal-wrapper--full .modal-container[data-v-3e0b109b]{max-width:100%;max-height:100%;border-radius:0}.modal-wrapper--full .prev[data-v-3e0b109b],.modal-wrapper--full .next[data-v-3e0b109b],.modal-wrapper--spread-navigation .prev[data-v-3e0b109b],.modal-wrapper--spread-navigation .next[data-v-3e0b109b]{position:absolute;width:10%}.modal-wrapper--full .prev[data-v-3e0b109b],.modal-wrapper--spread-navigation .prev[data-v-3e0b109b]{left:0}.modal-wrapper--full .next[data-v-3e0b109b],.modal-wrapper--spread-navigation .next[data-v-3e0b109b]{right:0}.modal-wrapper--large .modal-container[data-v-3e0b109b]{max-width:85%;max-height:90%}.modal-wrapper--large .prev[data-v-3e0b109b],.modal-wrapper--large .next[data-v-3e0b109b]{width:10%;min-width:44px}.fade-enter-active[data-v-3e0b109b],.fade-leave-active[data-v-3e0b109b]{transition:opacity 250ms}.fade-enter[data-v-3e0b109b],.fade-leave-to[data-v-3e0b109b]{opacity:0}.fade-visibility-enter[data-v-3e0b109b],.fade-visibility-leave-to[data-v-3e0b109b]{visibility:hidden;opacity:0}.modal-in-enter-active[data-v-3e0b109b],.modal-in-leave-active[data-v-3e0b109b],.modal-out-enter-active[data-v-3e0b109b],.modal-out-leave-active[data-v-3e0b109b]{transition:opacity 250ms}.modal-in-enter[data-v-3e0b109b],.modal-in-leave-to[data-v-3e0b109b],.modal-out-enter[data-v-3e0b109b],.modal-out-leave-to[data-v-3e0b109b]{opacity:0}.modal-in-enter .modal-container[data-v-3e0b109b],.modal-in-leave-to .modal-container[data-v-3e0b109b]{transform:scale(0.9)}.modal-out-enter .modal-container[data-v-3e0b109b],.modal-out-leave-to .modal-container[data-v-3e0b109b]{transform:scale(1.1)}.modal-mask .play-pause .progress-ring[data-v-3e0b109b]{position:absolute;top:0;left:0;transform:rotate(-90deg)}.modal-mask .play-pause .progress-ring .progress-ring__circle[data-v-3e0b109b]{transition:100ms stroke-dashoffset;transform-origin:50% 50%;animation:progressring-data-v-3e0b109b linear 3s infinite;stroke-linecap:round;stroke-dashoffset:94.24778;stroke-dasharray:94.24778}.modal-mask .play-pause--paused .icon-pause[data-v-3e0b109b]{animation:breath-data-v-3e0b109b 2s cubic-bezier(0.4, 0, 0.2, 1) infinite}.modal-mask .play-pause--paused .progress-ring__circle[data-v-3e0b109b]{animation-play-state:paused !important}@keyframes progressring-data-v-3e0b109b{from{stroke-dashoffset:94.24778}to{stroke-dashoffset:0}}@keyframes breath-data-v-3e0b109b{0%{opacity:1}50%{opacity:0}100%{opacity:1}}\n',"",{version:3,sources:["webpack://./../../fonts/scss/iconfont-vue.scss","webpack://./Modal.vue","webpack://./../../assets/variables.scss"],names:[],mappings:"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",sourcesContent:['$__iconfont__data: map-merge(if(global_variable_exists(\'__iconfont__data\'), $__iconfont__data, ()), (\n\t"iconfont-vue-6b494fc": (\n\t\t"arrow-left-double": "\\ea01",\n\t\t"arrow-left": "\\ea02",\n\t\t"arrow-right-double": "\\ea03",\n\t\t"arrow-right": "\\ea04",\n\t\t"breadcrumb": "\\ea05",\n\t\t"checkmark": "\\ea06",\n\t\t"close": "\\ea07",\n\t\t"confirm": "\\ea08",\n\t\t"info": "\\ea09",\n\t\t"menu": "\\ea0a",\n\t\t"more": "\\ea0b",\n\t\t"pause": "\\ea0c",\n\t\t"play": "\\ea0d",\n\t\t"triangle-s": "\\ea0e",\n\t\t"user-status-away": "\\ea0f",\n\t\t"user-status-dnd": "\\ea10",\n\t\t"user-status-invisible": "\\ea11",\n\t\t"user-status-online": "\\ea12"\n\t)\n));\n\n\n$create-font-face: true !default; // should the @font-face tag get created?\n\n// should there be a custom class for each icon? will be .filename\n$create-icon-classes: true !default; \n\n// what is the common class name that icons share? in this case icons need to have .icon.filename in their classes\n// this requires you to have 2 classes on each icon html element, but reduced redeclaration of the font family\n// for each icon\n$icon-common-class: \'icon\' !default;\n\n// if you whish to prefix your filenames, here you can do so.\n// if this string stays empty, your classes will use the filename, for example\n// an icon called star.svg will result in a class called .star\n// if you use the prefix to be \'icon-\' it would result in .icon-star\n$icon-prefix: \'\' !default; \n\n// helper function to get the correct font group\n@function iconfont-group($group: null) {\n @if (null == $group) {\n $group: nth(map-keys($__iconfont__data), 1);\n }\n @if (false == map-has-key($__iconfont__data, $group)) {\n @warn \'Undefined Iconfont Family!\';\n @return ();\n }\n @return map-get($__iconfont__data, $group);\n}\n\n// helper function to get the correct icon of a group\n@function iconfont-item($name) {\n $slash: str-index($name, \'/\');\n $group: null;\n @if ($slash) {\n $group: str-slice($name, 0, $slash - 1);\n $name: str-slice($name, $slash + 1);\n } @else {\n $group: nth(map-keys($__iconfont__data), 1);\n }\n $group: iconfont-group($group);\n @if (false == map-has-key($group, $name)) {\n @warn \'Undefined Iconfont Glyph!\';\n @return \'\';\n }\n @return map-get($group, $name);\n}\n\n// complete mixing to include the icon\n// usage:\n// .my_icon{ @include iconfont(\'star\') }\n@mixin iconfont($icon) {\n $slash: str-index($icon, \'/\');\n $group: null;\n @if ($slash) {\n $group: str-slice($icon, 0, $slash - 1);\n } @else {\n $group: nth(map-keys($__iconfont__data), 1);\n }\n &:before {\n font-family: $group;\n font-style: normal;\n font-weight: 400;\n content: iconfont-item($icon);\n }\n}\n\n// creates the font face tag if the variable is set to true (default)\n@if $create-font-face == true {\n @font-face {\n font-family: "iconfont-vue-6b494fc";\n src: url(\'../iconfont-vue-6b494fc.eot\'); /* IE9 Compat Modes */\n src: url(\'../iconfont-vue-6b494fc.eot?#iefix\') format(\'embedded-opentype\'), /* IE6-IE8 */\n url(\'../iconfont-vue-6b494fc.woff\') format(\'woff\'), /* Pretty Modern Browsers */\n url(\'../iconfont-vue-6b494fc.ttf\') format(\'truetype\'), /* Safari, Android, iOS */\n url(\'../iconfont-vue-6b494fc.svg\') format(\'svg\'); /* Legacy iOS */\n }\n}\n\n// creates icon classes for each individual loaded svg (default)\n@if $create-icon-classes == true {\n .#{$icon-common-class} {\n font-style: normal;\n font-weight: 400;\n\n @each $icon, $content in map-get($__iconfont__data, "iconfont-vue-6b494fc") {\n &.#{$icon-prefix}#{$icon}:before {\n font-family: "iconfont-vue-6b494fc";\n content: iconfont-item("iconfont-vue-6b494fc/#{$icon}");\n }\n }\n }\n}\n',"$scope_version:\"6b494fc\"; @import 'variables';\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n@import '../../fonts/scss/iconfont-vue';\n$header-size: 50px;\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-size;\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\ttext-align: center;\n\t\t\tpadding-left: #{$clickable-area * 3}; // maximum actions is 3\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.icon-close {\n\t\t\tbox-sizing: border-box;\n\t\t\tmargin: ($header-size - $clickable-area) / 2;\n\t\t\t// not using $icon-margin since we have a custom font size\n\t\t\t// and alignement seems odd\n\t\t\tpadding: 10px 11px;\n\t\t\tcolor: #fff;\n\t\t\tbackground-image: none;\n\t\t\tfont-size: 23px;\n\n\t\t\t@include iconfont('close');\n\t\t}\n\n\t\t.play-pause {\n\t\t\tposition: relative;\n\t\t\twidth: $header-size;\n\t\t\theight: $header-size;\n\t\t\tmargin: 0;\n\t\t\tpadding: 0;\n\t\t\tcursor: pointer;\n\t\t\tcolor: white;\n\t\t\tborder: none;\n\t\t\tbackground-color: transparent;\n\t\t\tfont-size: 22px;\n\t\t\t&:hover,\n\t\t\t&:focus {\n\t\t\t\t.icon-play,\n\t\t\t\t.icon-pause {\n\t\t\t\t\topacity: 1;\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.icon-play,\n\t\t\t.icon-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-size - $clickable-area) / 2;\n\t\t\t\topacity: .7;\n\t\t\t\tbackground-image: none;\n\t\t\t\tcursor: pointer;\n\t\t\t}\n\t\t\t.icon-play {\n\t\t\t\t// better visual\n\t\t\t\tpadding: 11px 13px;\n\t\t\t\t@include iconfont('play');\n\t\t\t}\n\t\t\t.icon-pause {\n\t\t\t\tpadding: 12px;\n\t\t\t\t// ! align with circle\n\t\t\t\tfont-size: 19.5px;\n\t\t\t\t@include iconfont('pause');\n\t\t\t}\n\t\t}\n\n\t\t.header-actions {\n\t\t\tmargin: ($header-size - $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 .action-item__menutoggle {\n\t\t\tpadding: 13px 11px;\n\t\t\t// force white instead of default main text\n\t\t\tcolor: #fff;\n\t\t\t// 22px is a somehow better looking for the icon-more icon\n\t\t\tfont-size: 22px;\n\t\t}\n\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: 15%;\n\t\tmin-width: 60px;\n\t\theight: 100%;\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\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\tpadding: 12px 11px;\n\t\tcolor: white;\n\t\tborder-radius: $clickable-area / 2;\n\t\tbackground-image: none;\n\t\tfont-size: 24px;\n\t}\n\t.icon-previous {\n\t\t@include iconfont('arrow-left');\n\t}\n\t.icon-next {\n\t\t@include iconfont('arrow-right');\n\t}\n\n\t/* Content */\n\t.modal-container {\n\t\tdisplay: block;\n\t\toverflow: hidden;\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\t&:not(&--large):not(&--full) .modal-container {\n\t\tmax-width: 900px;\n\t\tmax-height: 80%;\n\t}\n\n\t// Sizing\n\t&--full {\n\t\t.modal-container {\n\t\t\tmax-width: 100%;\n\t\t\tmax-height: 100%;\n\t\t\tborder-radius: 0;\n\t\t}\n\t}\n\t&--full,\n\t&--spread-navigation {\n\t\t.prev,\n\t\t.next {\n\t\t\tposition: absolute;\n\t\t\twidth: 10%;\n\t\t}\n\t\t.prev {\n\t\t\tleft: 0;\n\t\t}\n\t\t.next {\n\t\t\tright: 0;\n\t\t}\n\t}\n\t&--large {\n\t\t.modal-container {\n\t\t\tmax-width: 85%;\n\t\t\tmax-height: 90%;\n\t\t}\n\t\t.prev,\n\t\t.next {\n\t\t\twidth: 10%;\n\t\t\tmin-width: $clickable-area;\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 {\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 3s 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(0.4, 0, 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æ \n *\n * @author John Molakvoæ \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 .\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=f},function(t,e){},,,,,,,,,function(t,e,n){"use strict";n.r(e);var r=n(83),o=(n(31),n(109)),i=n.n(o),a=n(73),s=n(110),l=n(61),c=n(12),u=n(21);function p(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 A={name:"Modal",components:{Actions:a.default,ActionButton:s.default},directives:{tooltip:u.default},mixins:[l.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:3e3},slideshowPaused:{type:Boolean,default:!1},enableSwipe:{type:Boolean,default:!0},spreadNavigation:{type:Boolean,default:!1},size:{type:String,default:"normal",validator:function(t){return-1!==["normal","large","full"].indexOf(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}},computed:{modalTransitionName:function(){return"modal-".concat(this.outTransition?"out":"in")},playPauseTitle:function(){return this.playing?Object(c.b)("Pause slideshow"):Object(c.b)("Start slideshow")}},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 p((function(){t.next(),t.handleSlideshow()}),this.slideshowDelay):(this.playing=!1,this.clearSlideshowTimeout())},clearSlideshowTimeout:function(){this.slideshowTimeout&&this.slideshowTimeout.clear()}}},f=n(2),d=n.n(f),h=n(119),m={insert:"head",singleton:!1},g=(d()(h.a,m),h.a.locals,n(3)),v=n(120),y=n.n(v),b=Object(g.a)(A,(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},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",class:{"play-pause--paused":t.slideshowPaused},on:{click:t.togglePlayPause}},[n("div",{class:[t.playing?"icon-pause":"icon-play"]},[n("span",{staticClass:"hidden-visually"},[t._v("\n\t\t\t\t\t\t\t\t"+t._s(t.playPauseTitle)+"\n\t\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()]):t._e(),t._v(" "),n("Actions",{staticClass:"header-actions"},[t._t("actions")],2),t._v(" "),t.canClose?n("Actions",{staticClass:"header-close"},[n("ActionButton",{attrs:{icon:"icon-close"},on:{click:t.close}},[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},on:{click:t.previous}},[n("div",{staticClass:"icon icon-previous"},[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")])])])]),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},on:{click:t.next}},[n("div",{staticClass:"icon icon-next"},[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,null,"3e0b109b",null);"function"==typeof y.a&&y()(b);var C=b.exports;Object(r.a)(C),e.default=C}])},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{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),c=n(7985),u=n(5061);t.exports=function(t){return new Promise((function(e,n){var p=t.data,A=t.headers,f=t.responseType;r.isFormData(p)&&delete A["Content-Type"];var d=new XMLHttpRequest;if(t.auth){var h=t.auth.username||"",m=t.auth.password?unescape(encodeURIComponent(t.auth.password)):"";A.Authorization="Basic "+btoa(h+":"+m)}var g=s(t.baseURL,t.url);function v(){if(d){var r="getAllResponseHeaders"in d?l(d.getAllResponseHeaders()):null,i={data:f&&"text"!==f&&"json"!==f?d.response:d.responseText,status:d.status,statusText:d.statusText,headers:r,config:t,request:d};o(e,n,i),d=null}}if(d.open(t.method.toUpperCase(),a(g,t.params,t.paramsSerializer),!0),d.timeout=t.timeout,"onloadend"in d?d.onloadend=v:d.onreadystatechange=function(){d&&4===d.readyState&&(0!==d.status||d.responseURL&&0===d.responseURL.indexOf("file:"))&&setTimeout(v)},d.onabort=function(){d&&(n(u("Request aborted",t,"ECONNABORTED",d)),d=null)},d.onerror=function(){n(u("Network Error",t,null,d)),d=null},d.ontimeout=function(){var e="timeout of "+t.timeout+"ms exceeded";t.timeoutErrorMessage&&(e=t.timeoutErrorMessage),n(u(e,t,t.transitional&&t.transitional.clarifyTimeoutError?"ETIMEDOUT":"ECONNABORTED",d)),d=null},r.isStandardBrowserEnv()){var y=(t.withCredentials||c(g))&&t.xsrfCookieName?i.read(t.xsrfCookieName):void 0;y&&(A[t.xsrfHeaderName]=y)}"setRequestHeader"in d&&r.forEach(A,(function(t,e){void 0===p&&"content-type"===e.toLowerCase()?delete A[e]:d.setRequestHeader(e,t)})),r.isUndefined(t.withCredentials)||(d.withCredentials=!!t.withCredentials),f&&"json"!==f&&(d.responseType=t.responseType),"function"==typeof t.onDownloadProgress&&d.addEventListener("progress",t.onDownloadProgress),"function"==typeof t.onUploadProgress&&d.upload&&d.upload.addEventListener("progress",t.onUploadProgress),t.cancelToken&&t.cancelToken.promise.then((function(t){d&&(d.abort(),n(t),d=null)})),p||(p=null),d.send(p)}))}},1609:(t,e,n)=>{"use strict";var r=n(4867),o=n(1849),i=n(321),a=n(7185);function s(t){var e=new i(t),n=o(i.prototype.request,e);return r.extend(n,i.prototype,e),r.extend(n,e),n}var l=s(n(5655));l.Axios=i,l.create=function(t){return s(a(l.defaults,t))},l.Cancel=n(5263),l.CancelToken=n(4972),l.isCancel=n(6502),l.all=function(t){return Promise.all(t)},l.spread=n(8713),l.isAxiosError=n(6268),t.exports=l,t.exports.default=l},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;t((function(t){n.reason||(n.reason=new r(t),e(n.reason))}))}o.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},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),c=l.validators;function u(t){this.defaults=t,this.interceptors={request:new i,response:new i}}u.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:c.transitional(c.boolean,"1.0.0"),forcedJSONParsing:c.transitional(c.boolean,"1.0.0"),clarifyTimeoutError:c.transitional(c.boolean,"1.0.0")},!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 u=[a,void 0];for(Array.prototype.unshift.apply(u,n),u=u.concat(i),o=Promise.resolve(t);u.length;)o=o.then(u.shift(),u.shift());return o}for(var p=t;n.length;){var A=n.shift(),f=n.shift();try{p=A(p)}catch(t){f(t);break}}try{o=a(p)}catch(t){return Promise.reject(t)}for(;i.length;)o=o.then(i.shift(),i.shift());return o},u.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){u.prototype[t]=function(e,n){return this.request(s(n||{},{method:t,url:e,data:(n||{}).data}))}})),r.forEach(["post","put","patch"],(function(t){u.prototype[t]=function(e,n,r){return this.request(s(r||{},{method:t,url:e,data:n}))}})),t.exports=u},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);function s(t){t.cancelToken&&t.cancelToken.throwIfRequested()}t.exports=function(t){return s(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 s(t),e.data=o.call(t,e.data,e.headers,t.transformResponse),e}),(function(e){return i(e)||(s(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}},t}},7185:(t,e,n)=>{"use strict";var r=n(4867);t.exports=function(t,e){e=e||{};var n={},o=["url","method","data"],i=["headers","auth","proxy","params"],a=["baseURL","transformRequest","transformResponse","paramsSerializer","timeout","timeoutMessage","withCredentials","adapter","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","onDownloadProgress","decompress","maxContentLength","maxBodyLength","maxRedirects","transport","httpAgent","httpsAgent","cancelToken","socketPath","responseEncoding"],s=["validateStatus"];function l(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 c(o){r.isUndefined(e[o])?r.isUndefined(t[o])||(n[o]=l(void 0,t[o])):n[o]=l(t[o],e[o])}r.forEach(o,(function(t){r.isUndefined(e[t])||(n[t]=l(void 0,e[t]))})),r.forEach(i,c),r.forEach(a,(function(o){r.isUndefined(e[o])?r.isUndefined(t[o])||(n[o]=l(void 0,t[o])):n[o]=l(void 0,e[o])})),r.forEach(s,(function(r){r in e?n[r]=l(t[r],e[r]):r in t&&(n[r]=l(void 0,t[r]))}));var u=o.concat(i).concat(a).concat(s),p=Object.keys(t).concat(Object.keys(e)).filter((function(t){return-1===u.indexOf(t)}));return r.forEach(p,c),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 c,u={transitional:{silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},adapter:(("undefined"!=typeof XMLHttpRequest||void 0!==r&&"[object process]"===Object.prototype.toString.call(r))&&(c=n(5448)),c),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,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}};u.headers={common:{Accept:"application/json, text/plain, */*"}},o.forEach(["delete","get","head"],(function(t){u.headers[t]={}})),o.forEach(["post","put","patch"],(function(t){u.headers[t]=o.merge(s)})),t.exports=u},1849:t=>{"use strict";t.exports=function(t,e){return function(){for(var n=new Array(arguments.length),r=0;r{"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(696),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={},s=o.version.split(".");function l(t,e){for(var n=e?e.split("."):s,r=t.split("."),o=0;o<3;o++){if(n[o]>r[o])return!0;if(n[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 c(t){return"[object Function]"===o.call(t)}function u(t,e){if(null!=t)if("object"!=typeof t&&(t=[t]),i(t))for(var n=0,r=t.length;n{"use strict";t.exports=JSON.parse('{"name":"axios","version":"0.21.4","description":"Promise based HTTP client for the browser and node.js","main":"index.js","scripts":{"test":"grunt test","start":"node ./sandbox/server.js","build":"NODE_ENV=production grunt build","preversion":"npm test","version":"npm run build && grunt version && git add -A dist && git add CHANGELOG.md bower.json package.json","postversion":"git push && git push --tags","examples":"node ./examples/server.js","coveralls":"cat coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js","fix":"eslint --fix lib/**/*.js"},"repository":{"type":"git","url":"https://github.com/axios/axios.git"},"keywords":["xhr","http","ajax","promise","node"],"author":"Matt Zabriskie","license":"MIT","bugs":{"url":"https://github.com/axios/axios/issues"},"homepage":"https://axios-http.com","devDependencies":{"coveralls":"^3.0.0","es6-promise":"^4.2.4","grunt":"^1.3.0","grunt-banner":"^0.6.0","grunt-cli":"^1.2.0","grunt-contrib-clean":"^1.1.0","grunt-contrib-watch":"^1.0.0","grunt-eslint":"^23.0.0","grunt-karma":"^4.0.0","grunt-mocha-test":"^0.13.3","grunt-ts":"^6.0.0-beta.19","grunt-webpack":"^4.0.2","istanbul-instrumenter-loader":"^1.0.0","jasmine-core":"^2.4.1","karma":"^6.3.2","karma-chrome-launcher":"^3.1.0","karma-firefox-launcher":"^2.1.0","karma-jasmine":"^1.1.1","karma-jasmine-ajax":"^0.1.13","karma-safari-launcher":"^1.0.0","karma-sauce-launcher":"^4.3.6","karma-sinon":"^1.0.5","karma-sourcemap-loader":"^0.3.8","karma-webpack":"^4.0.2","load-grunt-tasks":"^3.5.2","minimist":"^1.2.0","mocha":"^8.2.1","sinon":"^4.5.0","terser-webpack-plugin":"^4.2.3","typescript":"^4.0.5","url-search-params":"^0.10.0","webpack":"^4.44.2","webpack-dev-server":"^3.11.0"},"browser":{"./lib/adapters/http.js":"./lib/adapters/xhr.js"},"jsdelivr":"dist/axios.min.js","unpkg":"dist/axios.min.js","typings":"./index.d.ts","dependencies":{"follow-redirects":"^1.14.0"},"bundlesize":[{"path":"./dist/axios.min.js","threshold":"5kB"}]}')},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),c=o("%Object.defineProperty%",!0),u=o("%Math.max%");if(c)try{c({},"a",{value:1})}catch(t){c=null}t.exports=function(t){var e=s(r,a,arguments);if(l&&c){var n=l(e,"length");n.configurable&&c(e,"length",{value:1+u(0,t.length-(arguments.length-1))})}return e};var p=function(){return s(r,i,arguments)};c?c(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 c=[[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"]],u=0;u{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)}},8457:(t,e,n)=>{"use strict";var r=n(9974),o=n(7908),i=n(3411),a=n(7659),s=n(7466),l=n(6135),c=n(1246);t.exports=function(t){var e,n,u,p,A,f,d=o(t),h="function"==typeof this?this:Array,m=arguments.length,g=m>1?arguments[1]:void 0,v=void 0!==g,y=c(d),b=0;if(v&&(g=r(g,m>2?arguments[2]:void 0,2)),null==y||h==Array&&a(y))for(n=new h(e=s(d.length));e>b;b++)f=v?g(d[b],b):d[b],l(n,b,f);else for(A=(p=y.call(d)).next,n=new h;!(u=A.call(p)).done;b++)f=v?i(p,g,[u.value,b],!0):u.value,l(n,b,f);return n.length=b,n}},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),c=o(l.length),u=i(a,c);if(t&&n!=n){for(;c>u;)if((s=l[u++])!=s)return!0}else for(;c>u;u++)if((t||u in l)&&l[u]===n)return t||u||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,c=function(t){var e=1==t,n=2==t,c=3==t,u=4==t,p=6==t,A=5==t||p;return function(f,d,h,m){for(var g,v,y=i(f),b=o(y),C=r(d,h,3),w=a(b.length),x=0,E=m||s,S=e?E(f,w):n?E(f,0):void 0;w>x;x++)if((A||x in b)&&(v=C(g=b[x],x,y),t))if(e)S[x]=v;else if(v)switch(t){case 3:return!0;case 5:return g;case 6:return x;case 2:l.call(S,g)}else if(u)return!1;return p?-1:c||u?u:S}};t.exports={forEach:c(0),map:c(1),filter:c(2),some:c(3),every:c(4),find:c(5),findIndex:c(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],c=!!i(e,"ACCESSORS")&&e.ACCESSORS,u=i(e,0)?e[0]:l,p=i(e,1)?e[1]:void 0;return s[t]=!!n&&!o((function(){if(c&&!r)return!0;var t={length:-1};c?a(t,1,{enumerable:!0,get:l}):t[1]=1,n.call(t,u,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),c=n(654),u=n(6340),p=n(9781),A=n(2423).fastKey,f=n(9909),d=f.set,h=f.getterFor;t.exports={getConstructor:function(t,e,n,c){var u=t((function(t,r){s(t,u,e),d(t,{type:e,index:o(null),first:void 0,last:void 0,size:0}),p||(t.size=0),null!=r&&l(r,t[c],t,n)})),f=h(e),m=function(t,e,n){var r,o,i=f(t),a=g(t,e);return a?a.value=n:(i.last=a={index:o=A(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=f(t),o=A(e);if("F"!==o)return r.index[o];for(n=r.first;n;n=n.next)if(n.key==e)return n};return i(u.prototype,{clear:function(){for(var t=f(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=f(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=f(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(u.prototype,n?{get:function(t){var e=g(this,t);return e&&e.value},set:function(t,e){return m(this,0===t?0:t,e)}}:{add:function(t){return m(this,t=0===t?0:t,t)}}),p&&r(u.prototype,"size",{get:function(){return f(this).size}}),u},setStrong:function(t,e,n){var r=e+" Iterator",o=h(e),i=h(r);c(t,e,(function(t,e){d(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),u(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),c=n(5787),u=n(111),p=n(7293),A=n(7072),f=n(8003),d=n(9587);t.exports=function(t,e,n){var h=-1!==t.indexOf("Map"),m=-1!==t.indexOf("Weak"),g=h?"set":"add",v=o[t],y=v&&v.prototype,b=v,C={},w=function(t){var e=y[t];a(y,t,"add"==t?function(t){return e.call(this,0===t?0:t),this}:"delete"==t?function(t){return!(m&&!u(t))&&e.call(this,0===t?0:t)}:"get"==t?function(t){return m&&!u(t)?void 0:e.call(this,0===t?0:t)}:"has"==t?function(t){return!(m&&!u(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 v||!(m||y.forEach&&!p((function(){(new v).entries().next()})))))b=n.getConstructor(e,t,h,g),s.REQUIRED=!0;else if(i(t,!0)){var x=new b,E=x[g](m?{}:-0,1)!=x,S=p((function(){x.has(1)})),T=A((function(t){new v(t)})),I=!m&&p((function(){for(var t=new v,e=5;e--;)t[g](e,e);return!t.has(-0)}));T||((b=e((function(e,n){c(e,b,t);var r=d(new v,e,b);return null!=n&&l(n,r[g],r,h),r}))).prototype=y,y.constructor=b),(S||I)&&(w("delete"),w("has"),h&&w("get")),(I||E)&&w(g),m&&y.clear&&delete y.clear}return C[t]=b,r({global:!0,forced:b!=v},C),f(b,t),m||n.setStrong(b,t,h),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,c=0;c{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 c=e+" Iterator";return t.prototype=o(r,{next:i(1,n)}),a(t,c,!1,!0),s[c]=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),c=n(1320),u=n(5112),p=n(1913),A=n(7497),f=n(3383),d=f.IteratorPrototype,h=f.BUGGY_SAFARI_ITERATORS,m=u("iterator"),g="keys",v="values",y="entries",b=function(){return this};t.exports=function(t,e,n,u,f,C,w){o(n,e,u);var x,E,S,T=function(t){if(t===f&&O)return O;if(!h&&t in k)return k[t];switch(t){case g:case v:case y:return function(){return new n(this,t)}}return function(){return new n(this)}},I=e+" Iterator",B=!1,k=t.prototype,_=k[m]||k["@@iterator"]||f&&k[f],O=!h&&_||T(f),N="Array"==e&&k.entries||_;if(N&&(x=i(N.call(new t)),d!==Object.prototype&&x.next&&(p||i(x)===d||(a?a(x,d):"function"!=typeof x[m]&&l(x,m,b)),s(x,I,!0,!0),p&&(A[I]=b))),f==v&&_&&_.name!==v&&(B=!0,O=function(){return _.call(this)}),p&&!w||k[m]===O||l(k,m,O),A[e]=O,f)if(E={values:T(v),keys:C?O:T(g),entries:T(y)},w)for(S in E)(h||B||!(S in k))&&c(k,S,E[S]);else r({target:e,proto:!0,forced:h||B},E);return E}},7235:(t,e,n)=>{var r=n(857),o=n(6656),i=n(6061),a=n(3070).f;t.exports=function(t){var e=r.Symbol||(r.Symbol={});o(e,t)||a(e,t,{value:i.f(t)})}},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,c=l&&l.v8;c?o=(r=c.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),c=n(4705);t.exports=function(t,e){var n,u,p,A,f,d=t.target,h=t.global,m=t.stat;if(n=h?r:m?r[d]||s(d,{}):(r[d]||{}).prototype)for(u in e){if(A=e[u],p=t.noTargetGet?(f=o(n,u))&&f.value:n[u],!c(h?u:d+(m?".":"#")+u,t.forced)&&void 0!==p){if(typeof A==typeof p)continue;l(A,p)}(t.sham||p&&p.sham)&&i(A,"sham",!0),a(n,u,A,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"),c=!o((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$")})),u="$0"==="a".replace(/./,"$0"),p=i("replace"),A=!!/./[p]&&""===/./[p]("a","$0"),f=!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 d=i(t),h=!o((function(){var e={};return e[d]=function(){return 7},7!=""[t](e)})),m=h&&!o((function(){var e=!1,n=/a/;return"split"===t&&((n={}).constructor={},n.constructor[l]=function(){return n},n.flags="",n[d]=/./[d]),n.exec=function(){return e=!0,null},n[d](""),!e}));if(!h||!m||"replace"===t&&(!c||!u||A)||"split"===t&&!f){var g=/./[d],v=n(d,""[t],(function(t,e,n,r,o){return e.exec===a?h&&!o?{done:!0,value:g.call(e,n,r)}:{done:!0,value:t.call(n,e,r)}:{done:!1}}),{REPLACE_KEEPS_$0:u,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:A}),y=v[0],b=v[1];r(String.prototype,t,y),r(RegExp.prototype,d,2==e?function(t,e){return b.call(t,this,e)}:function(t){return b.call(t,this)})}p&&s(RegExp.prototype[d],"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)]}},8554:(t,e,n)=>{var r=n(9670),o=n(1246);t.exports=function(t){var e=o(t);if("function"!=typeof e)throw TypeError(String(t)+" is not iterable");return r(e.call(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),c=s("meta"),u=0,p=Object.isExtensible||function(){return!0},A=function(t){a(t,c,{value:{objectID:"O"+ ++u,weakData:{}}})},f=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,c)){if(!p(t))return"F";if(!e)return"E";A(t)}return t[c].objectID},getWeakData:function(t,e){if(!i(t,c)){if(!p(t))return!0;if(!e)return!1;A(t)}return t[c].weakData},onFreeze:function(t){return l&&f.REQUIRED&&p(t)&&!i(t,c)&&A(t),t}};r[c]=!0},9909:(t,e,n)=>{var r,o,i,a=n(8536),s=n(7854),l=n(111),c=n(8880),u=n(6656),p=n(6200),A=n(3501),f=s.WeakMap;if(a){var d=new f,h=d.get,m=d.has,g=d.set;r=function(t,e){return g.call(d,t,e),e},o=function(t){return h.call(d,t)||{}},i=function(t){return m.call(d,t)}}else{var v=p("state");A[v]=!0,r=function(t,e){return c(t,v,e),e},o=function(t){return u(t,v)?t[v]:{}},i=function(t){return u(t,v)}}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==c||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",c=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),c=function(t,e){this.stopped=t,this.result=e};(t.exports=function(t,e,n,u,p){var A,f,d,h,m,g,v,y=a(e,n,u?2:1);if(p)A=t;else{if("function"!=typeof(f=s(t)))throw TypeError("Target is not iterable");if(o(f)){for(d=0,h=i(t.length);h>d;d++)if((m=u?y(r(v=t[d])[0],v[1]):y(t[d]))&&m instanceof c)return m;return new c(!1)}A=f.call(t)}for(g=A.next;!(v=g.call(A)).done;)if("object"==typeof(m=l(A,y,v.value,u))&&m&&m instanceof c)return m;return new c(!1)}).stop=function(t){return new c(!0,t)}},3383:(t,e,n)=>{"use strict";var r,o,i,a=n(9518),s=n(8880),l=n(6656),c=n(5112),u=n(1913),p=c("iterator"),A=!1;[].keys&&("next"in(i=[].keys())?(o=a(a(i)))!==Object.prototype&&(r=o):A=!0),null==r&&(r={}),u||l(r,p)||s(r,p,(function(){return this})),t.exports={IteratorPrototype:r,BUGGY_SAFARI_ITERATORS:A}},7497:t=>{t.exports={}},133:(t,e,n)=>{var r=n(7293);t.exports=!!Object.getOwnPropertySymbols&&!r((function(){return!String(Symbol())}))},590:(t,e,n)=>{var r=n(7293),o=n(5112),i=n(1913),a=o("iterator");t.exports=!r((function(){var t=new URL("b?a=1&b=2&c=3","http://a"),e=t.searchParams,n="";return t.pathname="c%20d",e.forEach((function(t,r){e.delete("b"),n+=r+t})),i&&!t.toJSON||!e.sort||"http://a/c%20d?a=1&c=3"!==t.href||"3"!==e.get("c")||"a=1"!==String(new URLSearchParams("?a=1"))||!e[a]||"a"!==new URL("https://a@b").username||"b"!==new URLSearchParams(new URLSearchParams("a=b")).get("a")||"xn--e1aybc"!==new URL("http://тест").host||"#%D0%B1"!==new URL("http://a#б").hash||"a1c3"!==n||"x"!==new URL("http://x",void 0).host}))},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),c=n(8361),u=Object.assign,p=Object.defineProperty;t.exports=!u||o((function(){if(r&&1!==u({b:1},u(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!=u({},t)[n]||i(u({},e)).join("")!=o}))?function(t,e){for(var n=l(t),o=arguments.length,u=1,p=a.f,A=s.f;o>u;)for(var f,d=c(arguments[u++]),h=p?i(d).concat(p(d)):i(d),m=h.length,g=0;m>g;)f=h[g++],r&&!A.call(d,f)||(n[f]=d[f]);return n}:u},30:(t,e,n)=>{var r,o=n(9670),i=n(6048),a=n(748),s=n(3501),l=n(490),c=n(317),u=n(6200),p=u("IE_PROTO"),A=function(){},f=function(t){return"\n\n\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","/* 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","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 }","\n\n\n\n\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=32c918b8&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=32c918b8&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=32c918b8&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=32c918b8&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 \"32c918b8\",\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\",\"has-previous\":_vm.hasPrevious,\"has-next\":_vm.hasNext,\"size\":_vm.isMobile ? 'full' : 'normal',\"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/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-from.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/define-well-known-symbol.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/get-iterator.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-url.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-external.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/string-punycode-to-ascii.js","webpack:///firstrunwizard/node_modules/core-js/internals/string-trim-forced.js","webpack:///firstrunwizard/node_modules/core-js/internals/string-trim.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-wrapped.js","webpack:///firstrunwizard/node_modules/core-js/internals/well-known-symbol.js","webpack:///firstrunwizard/node_modules/core-js/internals/whitespaces.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.from.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.array.slice.js","webpack:///firstrunwizard/node_modules/core-js/modules/es.array.splice.js","webpack:///firstrunwizard/node_modules/core-js/modules/es.function.name.js","webpack:///firstrunwizard/node_modules/core-js/modules/es.map.js","webpack:///firstrunwizard/node_modules/core-js/modules/es.number.constructor.js","webpack:///firstrunwizard/node_modules/core-js/modules/es.object.assign.js","webpack:///firstrunwizard/node_modules/core-js/modules/es.object.get-own-property-descriptor.js","webpack:///firstrunwizard/node_modules/core-js/modules/es.object.get-own-property-descriptors.js","webpack:///firstrunwizard/node_modules/core-js/modules/es.object.keys.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/es.string.trim.js","webpack:///firstrunwizard/node_modules/core-js/modules/es.symbol.description.js","webpack:///firstrunwizard/node_modules/core-js/modules/es.symbol.iterator.js","webpack:///firstrunwizard/node_modules/core-js/modules/es.symbol.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/node_modules/core-js/modules/web.url-search-params.js","webpack:///firstrunwizard/node_modules/core-js/modules/web.url.js","webpack:///firstrunwizard/src/App.vue?vue&type=style&index=0&lang=scss&","webpack:///firstrunwizard/src/App.vue?vue&type=style&index=1&id=063e1a6a&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/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/node_modules/vue-loader/lib/runtime/componentNormalizer.js","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?85ec","webpack://firstrunwizard/./src/App.vue?f581","webpack:///firstrunwizard/src/App.vue?vue&type=template&id=063e1a6a&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","_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","A","o","l","call","m","c","d","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","C","createElement","attributes","nonce","nc","keys","setAttribute","insert","Error","appendChild","styleSheet","cssText","createTextNode","childNodes","removeChild","insertBefore","g","removeAttribute","firstChild","singleton","parentNode","splice","render","staticRenderFns","_compiled","functional","_scopeId","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","beforeCreate","hash","needQuotes","detectLocale","Actions","Activities","Choose","Close","Custom","Flags","Next","Objects","Previous","Search","Settings","Symbols","Submit","pluralId","msgid","msgid_plural","msgstr","addTranslation","build","version","names","mappings","sourcesContent","locals","VTooltip","defaultTemplate","defaultHtml","components","VPopover","mounted","$watch","$refs","popover","isOpen","$emit","$createElement","_self","_c","_g","_b","ref","attrs","$attrs","$listeners","_t","_v","slot","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","componentOptions","tag","f","getOwnPropertySymbols","getOwnPropertyDescriptor","apply","getOwnPropertyDescriptors","defineProperties","directives","tooltip","Popover","VNodes","vnodes","open","forceMenu","menuTitle","primary","defaultIcon","placement","boundariesElement","Element","container","disabled","actions","opened","focusIndex","randomId","children","$children","hasMultipleActions","isValidSingleAction","firstActionElement","firstActionVNode","firstAction","firstActionBinding","is","href","$props","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","y","B","rawName","expression","modifiers","auto","rel","on","_d","blur","hidden","delay","show","hide","_s","tabindex","keydown","_k","keyCode","ctrlKey","shiftKey","altKey","metaKey","mousemove","id","_e","isFocusable","focusable","style","backgroundImage","domProps","textContent","start","Date","setTimeout","pause","clearTimeout","clear","getTimeLeft","getStateRunning","ActionButton","hasPrevious","hasNext","outTransition","enableSlideshow","clearViewDelay","Number","slideshowDelay","slideshowPaused","enableSwipe","spreadNavigation","size","validator","canClose","dark","mc","showModal","clearView","clearViewTimeout","playing","slideshowTimeout","modalTransitionName","playPauseTitle","addEventListener","handleKeydown","beforeDestroy","removeEventListener","off","destroy","handleMouseMove","mask","handleSwipe","body","lastChild","destroyed","previous","resetSlideshow","close","togglePlayPause","handleSlideshow","clearSlideshowTimeout","touchmove","invisible","height","width","stroke","fill","cx","cy","mousedown","currentTarget","possibleNames","globalThis","out","utils","settle","cookies","buildURL","buildFullPath","parseHeaders","isURLSameOrigin","createError","Promise","resolve","reject","requestData","requestHeaders","responseType","isFormData","request","XMLHttpRequest","auth","username","password","Authorization","fullPath","baseURL","onloadend","responseHeaders","getAllResponseHeaders","response","responseText","status","statusText","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","cancelToken","promise","then","cancel","abort","send","Axios","mergeConfig","createInstance","defaultConfig","context","extend","axios","instanceConfig","Cancel","promises","spread","isAxiosError","message","__CANCEL__","executor","resolvePromise","reason","throwIfRequested","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","fn","isAbsoluteURL","combineURLs","requestedURL","enhanceError","code","transformData","throwIfCancellationRequested","transformRequest","merge","common","adapter","transformResponse","toJSON","description","number","fileName","lineNumber","columnNumber","stack","config1","config2","valueFromConfig2Keys","mergeDeepPropertiesKeys","defaultToConfig2Keys","directMergeKeys","getMergedValue","isPlainObject","mergeDeepProperties","prop","axiosKeys","otherKeys","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","hostname","port","pathname","location","requestURL","parsed","normalizedName","ignoreDuplicateOf","split","line","callback","arr","pkg","thing","deprecatedWarnings","currentVerArr","isOlderVersion","thanVersion","pkgVersionArr","destVer","isDeprecated","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","err","format","object","inspect","ok","tuple","it","wellKnownSymbol","definePropertyModule","UNSCOPABLES","ArrayPrototype","S","index","unicode","$forEach","arrayMethodIsStrict","arrayMethodUsesToLength","STRICT_METHOD","USES_TO_LENGTH","callbackfn","toObject","callWithSafeIterationClosing","isArrayIteratorMethod","toLength","createProperty","getIteratorMethod","arrayLike","step","O","argumentsLength","mapfn","mapping","iteratorMethod","toIndexedObject","toAbsoluteIndex","createMethod","IS_INCLUDES","$this","el","fromIndex","includes","IndexedObject","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","wrappedWellKnownSymbolModule","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","Result","stopped","AS_ENTRIES","IS_ITERATOR","iterFn","stop","PrototypeOfArrayIteratorPrototype","arrayIterator","searchParams","sort","objectKeys","getOwnPropertySymbolsModule","propertyIsEnumerableModule","nativeAssign","symbol","alphabet","chr","T","j","activeXDocument","enumBugKeys","html","documentCreateElement","IE_PROTO","EmptyConstructor","scriptTag","LT","NullProtoObject","ActiveXObject","iframeDocument","iframe","temp","parentWindow","NullProtoObjectViaActiveX","display","src","contentWindow","Properties","IE8_DOM_DEFINE","nativeDefineProperty","P","Attributes","nativeGetOwnPropertyDescriptor","nativeGetOwnPropertyNames","windowNames","getOwnPropertyNames","getWindowNames","internalObjectKeys","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","maxInt","regexNonASCII","regexSeparators","OVERFLOW_ERROR","floor","stringFromCharCode","fromCharCode","digitToBasic","digit","adapt","delta","numPoints","firstTime","k","baseMinusTMin","output","counter","extra","ucs2decode","currentValue","inputLength","bias","basicLength","handledCPCount","handledCPCountPlusOne","RangeError","q","qMinusT","baseMinusT","encoded","labels","whitespaces","whitespace","ltrim","rtrim","end","max","min","integer","ceil","isNaN","PREFERRED_STRING","valueOf","postfix","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","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","nativeSlice","fin","MAXIMUM_ALLOWED_LENGTH_EXCEEDED","deleteCount","insertCount","actualDeleteCount","actualStart","FunctionPrototype","FunctionPrototypeToString","nameRE","collection","collectionStrong","init","NUMBER","NativeNumber","NumberPrototype","BROKEN_CLASSOF","toNumber","third","radix","maxCode","digits","NaN","parseInt","NumberWrapper","FAILS_ON_PRIMITIVES","nativeKeys","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","$trim","forcedStringTrimMethod","NativeSymbol","EmptyStringDescriptionStore","SymbolWrapper","symbolPrototype","symbolToString","native","defineWellKnownSymbol","nativeObjectCreate","getOwnPropertyNamesExternal","HIDDEN","TO_PRIMITIVE","$Symbol","$stringify","AllSymbols","ObjectPrototypeSymbols","StringToSymbolRegistry","SymbolToStringRegistry","QObject","USE_SETTER","findChild","setSymbolDescriptor","ObjectPrototypeDescriptor","wrap","isSymbol","$defineProperties","properties","$getOwnPropertySymbols","$propertyIsEnumerable","$getOwnPropertyDescriptor","$getOwnPropertyNames","IS_OBJECT_PROTOTYPE","keyFor","sym","useSetter","useSimple","space","$replacer","DOMIterables","COLLECTION_NAME","Collection","CollectionPrototype","ArrayIteratorMethods","ArrayValues","USE_NATIVE_URL","hasOwn","getIterator","$fetch","Headers","URL_SEARCH_PARAMS","URL_SEARCH_PARAMS_ITERATOR","getInternalParamsState","plus","sequences","percentSequence","bytes","percentDecode","sequence","deserialize","serialize","parseSearchParams","query","attribute","updateSearchParams","validateArgumentsLength","passed","required","URLSearchParamsIterator","URLSearchParamsConstructor","entryIterator","entryNext","updateURL","URLSearchParamsPrototype","append","getAll","found","entriesIndex","sliceIndex","fetch","getState","EOF","arrayFrom","toASCII","URLSearchParamsModule","NativeURL","getInternalSearchParamsState","getInternalURLState","pow","INVALID_SCHEME","INVALID_HOST","INVALID_PORT","ALPHA","ALPHANUMERIC","DIGIT","HEX_START","OCT","DEC","HEX","FORBIDDEN_HOST_CODE_POINT","FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT","LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE","TAB_AND_NEW_LINE","parseHost","codePoints","parseIPv6","isSpecial","parseIPv4","percentEncode","C0ControlPercentEncodeSet","partsLength","numbers","part","ipv4","pop","numbersSeen","ipv4Piece","swaps","swap","address","pieceIndex","compress","pointer","char","serializeHost","ignore0","ipv6","maxIndex","maxLength","currStart","currLength","findLongestZeroSequence","fragmentPercentEncodeSet","pathPercentEncodeSet","userinfoPercentEncodeSet","specialSchemes","ftp","http","https","ws","wss","scheme","includesCredentials","cannotHaveUsernamePasswordPort","cannotBeABaseURL","isWindowsDriveLetter","normalized","startsWithWindowsDriveLetter","shortenURLsPath","pathSize","isSingleDot","segment","SCHEME_START","SCHEME","NO_SCHEME","SPECIAL_RELATIVE_OR_AUTHORITY","PATH_OR_AUTHORITY","RELATIVE","RELATIVE_SLASH","SPECIAL_AUTHORITY_SLASHES","SPECIAL_AUTHORITY_IGNORE_SLASHES","AUTHORITY","HOST","HOSTNAME","PORT","FILE","FILE_SLASH","FILE_HOST","PATH_START","PATH","CANNOT_BE_A_BASE_URL_PATH","QUERY","FRAGMENT","parseURL","stateOverride","bufferCodePoints","failure","seenAt","seenBracket","seenPasswordToken","fragment","codePoint","encodedCodePoints","URLConstructor","baseState","urlString","searchParamsState","serializeURL","origin","getOrigin","getProtocol","getUsername","getPassword","getHost","getHostname","getPort","getPathname","getSearch","getSearchParams","getHash","URLPrototype","accessorDescriptor","getter","nativeCreateObjectURL","createObjectURL","nativeRevokeObjectURL","revokeObjectURL","blob","___CSS_LOADER_EXPORT___","cssWithMappingToString","list","item","needLayer","modules","dedupe","supports","layer","alreadyImportedModules","cssMapping","base64","sourceMapping","sourceURLs","hasSymbols","toStr","origDefineProperty","supportsDescriptors","x","arePropertyDescriptorsSupported","predicate","predicates","firstSource","nextSource","keysArray","nextIndex","nextKey","polyfill","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","Proxy","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","exportName","VENDOR_PREFIXES","TEST_ELEMENT","round","abs","setTimeoutContext","bindFn","invokeArrayArg","each","deprecate","deprecationMessage","dest","inherit","child","childP","baseP","_super","boolOrFn","ifUndefined","val1","val2","addEventListeners","types","splitStr","removeEventListeners","hasParent","node","inStr","inArray","findByKey","toArray","uniqueArray","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","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","VERSION","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","symObj","syms","hasToStringTag","$toString","callBound","isStandardArguments","isLegacyArguments","supportsStandardArguments","GeneratorFunction","fnToStr","isFnRegex","generatorFunc","getGeneratorFunc","getPolyfill","shim","availableTypedArrays","typedArrays","$slice","toStrTags","gOPD","typedArray","superProto","anyTrue","tryTypedArrays","HASH_UNDEFINED","funcTag","genTag","reIsDeepProp","reIsPlainProp","reLeadingDot","reIsHostCtor","freeGlobal","freeSelf","root","arrayProto","funcProto","objectProto","coreJsData","maskSrcKey","funcToString","objectToString","reIsNative","getNative","nativeCreate","symbolProto","Hash","ListCache","MapCache","assocIndexOf","other","baseGet","isKey","toKey","baseIsNative","pattern","isHostObject","toSource","getMapData","__data__","getValue","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","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","listener","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","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","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","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","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","defaultDelay","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","emptyObject","freeze","isUndef","isDef","isTrue","_toString","isValidArrayIndex","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","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","_resolve","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","name$1","isWhitespace","normalizeScopedSlots","normalSlots","prevSlots","hasNormalSlots","isStable","$stable","$key","_normalized","$hasNormal","normalizeScopedSlot","key$2","proxyNormalSlot","proxy","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","_u","_p","FunctionalRenderContext","contextVm","this$1","_original","isCompiled","needNormalization","injections","scopedSlots","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","foundName","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","loaded","__webpack_modules__","nmd","paths","scriptExports","functionalTemplate","injectStyles","videoWebm","videoMp4","videoFallbackText","slideList","isMobile","currentSlide","withIntro","oc_defaults","slogan","fadeDirection","startButtonText","__webpack_public_path__","App","OCA","FirstRunWizard"],"mappings":"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","file":"firstrunwizard-main.js?v=424c0b7af152fdcc4c28","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/// \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\nrequire(\"core-js/modules/es.object.assign.js\");\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\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar client = _axios.default.create({\n headers: {\n requesttoken: (0, _auth.getRequestToken)()\n }\n});\n\nvar cancelableClient = Object.assign(client, {\n CancelToken: _axios.default.CancelToken,\n isCancel: _axios.default.isCancel\n});\n(0, _auth.onRequestTokenUpdate)(function (token) {\n return client.defaults.headers.requesttoken = token;\n});\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/// \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/// \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,n){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(\"Components/Modal\",[],n):\"object\"==typeof exports?exports[\"Components/Modal\"]=n():(t.NextcloudVue=t.NextcloudVue||{},t.NextcloudVue[\"Components/Modal\"]=n())}(window,(function(){return function(t){var n={};function e(A){if(n[A])return n[A].exports;var o=n[A]={i:A,l:!1,exports:{}};return t[A].call(o.exports,o,o.exports,e),o.l=!0,o.exports}return e.m=t,e.c=n,e.d=function(t,n,A){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:A})},e.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&\"object\"==typeof t&&t&&t.__esModule)return t;var A=Object.create(null);if(e.r(A),Object.defineProperty(A,\"default\",{enumerable:!0,value:t}),2&n&&\"string\"!=typeof t)for(var o in t)e.d(A,o,function(n){return t[n]}.bind(null,o));return A},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,\"a\",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p=\"/dist/\",e(e.s=129)}([function(t,n,e){\"use strict\";function A(t,n){return function(t){if(Array.isArray(t))return t}(t)||function(t,n){if(\"undefined\"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var e=[],A=!0,o=!1,i=void 0;try{for(var a,r=t[Symbol.iterator]();!(A=(a=r.next()).done)&&(e.push(a.value),!n||e.length!==n);A=!0);}catch(t){o=!0,i=t}finally{try{A||null==r.return||r.return()}finally{if(o)throw i}}return e}(t,n)||function(t,n){if(!t)return;if(\"string\"==typeof t)return o(t,n);var e=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===e&&t.constructor&&(e=t.constructor.name);if(\"Map\"===e||\"Set\"===e)return Array.from(t);if(\"Arguments\"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return o(t,n)}(t,n)||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,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,A=new Array(n);e\n *\n * @author Julius Härtl \n * @author John Molakvoæ \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 .\n *\n */\nA.VTooltip.options.defaultTemplate='
'),A.VTooltip.options.defaultHtml=!1;n.default=A.VTooltip},function(t,n,e){\"use strict\";var A=e(0),o=e.n(A),i=e(1),a=e.n(i)()(o.a);a.push([t.i,\".vue-tooltip[data-v-6b494fc]{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-6b494fc][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-6b494fc][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-6b494fc][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-6b494fc][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-6b494fc][aria-hidden='true']{visibility:hidden;transition:opacity .15s, visibility .15s;opacity:0}.vue-tooltip[data-v-6b494fc][aria-hidden='false']{visibility:visible;transition:opacity .15s;opacity:1}.vue-tooltip[data-v-6b494fc] .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-6b494fc] .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://./index.scss\"],names:[],mappings:\"AAeA,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:[\"$scope_version:\\\"6b494fc\\\"; @import 'variables';\\n/**\\n* @copyright Copyright (c) 2016, John Molakvoæ \\n* @copyright Copyright (c) 2016, Robin Appelman \\n* @copyright Copyright (c) 2016, Jan-Christoph Borchardt \\n* @copyright Copyright (c) 2016, Erik Pellikka \\n* @copyright Copyright (c) 2015, Vincent Petry \\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:\"\"}]),n.a=a},,function(t,n){t.exports=require(\"core-js/modules/es.string.replace.js\")},function(t,n){t.exports=require(\"core-js/modules/es.regexp.to-string.js\")},function(t,n){t.exports=require(\"core-js/modules/web.dom-collections.for-each.js\")},function(t,n){t.exports=require(\"core-js/modules/es.array.concat.js\")},function(t,n,e){\"use strict\";var A={name:\"Popover\",components:{VPopover:e(7).VPopover},mounted:function(){var t=this;this.$watch((function(){return t.$refs.popover.isOpen}),(function(n){n?t.$emit(\"after-show\"):t.$emit(\"after-hide\")}))}},o=e(2),i=e.n(o),a=e(19),r={insert:\"head\",singleton:!1},s=(i()(a.a,r),a.a.locals,e(3)),c=e(20),l=e.n(c),d=Object(s.a)(A,(function(){var t=this.$createElement,n=this._self._c||t;return n(\"VPopover\",this._g(this._b({ref:\"popover\",attrs:{\"popover-base-class\":\"popover\",\"popover-wrapper-class\":\"popover__wrapper\",\"popover-arrow-class\":\"popover__arrow\",\"popover-inner-class\":\"popover__inner\"}},\"VPopover\",this.$attrs,!1),this.$listeners),[this._t(\"trigger\"),this._v(\" \"),n(\"template\",{slot:\"popover\"},[this._t(\"default\")],2)],2)}),[],!1,null,null,null);\"function\"==typeof l.a&&l()(d);n.a=d.exports},,function(t,n){t.exports=require(\"core-js/modules/es.string.trim.js\")},function(t,n){t.exports=require(\"core-js/modules/es.number.constructor.js\")},function(t,n){t.exports=require(\"core-js/modules/es.symbol.js\")},function(t,n){t.exports=require(\"@nextcloud/l10n/dist/gettext\")},function(t,n,e){\"use strict\";e(24),e(15),e(6),e(25);n.a=function(t){return Math.random().toString(36).replace(/[^a-z]+/g,\"\").substr(0,t||5)}},,,,function(t,n){t.exports=require(\"core-js/modules/es.symbol.description.js\")},function(t,n,e){\"use strict\";e(30),e(14);var A=e(5),o=e.n(A);\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \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 .\n *\n */n.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,n){t.exports=require(\"core-js/modules/web.url.js\")},function(t,n){t.exports=require(\"core-js/modules/es.array.slice.js\")},,,,,function(t,n){t.exports=require(\"core-js/modules/es.symbol.iterator.js\")},function(t,n,e){\"use strict\";e.r(n);var A=e(28);\n/**\n * @copyright Copyright (c) 2019 Marco Ambrosini \n *\n * @author Marco Ambrosini \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 .\n *\n */n.default=A.a},,function(t,n,e){\"use strict\";e(40),e(6),e(16),e(17),e(18);var A=e(39),o=(e(14),function(t,n){for(var e=t.$parent;e;){if(e.$options.name===n)return e;e=e.$parent}});n.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 n=o(this,\"Actions\");n&&n.closeMenu&&n.closeMenu()}}}}},function(t,n,e){\"use strict\";e(27),e(14),e(101);var A=e(5),o=e.n(A);n.a=function(t,n,e){if(void 0!==t)for(var A=t.length-1;A>=0;A--){var i=t[A],a=!i.componentOptions&&i.tag&&-1===n.indexOf(i.tag),r=!!i.componentOptions&&\"string\"==typeof i.componentOptions.tag,s=r&&-1===n.indexOf(i.componentOptions.tag);(a||!r||s)&&((a||s)&&o.a.util.warn(\"\".concat(a?i.tag:i.componentOptions.tag,\" is not allowed inside the \").concat(e.$options.name,\" component\"),e),t.splice(A,1))}}},function(t,n){t.exports=require(\"core-js/modules/es.array.filter.js\")},function(t,n){t.exports=require(\"core-js/modules/es.array.from.js\")},,,,,,,,,function(t,n,e){\"use strict\";var A=e(12);n.a={methods:{n:A.a,t:A.b}}},,,,,,function(t,n,e){\"use strict\";var A=e(0),o=e.n(A),i=e(1),a=e.n(i),r=e(4),s=e.n(r),c=e(8),l=e(9),d=e(10),u=e(11),g=a()(o.a),m=s()(c.a),p=s()(l.a),C=s()(d.a),f=s()(u.a);g.push([t.i,'@font-face{font-family:\"iconfont-vue-6b494fc\";src:url('+m+\");src:url(\"+m+') format(\"embedded-opentype\"),url('+p+') format(\"woff\"),url('+C+') format(\"truetype\"),url('+f+') format(\"svg\")}.icon[data-v-551c21fd]{font-style:normal;font-weight:400}.icon.arrow-left-double[data-v-551c21fd]:before{font-family:\"iconfont-vue-6b494fc\";content:\"\"}.icon.arrow-left[data-v-551c21fd]:before{font-family:\"iconfont-vue-6b494fc\";content:\"\"}.icon.arrow-right-double[data-v-551c21fd]:before{font-family:\"iconfont-vue-6b494fc\";content:\"\"}.icon.arrow-right[data-v-551c21fd]:before{font-family:\"iconfont-vue-6b494fc\";content:\"\"}.icon.breadcrumb[data-v-551c21fd]:before{font-family:\"iconfont-vue-6b494fc\";content:\"\"}.icon.checkmark[data-v-551c21fd]:before{font-family:\"iconfont-vue-6b494fc\";content:\"\"}.icon.close[data-v-551c21fd]:before{font-family:\"iconfont-vue-6b494fc\";content:\"\"}.icon.confirm[data-v-551c21fd]:before{font-family:\"iconfont-vue-6b494fc\";content:\"\"}.icon.info[data-v-551c21fd]:before{font-family:\"iconfont-vue-6b494fc\";content:\"\"}.icon.menu[data-v-551c21fd]:before{font-family:\"iconfont-vue-6b494fc\";content:\"\"}.icon.more[data-v-551c21fd]:before{font-family:\"iconfont-vue-6b494fc\";content:\"\"}.icon.pause[data-v-551c21fd]:before{font-family:\"iconfont-vue-6b494fc\";content:\"\"}.icon.play[data-v-551c21fd]:before{font-family:\"iconfont-vue-6b494fc\";content:\"\"}.icon.triangle-s[data-v-551c21fd]:before{font-family:\"iconfont-vue-6b494fc\";content:\"\"}.icon.user-status-away[data-v-551c21fd]:before{font-family:\"iconfont-vue-6b494fc\";content:\"\"}.icon.user-status-dnd[data-v-551c21fd]:before{font-family:\"iconfont-vue-6b494fc\";content:\"\"}.icon.user-status-invisible[data-v-551c21fd]:before{font-family:\"iconfont-vue-6b494fc\";content:\"\"}.icon.user-status-online[data-v-551c21fd]:before{font-family:\"iconfont-vue-6b494fc\";content:\"\"}.action-item[data-v-551c21fd]{position:relative;display:inline-block}.action-item--single[data-v-551c21fd]:hover,.action-item--single[data-v-551c21fd]:focus,.action-item--single[data-v-551c21fd]:active,.action-item__menutoggle[data-v-551c21fd]:hover,.action-item__menutoggle[data-v-551c21fd]:focus,.action-item__menutoggle[data-v-551c21fd]:active{opacity:1;background-color:rgba(127,127,127,0.25)}.action-item__menutoggle[data-v-551c21fd]:disabled,.action-item--single[data-v-551c21fd]:disabled{opacity:.3 !important}.action-item.action-item--open .action-item__menutoggle[data-v-551c21fd]{opacity:1;background-color:rgba(127,127,127,0.25)}.action-item--single[data-v-551c21fd],.action-item__menutoggle[data-v-551c21fd]{box-sizing:border-box;width:auto;min-width:44px;height:44px;margin:0;padding:14px;cursor:pointer;border:none;border-radius:22px;background-color:transparent}.action-item__menutoggle[data-v-551c21fd]{display:flex;align-items:center;justify-content:center;opacity:.7;font-weight:bold;line-height:16px}.action-item__menutoggle[data-v-551c21fd] span{width:16px;height:16px;line-height:16px}.action-item__menutoggle[data-v-551c21fd]:before{content:\\'\\'}.action-item__menutoggle--default-icon[data-v-551c21fd]:before{font-family:\"iconfont-vue-6b494fc\";font-style:normal;font-weight:400;content:\"\"}.action-item__menutoggle--default-icon[data-v-551c21fd]::before{font-size:16px}.action-item__menutoggle--with-title[data-v-551c21fd]{position:relative;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__menutoggle--with-title[data-v-551c21fd]:before{position:absolute;top:14px;left:14px}.action-item__menutoggle--primary[data-v-551c21fd]{opacity:1;color:var(--color-primary-text);border:none;background-color:var(--color-primary-element)}.action-item--open .action-item__menutoggle--primary[data-v-551c21fd],.action-item__menutoggle--primary[data-v-551c21fd]:hover,.action-item__menutoggle--primary[data-v-551c21fd]:focus,.action-item__menutoggle--primary[data-v-551c21fd]:active{color:var(--color-primary-text) !important;background-color:var(--color-primary-element-light) !important}.action-item--single[data-v-551c21fd]{opacity:.7}.action-item--single[data-v-551c21fd]:hover,.action-item--single[data-v-551c21fd]:focus,.action-item--single[data-v-551c21fd]:active{opacity:1}.action-item--single>[hidden][data-v-551c21fd]{display:none}.ie .action-item__menu[data-v-551c21fd],.ie .action-item__menu .action-item__menu_arrow[data-v-551c21fd],.edge .action-item__menu[data-v-551c21fd],.edge .action-item__menu .action-item__menu_arrow[data-v-551c21fd]{border:1px solid var(--color-border)}\\n',\"\",{version:3,sources:[\"webpack://./../../fonts/scss/iconfont-vue.scss\",\"webpack://./Actions.vue\",\"webpack://./../../assets/variables.scss\"],names:[],mappings:\"AA2FE,WACC,kCAAmC,CACnC,2CAAuC,CACvC,+OAGmD,CAMpD,uBACE,iBAAkB,CAClB,eAAgB,CAFlB,gDAMM,kCAAmC,CACnC,WA5Ge,CAAO,yCA0GL,kCACJ,CAAsB,WA1G3B,CAAA,iDAyGU,kCACL,CAAA,WAzGG,CAAA,0CAwGL,kCACE,CAAA,WAxGJ,CAAA,yCAuGC,kCACG,CAAA,WACN,CAxGC,wCAsGC,kCACI,CAAA,WACb,CAAO,oCAFF,kCACQ,CAAA,WACb,CAAA,sCAFO,kCACM,CAAA,WACb,CAAA,mCAFI,kCACS,CAAA,WACb,CAAA,mCAPD,kCAMc,CAAA,WACb,CAAA,mCAPD,kCAMc,CAAA,WACb,CAAA,oCAPD,kCAMc,CAAA,WACb,CAAA,mCAPD,kCAMc,CAAA,WAAsB,CACnC,yCAPD,kCAMc,CAAA,WAAA,CAAsB,+CANpC,kCAMc,CAAA,WAAA,CAAA,8CANd,kCAMc,CAAA,WAAA,CAAA,oDANd,kCAMc,CAAA,WAAA,CAAA,iDANd,kCAMc,CAAA,WAAA,CAAA,8BA1FG,iBC6nBZ,CACX,oBACA,CAAA,sRASC,SAAA,CAAY,uCCvnBE,CAAA,kGD+nBd,qBACA,CAAA,yEAGmB,SAAA,CAAA,uCCvnBK,CAAA,gFD8nBxB,qBACA,CAAA,UAAY,CAAA,cACL,CAAA,WACP,CAAS,QACT,CAAA,YACA,CAAA,cClpBY,CAAA,WDopBJ,CAAA,kBAER,CAAA,4BACA,CAAA,0CACA,YAAA,CAAA,kBAMA,CAAA,sBACA,CAAA,UAAe,CAAE,gBCrpBF,CAAE,gBDupBJ,CAAI,+CANjB,UAUA,CAAA,WACC,CAAK,gBC1qBI,CAAI,iDD+pBd,UAAY,CAAA,+DAkBX,kCD7sBF,CAAA,iBAAsB,CAkFnB,eAAY,CAAA,WACZ,CAAA,gEC4nBD,cAAc,CAAA,sDAIb,iBAAA,CAGW,iBACF,CAAQ,kBC/rBA,CDisBlB,SAAA,CAAA,yCAEkB,CAAA,6CAEA,CAAA,+BAClB,CAAA,iBAAkC,CAAM,6DARxC,iBAAY,CAWJ,QACP,CAAQ,SAAU,CAClB,mDAEA,SAAA,CAAA,+BAKM,CAAA,WAAA,CAAA,6CAEW,CAAA,kPAJlB,0CASQ,CAAA,8DACW,CAAA,sCAClB,UAAA,CAAA,qIAIF,SAAA,CAAA,+CAAA,YAQI,CAAA,sNASc,oCACA\",sourcesContent:['$__iconfont__data: map-merge(if(global_variable_exists(\\'__iconfont__data\\'), $__iconfont__data, ()), (\\n\\t\"iconfont-vue-6b494fc\": (\\n\\t\\t\"arrow-left-double\": \"\\\\ea01\",\\n\\t\\t\"arrow-left\": \"\\\\ea02\",\\n\\t\\t\"arrow-right-double\": \"\\\\ea03\",\\n\\t\\t\"arrow-right\": \"\\\\ea04\",\\n\\t\\t\"breadcrumb\": \"\\\\ea05\",\\n\\t\\t\"checkmark\": \"\\\\ea06\",\\n\\t\\t\"close\": \"\\\\ea07\",\\n\\t\\t\"confirm\": \"\\\\ea08\",\\n\\t\\t\"info\": \"\\\\ea09\",\\n\\t\\t\"menu\": \"\\\\ea0a\",\\n\\t\\t\"more\": \"\\\\ea0b\",\\n\\t\\t\"pause\": \"\\\\ea0c\",\\n\\t\\t\"play\": \"\\\\ea0d\",\\n\\t\\t\"triangle-s\": \"\\\\ea0e\",\\n\\t\\t\"user-status-away\": \"\\\\ea0f\",\\n\\t\\t\"user-status-dnd\": \"\\\\ea10\",\\n\\t\\t\"user-status-invisible\": \"\\\\ea11\",\\n\\t\\t\"user-status-online\": \"\\\\ea12\"\\n\\t)\\n));\\n\\n\\n$create-font-face: true !default; // should the @font-face tag get created?\\n\\n// should there be a custom class for each icon? will be .filename\\n$create-icon-classes: true !default; \\n\\n// what is the common class name that icons share? in this case icons need to have .icon.filename in their classes\\n// this requires you to have 2 classes on each icon html element, but reduced redeclaration of the font family\\n// for each icon\\n$icon-common-class: \\'icon\\' !default;\\n\\n// if you whish to prefix your filenames, here you can do so.\\n// if this string stays empty, your classes will use the filename, for example\\n// an icon called star.svg will result in a class called .star\\n// if you use the prefix to be \\'icon-\\' it would result in .icon-star\\n$icon-prefix: \\'\\' !default; \\n\\n// helper function to get the correct font group\\n@function iconfont-group($group: null) {\\n @if (null == $group) {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n @if (false == map-has-key($__iconfont__data, $group)) {\\n @warn \\'Undefined Iconfont Family!\\';\\n @return ();\\n }\\n @return map-get($__iconfont__data, $group);\\n}\\n\\n// helper function to get the correct icon of a group\\n@function iconfont-item($name) {\\n $slash: str-index($name, \\'/\\');\\n $group: null;\\n @if ($slash) {\\n $group: str-slice($name, 0, $slash - 1);\\n $name: str-slice($name, $slash + 1);\\n } @else {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n $group: iconfont-group($group);\\n @if (false == map-has-key($group, $name)) {\\n @warn \\'Undefined Iconfont Glyph!\\';\\n @return \\'\\';\\n }\\n @return map-get($group, $name);\\n}\\n\\n// complete mixing to include the icon\\n// usage:\\n// .my_icon{ @include iconfont(\\'star\\') }\\n@mixin iconfont($icon) {\\n $slash: str-index($icon, \\'/\\');\\n $group: null;\\n @if ($slash) {\\n $group: str-slice($icon, 0, $slash - 1);\\n } @else {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n &:before {\\n font-family: $group;\\n font-style: normal;\\n font-weight: 400;\\n content: iconfont-item($icon);\\n }\\n}\\n\\n// creates the font face tag if the variable is set to true (default)\\n@if $create-font-face == true {\\n @font-face {\\n font-family: \"iconfont-vue-6b494fc\";\\n src: url(\\'../iconfont-vue-6b494fc.eot\\'); /* IE9 Compat Modes */\\n src: url(\\'../iconfont-vue-6b494fc.eot?#iefix\\') format(\\'embedded-opentype\\'), /* IE6-IE8 */\\n url(\\'../iconfont-vue-6b494fc.woff\\') format(\\'woff\\'), /* Pretty Modern Browsers */\\n url(\\'../iconfont-vue-6b494fc.ttf\\') format(\\'truetype\\'), /* Safari, Android, iOS */\\n url(\\'../iconfont-vue-6b494fc.svg\\') format(\\'svg\\'); /* Legacy iOS */\\n }\\n}\\n\\n// creates icon classes for each individual loaded svg (default)\\n@if $create-icon-classes == true {\\n .#{$icon-common-class} {\\n font-style: normal;\\n font-weight: 400;\\n\\n @each $icon, $content in map-get($__iconfont__data, \"iconfont-vue-6b494fc\") {\\n &.#{$icon-prefix}#{$icon}:before {\\n font-family: \"iconfont-vue-6b494fc\";\\n content: iconfont-item(\"iconfont-vue-6b494fc/#{$icon}\");\\n }\\n }\\n }\\n}\\n',\"$scope_version:\\\"6b494fc\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n@import '../../fonts/scss/iconfont-vue';\\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\\n\\t\\tbackground-color: $icon-focus-bg;\\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: $icon-margin;\\n\\t\\tcursor: pointer;\\n\\t\\tborder: none;\\n\\t\\tborder-radius: $clickable-area / 2;\\n\\t\\tbackground-color: transparent;\\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// image slot\\n\\t\\t/deep/ span {\\n\\t\\t\\twidth: $icon-size;\\n\\t\\t\\theight: $icon-size;\\n\\t\\t\\tline-height: $icon-size;\\n\\t\\t}\\n\\n\\t\\t&:before {\\n\\t\\t\\tcontent: '';\\n\\t\\t}\\n\\n\\t\\t&--default-icon {\\n\\t\\t\\t@include iconfont('more');\\n\\t\\t\\t&::before {\\n\\t\\t\\t\\tfont-size: $icon-size;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&--with-title {\\n\\t\\t\\tposition: relative;\\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\\t\\t\\t// non-background icon class\\n\\t\\t\\t&:before {\\n\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\ttop: $icon-margin;\\n\\t\\t\\t\\tleft: $icon-margin;\\n\\t\\t\\t}\\n\\t\\t}\\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æ \\n *\\n * @author John Molakvoæ \\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 .\\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:\"\"}]),n.a=g},function(t,n){},function(t,n){t.exports=require(\"core-js/modules/es.object.keys.js\")},,function(t,n){t.exports=require(\"core-js/modules/es.object.get-own-property-descriptor.js\")},function(t,n){t.exports=require(\"core-js/modules/es.object.get-own-property-descriptors.js\")},function(t,n,e){\"use strict\";e.r(n);var A=e(85);\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author John Molakvoæ \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 .\n *\n */n.default=A.a},,,,,,,,,,function(t,n,e){\"use strict\";\n/**\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author John Molakvoæ \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 .\n *\n */n.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(\"6b494fc\"),\"\")}))}},,function(t,n,e){\"use strict\";e(27),e(51),e(69),e(32),e(71),e(26),e(72),e(38),e(6),e(46),e(16),e(17),e(18),e(52),e(41),e(14);var A=e(21),o=e(34),i=e(50),a=e(12),r=e(47);function s(t){return function(t){if(Array.isArray(t))return c(t)}(t)||function(t){if(\"undefined\"!=typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}(t)||function(t,n){if(!t)return;if(\"string\"==typeof t)return c(t,n);var e=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===e&&t.constructor&&(e=t.constructor.name);if(\"Map\"===e||\"Set\"===e)return Array.from(t);if(\"Arguments\"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return c(t,n)}(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,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,A=new Array(n);e1},isValidSingleAction:function(){return 1===this.actions.length&&null!==this.firstActionElement},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 d(d({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 d(d({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 d(d({is:\"button\",\"aria-label\":this.firstAction.ariaLabel},this.firstAction.$attrs),this.firstAction.$props)}return null},firstActionEvent:function(){var t,n,e;return null===(t=this.firstActionVNode)||void 0===t||null===(n=t.componentOptions)||void 0===n||null===(e=n.listeners)||void 0===e?void 0:e.click},firstActionEventBinding:function(){return this.firstActionEvent?\"click\":null},firstActionIconSlot:function(){var t,n;return null===(t=this.firstAction)||void 0===t||null===(n=t.$slots)||void 0===n?void 0:n.icon},firstActionClass:function(){var t=this.firstActionVNode&&this.firstActionVNode.data.staticClass,n=this.firstActionVNode&&this.firstActionVNode.data.class;return\"\".concat(t,\" \").concat(n)},iconSlotIsPopulated:function(){return!!this.$slots.icon}},watch:{open:function(t){t!==this.opened&&(this.opened=t)}},beforeMount:function(){this.initActions(),Object(i.a)(this.$slots.default,g,this)},beforeUpdate:function(){this.initActions(),Object(i.a)(this.$slots.default,g,this)},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 n=this;this.$nextTick((function(){n.focusFirstAction(t)}))},onMouseFocusAction:function(t){if(document.activeElement!==t.target){var n=t.target.closest(\"li\");if(n){var e=n.querySelector(\".focusable\");if(e){var A=s(this.$refs.menu.querySelectorAll(\".focusable\")).indexOf(e);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 n=t.closest(\"li.action\");t.focus(),n&&n.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 n=this.$refs.menu.querySelectorAll(\".focusable\").length-1;this.focusIndex===n?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)}}},p=e(2),C=e.n(p),f=e(67),h={insert:\"head\",singleton:!1},b=(C()(f.a,h),f.a.locals,e(3)),v=e(68),y=e.n(v),B=Object(b.a)(m,(function(){var t,n,e=this,A=e.$createElement,o=e._self._c||A;return e.isValidSingleAction&&!e.forceMenu?o(\"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.iconSlotIsPopulated,t[e.firstActionClass]=!e.iconSlotIsPopulated,t),attrs:{rel:\"noreferrer noopener\",disabled:e.disabled},on:e._d({focus:e.onFocus,blur:e.onBlur},[e.firstActionEventBinding,e.execFirstAction])},\"element\",e.firstActionBinding,!1),[o(\"VNodes\",{attrs:{vnodes:e.firstActionIconSlot}}),e._v(\" \"),o(\"span\",{attrs:{\"aria-hidden\":!0,hidden:\"\"}},[e._t(\"default\")],2)],1):o(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.hasMultipleActions||e.forceMenu,expression:\"hasMultipleActions || forceMenu\"}],staticClass:\"action-item\",class:{\"action-item--open\":e.opened}},[o(\"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}},[o(\"button\",{ref:\"menuButton\",staticClass:\"icon action-item__menutoggle\",class:(n={},n[e.defaultIcon]=!e.iconSlotIsPopulated,n[\"action-item__menutoggle--with-title\"]=e.menuTitle,n[\"action-item__menutoggle--primary\"]=e.primary,n),attrs:{slot:\"trigger\",disabled:e.disabled,\"aria-label\":e.ariaLabel,\"aria-haspopup\":\"true\",\"aria-controls\":e.randomId,\"test-attr\":\"1\",\"aria-expanded\":e.opened?\"true\":\"false\"},on:{focus:e.onFocus,blur:e.onBlur},slot:\"trigger\"},[e._t(\"icon\"),e._v(\"\\n\\t\\t\\t\"+e._s(e.menuTitle)+\"\\n\\t\\t\")],2),e._v(\" \"),o(\"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}},[o(\"ul\",{attrs:{id:e.randomId,tabindex:\"-1\"}},[e.opened?[e._t(\"default\")]:e._e()],2)])])],1)}),[],!1,null,\"551c21fd\",null);\"function\"==typeof y.a&&y()(B);n.a=B.exports},,,,,,,,,function(t,n,e){\"use strict\";var A=e(0),o=e.n(A),i=e(1),a=e.n(i)()(o.a);a.push([t.i,\"li.active[data-v-42b28436]{background-color:var(--color-background-hover)}.action--disabled[data-v-42b28436]{pointer-events:none;opacity:.5}.action--disabled[data-v-42b28436]:hover,.action--disabled[data-v-42b28436]:focus{cursor:default;opacity:.5}.action--disabled *[data-v-42b28436]{opacity:1 !important}.action-button[data-v-42b28436]{display:flex;align-items:flex-start;width:100%;height:auto;margin:0;padding:0;padding-right:14px;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-42b28436]:hover,.action-button[data-v-42b28436]:focus{opacity:1}.action-button>span[data-v-42b28436]{cursor:pointer;white-space:nowrap}.action-button__icon[data-v-42b28436]{width:44px;height:44px;opacity:1;background-position:14px center;background-size:16px;background-repeat:no-repeat}.action-button .material-design-icon[data-v-42b28436]{width:44px;height:44px;opacity:1}.action-button .material-design-icon .material-design-icon__svg[data-v-42b28436]{vertical-align:middle}.action-button p[data-v-42b28436]{width:220px;padding:7px 0;cursor:pointer;text-align:left;line-height:1.6em;overflow:hidden;text-overflow:ellipsis}.action-button__longtext[data-v-42b28436]{cursor:pointer;white-space:pre-wrap}.action-button__title[data-v-42b28436]{font-weight:bold;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%;display:inline-block}\\n\",\"\",{version:3,sources:[\"webpack://./../../assets/action.scss\",\"webpack://./../../assets/variables.scss\"],names:[],mappings:\"AAwBC,2BAEE,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,CDwB9C,cAAe,CACf,kBAAmB,CAEnB,UCjBiB,CDkBjB,4BAA6B,CAC7B,QAAS,CACT,eAAgB,CAChB,4BAA6B,CAC7B,eAAgB,CAEhB,kBAAmB,CACnB,kCAAmC,CACnC,gBC5CmB,CDsBpB,4EA0BE,SC7Ba,CDGf,qCA8BE,cAAe,CACf,kBAAmB,CACnB,sCAGA,UCzDkB,CD0DlB,WC1DkB,CD2DlB,SCxCa,CDyCb,+BAAwC,CACxC,oBCzDa,CD0Db,2BAA4B,CAxC9B,sDA4CE,UClEkB,CDmElB,WCnEkB,CDoElB,SCjDa,CDGf,iFAiDG,qBAAsB,CAjDzB,kCAuDE,WAAY,CACZ,aAA8B,CAE9B,cAAe,CACf,eAAgB,CAEhB,iBAAkB,CAGlB,eAAgB,CAChB,sBAAuB,CACvB,0CAGA,cAAe,CAEf,oBAAqB,CACrB,uCAGA,gBAAiB,CACjB,sBAAuB,CACvB,eAAgB,CAChB,kBAAmB,CACnB,cAAe,CACf,oBAAqB\",sourcesContent:[\"/**\\n * @copyright Copyright (c) 2019 John Molakvoæ \\n *\\n * @author John Molakvoæ \\n * @author Marco Ambrosini \\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 .\\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\\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.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\\twidth: 220px;\\n\\t\\t\\tpadding: #{$icon-margin / 2} 0;\\n\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\ttext-align: left;\\n\\n\\t\\t\\tline-height: 1.6em;\\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æ \\n *\\n * @author John Molakvoæ \\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 .\\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:\"\"}]),n.a=a},function(t,n){},,,,,,function(t,n){t.exports=require(\"core-js/modules/es.array.splice.js\")},function(t,n,e){\"use strict\";var A={name:\"ActionButton\",mixins:[e(49).a],props:{disabled:{type:Boolean,default:!1}},computed:{isFocusable:function(){return!this.disabled}}},o=e(2),i=e.n(o),a=e(94),r={insert:\"head\",singleton:!1},s=(i()(a.a,r),a.a.locals,e(3)),c=e(95),l=e.n(c),d=Object(s.a)(A,(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e(\"li\",{staticClass:\"action\",class:{\"action--disabled\":t.disabled}},[e(\"button\",{staticClass:\"action-button\",class:{focusable:t.isFocusable},attrs:{\"aria-label\":t.ariaLabel},on:{click:t.onClick}},[e(\"span\",{staticClass:\"action-button__icon\",class:[t.isIconUrl?\"action-button__icon--url\":t.icon],style:{backgroundImage:t.isIconUrl?\"url(\"+t.icon+\")\":null}},[t._t(\"icon\")],2),t._v(\" \"),t.title?e(\"p\",[e(\"strong\",{staticClass:\"action-button__title\"},[t._v(\"\\n\\t\\t\\t\\t\"+t._s(t.title)+\"\\n\\t\\t\\t\")]),t._v(\" \"),e(\"br\"),t._v(\" \"),e(\"span\",{staticClass:\"action-button__longtext\",domProps:{textContent:t._s(t.text)}})]):t.isLongText?e(\"p\",{staticClass:\"action-button__longtext\",domProps:{textContent:t._s(t.text)}}):e(\"span\",{staticClass:\"action-button__text\"},[t._v(t._s(t.text))]),t._v(\" \"),t._e()],2)])}),[],!1,null,\"42b28436\",null);\"function\"==typeof l.a&&l()(d);n.a=d.exports},,,,,,,function(t,n){t.exports=require(\"hammerjs\")},function(t,n,e){\"use strict\";e.r(n);var A=e(102);\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \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 .\n *\n */n.default=A.a},,,,,,,,,function(t,n,e){\"use strict\";var A=e(0),o=e.n(A),i=e(1),a=e.n(i),r=e(4),s=e.n(r),c=e(8),l=e(9),d=e(10),u=e(11),g=a()(o.a),m=s()(c.a),p=s()(l.a),C=s()(d.a),f=s()(u.a);g.push([t.i,'@font-face{font-family:\"iconfont-vue-6b494fc\";src:url('+m+\");src:url(\"+m+') format(\"embedded-opentype\"),url('+p+') format(\"woff\"),url('+C+') format(\"truetype\"),url('+f+') format(\"svg\")}.icon[data-v-3e0b109b]{font-style:normal;font-weight:400}.icon.arrow-left-double[data-v-3e0b109b]:before{font-family:\"iconfont-vue-6b494fc\";content:\"\"}.icon.arrow-left[data-v-3e0b109b]:before{font-family:\"iconfont-vue-6b494fc\";content:\"\"}.icon.arrow-right-double[data-v-3e0b109b]:before{font-family:\"iconfont-vue-6b494fc\";content:\"\"}.icon.arrow-right[data-v-3e0b109b]:before{font-family:\"iconfont-vue-6b494fc\";content:\"\"}.icon.breadcrumb[data-v-3e0b109b]:before{font-family:\"iconfont-vue-6b494fc\";content:\"\"}.icon.checkmark[data-v-3e0b109b]:before{font-family:\"iconfont-vue-6b494fc\";content:\"\"}.icon.close[data-v-3e0b109b]:before{font-family:\"iconfont-vue-6b494fc\";content:\"\"}.icon.confirm[data-v-3e0b109b]:before{font-family:\"iconfont-vue-6b494fc\";content:\"\"}.icon.info[data-v-3e0b109b]:before{font-family:\"iconfont-vue-6b494fc\";content:\"\"}.icon.menu[data-v-3e0b109b]:before{font-family:\"iconfont-vue-6b494fc\";content:\"\"}.icon.more[data-v-3e0b109b]:before{font-family:\"iconfont-vue-6b494fc\";content:\"\"}.icon.pause[data-v-3e0b109b]:before{font-family:\"iconfont-vue-6b494fc\";content:\"\"}.icon.play[data-v-3e0b109b]:before{font-family:\"iconfont-vue-6b494fc\";content:\"\"}.icon.triangle-s[data-v-3e0b109b]:before{font-family:\"iconfont-vue-6b494fc\";content:\"\"}.icon.user-status-away[data-v-3e0b109b]:before{font-family:\"iconfont-vue-6b494fc\";content:\"\"}.icon.user-status-dnd[data-v-3e0b109b]:before{font-family:\"iconfont-vue-6b494fc\";content:\"\"}.icon.user-status-invisible[data-v-3e0b109b]:before{font-family:\"iconfont-vue-6b494fc\";content:\"\"}.icon.user-status-online[data-v-3e0b109b]:before{font-family:\"iconfont-vue-6b494fc\";content:\"\"}.modal-mask[data-v-3e0b109b]{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-3e0b109b]{background-color:rgba(0,0,0,0.92)}.modal-header[data-v-3e0b109b]{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-3e0b109b],.modal-header.invisible[style*=\\'display: none\\'][data-v-3e0b109b]{visibility:hidden}.modal-header .modal-title[data-v-3e0b109b]{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-3e0b109b]{text-align:center;padding-left:132px}}.modal-header .icons-menu[data-v-3e0b109b]{position:absolute;right:0;display:flex;align-items:center;justify-content:flex-end}.modal-header .icons-menu .icon-close[data-v-3e0b109b]{box-sizing:border-box;margin:3px;padding:10px 11px;color:#fff;background-image:none;font-size:23px}.modal-header .icons-menu .icon-close[data-v-3e0b109b]:before{font-family:\"iconfont-vue-6b494fc\";font-style:normal;font-weight:400;content:\"\"}.modal-header .icons-menu .play-pause[data-v-3e0b109b]{position:relative;width:50px;height:50px;margin:0;padding:0;cursor:pointer;color:white;border:none;background-color:transparent;font-size:22px}.modal-header .icons-menu .play-pause:hover .icon-play[data-v-3e0b109b],.modal-header .icons-menu .play-pause:hover .icon-pause[data-v-3e0b109b],.modal-header .icons-menu .play-pause:focus .icon-play[data-v-3e0b109b],.modal-header .icons-menu .play-pause:focus .icon-pause[data-v-3e0b109b]{opacity:1;border-radius:22px;background-color:rgba(127,127,127,0.25)}.modal-header .icons-menu .play-pause .icon-play[data-v-3e0b109b],.modal-header .icons-menu .play-pause .icon-pause[data-v-3e0b109b]{box-sizing:border-box;width:44px;height:44px;margin:3px;opacity:.7;background-image:none;cursor:pointer}.modal-header .icons-menu .play-pause .icon-play[data-v-3e0b109b]{padding:11px 13px}.modal-header .icons-menu .play-pause .icon-play[data-v-3e0b109b]:before{font-family:\"iconfont-vue-6b494fc\";font-style:normal;font-weight:400;content:\"\"}.modal-header .icons-menu .play-pause .icon-pause[data-v-3e0b109b]{padding:12px;font-size:19.5px}.modal-header .icons-menu .play-pause .icon-pause[data-v-3e0b109b]:before{font-family:\"iconfont-vue-6b494fc\";font-style:normal;font-weight:400;content:\"\"}.modal-header .icons-menu .header-actions[data-v-3e0b109b]{margin:3px;color:white}.modal-header .icons-menu .action-item--single[data-v-3e0b109b]{box-sizing:border-box;width:44px;height:44px;cursor:pointer;background-position:center;background-size:22px}.modal-header .icons-menu[data-v-3e0b109b] .action-item__menutoggle{padding:13px 11px;color:#fff;font-size:22px}.modal-wrapper[data-v-3e0b109b]{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;height:100%}.modal-wrapper .prev[data-v-3e0b109b],.modal-wrapper .next[data-v-3e0b109b]{z-index:10000;display:flex !important;align-items:center;justify-content:center;width:15%;min-width:60px;height:100%;transition:opacity 250ms, visibility 250ms}.modal-wrapper .prev.invisible[style*=\\'display:none\\'][data-v-3e0b109b],.modal-wrapper .prev.invisible[style*=\\'display: none\\'][data-v-3e0b109b],.modal-wrapper .next.invisible[style*=\\'display:none\\'][data-v-3e0b109b],.modal-wrapper .next.invisible[style*=\\'display: none\\'][data-v-3e0b109b]{visibility:hidden}.modal-wrapper .icon-next[data-v-3e0b109b],.modal-wrapper .icon-previous[data-v-3e0b109b]{box-sizing:border-box;width:44px;height:44px;padding:12px 11px;color:white;border-radius:22px;background-image:none;font-size:24px}.modal-wrapper .icon-previous[data-v-3e0b109b]:before{font-family:\"iconfont-vue-6b494fc\";font-style:normal;font-weight:400;content:\"\"}.modal-wrapper .icon-next[data-v-3e0b109b]:before{font-family:\"iconfont-vue-6b494fc\";font-style:normal;font-weight:400;content:\"\"}.modal-wrapper .modal-container[data-v-3e0b109b]{display:block;overflow:hidden;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:not(.modal-wrapper--large):not(.modal-wrapper--full) .modal-container[data-v-3e0b109b]{max-width:900px;max-height:80%}.modal-wrapper--full .modal-container[data-v-3e0b109b]{max-width:100%;max-height:100%;border-radius:0}.modal-wrapper--full .prev[data-v-3e0b109b],.modal-wrapper--full .next[data-v-3e0b109b],.modal-wrapper--spread-navigation .prev[data-v-3e0b109b],.modal-wrapper--spread-navigation .next[data-v-3e0b109b]{position:absolute;width:10%}.modal-wrapper--full .prev[data-v-3e0b109b],.modal-wrapper--spread-navigation .prev[data-v-3e0b109b]{left:0}.modal-wrapper--full .next[data-v-3e0b109b],.modal-wrapper--spread-navigation .next[data-v-3e0b109b]{right:0}.modal-wrapper--large .modal-container[data-v-3e0b109b]{max-width:85%;max-height:90%}.modal-wrapper--large .prev[data-v-3e0b109b],.modal-wrapper--large .next[data-v-3e0b109b]{width:10%;min-width:44px}.fade-enter-active[data-v-3e0b109b],.fade-leave-active[data-v-3e0b109b]{transition:opacity 250ms}.fade-enter[data-v-3e0b109b],.fade-leave-to[data-v-3e0b109b]{opacity:0}.fade-visibility-enter[data-v-3e0b109b],.fade-visibility-leave-to[data-v-3e0b109b]{visibility:hidden;opacity:0}.modal-in-enter-active[data-v-3e0b109b],.modal-in-leave-active[data-v-3e0b109b],.modal-out-enter-active[data-v-3e0b109b],.modal-out-leave-active[data-v-3e0b109b]{transition:opacity 250ms}.modal-in-enter[data-v-3e0b109b],.modal-in-leave-to[data-v-3e0b109b],.modal-out-enter[data-v-3e0b109b],.modal-out-leave-to[data-v-3e0b109b]{opacity:0}.modal-in-enter .modal-container[data-v-3e0b109b],.modal-in-leave-to .modal-container[data-v-3e0b109b]{transform:scale(0.9)}.modal-out-enter .modal-container[data-v-3e0b109b],.modal-out-leave-to .modal-container[data-v-3e0b109b]{transform:scale(1.1)}.modal-mask .play-pause .progress-ring[data-v-3e0b109b]{position:absolute;top:0;left:0;transform:rotate(-90deg)}.modal-mask .play-pause .progress-ring .progress-ring__circle[data-v-3e0b109b]{transition:100ms stroke-dashoffset;transform-origin:50% 50%;animation:progressring-data-v-3e0b109b linear 3s infinite;stroke-linecap:round;stroke-dashoffset:94.24778;stroke-dasharray:94.24778}.modal-mask .play-pause--paused .icon-pause[data-v-3e0b109b]{animation:breath-data-v-3e0b109b 2s cubic-bezier(0.4, 0, 0.2, 1) infinite}.modal-mask .play-pause--paused .progress-ring__circle[data-v-3e0b109b]{animation-play-state:paused !important}@keyframes progressring-data-v-3e0b109b{from{stroke-dashoffset:94.24778}to{stroke-dashoffset:0}}@keyframes breath-data-v-3e0b109b{0%{opacity:1}50%{opacity:0}100%{opacity:1}}\\n',\"\",{version:3,sources:[\"webpack://./../../fonts/scss/iconfont-vue.scss\",\"webpack://./Modal.vue\",\"webpack://./../../assets/variables.scss\"],names:[],mappings:\"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\",sourcesContent:['$__iconfont__data: map-merge(if(global_variable_exists(\\'__iconfont__data\\'), $__iconfont__data, ()), (\\n\\t\"iconfont-vue-6b494fc\": (\\n\\t\\t\"arrow-left-double\": \"\\\\ea01\",\\n\\t\\t\"arrow-left\": \"\\\\ea02\",\\n\\t\\t\"arrow-right-double\": \"\\\\ea03\",\\n\\t\\t\"arrow-right\": \"\\\\ea04\",\\n\\t\\t\"breadcrumb\": \"\\\\ea05\",\\n\\t\\t\"checkmark\": \"\\\\ea06\",\\n\\t\\t\"close\": \"\\\\ea07\",\\n\\t\\t\"confirm\": \"\\\\ea08\",\\n\\t\\t\"info\": \"\\\\ea09\",\\n\\t\\t\"menu\": \"\\\\ea0a\",\\n\\t\\t\"more\": \"\\\\ea0b\",\\n\\t\\t\"pause\": \"\\\\ea0c\",\\n\\t\\t\"play\": \"\\\\ea0d\",\\n\\t\\t\"triangle-s\": \"\\\\ea0e\",\\n\\t\\t\"user-status-away\": \"\\\\ea0f\",\\n\\t\\t\"user-status-dnd\": \"\\\\ea10\",\\n\\t\\t\"user-status-invisible\": \"\\\\ea11\",\\n\\t\\t\"user-status-online\": \"\\\\ea12\"\\n\\t)\\n));\\n\\n\\n$create-font-face: true !default; // should the @font-face tag get created?\\n\\n// should there be a custom class for each icon? will be .filename\\n$create-icon-classes: true !default; \\n\\n// what is the common class name that icons share? in this case icons need to have .icon.filename in their classes\\n// this requires you to have 2 classes on each icon html element, but reduced redeclaration of the font family\\n// for each icon\\n$icon-common-class: \\'icon\\' !default;\\n\\n// if you whish to prefix your filenames, here you can do so.\\n// if this string stays empty, your classes will use the filename, for example\\n// an icon called star.svg will result in a class called .star\\n// if you use the prefix to be \\'icon-\\' it would result in .icon-star\\n$icon-prefix: \\'\\' !default; \\n\\n// helper function to get the correct font group\\n@function iconfont-group($group: null) {\\n @if (null == $group) {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n @if (false == map-has-key($__iconfont__data, $group)) {\\n @warn \\'Undefined Iconfont Family!\\';\\n @return ();\\n }\\n @return map-get($__iconfont__data, $group);\\n}\\n\\n// helper function to get the correct icon of a group\\n@function iconfont-item($name) {\\n $slash: str-index($name, \\'/\\');\\n $group: null;\\n @if ($slash) {\\n $group: str-slice($name, 0, $slash - 1);\\n $name: str-slice($name, $slash + 1);\\n } @else {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n $group: iconfont-group($group);\\n @if (false == map-has-key($group, $name)) {\\n @warn \\'Undefined Iconfont Glyph!\\';\\n @return \\'\\';\\n }\\n @return map-get($group, $name);\\n}\\n\\n// complete mixing to include the icon\\n// usage:\\n// .my_icon{ @include iconfont(\\'star\\') }\\n@mixin iconfont($icon) {\\n $slash: str-index($icon, \\'/\\');\\n $group: null;\\n @if ($slash) {\\n $group: str-slice($icon, 0, $slash - 1);\\n } @else {\\n $group: nth(map-keys($__iconfont__data), 1);\\n }\\n &:before {\\n font-family: $group;\\n font-style: normal;\\n font-weight: 400;\\n content: iconfont-item($icon);\\n }\\n}\\n\\n// creates the font face tag if the variable is set to true (default)\\n@if $create-font-face == true {\\n @font-face {\\n font-family: \"iconfont-vue-6b494fc\";\\n src: url(\\'../iconfont-vue-6b494fc.eot\\'); /* IE9 Compat Modes */\\n src: url(\\'../iconfont-vue-6b494fc.eot?#iefix\\') format(\\'embedded-opentype\\'), /* IE6-IE8 */\\n url(\\'../iconfont-vue-6b494fc.woff\\') format(\\'woff\\'), /* Pretty Modern Browsers */\\n url(\\'../iconfont-vue-6b494fc.ttf\\') format(\\'truetype\\'), /* Safari, Android, iOS */\\n url(\\'../iconfont-vue-6b494fc.svg\\') format(\\'svg\\'); /* Legacy iOS */\\n }\\n}\\n\\n// creates icon classes for each individual loaded svg (default)\\n@if $create-icon-classes == true {\\n .#{$icon-common-class} {\\n font-style: normal;\\n font-weight: 400;\\n\\n @each $icon, $content in map-get($__iconfont__data, \"iconfont-vue-6b494fc\") {\\n &.#{$icon-prefix}#{$icon}:before {\\n font-family: \"iconfont-vue-6b494fc\";\\n content: iconfont-item(\"iconfont-vue-6b494fc/#{$icon}\");\\n }\\n }\\n }\\n}\\n',\"$scope_version:\\\"6b494fc\\\"; @import 'variables';\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n@import '../../fonts/scss/iconfont-vue';\\n$header-size: 50px;\\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-size;\\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\\ttext-align: center;\\n\\t\\t\\tpadding-left: #{$clickable-area * 3}; // maximum actions is 3\\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.icon-close {\\n\\t\\t\\tbox-sizing: border-box;\\n\\t\\t\\tmargin: ($header-size - $clickable-area) / 2;\\n\\t\\t\\t// not using $icon-margin since we have a custom font size\\n\\t\\t\\t// and alignement seems odd\\n\\t\\t\\tpadding: 10px 11px;\\n\\t\\t\\tcolor: #fff;\\n\\t\\t\\tbackground-image: none;\\n\\t\\t\\tfont-size: 23px;\\n\\n\\t\\t\\t@include iconfont('close');\\n\\t\\t}\\n\\n\\t\\t.play-pause {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\twidth: $header-size;\\n\\t\\t\\theight: $header-size;\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\tcolor: white;\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\tfont-size: 22px;\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus {\\n\\t\\t\\t\\t.icon-play,\\n\\t\\t\\t\\t.icon-pause {\\n\\t\\t\\t\\t\\topacity: 1;\\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.icon-play,\\n\\t\\t\\t.icon-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-size - $clickable-area) / 2;\\n\\t\\t\\t\\topacity: .7;\\n\\t\\t\\t\\tbackground-image: none;\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t}\\n\\t\\t\\t.icon-play {\\n\\t\\t\\t\\t// better visual\\n\\t\\t\\t\\tpadding: 11px 13px;\\n\\t\\t\\t\\t@include iconfont('play');\\n\\t\\t\\t}\\n\\t\\t\\t.icon-pause {\\n\\t\\t\\t\\tpadding: 12px;\\n\\t\\t\\t\\t// ! align with circle\\n\\t\\t\\t\\tfont-size: 19.5px;\\n\\t\\t\\t\\t@include iconfont('pause');\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.header-actions {\\n\\t\\t\\tmargin: ($header-size - $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 .action-item__menutoggle {\\n\\t\\t\\tpadding: 13px 11px;\\n\\t\\t\\t// force white instead of default main text\\n\\t\\t\\tcolor: #fff;\\n\\t\\t\\t// 22px is a somehow better looking for the icon-more icon\\n\\t\\t\\tfont-size: 22px;\\n\\t\\t}\\n\\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: 15%;\\n\\t\\tmin-width: 60px;\\n\\t\\theight: 100%;\\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\\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\\tpadding: 12px 11px;\\n\\t\\tcolor: white;\\n\\t\\tborder-radius: $clickable-area / 2;\\n\\t\\tbackground-image: none;\\n\\t\\tfont-size: 24px;\\n\\t}\\n\\t.icon-previous {\\n\\t\\t@include iconfont('arrow-left');\\n\\t}\\n\\t.icon-next {\\n\\t\\t@include iconfont('arrow-right');\\n\\t}\\n\\n\\t/* Content */\\n\\t.modal-container {\\n\\t\\tdisplay: block;\\n\\t\\toverflow: hidden;\\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\\t&:not(&--large):not(&--full) .modal-container {\\n\\t\\tmax-width: 900px;\\n\\t\\tmax-height: 80%;\\n\\t}\\n\\n\\t// Sizing\\n\\t&--full {\\n\\t\\t.modal-container {\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t\\tmax-height: 100%;\\n\\t\\t\\tborder-radius: 0;\\n\\t\\t}\\n\\t}\\n\\t&--full,\\n\\t&--spread-navigation {\\n\\t\\t.prev,\\n\\t\\t.next {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\twidth: 10%;\\n\\t\\t}\\n\\t\\t.prev {\\n\\t\\t\\tleft: 0;\\n\\t\\t}\\n\\t\\t.next {\\n\\t\\t\\tright: 0;\\n\\t\\t}\\n\\t}\\n\\t&--large {\\n\\t\\t.modal-container {\\n\\t\\t\\tmax-width: 85%;\\n\\t\\t\\tmax-height: 90%;\\n\\t\\t}\\n\\t\\t.prev,\\n\\t\\t.next {\\n\\t\\t\\twidth: 10%;\\n\\t\\t\\tmin-width: $clickable-area;\\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 {\\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 3s 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(0.4, 0, 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æ \\n *\\n * @author John Molakvoæ \\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 .\\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:\"\"}]),n.a=g},function(t,n){},,,,,,,,,function(t,n,e){\"use strict\";e.r(n);var A=e(83),o=(e(31),e(109)),i=e.n(o),a=e(73),r=e(110),s=e(61),c=e(12),l=e(21);\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \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 .\n *\n */\nfunction d(t,n){var e,A,o,i=n;this.start=function(){o=!0,A=new Date,e=setTimeout(t,i)},this.pause=function(){o=!1,clearTimeout(e),i-=new Date-A},this.clear=function(){o=!1,clearTimeout(e),i=0},this.getTimeLeft=function(){return o&&(this.pause(),this.start()),i},this.getStateRunning=function(){return o},this.start()}var u={name:\"Modal\",components:{Actions:a.default,ActionButton:r.default},directives:{tooltip:l.default},mixins:[s.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:3e3},slideshowPaused:{type:Boolean,default:!1},enableSwipe:{type:Boolean,default:!0},spreadNavigation:{type:Boolean,default:!1},size:{type:String,default:\"normal\",validator:function(t){return-1!==[\"normal\",\"large\",\"full\"].indexOf(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}},computed:{modalTransitionName:function(){return\"modal-\".concat(this.outTransition?\"out\":\"in\")},playPauseTitle:function(){return this.playing?Object(c.b)(\"Pause slideshow\"):Object(c.b)(\"Start slideshow\")}},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(n){t.handleSwipe(n)})),\"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 n=this;this.canClose&&(this.showModal=!1,setTimeout((function(){n.$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 d((function(){t.next(),t.handleSlideshow()}),this.slideshowDelay):(this.playing=!1,this.clearSlideshowTimeout())},clearSlideshowTimeout:function(){this.slideshowTimeout&&this.slideshowTimeout.clear()}}},g=e(2),m=e.n(g),p=e(119),C={insert:\"head\",singleton:!1},f=(m()(p.a,C),p.a.locals,e(3)),h=e(120),b=e.n(h),v=Object(f.a)(u,(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e(\"transition\",{attrs:{name:\"fade\"}},[e(\"div\",{ref:\"mask\",staticClass:\"modal-mask\",class:{\"modal-mask--dark\":t.dark},on:{click:t.handleMouseMove,mousemove:t.handleMouseMove,touchmove:t.handleMouseMove}},[e(\"transition\",{attrs:{name:\"fade-visibility\"}},[e(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:!t.clearView,expression:\"!clearView\"}],staticClass:\"modal-header\",class:{invisible:t.clearView}},[\"\"!==t.title.trim()?e(\"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(\" \"),e(\"div\",{staticClass:\"icons-menu\"},[t.hasNext&&t.enableSlideshow?e(\"button\",{directives:[{name:\"tooltip\",rawName:\"v-tooltip.auto\",value:t.playPauseTitle,expression:\"playPauseTitle\",modifiers:{auto:!0}}],staticClass:\"play-pause\",class:{\"play-pause--paused\":t.slideshowPaused},on:{click:t.togglePlayPause}},[e(\"div\",{class:[t.playing?\"icon-pause\":\"icon-play\"]},[e(\"span\",{staticClass:\"hidden-visually\"},[t._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\"+t._s(t.playPauseTitle)+\"\\n\\t\\t\\t\\t\\t\\t\\t\")])]),t._v(\" \"),t.playing?e(\"svg\",{staticClass:\"progress-ring\",attrs:{height:\"50\",width:\"50\"}},[e(\"circle\",{staticClass:\"progress-ring__circle\",attrs:{stroke:\"white\",\"stroke-width\":\"2\",fill:\"transparent\",r:\"15\",cx:\"25\",cy:\"25\"}})]):t._e()]):t._e(),t._v(\" \"),e(\"Actions\",{staticClass:\"header-actions\"},[t._t(\"actions\")],2),t._v(\" \"),t.canClose?e(\"Actions\",{staticClass:\"header-close\"},[e(\"ActionButton\",{attrs:{icon:\"icon-close\"},on:{click:t.close}},[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(\" \"),e(\"transition\",{attrs:{name:t.modalTransitionName}},[e(\"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(n){return n.target!==n.currentTarget?null:t.close(n)}}},[e(\"transition\",{attrs:{name:\"fade-visibility\"}},[e(\"a\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.hasPrevious&&!t.clearView,expression:\"hasPrevious && !clearView\"}],staticClass:\"prev\",class:{invisible:t.clearView||!t.hasPrevious},on:{click:t.previous}},[e(\"div\",{staticClass:\"icon icon-previous\"},[e(\"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\")])])])]),t._v(\" \"),e(\"div\",{staticClass:\"modal-container\"},[t._t(\"default\")],2),t._v(\" \"),e(\"transition\",{attrs:{name:\"fade-visibility\"}},[e(\"a\",{directives:[{name:\"show\",rawName:\"v-show\",value:t.hasNext&&!t.clearView,expression:\"hasNext && !clearView\"}],staticClass:\"next\",class:{invisible:t.clearView||!t.hasNext},on:{click:t.next}},[e(\"div\",{staticClass:\"icon icon-next\"},[e(\"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,null,\"3e0b109b\",null);\"function\"==typeof b.a&&b()(v);var y=v.exports;\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \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 .\n *\n */Object(A.a)(y);n.default=y}])}));\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');\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\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(resolve, reject, 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 = 'timeout of ' + config.timeout + 'ms exceeded';\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(createError(\n timeoutErrorMessage,\n config,\n config.transitional && config.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) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\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 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// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(mergeConfig(axios.defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\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 this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\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 * 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, '1.0.0'),\n forcedJSONParsing: validators.transitional(validators.boolean, '1.0.0'),\n clarifyTimeoutError: validators.transitional(validators.boolean, '1.0.0')\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');\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\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 };\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 var valueFromConfig2Keys = ['url', 'method', 'data'];\n var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy', 'params'];\n var defaultToConfig2Keys = [\n 'baseURL', 'transformRequest', 'transformResponse', 'paramsSerializer',\n 'timeout', 'timeoutMessage', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',\n 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', 'decompress',\n 'maxContentLength', 'maxBodyLength', 'maxRedirects', 'transport', 'httpAgent',\n 'httpsAgent', 'cancelToken', 'socketPath', 'responseEncoding'\n ];\n var directMergeKeys = ['validateStatus'];\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 function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n }\n\n utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n }\n });\n\n utils.forEach(mergeDeepPropertiesKeys, mergeDeepProperties);\n\n utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n config[prop] = getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n utils.forEach(directMergeKeys, function merge(prop) {\n if (prop in config2) {\n config[prop] = getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n config[prop] = getMergedValue(undefined, config1[prop]);\n }\n });\n\n var axiosKeys = valueFromConfig2Keys\n .concat(mergeDeepPropertiesKeys)\n .concat(defaultToConfig2Keys)\n .concat(directMergeKeys);\n\n var otherKeys = Object\n .keys(config1)\n .concat(Object.keys(config2))\n .filter(function filterAxiosKeys(key) {\n return axiosKeys.indexOf(key) === -1;\n });\n\n utils.forEach(otherKeys, mergeDeepProperties);\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;\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\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\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","'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 \"://\" 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 pkg = require('./../../package.json');\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 = {};\nvar currentVerArr = pkg.version.split('.');\n\n/**\n * Compare package versions\n * @param {string} version\n * @param {string?} thanVersion\n * @returns {boolean}\n */\nfunction isOlderVersion(version, thanVersion) {\n var pkgVersionArr = thanVersion ? thanVersion.split('.') : currentVerArr;\n var destVer = version.split('.');\n for (var i = 0; i < 3; i++) {\n if (pkgVersionArr[i] > destVer[i]) {\n return true;\n } else if (pkgVersionArr[i] < destVer[i]) {\n return false;\n }\n }\n return false;\n}\n\n/**\n * Transitional option validator\n * @param {function|boolean?} validator\n * @param {string?} version\n * @param {string} message\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n var isDeprecated = version && isOlderVersion(version);\n\n function formatMessage(opt, desc) {\n return '[Axios v' + pkg.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 in ' + version));\n }\n\n if (isDeprecated && !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 isOlderVersion: isOlderVersion,\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","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\n// `Array.from` method implementation\n// https://tc39.github.io/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = iteratorMethod.call(O);\n next = iterator.next;\n result = new C();\n for (;!(step = next.call(iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = toLength(O.length);\n result = new C(length);\n for (;length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\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 path = require('../internals/path');\nvar has = require('../internals/has');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\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, '$
') !== '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 anObject = require('../internals/an-object');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nmodule.exports = function (it) {\n var iteratorMethod = getIteratorMethod(it);\n if (typeof iteratorMethod != 'function') {\n throw TypeError(String(it) + ' is not iterable');\n } return anObject(iteratorMethod.call(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 fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = !fails(function () {\n var url = new URL('b?a=1&b=2&c=3', 'http://a');\n var searchParams = url.searchParams;\n var result = '';\n url.pathname = 'c%20d';\n searchParams.forEach(function (value, key) {\n searchParams['delete']('b');\n result += key + value;\n });\n return (IS_PURE && !url.toJSON)\n || !searchParams.sort\n || url.href !== 'http://a/c%20d?a=1&c=3'\n || searchParams.get('c') !== '3'\n || String(new URLSearchParams('?a=1')) !== 'a=1'\n || !searchParams[ITERATOR]\n // throws in Edge\n || new URL('https://a@b').username !== 'a'\n || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b'\n // not punycoded in Edge\n || new URL('http://тест').host !== 'xn--e1aybc'\n // not escaped in Chrome 62-\n || new URL('http://a#б').hash !== '#%D0%B1'\n // fails in Chrome 66-\n || result !== 'a1c3'\n // throws in Safari\n || new URL('http://x', undefined).host !== 'x';\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 toIndexedObject = require('../internals/to-indexed-object');\nvar nativeGetOwnPropertyNames = require('../internals/object-get-own-property-names').f;\n\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return nativeGetOwnPropertyNames(it);\n } catch (error) {\n return windowNames.slice();\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]'\n ? getWindowNames(it)\n : nativeGetOwnPropertyNames(toIndexedObject(it));\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","'use strict';\n// based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js\nvar maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\nvar base = 36;\nvar tMin = 1;\nvar tMax = 26;\nvar skew = 38;\nvar damp = 700;\nvar initialBias = 72;\nvar initialN = 128; // 0x80\nvar delimiter = '-'; // '\\x2D'\nvar regexNonASCII = /[^\\0-\\u007E]/; // non-ASCII chars\nvar regexSeparators = /[.\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\nvar OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';\nvar baseMinusTMin = base - tMin;\nvar floor = Math.floor;\nvar stringFromCharCode = String.fromCharCode;\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n */\nvar ucs2decode = function (string) {\n var output = [];\n var counter = 0;\n var length = string.length;\n while (counter < length) {\n var value = string.charCodeAt(counter++);\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n // It's a high surrogate, and there is a next character.\n var extra = string.charCodeAt(counter++);\n if ((extra & 0xFC00) == 0xDC00) { // Low surrogate.\n output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n // It's an unmatched surrogate; only append this code unit, in case the\n // next code unit is the high surrogate of a surrogate pair.\n output.push(value);\n counter--;\n }\n } else {\n output.push(value);\n }\n }\n return output;\n};\n\n/**\n * Converts a digit/integer into a basic code point.\n */\nvar digitToBasic = function (digit) {\n // 0..25 map to ASCII a..z or A..Z\n // 26..35 map to ASCII 0..9\n return digit + 22 + 75 * (digit < 26);\n};\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n */\nvar adapt = function (delta, numPoints, firstTime) {\n var k = 0;\n delta = firstTime ? floor(delta / damp) : delta >> 1;\n delta += floor(delta / numPoints);\n for (; delta > baseMinusTMin * tMax >> 1; k += base) {\n delta = floor(delta / baseMinusTMin);\n }\n return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n */\n// eslint-disable-next-line max-statements\nvar encode = function (input) {\n var output = [];\n\n // Convert the input in UCS-2 to an array of Unicode code points.\n input = ucs2decode(input);\n\n // Cache the length.\n var inputLength = input.length;\n\n // Initialize the state.\n var n = initialN;\n var delta = 0;\n var bias = initialBias;\n var i, currentValue;\n\n // Handle the basic code points.\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < 0x80) {\n output.push(stringFromCharCode(currentValue));\n }\n }\n\n var basicLength = output.length; // number of basic code points.\n var handledCPCount = basicLength; // number of code points that have been handled;\n\n // Finish the basic string with a delimiter unless it's empty.\n if (basicLength) {\n output.push(delimiter);\n }\n\n // Main encoding loop:\n while (handledCPCount < inputLength) {\n // All non-basic code points < n have been handled already. Find the next larger one:\n var m = maxInt;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue >= n && currentValue < m) {\n m = currentValue;\n }\n }\n\n // Increase `delta` enough to advance the decoder's state to , but guard against overflow.\n var handledCPCountPlusOne = handledCPCount + 1;\n if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n throw RangeError(OVERFLOW_ERROR);\n }\n\n delta += (m - n) * handledCPCountPlusOne;\n n = m;\n\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < n && ++delta > maxInt) {\n throw RangeError(OVERFLOW_ERROR);\n }\n if (currentValue == n) {\n // Represent delta as a generalized variable-length integer.\n var q = delta;\n for (var k = base; /* no condition */; k += base) {\n var t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n if (q < t) break;\n var qMinusT = q - t;\n var baseMinusT = base - t;\n output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT)));\n q = floor(qMinusT / baseMinusT);\n }\n\n output.push(stringFromCharCode(digitToBasic(q)));\n bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n delta = 0;\n ++handledCPCount;\n }\n }\n\n ++delta;\n ++n;\n }\n return output.join('');\n};\n\nmodule.exports = function (input) {\n var encoded = [];\n var labels = input.toLowerCase().replace(regexSeparators, '\\u002E').split('.');\n var i, label;\n for (i = 0; i < labels.length; i++) {\n label = labels[i];\n encoded.push(regexNonASCII.test(label) ? 'xn--' + encode(label) : label);\n }\n return encoded.join('.');\n};\n","var fails = require('../internals/fails');\nvar whitespaces = require('../internals/whitespaces');\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;\n });\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\nvar whitespaces = require('../internals/whitespaces');\n\nvar whitespace = '[' + whitespaces + ']';\nvar ltrim = RegExp('^' + whitespace + whitespace + '*');\nvar rtrim = RegExp(whitespace + whitespace + '*$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = String(requireObjectCoercible($this));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.github.io/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.github.io/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\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 wellKnownSymbol = require('../internals/well-known-symbol');\n\nexports.f = wellKnownSymbol;\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","// a string of all valid unicode whitespaces\n// eslint-disable-next-line max-len\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\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","var $ = require('../internals/export');\nvar from = require('../internals/array-from');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\n\nvar INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {\n Array.from(iterable);\n});\n\n// `Array.from` method\n// https://tc39.github.io/ecma262/#sec-array.from\n$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {\n from: from\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 $ = require('../internals/export');\nvar isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('slice', { ACCESSORS: true, 0: 0, 1: 2 });\n\nvar SPECIES = wellKnownSymbol('species');\nvar nativeSlice = [].slice;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n slice: function slice(start, end) {\n var O = toIndexedObject(this);\n var length = toLength(O.length);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === Array || Constructor === undefined) {\n return nativeSlice.call(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toInteger = require('../internals/to-integer');\nvar toLength = require('../internals/to-length');\nvar toObject = require('../internals/to-object');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar createProperty = require('../internals/create-property');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('splice', { ACCESSORS: true, 0: 0, 1: 2 });\n\nvar max = Math.max;\nvar min = Math.min;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_LENGTH_EXCEEDED = 'Maximum allowed length exceeded';\n\n// `Array.prototype.splice` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.splice\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n splice: function splice(start, deleteCount /* , ...items */) {\n var O = toObject(this);\n var len = toLength(O.length);\n var actualStart = toAbsoluteIndex(start, len);\n var argumentsLength = arguments.length;\n var insertCount, actualDeleteCount, A, k, from, to;\n if (argumentsLength === 0) {\n insertCount = actualDeleteCount = 0;\n } else if (argumentsLength === 1) {\n insertCount = 0;\n actualDeleteCount = len - actualStart;\n } else {\n insertCount = argumentsLength - 2;\n actualDeleteCount = min(max(toInteger(deleteCount), 0), len - actualStart);\n }\n if (len + insertCount - actualDeleteCount > MAX_SAFE_INTEGER) {\n throw TypeError(MAXIMUM_ALLOWED_LENGTH_EXCEEDED);\n }\n A = arraySpeciesCreate(O, actualDeleteCount);\n for (k = 0; k < actualDeleteCount; k++) {\n from = actualStart + k;\n if (from in O) createProperty(A, k, O[from]);\n }\n A.length = actualDeleteCount;\n if (insertCount < actualDeleteCount) {\n for (k = actualStart; k < len - actualDeleteCount; k++) {\n from = k + actualDeleteCount;\n to = k + insertCount;\n if (from in O) O[to] = O[from];\n else delete O[to];\n }\n for (k = len; k > len - actualDeleteCount + insertCount; k--) delete O[k - 1];\n } else if (insertCount > actualDeleteCount) {\n for (k = len - actualDeleteCount; k > actualStart; k--) {\n from = k + actualDeleteCount - 1;\n to = k + insertCount - 1;\n if (from in O) O[to] = O[from];\n else delete O[to];\n }\n }\n for (k = 0; k < insertCount; k++) {\n O[k + actualStart] = arguments[k + 2];\n }\n O.length = len - actualDeleteCount + insertCount;\n return A;\n }\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar FunctionPrototype = Function.prototype;\nvar FunctionPrototypeToString = FunctionPrototype.toString;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// Function instances `.name` property\n// https://tc39.github.io/ecma262/#sec-function-instances-name\nif (DESCRIPTORS && !(NAME in FunctionPrototype)) {\n defineProperty(FunctionPrototype, NAME, {\n configurable: true,\n get: function () {\n try {\n return FunctionPrototypeToString.call(this).match(nameRE)[1];\n } catch (error) {\n return '';\n }\n }\n });\n}\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","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar has = require('../internals/has');\nvar classof = require('../internals/classof-raw');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar toPrimitive = require('../internals/to-primitive');\nvar fails = require('../internals/fails');\nvar create = require('../internals/object-create');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar trim = require('../internals/string-trim').trim;\n\nvar NUMBER = 'Number';\nvar NativeNumber = global[NUMBER];\nvar NumberPrototype = NativeNumber.prototype;\n\n// Opera ~12 has broken Object#toString\nvar BROKEN_CLASSOF = classof(create(NumberPrototype)) == NUMBER;\n\n// `ToNumber` abstract operation\n// https://tc39.github.io/ecma262/#sec-tonumber\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n var first, third, radix, maxCode, digits, length, index, code;\n if (typeof it == 'string' && it.length > 2) {\n it = trim(it);\n first = it.charCodeAt(0);\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i\n default: return +it;\n }\n digits = it.slice(2);\n length = digits.length;\n for (index = 0; index < length; index++) {\n code = digits.charCodeAt(index);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\n// `Number` constructor\n// https://tc39.github.io/ecma262/#sec-number-constructor\nif (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) {\n var NumberWrapper = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var dummy = this;\n return dummy instanceof NumberWrapper\n // check on 1..constructor(foo) case\n && (BROKEN_CLASSOF ? fails(function () { NumberPrototype.valueOf.call(dummy); }) : classof(dummy) != NUMBER)\n ? inheritIfRequired(new NativeNumber(toNumber(it)), dummy, NumberWrapper) : toNumber(it);\n };\n for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES2015 (in case, if modules with ES2015 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(NativeNumber, key = keys[j]) && !has(NumberWrapper, key)) {\n defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key));\n }\n }\n NumberWrapper.prototype = NumberPrototype;\n NumberPrototype.constructor = NumberWrapper;\n redefine(global, NUMBER, NumberWrapper);\n}\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 $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar nativeGetOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeGetOwnPropertyDescriptor(1); });\nvar FORCED = !DESCRIPTORS || FAILS_ON_PRIMITIVES;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\n$({ target: 'Object', stat: true, forced: FORCED, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) {\n return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key);\n }\n});\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar ownKeys = require('../internals/own-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar createProperty = require('../internals/create-property');\n\n// `Object.getOwnPropertyDescriptors` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors\n$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {\n var O = toIndexedObject(object);\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n var keys = ownKeys(O);\n var result = {};\n var index = 0;\n var key, descriptor;\n while (keys.length > index) {\n descriptor = getOwnPropertyDescriptor(O, key = keys[index++]);\n if (descriptor !== undefined) createProperty(result, key, descriptor);\n }\n return result;\n }\n});\n","var $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar nativeKeys = require('../internals/object-keys');\nvar fails = require('../internals/fails');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n keys: function keys(it) {\n return nativeKeys(toObject(it));\n }\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","'use strict';\nvar $ = require('../internals/export');\nvar $trim = require('../internals/string-trim').trim;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\n// `String.prototype.trim` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.trim\n$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {\n trim: function trim() {\n return $trim(this);\n }\n});\n","// `Symbol.prototype.description` getter\n// https://tc39.github.io/ecma262/#sec-symbol.prototype.description\n'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar has = require('../internals/has');\nvar isObject = require('../internals/is-object');\nvar defineProperty = require('../internals/object-define-property').f;\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\n\nvar NativeSymbol = global.Symbol;\n\nif (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) ||\n // Safari 12 bug\n NativeSymbol().description !== undefined\n)) {\n var EmptyStringDescriptionStore = {};\n // wrap Symbol constructor for correct work with undefined description\n var SymbolWrapper = function Symbol() {\n var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);\n var result = this instanceof SymbolWrapper\n ? new NativeSymbol(description)\n // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)'\n : description === undefined ? NativeSymbol() : NativeSymbol(description);\n if (description === '') EmptyStringDescriptionStore[result] = true;\n return result;\n };\n copyConstructorProperties(SymbolWrapper, NativeSymbol);\n var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;\n symbolPrototype.constructor = SymbolWrapper;\n\n var symbolToString = symbolPrototype.toString;\n var native = String(NativeSymbol('test')) == 'Symbol(test)';\n var regexp = /^Symbol\\((.*)\\)[^)]+$/;\n defineProperty(symbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n var symbol = isObject(this) ? this.valueOf() : this;\n var string = symbolToString.call(symbol);\n if (has(EmptyStringDescriptionStore, symbol)) return '';\n var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1');\n return desc === '' ? undefined : desc;\n }\n });\n\n $({ global: true, forced: true }, {\n Symbol: SymbolWrapper\n });\n}\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.iterator` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.iterator\ndefineWellKnownSymbol('iterator');\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar nativeObjectCreate = require('../internals/object-create');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar shared = require('../internals/shared');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar uid = require('../internals/uid');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineWellKnownSymbol = require('../internals/define-well-known-symbol');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = global.Symbol;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\nvar WellKnownSymbolsStore = shared('wks');\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n} : nativeDefineProperty;\n\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS) symbol.description = description;\n return symbol;\n};\n\nvar isSymbol = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return Object(it) instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPrimitive(P, true);\n anObject(Attributes);\n if (has(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!has(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));\n O[HIDDEN][key] = true;\n } else {\n if (has(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n } return setSymbolDescriptor(O, key, Attributes);\n } return nativeDefineProperty(O, key, Attributes);\n};\n\nvar $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key)) $defineProperty(O, key, properties[key]);\n });\n return O;\n};\n\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPrimitive(V, true);\n var enumerable = nativePropertyIsEnumerable.call(this, P);\n if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P)) return false;\n return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPrimitive(P, true);\n if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n return descriptor;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (!has(AllSymbols, key) && !has(hiddenKeys, key)) result.push(key);\n });\n return result;\n};\n\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {\n result.push(AllSymbols[key]);\n }\n });\n return result;\n};\n\n// `Symbol` constructor\n// https://tc39.github.io/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n if (this === ObjectPrototype) setter.call(ObjectPrototypeSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));\n };\n if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });\n return wrap(tag, description);\n };\n\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return getInternalState(this).tag;\n });\n\n redefine($Symbol, 'withoutSetter', function (description) {\n return wrap(uid(description), description);\n });\n\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n\n if (DESCRIPTORS) {\n // https://github.com/tc39/proposal-Symbol-description\n nativeDefineProperty($Symbol[PROTOTYPE], 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n}\n\n$({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {\n Symbol: $Symbol\n});\n\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n\n$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {\n // `Symbol.for` method\n // https://tc39.github.io/ecma262/#sec-symbol.for\n 'for': function (key) {\n var string = String(key);\n if (has(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];\n var symbol = $Symbol(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n },\n // `Symbol.keyFor` method\n // https://tc39.github.io/ecma262/#sec-symbol.keyfor\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');\n if (has(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];\n },\n useSetter: function () { USE_SETTER = true; },\n useSimple: function () { USE_SETTER = false; }\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {\n // `Object.create` method\n // https://tc39.github.io/ecma262/#sec-object.create\n create: $create,\n // `Object.defineProperty` method\n // https://tc39.github.io/ecma262/#sec-object.defineproperty\n defineProperty: $defineProperty,\n // `Object.defineProperties` method\n // https://tc39.github.io/ecma262/#sec-object.defineproperties\n defineProperties: $defineProperties,\n // `Object.getOwnPropertyDescriptor` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {\n // `Object.getOwnPropertyNames` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertynames\n getOwnPropertyNames: $getOwnPropertyNames,\n // `Object.getOwnPropertySymbols` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertysymbols\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\n$({ target: 'Object', stat: true, forced: fails(function () { getOwnPropertySymbolsModule.f(1); }) }, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return getOwnPropertySymbolsModule.f(toObject(it));\n }\n});\n\n// `JSON.stringify` method behavior with symbols\n// https://tc39.github.io/ecma262/#sec-json.stringify\nif ($stringify) {\n var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () {\n var symbol = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n return $stringify([symbol]) != '[null]'\n // WebKit converts symbol values to JSON as null\n || $stringify({ a: symbol }) != '{}'\n // V8 throws on boxed symbols\n || $stringify(Object(symbol)) != '{}';\n });\n\n $({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, {\n // eslint-disable-next-line no-unused-vars\n stringify: function stringify(it, replacer, space) {\n var args = [it];\n var index = 1;\n var $replacer;\n while (arguments.length > index) args.push(arguments[index++]);\n $replacer = replacer;\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return $stringify.apply(null, args);\n }\n });\n}\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@toprimitive\nif (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) {\n createNonEnumerableProperty($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n}\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\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","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.array.iterator');\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar InternalStateModule = require('../internals/internal-state');\nvar anInstance = require('../internals/an-instance');\nvar hasOwn = require('../internals/has');\nvar bind = require('../internals/function-bind-context');\nvar classof = require('../internals/classof');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $fetch = getBuiltIn('fetch');\nvar Headers = getBuiltIn('Headers');\nvar ITERATOR = wellKnownSymbol('iterator');\nvar URL_SEARCH_PARAMS = 'URLSearchParams';\nvar URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);\nvar getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);\n\nvar plus = /\\+/g;\nvar sequences = Array(4);\n\nvar percentSequence = function (bytes) {\n return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\\\da-f]{2}){' + bytes + '})', 'gi'));\n};\n\nvar percentDecode = function (sequence) {\n try {\n return decodeURIComponent(sequence);\n } catch (error) {\n return sequence;\n }\n};\n\nvar deserialize = function (it) {\n var result = it.replace(plus, ' ');\n var bytes = 4;\n try {\n return decodeURIComponent(result);\n } catch (error) {\n while (bytes) {\n result = result.replace(percentSequence(bytes--), percentDecode);\n }\n return result;\n }\n};\n\nvar find = /[!'()~]|%20/g;\n\nvar replace = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+'\n};\n\nvar replacer = function (match) {\n return replace[match];\n};\n\nvar serialize = function (it) {\n return encodeURIComponent(it).replace(find, replacer);\n};\n\nvar parseSearchParams = function (result, query) {\n if (query) {\n var attributes = query.split('&');\n var index = 0;\n var attribute, entry;\n while (index < attributes.length) {\n attribute = attributes[index++];\n if (attribute.length) {\n entry = attribute.split('=');\n result.push({\n key: deserialize(entry.shift()),\n value: deserialize(entry.join('='))\n });\n }\n }\n }\n};\n\nvar updateSearchParams = function (query) {\n this.entries.length = 0;\n parseSearchParams(this.entries, query);\n};\n\nvar validateArgumentsLength = function (passed, required) {\n if (passed < required) throw TypeError('Not enough arguments');\n};\n\nvar URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {\n setInternalState(this, {\n type: URL_SEARCH_PARAMS_ITERATOR,\n iterator: getIterator(getInternalParamsState(params).entries),\n kind: kind\n });\n}, 'Iterator', function next() {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var step = state.iterator.next();\n var entry = step.value;\n if (!step.done) {\n step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [entry.key, entry.value];\n } return step;\n});\n\n// `URLSearchParams` constructor\n// https://url.spec.whatwg.org/#interface-urlsearchparams\nvar URLSearchParamsConstructor = function URLSearchParams(/* init */) {\n anInstance(this, URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n var init = arguments.length > 0 ? arguments[0] : undefined;\n var that = this;\n var entries = [];\n var iteratorMethod, iterator, next, step, entryIterator, entryNext, first, second, key;\n\n setInternalState(that, {\n type: URL_SEARCH_PARAMS,\n entries: entries,\n updateURL: function () { /* empty */ },\n updateSearchParams: updateSearchParams\n });\n\n if (init !== undefined) {\n if (isObject(init)) {\n iteratorMethod = getIteratorMethod(init);\n if (typeof iteratorMethod === 'function') {\n iterator = iteratorMethod.call(init);\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n entryIterator = getIterator(anObject(step.value));\n entryNext = entryIterator.next;\n if (\n (first = entryNext.call(entryIterator)).done ||\n (second = entryNext.call(entryIterator)).done ||\n !entryNext.call(entryIterator).done\n ) throw TypeError('Expected sequence with length 2');\n entries.push({ key: first.value + '', value: second.value + '' });\n }\n } else for (key in init) if (hasOwn(init, key)) entries.push({ key: key, value: init[key] + '' });\n } else {\n parseSearchParams(entries, typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : init + '');\n }\n }\n};\n\nvar URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;\n\nredefineAll(URLSearchParamsPrototype, {\n // `URLSearchParams.prototype.appent` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-append\n append: function append(name, value) {\n validateArgumentsLength(arguments.length, 2);\n var state = getInternalParamsState(this);\n state.entries.push({ key: name + '', value: value + '' });\n state.updateURL();\n },\n // `URLSearchParams.prototype.delete` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-delete\n 'delete': function (name) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var key = name + '';\n var index = 0;\n while (index < entries.length) {\n if (entries[index].key === key) entries.splice(index, 1);\n else index++;\n }\n state.updateURL();\n },\n // `URLSearchParams.prototype.get` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-get\n get: function get(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) return entries[index].value;\n }\n return null;\n },\n // `URLSearchParams.prototype.getAll` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-getall\n getAll: function getAll(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var result = [];\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) result.push(entries[index].value);\n }\n return result;\n },\n // `URLSearchParams.prototype.has` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-has\n has: function has(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = name + '';\n var index = 0;\n while (index < entries.length) {\n if (entries[index++].key === key) return true;\n }\n return false;\n },\n // `URLSearchParams.prototype.set` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-set\n set: function set(name, value) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var found = false;\n var key = name + '';\n var val = value + '';\n var index = 0;\n var entry;\n for (; index < entries.length; index++) {\n entry = entries[index];\n if (entry.key === key) {\n if (found) entries.splice(index--, 1);\n else {\n found = true;\n entry.value = val;\n }\n }\n }\n if (!found) entries.push({ key: key, value: val });\n state.updateURL();\n },\n // `URLSearchParams.prototype.sort` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-sort\n sort: function sort() {\n var state = getInternalParamsState(this);\n var entries = state.entries;\n // Array#sort is not stable in some engines\n var slice = entries.slice();\n var entry, entriesIndex, sliceIndex;\n entries.length = 0;\n for (sliceIndex = 0; sliceIndex < slice.length; sliceIndex++) {\n entry = slice[sliceIndex];\n for (entriesIndex = 0; entriesIndex < sliceIndex; entriesIndex++) {\n if (entries[entriesIndex].key > entry.key) {\n entries.splice(entriesIndex, 0, entry);\n break;\n }\n }\n if (entriesIndex === sliceIndex) entries.push(entry);\n }\n state.updateURL();\n },\n // `URLSearchParams.prototype.forEach` method\n forEach: function forEach(callback /* , thisArg */) {\n var entries = getInternalParamsState(this).entries;\n var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined, 3);\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n boundFunction(entry.value, entry.key, this);\n }\n },\n // `URLSearchParams.prototype.keys` method\n keys: function keys() {\n return new URLSearchParamsIterator(this, 'keys');\n },\n // `URLSearchParams.prototype.values` method\n values: function values() {\n return new URLSearchParamsIterator(this, 'values');\n },\n // `URLSearchParams.prototype.entries` method\n entries: function entries() {\n return new URLSearchParamsIterator(this, 'entries');\n }\n}, { enumerable: true });\n\n// `URLSearchParams.prototype[@@iterator]` method\nredefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries);\n\n// `URLSearchParams.prototype.toString` method\n// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior\nredefine(URLSearchParamsPrototype, 'toString', function toString() {\n var entries = getInternalParamsState(this).entries;\n var result = [];\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n result.push(serialize(entry.key) + '=' + serialize(entry.value));\n } return result.join('&');\n}, { enumerable: true });\n\nsetToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n\n$({ global: true, forced: !USE_NATIVE_URL }, {\n URLSearchParams: URLSearchParamsConstructor\n});\n\n// Wrap `fetch` for correct work with polyfilled `URLSearchParams`\n// https://github.com/zloirock/core-js/issues/674\nif (!USE_NATIVE_URL && typeof $fetch == 'function' && typeof Headers == 'function') {\n $({ global: true, enumerable: true, forced: true }, {\n fetch: function fetch(input /* , init */) {\n var args = [input];\n var init, body, headers;\n if (arguments.length > 1) {\n init = arguments[1];\n if (isObject(init)) {\n body = init.body;\n if (classof(body) === URL_SEARCH_PARAMS) {\n headers = init.headers ? new Headers(init.headers) : new Headers();\n if (!headers.has('content-type')) {\n headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n init = create(init, {\n body: createPropertyDescriptor(0, String(body)),\n headers: createPropertyDescriptor(0, headers)\n });\n }\n }\n args.push(init);\n } return $fetch.apply(this, args);\n }\n });\n}\n\nmodule.exports = {\n URLSearchParams: URLSearchParamsConstructor,\n getState: getInternalParamsState\n};\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.string.iterator');\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar global = require('../internals/global');\nvar defineProperties = require('../internals/object-define-properties');\nvar redefine = require('../internals/redefine');\nvar anInstance = require('../internals/an-instance');\nvar has = require('../internals/has');\nvar assign = require('../internals/object-assign');\nvar arrayFrom = require('../internals/array-from');\nvar codeAt = require('../internals/string-multibyte').codeAt;\nvar toASCII = require('../internals/string-punycode-to-ascii');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar URLSearchParamsModule = require('../modules/web.url-search-params');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar NativeURL = global.URL;\nvar URLSearchParams = URLSearchParamsModule.URLSearchParams;\nvar getInternalSearchParamsState = URLSearchParamsModule.getState;\nvar setInternalState = InternalStateModule.set;\nvar getInternalURLState = InternalStateModule.getterFor('URL');\nvar floor = Math.floor;\nvar pow = Math.pow;\n\nvar INVALID_AUTHORITY = 'Invalid authority';\nvar INVALID_SCHEME = 'Invalid scheme';\nvar INVALID_HOST = 'Invalid host';\nvar INVALID_PORT = 'Invalid port';\n\nvar ALPHA = /[A-Za-z]/;\nvar ALPHANUMERIC = /[\\d+-.A-Za-z]/;\nvar DIGIT = /\\d/;\nvar HEX_START = /^(0x|0X)/;\nvar OCT = /^[0-7]+$/;\nvar DEC = /^\\d+$/;\nvar HEX = /^[\\dA-Fa-f]+$/;\n// eslint-disable-next-line no-control-regex\nvar FORBIDDEN_HOST_CODE_POINT = /[\\u0000\\u0009\\u000A\\u000D #%/:?@[\\\\]]/;\n// eslint-disable-next-line no-control-regex\nvar FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\\u0000\\u0009\\u000A\\u000D #/:?@[\\\\]]/;\n// eslint-disable-next-line no-control-regex\nvar LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\\u0000-\\u001F ]+|[\\u0000-\\u001F ]+$/g;\n// eslint-disable-next-line no-control-regex\nvar TAB_AND_NEW_LINE = /[\\u0009\\u000A\\u000D]/g;\nvar EOF;\n\nvar parseHost = function (url, input) {\n var result, codePoints, index;\n if (input.charAt(0) == '[') {\n if (input.charAt(input.length - 1) != ']') return INVALID_HOST;\n result = parseIPv6(input.slice(1, -1));\n if (!result) return INVALID_HOST;\n url.host = result;\n // opaque host\n } else if (!isSpecial(url)) {\n if (FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input)) return INVALID_HOST;\n result = '';\n codePoints = arrayFrom(input);\n for (index = 0; index < codePoints.length; index++) {\n result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);\n }\n url.host = result;\n } else {\n input = toASCII(input);\n if (FORBIDDEN_HOST_CODE_POINT.test(input)) return INVALID_HOST;\n result = parseIPv4(input);\n if (result === null) return INVALID_HOST;\n url.host = result;\n }\n};\n\nvar parseIPv4 = function (input) {\n var parts = input.split('.');\n var partsLength, numbers, index, part, radix, number, ipv4;\n if (parts.length && parts[parts.length - 1] == '') {\n parts.pop();\n }\n partsLength = parts.length;\n if (partsLength > 4) return input;\n numbers = [];\n for (index = 0; index < partsLength; index++) {\n part = parts[index];\n if (part == '') return input;\n radix = 10;\n if (part.length > 1 && part.charAt(0) == '0') {\n radix = HEX_START.test(part) ? 16 : 8;\n part = part.slice(radix == 8 ? 1 : 2);\n }\n if (part === '') {\n number = 0;\n } else {\n if (!(radix == 10 ? DEC : radix == 8 ? OCT : HEX).test(part)) return input;\n number = parseInt(part, radix);\n }\n numbers.push(number);\n }\n for (index = 0; index < partsLength; index++) {\n number = numbers[index];\n if (index == partsLength - 1) {\n if (number >= pow(256, 5 - partsLength)) return null;\n } else if (number > 255) return null;\n }\n ipv4 = numbers.pop();\n for (index = 0; index < numbers.length; index++) {\n ipv4 += numbers[index] * pow(256, 3 - index);\n }\n return ipv4;\n};\n\n// eslint-disable-next-line max-statements\nvar parseIPv6 = function (input) {\n var address = [0, 0, 0, 0, 0, 0, 0, 0];\n var pieceIndex = 0;\n var compress = null;\n var pointer = 0;\n var value, length, numbersSeen, ipv4Piece, number, swaps, swap;\n\n var char = function () {\n return input.charAt(pointer);\n };\n\n if (char() == ':') {\n if (input.charAt(1) != ':') return;\n pointer += 2;\n pieceIndex++;\n compress = pieceIndex;\n }\n while (char()) {\n if (pieceIndex == 8) return;\n if (char() == ':') {\n if (compress !== null) return;\n pointer++;\n pieceIndex++;\n compress = pieceIndex;\n continue;\n }\n value = length = 0;\n while (length < 4 && HEX.test(char())) {\n value = value * 16 + parseInt(char(), 16);\n pointer++;\n length++;\n }\n if (char() == '.') {\n if (length == 0) return;\n pointer -= length;\n if (pieceIndex > 6) return;\n numbersSeen = 0;\n while (char()) {\n ipv4Piece = null;\n if (numbersSeen > 0) {\n if (char() == '.' && numbersSeen < 4) pointer++;\n else return;\n }\n if (!DIGIT.test(char())) return;\n while (DIGIT.test(char())) {\n number = parseInt(char(), 10);\n if (ipv4Piece === null) ipv4Piece = number;\n else if (ipv4Piece == 0) return;\n else ipv4Piece = ipv4Piece * 10 + number;\n if (ipv4Piece > 255) return;\n pointer++;\n }\n address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;\n numbersSeen++;\n if (numbersSeen == 2 || numbersSeen == 4) pieceIndex++;\n }\n if (numbersSeen != 4) return;\n break;\n } else if (char() == ':') {\n pointer++;\n if (!char()) return;\n } else if (char()) return;\n address[pieceIndex++] = value;\n }\n if (compress !== null) {\n swaps = pieceIndex - compress;\n pieceIndex = 7;\n while (pieceIndex != 0 && swaps > 0) {\n swap = address[pieceIndex];\n address[pieceIndex--] = address[compress + swaps - 1];\n address[compress + --swaps] = swap;\n }\n } else if (pieceIndex != 8) return;\n return address;\n};\n\nvar findLongestZeroSequence = function (ipv6) {\n var maxIndex = null;\n var maxLength = 1;\n var currStart = null;\n var currLength = 0;\n var index = 0;\n for (; index < 8; index++) {\n if (ipv6[index] !== 0) {\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n currStart = null;\n currLength = 0;\n } else {\n if (currStart === null) currStart = index;\n ++currLength;\n }\n }\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n return maxIndex;\n};\n\nvar serializeHost = function (host) {\n var result, index, compress, ignore0;\n // ipv4\n if (typeof host == 'number') {\n result = [];\n for (index = 0; index < 4; index++) {\n result.unshift(host % 256);\n host = floor(host / 256);\n } return result.join('.');\n // ipv6\n } else if (typeof host == 'object') {\n result = '';\n compress = findLongestZeroSequence(host);\n for (index = 0; index < 8; index++) {\n if (ignore0 && host[index] === 0) continue;\n if (ignore0) ignore0 = false;\n if (compress === index) {\n result += index ? ':' : '::';\n ignore0 = true;\n } else {\n result += host[index].toString(16);\n if (index < 7) result += ':';\n }\n }\n return '[' + result + ']';\n } return host;\n};\n\nvar C0ControlPercentEncodeSet = {};\nvar fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {\n ' ': 1, '\"': 1, '<': 1, '>': 1, '`': 1\n});\nvar pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {\n '#': 1, '?': 1, '{': 1, '}': 1\n});\nvar userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {\n '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\\\': 1, ']': 1, '^': 1, '|': 1\n});\n\nvar percentEncode = function (char, set) {\n var code = codeAt(char, 0);\n return code > 0x20 && code < 0x7F && !has(set, char) ? char : encodeURIComponent(char);\n};\n\nvar specialSchemes = {\n ftp: 21,\n file: null,\n http: 80,\n https: 443,\n ws: 80,\n wss: 443\n};\n\nvar isSpecial = function (url) {\n return has(specialSchemes, url.scheme);\n};\n\nvar includesCredentials = function (url) {\n return url.username != '' || url.password != '';\n};\n\nvar cannotHaveUsernamePasswordPort = function (url) {\n return !url.host || url.cannotBeABaseURL || url.scheme == 'file';\n};\n\nvar isWindowsDriveLetter = function (string, normalized) {\n var second;\n return string.length == 2 && ALPHA.test(string.charAt(0))\n && ((second = string.charAt(1)) == ':' || (!normalized && second == '|'));\n};\n\nvar startsWithWindowsDriveLetter = function (string) {\n var third;\n return string.length > 1 && isWindowsDriveLetter(string.slice(0, 2)) && (\n string.length == 2 ||\n ((third = string.charAt(2)) === '/' || third === '\\\\' || third === '?' || third === '#')\n );\n};\n\nvar shortenURLsPath = function (url) {\n var path = url.path;\n var pathSize = path.length;\n if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {\n path.pop();\n }\n};\n\nvar isSingleDot = function (segment) {\n return segment === '.' || segment.toLowerCase() === '%2e';\n};\n\nvar isDoubleDot = function (segment) {\n segment = segment.toLowerCase();\n return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';\n};\n\n// States:\nvar SCHEME_START = {};\nvar SCHEME = {};\nvar NO_SCHEME = {};\nvar SPECIAL_RELATIVE_OR_AUTHORITY = {};\nvar PATH_OR_AUTHORITY = {};\nvar RELATIVE = {};\nvar RELATIVE_SLASH = {};\nvar SPECIAL_AUTHORITY_SLASHES = {};\nvar SPECIAL_AUTHORITY_IGNORE_SLASHES = {};\nvar AUTHORITY = {};\nvar HOST = {};\nvar HOSTNAME = {};\nvar PORT = {};\nvar FILE = {};\nvar FILE_SLASH = {};\nvar FILE_HOST = {};\nvar PATH_START = {};\nvar PATH = {};\nvar CANNOT_BE_A_BASE_URL_PATH = {};\nvar QUERY = {};\nvar FRAGMENT = {};\n\n// eslint-disable-next-line max-statements\nvar parseURL = function (url, input, stateOverride, base) {\n var state = stateOverride || SCHEME_START;\n var pointer = 0;\n var buffer = '';\n var seenAt = false;\n var seenBracket = false;\n var seenPasswordToken = false;\n var codePoints, char, bufferCodePoints, failure;\n\n if (!stateOverride) {\n url.scheme = '';\n url.username = '';\n url.password = '';\n url.host = null;\n url.port = null;\n url.path = [];\n url.query = null;\n url.fragment = null;\n url.cannotBeABaseURL = false;\n input = input.replace(LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');\n }\n\n input = input.replace(TAB_AND_NEW_LINE, '');\n\n codePoints = arrayFrom(input);\n\n while (pointer <= codePoints.length) {\n char = codePoints[pointer];\n switch (state) {\n case SCHEME_START:\n if (char && ALPHA.test(char)) {\n buffer += char.toLowerCase();\n state = SCHEME;\n } else if (!stateOverride) {\n state = NO_SCHEME;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case SCHEME:\n if (char && (ALPHANUMERIC.test(char) || char == '+' || char == '-' || char == '.')) {\n buffer += char.toLowerCase();\n } else if (char == ':') {\n if (stateOverride && (\n (isSpecial(url) != has(specialSchemes, buffer)) ||\n (buffer == 'file' && (includesCredentials(url) || url.port !== null)) ||\n (url.scheme == 'file' && !url.host)\n )) return;\n url.scheme = buffer;\n if (stateOverride) {\n if (isSpecial(url) && specialSchemes[url.scheme] == url.port) url.port = null;\n return;\n }\n buffer = '';\n if (url.scheme == 'file') {\n state = FILE;\n } else if (isSpecial(url) && base && base.scheme == url.scheme) {\n state = SPECIAL_RELATIVE_OR_AUTHORITY;\n } else if (isSpecial(url)) {\n state = SPECIAL_AUTHORITY_SLASHES;\n } else if (codePoints[pointer + 1] == '/') {\n state = PATH_OR_AUTHORITY;\n pointer++;\n } else {\n url.cannotBeABaseURL = true;\n url.path.push('');\n state = CANNOT_BE_A_BASE_URL_PATH;\n }\n } else if (!stateOverride) {\n buffer = '';\n state = NO_SCHEME;\n pointer = 0;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case NO_SCHEME:\n if (!base || (base.cannotBeABaseURL && char != '#')) return INVALID_SCHEME;\n if (base.cannotBeABaseURL && char == '#') {\n url.scheme = base.scheme;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n url.cannotBeABaseURL = true;\n state = FRAGMENT;\n break;\n }\n state = base.scheme == 'file' ? FILE : RELATIVE;\n continue;\n\n case SPECIAL_RELATIVE_OR_AUTHORITY:\n if (char == '/' && codePoints[pointer + 1] == '/') {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n pointer++;\n } else {\n state = RELATIVE;\n continue;\n } break;\n\n case PATH_OR_AUTHORITY:\n if (char == '/') {\n state = AUTHORITY;\n break;\n } else {\n state = PATH;\n continue;\n }\n\n case RELATIVE:\n url.scheme = base.scheme;\n if (char == EOF) {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (char == '/' || (char == '\\\\' && isSpecial(url))) {\n state = RELATIVE_SLASH;\n } else if (char == '?') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = base.path.slice();\n url.path.pop();\n state = PATH;\n continue;\n } break;\n\n case RELATIVE_SLASH:\n if (isSpecial(url) && (char == '/' || char == '\\\\')) {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n } else if (char == '/') {\n state = AUTHORITY;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n state = PATH;\n continue;\n } break;\n\n case SPECIAL_AUTHORITY_SLASHES:\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n if (char != '/' || buffer.charAt(pointer + 1) != '/') continue;\n pointer++;\n break;\n\n case SPECIAL_AUTHORITY_IGNORE_SLASHES:\n if (char != '/' && char != '\\\\') {\n state = AUTHORITY;\n continue;\n } break;\n\n case AUTHORITY:\n if (char == '@') {\n if (seenAt) buffer = '%40' + buffer;\n seenAt = true;\n bufferCodePoints = arrayFrom(buffer);\n for (var i = 0; i < bufferCodePoints.length; i++) {\n var codePoint = bufferCodePoints[i];\n if (codePoint == ':' && !seenPasswordToken) {\n seenPasswordToken = true;\n continue;\n }\n var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);\n if (seenPasswordToken) url.password += encodedCodePoints;\n else url.username += encodedCodePoints;\n }\n buffer = '';\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url))\n ) {\n if (seenAt && buffer == '') return INVALID_AUTHORITY;\n pointer -= arrayFrom(buffer).length + 1;\n buffer = '';\n state = HOST;\n } else buffer += char;\n break;\n\n case HOST:\n case HOSTNAME:\n if (stateOverride && url.scheme == 'file') {\n state = FILE_HOST;\n continue;\n } else if (char == ':' && !seenBracket) {\n if (buffer == '') return INVALID_HOST;\n failure = parseHost(url, buffer);\n if (failure) return failure;\n buffer = '';\n state = PORT;\n if (stateOverride == HOSTNAME) return;\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url))\n ) {\n if (isSpecial(url) && buffer == '') return INVALID_HOST;\n if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null)) return;\n failure = parseHost(url, buffer);\n if (failure) return failure;\n buffer = '';\n state = PATH_START;\n if (stateOverride) return;\n continue;\n } else {\n if (char == '[') seenBracket = true;\n else if (char == ']') seenBracket = false;\n buffer += char;\n } break;\n\n case PORT:\n if (DIGIT.test(char)) {\n buffer += char;\n } else if (\n char == EOF || char == '/' || char == '?' || char == '#' ||\n (char == '\\\\' && isSpecial(url)) ||\n stateOverride\n ) {\n if (buffer != '') {\n var port = parseInt(buffer, 10);\n if (port > 0xFFFF) return INVALID_PORT;\n url.port = (isSpecial(url) && port === specialSchemes[url.scheme]) ? null : port;\n buffer = '';\n }\n if (stateOverride) return;\n state = PATH_START;\n continue;\n } else return INVALID_PORT;\n break;\n\n case FILE:\n url.scheme = 'file';\n if (char == '/' || char == '\\\\') state = FILE_SLASH;\n else if (base && base.scheme == 'file') {\n if (char == EOF) {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n } else if (char == '?') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.host = base.host;\n url.path = base.path.slice();\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n if (!startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n url.host = base.host;\n url.path = base.path.slice();\n shortenURLsPath(url);\n }\n state = PATH;\n continue;\n }\n } else {\n state = PATH;\n continue;\n } break;\n\n case FILE_SLASH:\n if (char == '/' || char == '\\\\') {\n state = FILE_HOST;\n break;\n }\n if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n if (isWindowsDriveLetter(base.path[0], true)) url.path.push(base.path[0]);\n else url.host = base.host;\n }\n state = PATH;\n continue;\n\n case FILE_HOST:\n if (char == EOF || char == '/' || char == '\\\\' || char == '?' || char == '#') {\n if (!stateOverride && isWindowsDriveLetter(buffer)) {\n state = PATH;\n } else if (buffer == '') {\n url.host = '';\n if (stateOverride) return;\n state = PATH_START;\n } else {\n failure = parseHost(url, buffer);\n if (failure) return failure;\n if (url.host == 'localhost') url.host = '';\n if (stateOverride) return;\n buffer = '';\n state = PATH_START;\n } continue;\n } else buffer += char;\n break;\n\n case PATH_START:\n if (isSpecial(url)) {\n state = PATH;\n if (char != '/' && char != '\\\\') continue;\n } else if (!stateOverride && char == '?') {\n url.query = '';\n state = QUERY;\n } else if (!stateOverride && char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n state = PATH;\n if (char != '/') continue;\n } break;\n\n case PATH:\n if (\n char == EOF || char == '/' ||\n (char == '\\\\' && isSpecial(url)) ||\n (!stateOverride && (char == '?' || char == '#'))\n ) {\n if (isDoubleDot(buffer)) {\n shortenURLsPath(url);\n if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else if (isSingleDot(buffer)) {\n if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n url.path.push('');\n }\n } else {\n if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {\n if (url.host) url.host = '';\n buffer = buffer.charAt(0) + ':'; // normalize windows drive letter\n }\n url.path.push(buffer);\n }\n buffer = '';\n if (url.scheme == 'file' && (char == EOF || char == '?' || char == '#')) {\n while (url.path.length > 1 && url.path[0] === '') {\n url.path.shift();\n }\n }\n if (char == '?') {\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n }\n } else {\n buffer += percentEncode(char, pathPercentEncodeSet);\n } break;\n\n case CANNOT_BE_A_BASE_URL_PATH:\n if (char == '?') {\n url.query = '';\n state = QUERY;\n } else if (char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n url.path[0] += percentEncode(char, C0ControlPercentEncodeSet);\n } break;\n\n case QUERY:\n if (!stateOverride && char == '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (char != EOF) {\n if (char == \"'\" && isSpecial(url)) url.query += '%27';\n else if (char == '#') url.query += '%23';\n else url.query += percentEncode(char, C0ControlPercentEncodeSet);\n } break;\n\n case FRAGMENT:\n if (char != EOF) url.fragment += percentEncode(char, fragmentPercentEncodeSet);\n break;\n }\n\n pointer++;\n }\n};\n\n// `URL` constructor\n// https://url.spec.whatwg.org/#url-class\nvar URLConstructor = function URL(url /* , base */) {\n var that = anInstance(this, URLConstructor, 'URL');\n var base = arguments.length > 1 ? arguments[1] : undefined;\n var urlString = String(url);\n var state = setInternalState(that, { type: 'URL' });\n var baseState, failure;\n if (base !== undefined) {\n if (base instanceof URLConstructor) baseState = getInternalURLState(base);\n else {\n failure = parseURL(baseState = {}, String(base));\n if (failure) throw TypeError(failure);\n }\n }\n failure = parseURL(state, urlString, null, baseState);\n if (failure) throw TypeError(failure);\n var searchParams = state.searchParams = new URLSearchParams();\n var searchParamsState = getInternalSearchParamsState(searchParams);\n searchParamsState.updateSearchParams(state.query);\n searchParamsState.updateURL = function () {\n state.query = String(searchParams) || null;\n };\n if (!DESCRIPTORS) {\n that.href = serializeURL.call(that);\n that.origin = getOrigin.call(that);\n that.protocol = getProtocol.call(that);\n that.username = getUsername.call(that);\n that.password = getPassword.call(that);\n that.host = getHost.call(that);\n that.hostname = getHostname.call(that);\n that.port = getPort.call(that);\n that.pathname = getPathname.call(that);\n that.search = getSearch.call(that);\n that.searchParams = getSearchParams.call(that);\n that.hash = getHash.call(that);\n }\n};\n\nvar URLPrototype = URLConstructor.prototype;\n\nvar serializeURL = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var username = url.username;\n var password = url.password;\n var host = url.host;\n var port = url.port;\n var path = url.path;\n var query = url.query;\n var fragment = url.fragment;\n var output = scheme + ':';\n if (host !== null) {\n output += '//';\n if (includesCredentials(url)) {\n output += username + (password ? ':' + password : '') + '@';\n }\n output += serializeHost(host);\n if (port !== null) output += ':' + port;\n } else if (scheme == 'file') output += '//';\n output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n if (query !== null) output += '?' + query;\n if (fragment !== null) output += '#' + fragment;\n return output;\n};\n\nvar getOrigin = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var port = url.port;\n if (scheme == 'blob') try {\n return new URL(scheme.path[0]).origin;\n } catch (error) {\n return 'null';\n }\n if (scheme == 'file' || !isSpecial(url)) return 'null';\n return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : '');\n};\n\nvar getProtocol = function () {\n return getInternalURLState(this).scheme + ':';\n};\n\nvar getUsername = function () {\n return getInternalURLState(this).username;\n};\n\nvar getPassword = function () {\n return getInternalURLState(this).password;\n};\n\nvar getHost = function () {\n var url = getInternalURLState(this);\n var host = url.host;\n var port = url.port;\n return host === null ? ''\n : port === null ? serializeHost(host)\n : serializeHost(host) + ':' + port;\n};\n\nvar getHostname = function () {\n var host = getInternalURLState(this).host;\n return host === null ? '' : serializeHost(host);\n};\n\nvar getPort = function () {\n var port = getInternalURLState(this).port;\n return port === null ? '' : String(port);\n};\n\nvar getPathname = function () {\n var url = getInternalURLState(this);\n var path = url.path;\n return url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n};\n\nvar getSearch = function () {\n var query = getInternalURLState(this).query;\n return query ? '?' + query : '';\n};\n\nvar getSearchParams = function () {\n return getInternalURLState(this).searchParams;\n};\n\nvar getHash = function () {\n var fragment = getInternalURLState(this).fragment;\n return fragment ? '#' + fragment : '';\n};\n\nvar accessorDescriptor = function (getter, setter) {\n return { get: getter, set: setter, configurable: true, enumerable: true };\n};\n\nif (DESCRIPTORS) {\n defineProperties(URLPrototype, {\n // `URL.prototype.href` accessors pair\n // https://url.spec.whatwg.org/#dom-url-href\n href: accessorDescriptor(serializeURL, function (href) {\n var url = getInternalURLState(this);\n var urlString = String(href);\n var failure = parseURL(url, urlString);\n if (failure) throw TypeError(failure);\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n // `URL.prototype.origin` getter\n // https://url.spec.whatwg.org/#dom-url-origin\n origin: accessorDescriptor(getOrigin),\n // `URL.prototype.protocol` accessors pair\n // https://url.spec.whatwg.org/#dom-url-protocol\n protocol: accessorDescriptor(getProtocol, function (protocol) {\n var url = getInternalURLState(this);\n parseURL(url, String(protocol) + ':', SCHEME_START);\n }),\n // `URL.prototype.username` accessors pair\n // https://url.spec.whatwg.org/#dom-url-username\n username: accessorDescriptor(getUsername, function (username) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom(String(username));\n if (cannotHaveUsernamePasswordPort(url)) return;\n url.username = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n // `URL.prototype.password` accessors pair\n // https://url.spec.whatwg.org/#dom-url-password\n password: accessorDescriptor(getPassword, function (password) {\n var url = getInternalURLState(this);\n var codePoints = arrayFrom(String(password));\n if (cannotHaveUsernamePasswordPort(url)) return;\n url.password = '';\n for (var i = 0; i < codePoints.length; i++) {\n url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n }),\n // `URL.prototype.host` accessors pair\n // https://url.spec.whatwg.org/#dom-url-host\n host: accessorDescriptor(getHost, function (host) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n parseURL(url, String(host), HOST);\n }),\n // `URL.prototype.hostname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hostname\n hostname: accessorDescriptor(getHostname, function (hostname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n parseURL(url, String(hostname), HOSTNAME);\n }),\n // `URL.prototype.port` accessors pair\n // https://url.spec.whatwg.org/#dom-url-port\n port: accessorDescriptor(getPort, function (port) {\n var url = getInternalURLState(this);\n if (cannotHaveUsernamePasswordPort(url)) return;\n port = String(port);\n if (port == '') url.port = null;\n else parseURL(url, port, PORT);\n }),\n // `URL.prototype.pathname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-pathname\n pathname: accessorDescriptor(getPathname, function (pathname) {\n var url = getInternalURLState(this);\n if (url.cannotBeABaseURL) return;\n url.path = [];\n parseURL(url, pathname + '', PATH_START);\n }),\n // `URL.prototype.search` accessors pair\n // https://url.spec.whatwg.org/#dom-url-search\n search: accessorDescriptor(getSearch, function (search) {\n var url = getInternalURLState(this);\n search = String(search);\n if (search == '') {\n url.query = null;\n } else {\n if ('?' == search.charAt(0)) search = search.slice(1);\n url.query = '';\n parseURL(url, search, QUERY);\n }\n getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n }),\n // `URL.prototype.searchParams` getter\n // https://url.spec.whatwg.org/#dom-url-searchparams\n searchParams: accessorDescriptor(getSearchParams),\n // `URL.prototype.hash` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hash\n hash: accessorDescriptor(getHash, function (hash) {\n var url = getInternalURLState(this);\n hash = String(hash);\n if (hash == '') {\n url.fragment = null;\n return;\n }\n if ('#' == hash.charAt(0)) hash = hash.slice(1);\n url.fragment = '';\n parseURL(url, hash, FRAGMENT);\n })\n });\n}\n\n// `URL.prototype.toJSON` method\n// https://url.spec.whatwg.org/#dom-url-tojson\nredefine(URLPrototype, 'toJSON', function toJSON() {\n return serializeURL.call(this);\n}, { enumerable: true });\n\n// `URL.prototype.toString` method\n// https://url.spec.whatwg.org/#URL-stringification-behavior\nredefine(URLPrototype, 'toString', function toString() {\n return serializeURL.call(this);\n}, { enumerable: true });\n\nif (NativeURL) {\n var nativeCreateObjectURL = NativeURL.createObjectURL;\n var nativeRevokeObjectURL = NativeURL.revokeObjectURL;\n // `URL.createObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL\n // eslint-disable-next-line no-unused-vars\n if (nativeCreateObjectURL) redefine(URLConstructor, 'createObjectURL', function createObjectURL(blob) {\n return nativeCreateObjectURL.apply(NativeURL, arguments);\n });\n // `URL.revokeObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL\n // eslint-disable-next-line no-unused-vars\n if (nativeRevokeObjectURL) redefine(URLConstructor, 'revokeObjectURL', function revokeObjectURL(url) {\n return nativeRevokeObjectURL.apply(NativeURL, arguments);\n });\n}\n\nsetToStringTag(URLConstructor, 'URL');\n\n$({ global: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, {\n URL: URLConstructor\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}.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}}\", \"\",{\"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,CAID,0CACC,qCAAA,CACA,+BAAA,CACA,oCAAA,CACA,SAAA,CAIF,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,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 .icon-next {\\n\\t\\tbackground-color: var(--color-primary);\\n\\t\\tcolor: var(--color-primary-text);\\n\\t\\tbox-shadow: 0 2px 8px rgba(0, 0, 0, .33);\\n\\t\\tleft: 22px;\\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}\\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-063e1a6a]{background-color:rgba(0,0,0,.7)}.modal-mask[data-v-063e1a6a] .modal-wrapper{position:relative}.modal-mask[data-v-063e1a6a] .modal-container{display:flex;flex-direction:column;height:95% !important;width:95% !important;max-width:900px;max-height:650px !important;position:relative}.modal-mask .modal-body[data-v-063e1a6a]{flex-grow:1;display:flex;overflow-x:hidden;overflow-y:auto}.modal-mask .modal-body>div[data-v-063e1a6a]{display:flex;flex-grow:1;align-items:center;justify-content:center}.modal-header[data-v-063e1a6a]{height:180px;max-height:40vh;overflow:hidden;flex-shrink:0}.modal-header .firstrunwizard-header[data-v-063e1a6a]{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-063e1a6a]{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-063e1a6a]{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-063e1a6a]{align-self:flex-end}.modal-footer[data-v-063e1a6a]{overflow:hidden;position:absolute;display:flex;bottom:0;right:0}.modal-footer button[data-v-063e1a6a]{margin:10px}.next-enter-active[data-v-063e1a6a],.next-leave-active[data-v-063e1a6a],.previous-enter-active[data-v-063e1a6a],.previous-leave-active[data-v-063e1a6a]{transition:transform .1s,opacity .25s}.next-enter[data-v-063e1a6a]{transform:translateX(50%);opacity:0}.next-leave-to[data-v-063e1a6a]{transform:translateX(-50%);opacity:0}.previous-enter[data-v-063e1a6a]{transform:translateX(-50%);opacity:0}.previous-leave-to[data-v-063e1a6a]{transform:translateX(50%);opacity:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/App.vue\"],\"names\":[],\"mappings\":\"AAuOA,6BACC,+BAAA,CAEA,4CACC,iBAAA,CAGD,8CACC,YAAA,CACA,qBAAA,CACA,qBAAA,CACA,oBAAA,CACA,eAAA,CACA,2BAAA,CACA,iBAAA,CAGD,yCACC,WAAA,CACA,YAAA,CACA,iBAAA,CACA,eAAA,CAEA,6CACC,YAAA,CACA,WAAA,CACA,kBAAA,CACA,sBAAA,CAKH,+BACC,YAAA,CACA,eAAA,CACA,eAAA,CACA,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.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\\theight: 95% !important;\\n\\t\\twidth: 95% !important;\\n\\t\\tmax-width: 900px;\\n\\t\\tmax-height: 650px !important;\\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\\theight: 180px;\\n\\tmax-height: 40vh;\\n\\toverflow: hidden;\\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.\\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) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \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 \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.
\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 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.
\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.
\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.
\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.
\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.
\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.
\n * It will read the variation of the `placement` property.
\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.
\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.
\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.
\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.
\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".
\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.
\n * These can be overridden using the `options` argument of Popper.js.
\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.
\n * By default, it is set to no-op.
\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.
\n * By default, it is set to no-op.
\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.
\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: '
',\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='
']\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: '
',\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}","/*!\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 ''\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)) + \">\") : \"\") +\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. 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.